aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2007-07-25 06:24:58 +0000
committerStefan Monnier <[email protected]>2007-07-25 06:24:58 +0000
commit89835619ddf133f28a7c015db964f491c5eab610 (patch)
tree3eb0ee4b0b4a2393258c7a41b0f43c69ad858ada /src/data.c
parentbffa7817189d138036ba6da7686e2a4e2701daa2 (diff)
(Finteractive_form): Use a `interactive-form' property if
present, analogous to the function-documentation property.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/data.c b/src/data.c
index 0b3be2fc69..f705aa559e 100644
--- a/src/data.c
+++ b/src/data.c
@@ -751,8 +751,14 @@ Value, if non-nil, is a list \(interactive SPEC). */)
Lisp_Object cmd;
{
Lisp_Object fun = indirect_function (cmd);
-
- if (SUBRP (fun))
+ Lisp_Object tmp;
+
+ if (SYMBOLP (cmd)
+ /* Use an `interactive-form' property if present, analogous to the
+ function-documentation property. */
+ && (tmp = Fget (cmd, intern ("interactive-form")), !NILP (tmp)))
+ return tmp;
+ else if (SUBRP (fun))
{
if (XSUBR (fun)->prompt)
return list2 (Qinteractive, build_string (XSUBR (fun)->prompt));