Mercurial > emacs
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)); |
