(Ffuncall): Always call CHECK_CONS_LIST on entry.
authorKim F. Storm <storm@cua.dk>
Sun, 3 Apr 2005 22:08:58 +0000 (22:08 +0000)
committerKim F. Storm <storm@cua.dk>
Sun, 3 Apr 2005 22:08:58 +0000 (22:08 +0000)
Call it again after autoload.

src/eval.c

index bf4fec4..8700ca2 100644 (file)
@@ -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