X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/blobdiff_plain/2b84abb596f52ab2068d52108adc96838ad4340a..31cef89cb428866f787983e68246030321893df4:/usr/src/cmd/lisp/fexr.c diff --git a/usr/src/cmd/lisp/fexr.c b/usr/src/cmd/lisp/fexr.c index 6ab802c97f..6b5c43c695 100644 --- a/usr/src/cmd/lisp/fexr.c +++ b/usr/src/cmd/lisp/fexr.c @@ -1,3 +1,5 @@ +static char *sccsid = "@(#)fexr.c 34.1 10/3/80"; + #include "global.h" /* Ngcafter *************************************************************/ @@ -24,15 +26,15 @@ Nopval() 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); - 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, - vtemp==nil ? (lispval)CNIL : eval(vtemp->car) + vtemp==nil ? (lispval)CNIL : eval(vtemp->d.car) )); } /* copval *************************************************************/ @@ -51,43 +53,43 @@ copval(option,value) snpand(0); - if( option->plist == nil && value != (lispval) CNIL) + if( option->a.plist == nil && value != (lispval) CNIL) { 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); } - 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); - 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 ) - option->cdr->car = value; + option->d.cdr->d.car = value; return(rval); } - option = option->cdr; + option = option->d.cdr; } 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(); }