=================================================================== RCS file: /home/cvs/OpenXM/src/kxx/serversm.h,v retrieving revision 1.2 retrieving revision 1.6 diff -u -p -r1.2 -r1.6 --- OpenXM/src/kxx/serversm.h 2000/02/02 03:30:49 1.2 +++ OpenXM/src/kxx/serversm.h 2015/10/08 08:14:25 1.6 @@ -15,7 +15,16 @@ void Sm1_getsp(void); void Sm1_dupErrors(void); void Sm1_pushCMOtag(int serial); +#include +#if defined(__CYGWIN__) || defined(__MSYS__) +#define MYSETJMP(e) _setjmp(e) +#define MYSIGSETJMP(e,f) setjmp(e) +#else +#define MYSETJMP(e) setjmp(e) +#define MYSIGSETJMP(e,f) sigsetjmp(e,f) +#endif + /******************** Object from Kan/stackm.h *************************/ #define Snull 0 #define Sinteger 1 /* integer */ @@ -36,7 +45,10 @@ struct object{ int tag; /* class identifier */ union cell lc; /* left cell */ union cell rc; /* right cell */ + struct object *attr; }; +#define OINIT { .attr = NULL } + /********** macros to use Sarray **********************/ /* put to Object Array */ #define putoa(ob,i,cc) {\ @@ -58,10 +70,12 @@ void KSpush(struct object ob); struct object KfindUserDictionary(char *s); struct object KputUserDictionary(char *s,struct object ob); struct object KnewErrorPacket(int serial,int no,char *s); +struct object KnewErrorPacketObj(struct object); struct object KSmathCap(void); /* defined plugin/cmo.c */ void *KSmathCapByStruct(void); /* defined plugin/cmo.c */ char *popErrorStackByString(void); struct object KSdupErrors(void); struct object KpoInteger(int i); +struct object KpoString(char *s); struct object KSpeek(int k); - +struct object KSnewObjectArray(int k);