Changeset: ad758da8d583 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ad758da8d583 Modified Files: monetdb5/mal/mal_debugger.c Branch: malparsing Log Message:
Fix 'L' command variant
Also show all functions with the same mod.fcn
diffs (62 lines):
diff --git a/monetdb5/mal/mal_debugger.c b/monetdb5/mal/mal_debugger.c
--- a/monetdb5/mal/mal_debugger.c
+++ b/monetdb5/mal/mal_debugger.c
@@ -819,7 +819,6 @@ retryRead:
case 'L':
case 'l': /* list the current MAL block or module */
{
- Module fsym;
Symbol fs;
int i, lstng, varid;
InstrPtr q;
@@ -834,7 +833,7 @@ retryRead:
if (m && strchr(b, '*')) {
/* detect l user.fcn[*] */
for (m = mb; m != NULL; m = m->history)
- printFunction(out, m, 0, lstng);
+ debugFunction(out, m, 0, lstng,
0,m->stop);
} else if (m == NULL && !strchr(b, '.') &&
!strchr(b, '[') && !isdigit((int) *b) && *b != '-' && *b != '+') {
/* is this a variable ? */
varid = findVariable(mb, b);
@@ -852,23 +851,27 @@ retryRead:
}
continue;
}
- /* optionally dump the complete module
*/
- fsym = findModule(cntxt->nspace,
putName(b));
- if (fsym == 0) {
- mnstr_printf(out, "#'%s' not
found\n", b);
- continue;
- }
- for (i = 0; i < MAXSCOPE; i++) {
- fs = fsym->space[i];
- while (fs != NULL) {
- printFunction(out,
fs->def, 0, lstng);
- fs = fs->peer;
- }
- }
- continue;
}
if (isdigit((int) *b) || *b == '-' || *b == '+')
goto partial;
+
+ if( strchr(b,'.') ){
+ str modnme = b;
+ str fcnnme;
+ fcnnme = strchr(b,'.');
+ *fcnnme++ = 0;
+
+ fs = findSymbol(cntxt->nspace,
putName(modnme),putName(fcnnme));
+ if (fs == 0) {
+ mnstr_printf(out, "#'%s' not
found\n", modnme);
+ continue;
+ }
+ for(; fs; fs = fs->peer)
+ if( strcmp(fcnnme, fs->name)==0) {
+ debugFunction(out, fs->def, 0,
lstng, 0,fs->def->stop);
+ }
+ continue;
+ }
if (m)
debugFunction(out, m, 0, lstng,
0,m->stop);
} else {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list
