From: Stefan Monnier Date: Mon, 29 Mar 2004 00:49:00 +0000 (+0000) Subject: (Fcall_interactively): Use Finteractive_form. X-Git-Tag: ttn-vms-21-2-B4~7041 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1e0b36be0a4ca370d09e224f77afad571932cd83;p=emacs.git (Fcall_interactively): Use Finteractive_form. --- diff --git a/src/callint.c b/src/callint.c index 21a6bd0b1ad..a7933bb14d5 100644 --- a/src/callint.c +++ b/src/callint.c @@ -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))