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

Diff for /OpenXM/src/kan96xx/Kan/ext.c between version 1.27 and 1.29

version 1.27, 2004/09/11 12:13:41 version 1.29, 2004/09/12 01:32:08
Line 1 
Line 1 
 /* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.26 2004/09/09 08:50:12 takayama Exp $ */  /* $OpenXM: OpenXM/src/kan96xx/Kan/ext.c,v 1.28 2004/09/11 23:49:34 takayama Exp $ */
 #include <stdio.h>  #include <stdio.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/stat.h>  #include <sys/stat.h>
Line 148  struct object Kextension(struct object obj)
Line 148  struct object Kextension(struct object obj)
     obj1 = getoa(obj,1);      obj1 = getoa(obj,1);
     if (obj1.tag != Sinteger) errorKan1("%s\n","[(chattrs)  num] extension.");      if (obj1.tag != Sinteger) errorKan1("%s\n","[(chattrs)  num] extension.");
     m = KopInteger(obj1);      m = KopInteger(obj1);
     if (!( m == 0 || m == PROTECT || m == ABSOLUTE_PROTECT))          /* if (!( m == 0 || m == PROTECT || m == ABSOLUTE_PROTECT || m == ATTR_INFIX))
       errorKan1("%s\n","The number must be 0, 1 or 2.");             errorKan1("%s\n","The number must be 0, 1 or 2.");*/
     putUserDictionary2((char *)NULL,0,0,m | SET_ATTR_FOR_ALL_WORDS,      putUserDictionary2((char *)NULL,0,0,m | SET_ATTR_FOR_ALL_WORDS,
                        CurrentContextp->userDictionary);                         CurrentContextp->userDictionary);
   }else if (strcmp(key,"keywords")==0) {    }else if (strcmp(key,"keywords")==0) {
Line 318  struct object Kextension(struct object obj)
Line 318  struct object Kextension(struct object obj)
     if (obj1.tag != Sinteger) errorKan1("%s\n","[(chattr)  num symbol] extension.");      if (obj1.tag != Sinteger) errorKan1("%s\n","[(chattr)  num symbol] extension.");
     if (obj2.tag != Sstring)  errorKan1("%s\n","[(chattr)  num symbol] extension.");      if (obj2.tag != Sstring)  errorKan1("%s\n","[(chattr)  num symbol] extension.");
     m = KopInteger(obj1);      m = KopInteger(obj1);
     if (!( m == 0 || m == PROTECT || m == ABSOLUTE_PROTECT))          /* if (!( m == 0 || m == PROTECT || m == ABSOLUTE_PROTECT || m == ATTR_INFIX))
       errorKan1("%s\n","The number must be 0, 1 or 2.");             errorKan1("%s\n","The number must be 0, 1 or 2.");*/
       putUserDictionary2(obj2.lc.str,(obj2.rc.op->lc).ival,(obj2.rc.op->rc).ival,
                          m,CurrentContextp->userDictionary);
     }else if (strcmp(key,"or_attr")==0) {
       if (size != 3) errorKan1("%s\n","[(or_attr)  num symbol] extension.");
       obj1 = getoa(obj,1);
       obj2 = getoa(obj,2);
       if (obj1.tag != Sinteger) errorKan1("%s\n","[(or_attr)  num symbol] extension.");
       if (obj2.tag != Sstring)  errorKan1("%s\n","[(or_attr)  num symbol] extension.");
       m = KopInteger(obj1);
       rob = KfindUserDictionary(obj2.lc.str);
       if (rob.tag != NoObject.tag) {
         if (strcmp(UD_str,obj2.lc.str) == 0) {
           m |= UD_attr;
         }else errorKan1("%s\n","or_attr: internal error.");
       }
       rob = KpoInteger(m);
     putUserDictionary2(obj2.lc.str,(obj2.rc.op->lc).ival,(obj2.rc.op->rc).ival,      putUserDictionary2(obj2.lc.str,(obj2.rc.op->lc).ival,(obj2.rc.op->rc).ival,
                        m,CurrentContextp->userDictionary);                         m,CurrentContextp->userDictionary);
   }else if (strcmp(key,"getattr")==0) {    }else if (strcmp(key,"getattr")==0) {

Legend:
Removed from v.1.27  
changed lines
  Added in v.1.29

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