Mercurial > emacs
changeset 431:504d7cdfd311
*** empty log message ***
author | Jim Blandy <jimb@redhat.com> |
---|---|
date | Thu, 14 Nov 1991 21:40:03 +0000 |
parents | 62d4447676c1 |
children | 4d44159f7481 |
files | src/eval.c |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
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;