=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/stackmachine.c,v retrieving revision 1.28 retrieving revision 1.30 diff -u -p -r1.28 -r1.30 --- OpenXM/src/kan96xx/Kan/stackmachine.c 2004/09/17 02:42:57 1.28 +++ OpenXM/src/kan96xx/Kan/stackmachine.c 2005/06/09 04:47:16 1.30 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.27 2004/09/16 23:53:44 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.29 2004/09/19 00:47:47 takayama Exp $ */ /* stackmachin.c */ #include @@ -74,6 +74,7 @@ static strToInteger(char *); static power(int s,int i); static void pstack(void); static struct object executableStringToExecutableArray(char *str); +static int isThereExecutableArrayOnStack(int n); extern int SerialCurrent; extern int QuoteMode; @@ -94,6 +95,7 @@ struct object * newObject() r->tag = 0; (r->lc).ival = 0; (r->rc).ival = 0; + r->attr = NULL; return(r); } @@ -464,6 +466,32 @@ struct object peek(k) } } +static int isThereExecutableArray(struct object ob) { + int n,i; + struct object otmp; + if (ob.tag == SexecutableArray) return(1); + if (ob.tag == Sarray) { + n = getoaSize(ob); + for (i=0; i