=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/builtin/miscf.c,v retrieving revision 1.19 retrieving revision 1.23 diff -u -p -r1.19 -r1.23 --- OpenXM_contrib2/asir2000/builtin/miscf.c 2003/10/20 00:21:09 1.19 +++ OpenXM_contrib2/asir2000/builtin/miscf.c 2004/03/11 09:53:34 1.23 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/builtin/miscf.c,v 1.18 2003/05/16 07:56:14 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/builtin/miscf.c,v 1.22 2004/03/11 09:52:56 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -60,7 +60,8 @@ #endif void Pquit(), Pdebug(), Pnmono(), Pnez(), Popt(), Pshell(), Pheap(); -void Perror(), Perror3(), Pversion(), Pflist(), Pdelete_history(), Ppause(), Pxpause(); +void Ptoplevel(); +void Perror(), Perror3(), Pversion(), Pcopyright(), Pflist(), Pdelete_history(), Ppause(), Pxpause(); void Pr2g(), Pread_cmo(), Pwrite_cmo(); void Pgc(),Pbatch(),Psend_progress(); void Pnull_command(); @@ -71,6 +72,7 @@ void Psleep(); void Premove_module(); void Pmodule_list(); void Pmodule_definedp(); +void Ptest(); void delete_history(int,int); @@ -87,7 +89,9 @@ struct ftab misc_tab[] = { {"shell",Pshell,-2}, {"heap",Pheap,-1}, {"version",Pversion,-99999}, + {"copyright",Pcopyright,0}, {"nmono",Pnmono,1}, + {"toplevel",Ptoplevel,-1}, {"error",Perror,1}, {"error3",Perror3,3}, {"nez",Pnez,1}, @@ -110,6 +114,16 @@ struct ftab misc_tab[] = { {0,0,0}, }; +void Ptest(arg,rp) +NODE arg; +Q *rp; +{ + int r; + + r = equalr(CO,ARG0(arg),ARG1(arg)); + STOQ(r,*rp); +} + void Psleep(arg,rp) NODE arg; Q *rp; @@ -305,6 +319,14 @@ Obj *rp; } } +char *scopyright(); + +void Pcopyright(rp) +STRING *rp; +{ + MKSTR(*rp,scopyright()); +} + extern int nez; void Pnez(arg,rp) @@ -325,6 +347,20 @@ Q *rp; else s = BDY((STRING)ARG0(arg)); error(s); + *rp = 0; +} + +void Ptoplevel(arg,rp) +NODE arg; +Q *rp; +{ + char *s; + + if ( !arg || !ARG0(arg) || (OID((Obj)ARG0(arg)) != O_STR) ) + s = ""; + else + s = BDY((STRING)ARG0(arg)); + toplevel(s); *rp = 0; }