aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
authorMichaël Cadilhac2007-09-10 09:42:13 +0000
committerMichaël Cadilhac2007-09-10 09:42:13 +0000
commit8a6d230a995697e11813f59b8f3b72c6a6cf029c (patch)
treed28b594ba1a3eaa6959c6056e0b3b711b2368834 /src/data.c
parent04724b6930ec6a906fd5a248632797bb56e0caa5 (diff)
downloademacs-8a6d230a995697e11813f59b8f3b72c6a6cf029c.tar.gz
emacs-8a6d230a995697e11813f59b8f3b72c6a6cf029c.zip
(Finteractive_form): If the interactive specification starts with a `(',
use it as a Lisp form.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/data.c b/src/data.c
index 1f82f929281..dfc0c35705a 100644
--- a/src/data.c
+++ b/src/data.c
@@ -770,8 +770,11 @@ Value, if non-nil, is a list \(interactive SPEC). */)
770 770
771 if (SUBRP (fun)) 771 if (SUBRP (fun))
772 { 772 {
773 if (XSUBR (fun)->prompt) 773 char *spec = XSUBR (fun)->intspec;
774 return list2 (Qinteractive, build_string (XSUBR (fun)->prompt)); 774 if (spec)
775 return list2 (Qinteractive,
776 (*spec != '(') ? build_string (spec) :
777 Fcar (Fread_from_string (build_string (spec), Qnil, Qnil)));
775 } 778 }
776 else if (COMPILEDP (fun)) 779 else if (COMPILEDP (fun))
777 { 780 {