[BACK]Return to primitive.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / kan96xx / Kan

Diff for /OpenXM/src/kan96xx/Kan/primitive.c between version 1.8 and 1.11

version 1.8, 2003/11/20 09:20:36 version 1.11, 2003/12/05 23:14:14
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.7 2003/08/24 05:19:43 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/primitive.c,v 1.10 2003/12/05 13:51:31 takayama Exp $ */
 /*   primitive.c */  /*   primitive.c */
 /*  The functions in this module were in stackmachine.c */  /*  The functions in this module were in stackmachine.c */
   
Line 14 
Line 14 
   
 int PrintDollar = 1;         /* flag for printObject() */  int PrintDollar = 1;         /* flag for printObject() */
 int PrintComma  = 1;         /* flag for printObject() */  int PrintComma  = 1;         /* flag for printObject() */
   int InSendmsg2 = 0;
 #define OB_ARRAY_MAX   (AGLIMIT+100)  #define OB_ARRAY_MAX   (AGLIMIT+100)
   
 extern int GotoP;  extern int GotoP;
Line 123  static char *operatorType(type)
Line 124  static char *operatorType(type)
 #define Scclass 99  #define Scclass 99
 #define Scoeff2 100  #define Scoeff2 100
 #define Stlimit 101  #define Stlimit 101
   #define Soxshell 102
 /***********************************************/  /***********************************************/
 void printObject(ob,nl,fp)  void printObject(ob,nl,fp)
      struct object ob;       struct object ob;
Line 376  void  KdefinePrimitiveFunctions() {
Line 378  void  KdefinePrimitiveFunctions() {
   putPrimitiveFunction("system_variable",Ssystem_variable);    putPrimitiveFunction("system_variable",Ssystem_variable);
   putPrimitiveFunction("test",Stest);    putPrimitiveFunction("test",Stest);
   putPrimitiveFunction("tlimit",Stlimit);    putPrimitiveFunction("tlimit",Stlimit);
     putPrimitiveFunction("oxshell",Soxshell);
   putPrimitiveFunction("map",Smap);    putPrimitiveFunction("map",Smap);
   putPrimitiveFunction("to_records",Sto_records);    putPrimitiveFunction("to_records",Sto_records);
   putPrimitiveFunction("Usage",Susage);    putPrimitiveFunction("Usage",Susage);
Line 1558  int executePrimitive(ob) 
Line 1561  int executePrimitive(ob) 
     size = ob1.rc.ival;      size = ob1.rc.ival;
     for (i=0; i<size; i++) {      for (i=0; i<size; i++) {
       token = tokenArray[i];        token = tokenArray[i];
         InSendmsg2 = 1;
       status = executeToken(token);        status = executeToken(token);
         InSendmsg2 = 0;
       if (QuoteMode && (status==DO_QUOTE)) {        if (QuoteMode && (status==DO_QUOTE)) {
         /* generate tree object, for kan/k0 */          /* generate tree object, for kan/k0 */
         struct object qob;          struct object qob;
Line 1575  int executePrimitive(ob) 
Line 1580  int executePrimitive(ob) 
           putoa(qob,0,KpoString("unknown"));            putoa(qob,0,KpoString("unknown"));
         }          }
         /* Set the attibute list; class=className */          /* Set the attibute list; class=className */
         putoa(qattr2,0,KpoString("class"));  
         if (ob2.tag == Sdollar) {          if (ob2.tag == Sdollar) {
             putoa(qattr2,0,KpoString("cd"));
           putoa(qattr2,1,ob2);            putoa(qattr2,1,ob2);
         }else{          }else{
             putoa(qattr2,0,KpoString("class"));
           putoa(qattr2,1,KpoString(CurrentContextp->contextName));            putoa(qattr2,1,KpoString(CurrentContextp->contextName));
         }          }
         putoa(qattr,0,qattr2);          putoa(qattr,0,qattr2);
Line 1711  int executePrimitive(ob) 
Line 1717  int executePrimitive(ob) 
   
       }        }
     */      */
       break;
   
     case Soxshell:
       ob1 = Kpop();
       Kpush(KoxShell(ob1));
     break;      break;
   
   case Stlimit:    case Stlimit:

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.11

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>