=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/io/ox_asir.c,v retrieving revision 1.5 retrieving revision 1.7 diff -u -p -r1.5 -r1.7 --- OpenXM_contrib2/asir2000/io/ox_asir.c 2000/01/31 03:18:05 1.5 +++ OpenXM_contrib2/asir2000/io/ox_asir.c 2000/02/09 00:37:21 1.7 @@ -1,11 +1,16 @@ -/* $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.4 2000/01/19 09:31:00 noro Exp $ */ +/* $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.6 2000/02/08 04:47:11 noro Exp $ */ #include "ca.h" #include "parse.h" +#include "signal.h" #include "ox.h" #include "version.h" +#if PARI +#include "genpari.h" +#endif void ox_usr1_handler(); + extern jmp_buf environnement; extern int do_message; @@ -714,7 +719,17 @@ int asir_ox_pop_cmo(void *cmo, int limit) void asir_ox_push_cmd(unsigned int cmd) { - asir_do_cmd(cmd,0); + int ret; + ERR err; + extern char LastError[]; + + if ( ret = setjmp(env) ) { + if ( ret == 1 ) { + create_error(&err,0,LastError); /* XXX */ + asir_push_one((Obj)err); + } + } else + asir_do_cmd(cmd,0); } /*