diff options
| author | Jim Blandy | 1991-11-14 21:40:03 +0000 |
|---|---|---|
| committer | Jim Blandy | 1991-11-14 21:40:03 +0000 |
| commit | 9ffa21d41905f3530e80cc0ef8e3291fe4637899 (patch) | |
| tree | 0ad9a4e6c4330b3edc5beb5cbcd8957f102c85a4 /src | |
| parent | 42dcdd5fc73bd14835d58dbef45a617d4332744b (diff) | |
| download | emacs-9ffa21d41905f3530e80cc0ef8e3291fe4637899.tar.gz emacs-9ffa21d41905f3530e80cc0ef8e3291fe4637899.zip | |
*** empty log message ***
Diffstat (limited to 'src')
| -rw-r--r-- | src/eval.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index de6784a81b6..6940b8dbada 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1946,13 +1946,15 @@ funcall_lambda (fun, nargs, arg_vector) | |||
| 1946 | { | 1946 | { |
| 1947 | QUIT; | 1947 | QUIT; |
| 1948 | next = Fcar (syms_left); | 1948 | next = Fcar (syms_left); |
| 1949 | while (XTYPE (next) != Lisp_Symbol) | ||
| 1950 | next = Fsignal (Qinvalid_function, Fcons (fun, Qnil)); | ||
| 1949 | if (EQ (next, Qand_rest)) | 1951 | if (EQ (next, Qand_rest)) |
| 1950 | rest = 1; | 1952 | rest = 1; |
| 1951 | else if (EQ (next, Qand_optional)) | 1953 | else if (EQ (next, Qand_optional)) |
| 1952 | optional = 1; | 1954 | optional = 1; |
| 1953 | else if (rest) | 1955 | else if (rest) |
| 1954 | { | 1956 | { |
| 1955 | specbind (Fcar (syms_left), Flist (nargs - i, &arg_vector[i])); | 1957 | specbind (next, Flist (nargs - i, &arg_vector[i])); |
| 1956 | i = nargs; | 1958 | i = nargs; |
| 1957 | } | 1959 | } |
| 1958 | else if (i < nargs) | 1960 | else if (i < nargs) |
| @@ -2007,6 +2009,8 @@ specbind (symbol, value) | |||
| 2007 | extern void store_symval_forwarding (); /* in eval.c */ | 2009 | extern void store_symval_forwarding (); /* in eval.c */ |
| 2008 | Lisp_Object ovalue; | 2010 | Lisp_Object ovalue; |
| 2009 | 2011 | ||
| 2012 | CHECK_SYMBOL (symbol, 0); | ||
| 2013 | |||
| 2010 | if (specpdl_ptr == specpdl + specpdl_size) | 2014 | if (specpdl_ptr == specpdl + specpdl_size) |
| 2011 | grow_specpdl (); | 2015 | grow_specpdl (); |
| 2012 | specpdl_ptr->symbol = symbol; | 2016 | specpdl_ptr->symbol = symbol; |