diff options
author | Stefan Monnier <[email protected]> | 2007-07-25 06:24:58 +0000 |
---|---|---|
committer | Stefan Monnier <[email protected]> | 2007-07-25 06:24:58 +0000 |
commit | 89835619ddf133f28a7c015db964f491c5eab610 (patch) | |
tree | 3eb0ee4b0b4a2393258c7a41b0f43c69ad858ada /src/data.c | |
parent | bffa7817189d138036ba6da7686e2a4e2701daa2 (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.c | 10 |
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)); |