]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fcall_interactively): Use Finteractive_form.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 29 Mar 2004 00:49:00 +0000 (00:49 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 29 Mar 2004 00:49:00 +0000 (00:49 +0000)
src/callint.c

index 21a6bd0b1ad014b613ae8fb73197eea1e7aff784..a7933bb14d56529dbc84b087303275896858e508 100644 (file)
@@ -1,5 +1,5 @@
 /* Call a Lisp function interactively.
-   Copyright (C) 1985, 86, 93, 94, 95, 1997, 2000, 02, 2003
+   Copyright (C) 1985, 86, 93, 94, 95, 1997, 2000, 02, 03, 2004
    Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
@@ -347,25 +347,17 @@ supply if the command inquires which events were used to invoke it.  */)
        goto lose;
       specs = XVECTOR (fun)->contents[COMPILED_INTERACTIVE];
     }
-  else if (!CONSP (fun))
-    goto lose;
-  else if (funcar = XCAR (fun), EQ (funcar, Qautoload))
+  else
     {
+      Lisp_Object form;
       GCPRO2 (function, prefix_arg);
-      do_autoload (fun, function);
+      Finteractive_form (function);
       UNGCPRO;
-      goto retry;
-    }
-  else if (EQ (funcar, Qlambda))
-    {
-      specs = Fassq (Qinteractive, Fcdr (XCDR (fun)));
-      if (NILP (specs))
+      if (CONSP (form))
+       specs = filter_specs = Fcar (XCDR (form));
+      else
        goto lose;
-      filter_specs = Fnth (make_number (1), specs);
-      specs = Fcar (Fcdr (specs));
     }
-  else
-    goto lose;
 
   /* If either SPECS or STRING is set to a string, use it.  */
   if (STRINGP (specs))