=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/debug.c,v retrieving revision 1.16 retrieving revision 1.21 diff -u -p -r1.16 -r1.21 --- OpenXM_contrib2/asir2000/parse/debug.c 2006/02/08 02:11:19 1.16 +++ OpenXM_contrib2/asir2000/parse/debug.c 2015/08/04 06:20:45 1.21 @@ -45,14 +45,11 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/debug.c,v 1.15 2003/05/14 07:08:48 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/debug.c,v 1.20 2011/06/16 08:17:15 noro Exp $ */ #include "ca.h" #include "parse.h" #include -#if defined(PARI) -#include "genpari.h" -#endif extern do_server_in_X11,do_file; @@ -443,7 +440,7 @@ void setbp(char *p) default: ln = (*snp)->ln; break; } - *snp = (SNODE)mksnode(3,S_BP,*snp,cond,0); + *snp = (SNODE)mksnode(3,S_BP,*snp,cond,NULLP); (*snp)->ln = ln; if ( cond ) { bpt[bpi].cond = (char *)MALLOC(strlen(savp)+1); @@ -768,13 +765,6 @@ void printvars(char *s,VS vs) val = eval(expr); CPVS = cpvs; if ( !err ) { -#if defined(PARI) -#if defined(PARI1) - outfile = stderr; -#else - pari_outfile = stderr; -#endif -#endif asir_out = stderr; for ( p = s; isspace(*p); p++ ); fprintf(asir_out,"%s = ",p); @@ -787,13 +777,6 @@ void printvars(char *s,VS vs) #if defined(VISUAL_LIB) w_noflush_stderr(0); #endif -#if defined(PARI) -#if defined(PARI1) - outfile = stdout; -#else - pari_outfile = stdout; -#endif -#endif asir_out = stdout; } } @@ -842,13 +825,15 @@ void showpos_to_string(char *buf) /* [[file,line,name],...] */ +extern int at_root; + void showpos_to_list(LIST *r) { NODE n,u,u1,t; VS vs; - STRING null,name,fname; - LIST l; - Q q; + STRING null,name,fname,kwd; + LIST l,b; + USINT us; u = 0; if ( PVSS ) { @@ -856,7 +841,7 @@ void showpos_to_list(LIST *r) /* builtin : [0,0,name] */ MKSTR(null,""); MKSTR(name,cur_binf->name); - t = mknode(3,null,name,0); + t = mknode(3,null,name,NULLP); MKLIST(l,t); MKNODE(u1,l,0); u = u1; } @@ -864,14 +849,21 @@ void showpos_to_list(LIST *r) for ( n = PVSS; n; n = NEXT(n) ) { vs = (VS)BDY(n); MKSTR(fname,vs->usrf->f.usrf->fname); - STOQ(vs->at,q); + MKUSINT(us,vs->at); MKSTR(name,vs->usrf->name); - t = mknode(3,fname,name,q); + t = mknode(3,fname,name,us); MKLIST(l,t); MKNODE(u1,l,u); u = u1; } } - MKLIST(*r,u); + /* line number at the toplevel */ + MKSTR(fname,"toplevel"); MKUSINT(us,at_root); + t = mknode(2,fname,us); MKLIST(l,t); MKNODE(u1,l,u); u = u1; + MKLIST(b,u); + + MKSTR(kwd,"asir_where"); + t = mknode(2,kwd,b); + MKLIST(*r,t); } void change_stack(int level,NODE *pvss)