BSD 4 release
[unix-history] / usr / src / cmd / lisp / fexr.c
index 6ab802c..6b5c43c 100644 (file)
@@ -1,3 +1,5 @@
+static char *sccsid = "@(#)fexr.c      34.1 10/3/80";
+
 #include "global.h"
 
 /* Ngcafter *************************************************************/
 #include "global.h"
 
 /* Ngcafter *************************************************************/
@@ -24,15 +26,15 @@ Nopval()
 
        if( TYPE(lbot->val) != DTPR )
                return(error("BAD CALL TO OPVAL",TRUE));
 
        if( TYPE(lbot->val) != DTPR )
                return(error("BAD CALL TO OPVAL",TRUE));
-       quant = eval(lbot->val->car);   /*  evaluate name of sys variable  */
+       quant = eval(lbot->val->d.car); /*  evaluate name of sys variable  */
        while( TYPE(quant) != ATOM )
                quant = error("FIRST ARG TO OPVAL MUST BE AN ATOM",TRUE);
 
        while( TYPE(quant) != ATOM )
                quant = error("FIRST ARG TO OPVAL MUST BE AN ATOM",TRUE);
 
-       if( (vtemp=lbot->val->cdr) != nil && TYPE(lbot->val->cdr) != DTPR )
+       if( (vtemp=lbot->val->d.cdr) != nil && TYPE(lbot->val->d.cdr) != DTPR )
                return(error("BAD ARG LIST FOR OPVAL",TRUE));
        return(copval(
                quant,
                return(error("BAD ARG LIST FOR OPVAL",TRUE));
        return(copval(
                quant,
-               vtemp==nil ? (lispval)CNIL : eval(vtemp->car)
+               vtemp==nil ? (lispval)CNIL : eval(vtemp->d.car)
                ));
        }
 /*  copval  *************************************************************/
                ));
        }
 /*  copval  *************************************************************/
@@ -51,43 +53,43 @@ copval(option,value)
        snpand(0);
 
 
        snpand(0);
 
 
-       if( option->plist == nil && value != (lispval) CNIL)
+       if( option->a.plist == nil && value != (lispval) CNIL)
                {
                protect(option); protect(value);
                {
                protect(option); protect(value);
-               option->plist = newdot();
-               option->plist->car = sysa;
-               option->plist->cdr = newdot();
-               option->plist->cdr->car = value;
+               option->a.plist = newdot();
+               option->a.plist->d.car = sysa;
+               option->a.plist->d.cdr = newdot();
+               option->a.plist->d.cdr->d.car = value;
                unprot(); unprot();
                return(nil);
                }
 
 
                unprot(); unprot();
                return(nil);
                }
 
 
-       if( option->plist == nil ) return(nil);
+       if( option->a.plist == nil ) return(nil);
 
 
-       fake.cdr = option->plist;
+       fake.cdr = option->a.plist;
        option = (lispval) (&fake);
 
        option = (lispval) (&fake);
 
-       while( option->cdr != nil )     /*  can't be nil first time through  */
+       while( option->d.cdr != nil )   /*  can't be nil first time through  */
                {
                {
-               option = option->cdr;
-               if( option->car == sysa )
+               option = option->d.cdr;
+               if( option->d.car == sysa )
                        {
                        {
-                       rval = option->cdr->car;
+                       rval = option->d.cdr->d.car;
                        if( value != (lispval)CNIL )
                        if( value != (lispval)CNIL )
-                               option->cdr->car = value;
+                               option->d.cdr->d.car = value;
                        return(rval);
                        }
                        return(rval);
                        }
-               option = option->cdr;
+               option = option->d.cdr;
                }
 
        if( value != (lispval)CNIL )
                {
                protect(option); protect(value);
                }
 
        if( value != (lispval)CNIL )
                {
                protect(option); protect(value);
-               option->cdr = newdot();
-               option->cdr->car = sysa;
-               option->cdr->cdr = newdot();
-               option->cdr->cdr->car = value;
+               option->d.cdr = newdot();
+               option->d.cdr->d.car = sysa;
+               option->d.cdr->d.cdr = newdot();
+               option->d.cdr->d.cdr->d.car = value;
                unprot(); unprot();
                }
 
                unprot(); unprot();
                }