Mercurial > emacs
diff src/eval.c @ 431:504d7cdfd311
*** empty log message ***
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Thu, 14 Nov 1991 21:40:03 +0000 |
| parents | 0673e72f6c8c |
| children | 8c615e453683 |
line wrap: on
line diff
--- a/src/eval.c Sat Nov 09 01:34:02 1991 +0000 +++ b/src/eval.c Thu Nov 14 21:40:03 1991 +0000 @@ -1946,13 +1946,15 @@ { QUIT; next = Fcar (syms_left); + while (XTYPE (next) != Lisp_Symbol) + next = Fsignal (Qinvalid_function, Fcons (fun, Qnil)); if (EQ (next, Qand_rest)) rest = 1; else if (EQ (next, Qand_optional)) optional = 1; else if (rest) { - specbind (Fcar (syms_left), Flist (nargs - i, &arg_vector[i])); + specbind (next, Flist (nargs - i, &arg_vector[i])); i = nargs; } else if (i < nargs) @@ -2007,6 +2009,8 @@ extern void store_symval_forwarding (); /* in eval.c */ Lisp_Object ovalue; + CHECK_SYMBOL (symbol, 0); + if (specpdl_ptr == specpdl + specpdl_size) grow_specpdl (); specpdl_ptr->symbol = symbol;
