=================================================================== RCS file: /home/cvs/OpenXM_contrib2/windows/engine2000/plot.c,v retrieving revision 1.11 retrieving revision 1.14 diff -u -p -r1.11 -r1.14 --- OpenXM_contrib2/windows/engine2000/plot.c 2014/08/20 16:51:34 1.11 +++ OpenXM_contrib2/windows/engine2000/plot.c 2020/02/01 14:19:01 1.14 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/windows/engine2000/plot.c,v 1.10 2014/05/13 20:07:23 ohara Exp $ + * $OpenXM: OpenXM_contrib2/windows/engine2000/plot.c,v 1.13 2019/03/28 07:04:13 noro Exp $ */ #include "ca.h" #include "parse.h" @@ -91,6 +91,7 @@ static void asir_do_cmd(unsigned int,unsigned int); static void process_ox(); static void asir_executeFunction(); static void process_resize(struct canvas *can,POINT startp,POINT endp); +int Im_ox_plot; #if defined(VISUAL) @@ -128,6 +129,7 @@ void ox_plot_main(int argc,char **argv) #endif if ( do_message ) fprintf(stderr,"I'm an ox_plot, Version %d.\n",ASIR_VERSION); + Im_ox_plot=1; /* XXX: dummy */ MKUSINT(ui,0); GC_free(ui); @@ -184,19 +186,8 @@ static void process_ox(int id, Obj obj, unsigned int s ERR err; int ret; extern char LastError[]; - extern int recv_intr; -#if defined(VISUAL) - if ( recv_intr ) { - if ( recv_intr == 1 ) { - recv_intr = 0; - int_handler(SIGINT); - } else { - recv_intr = 0; - ox_usr1_handler(0); - } - } -#endif + check_intr(); if ( do_message ) fprintf(stderr,"#%d Got %s",serial,name_of_id(id)); switch ( id ) { @@ -253,7 +244,7 @@ static void asir_do_cmd(unsigned int cmd,unsigned int MATHCAP client_mathcap; LIST list; int i; - Q q; + Z q; switch ( cmd ) { case SM_dupErrors: @@ -262,7 +253,7 @@ static void asir_do_cmd(unsigned int cmd,unsigned int break; case SM_getsp: i = asir_OperandStackPtr+1; - STOQ(i,q); + STOZ(i,q); asir_push_one((Obj)q); break; case SM_popSerializedLocalObject: @@ -310,7 +301,7 @@ static void asir_executeFunction(int serial) char *func; int argc; int id; - Q ret; + Z ret; ERR err; NODE n,n1; @@ -326,16 +317,16 @@ static void asir_executeFunction(int serial) id = -1; if ( !strcmp(func,"plot") ) { id = plot(n,modeNO(PLOT)); - STOQ(id,ret); asir_push_one((Obj)ret); + STOZ(id,ret); asir_push_one((Obj)ret); }else if ( !strcmp(func,"ifplot") ) { id = plot(n,modeNO(IFPLOT)); - STOQ(id,ret); asir_push_one((Obj)ret); + STOZ(id,ret); asir_push_one((Obj)ret); } else if ( !strcmp(func,"arrayplot") ) { id = arrayplot(n); - STOQ(id,ret); asir_push_one((Obj)ret); + STOZ(id,ret); asir_push_one((Obj)ret); } else if ( !strcmp(func,"open_canvas") ) { id = open_canvas(n); - STOQ(id,ret); asir_push_one((Obj)ret); + STOZ(id,ret); asir_push_one((Obj)ret); } else if ( !strcmp(func,"plotover") ) { plotover(n); } else if ( !strcmp(func,"drawcircle") ) {