diff options
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/eval.c b/src/eval.c index b69eea44c75..eaa1a6855f6 100644 --- a/src/eval.c +++ b/src/eval.c @@ -468,7 +468,7 @@ usage: (prog1 FIRST BODY...) */) struct gcpro gcpro1, gcpro2; register int argnum = 0; - if (NILP(args)) + if (NILP (args)) return Qnil; args_left = args; @@ -1043,10 +1043,10 @@ usage: (let VARLIST BODY...) */) GCPRO2 (args, *temps); gcpro2.nvars = 0; - for (argnum = 0; !NILP (varlist); varlist = Fcdr (varlist)) + for (argnum = 0; CONSP (varlist); varlist = XCDR (varlist)) { QUIT; - elt = Fcar (varlist); + elt = XCAR (varlist); if (SYMBOLP (elt)) temps [argnum++] = Qnil; else if (! NILP (Fcdr (Fcdr (elt)))) @@ -1058,9 +1058,9 @@ usage: (let VARLIST BODY...) */) UNGCPRO; varlist = Fcar (args); - for (argnum = 0; !NILP (varlist); varlist = Fcdr (varlist)) + for (argnum = 0; CONSP (varlist); varlist = XCDR (varlist)) { - elt = Fcar (varlist); + elt = XCAR (varlist); tem = temps[argnum++]; if (SYMBOLP (elt)) specbind (elt, tem); @@ -3285,7 +3285,6 @@ specbind (symbol, value) valcontents = XSYMBOL (symbol)->value; if (BUFFER_LOCAL_VALUEP (valcontents) - || SOME_BUFFER_LOCAL_VALUEP (valcontents) || BUFFER_OBJFWDP (valcontents)) { Lisp_Object where, current_buffer; @@ -3296,7 +3295,7 @@ specbind (symbol, value) buffer's or frame's value we are saving. */ if (!NILP (Flocal_variable_p (symbol, Qnil))) where = current_buffer; - else if (!BUFFER_OBJFWDP (valcontents) + else if (BUFFER_LOCAL_VALUEP (valcontents) && XBUFFER_LOCAL_VALUE (valcontents)->found_for_frame) where = XBUFFER_LOCAL_VALUE (valcontents)->frame; else |