diff options
author | Kim F. Storm <storm@cua.dk> | 2005-04-03 22:08:58 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2005-04-03 22:08:58 +0000 |
commit | fff3ff9c18075000c0cf478fe76011769cdf027a (patch) | |
tree | 1e86459df73097db42f22fa49a05fc43b0318612 /src/eval.c | |
parent | 2ba613a6aae7549399043fb350ef61710f792e57 (diff) | |
download | emacs-fff3ff9c18075000c0cf478fe76011769cdf027a.tar.gz |
(Ffuncall): Always call CHECK_CONS_LIST on entry.
Call it again after autoload.
Diffstat (limited to 'src/eval.c')
-rw-r--r-- | src/eval.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index bf4fec4f8a1..8700ca222ce 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2742,6 +2742,8 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) if (debug_on_next_call) do_debug_on_call (Qlambda); + CHECK_CONS_LIST (); + retry: fun = args[0]; @@ -2750,9 +2752,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) if (SUBRP (fun)) { - CHECK_CONS_LIST (); - - if (numargs < XSUBR (fun)->min_args + if (numargs < XSUBR (fun)->min_args || (XSUBR (fun)->max_args >= 0 && XSUBR (fun)->max_args < numargs)) { XSETFASTINT (lisp_numargs, numargs); @@ -2844,6 +2844,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */) else if (EQ (funcar, Qautoload)) { do_autoload (fun, args[0]); + CHECK_CONS_LIST (); goto retry; } else |