comparison src/data.c @ 83648:65663fcd2caa

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 824-838) - Update from CVS - Merge from emacs--rel--22 - Remove lisp/erc/erc-nicklist.el - Update some .arch-inventory files - Fix void function definition error in cus-edit.el - Restore lisp/emacs-lisp/cl-loaddefs.el * emacs--rel--22 (patch 70-83) - Update from CVS - Remove lisp/erc/erc-nicklist.el - Update some .arch-inventory files - Indicate that emacs--devo--0--patch-834 does not need to be applied - Merge from gnus--rel--5.10 - Restore lisp/emacs-lisp/cl-loaddefs.el * gnus--rel--5.10 (patch 239-241) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--multi-tty--0--patch-28
author Miles Bader <miles@gnu.org>
date Tue, 31 Jul 2007 05:50:45 +0000
parents fd5b4a865d1d b98604865ea0
children 48251c264d8d
comparison
equal deleted inserted replaced
83647:3468e549a55b 83648:65663fcd2caa
4 4
5 This file is part of GNU Emacs. 5 This file is part of GNU Emacs.
6 6
7 GNU Emacs is free software; you can redistribute it and/or modify 7 GNU Emacs is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option) 9 the Free Software Foundation; either version 3, or (at your option)
10 any later version. 10 any later version.
11 11
12 GNU Emacs is distributed in the hope that it will be useful, 12 GNU Emacs is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
749 If CMD is not a command, the return value is nil. 749 If CMD is not a command, the return value is nil.
750 Value, if non-nil, is a list \(interactive SPEC). */) 750 Value, if non-nil, is a list \(interactive SPEC). */)
751 (cmd) 751 (cmd)
752 Lisp_Object cmd; 752 Lisp_Object cmd;
753 { 753 {
754 Lisp_Object fun = indirect_function (cmd); 754 Lisp_Object fun = indirect_function (cmd); /* Check cycles. */
755
756 if (NILP (fun) || EQ (fun, Qunbound))
757 return Qnil;
758
759 /* Use an `interactive-form' property if present, analogous to the
760 function-documentation property. */
761 fun = cmd;
762 while (SYMBOLP (fun))
763 {
764 Lisp_Object tmp = Fget (fun, intern ("interactive-form"));
765 if (!NILP (tmp))
766 return tmp;
767 else
768 fun = Fsymbol_function (fun);
769 }
755 770
756 if (SUBRP (fun)) 771 if (SUBRP (fun))
757 { 772 {
758 if (XSUBR (fun)->prompt) 773 if (XSUBR (fun)->prompt)
759 return list2 (Qinteractive, build_string (XSUBR (fun)->prompt)); 774 return list2 (Qinteractive, build_string (XSUBR (fun)->prompt));