aboutsummaryrefslogtreecommitdiffstats
path: root/src
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
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')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/data.c7
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 19854387b6a..cb8d66e14b4 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -5,6 +5,9 @@
5 5
6 * eval.c (Fcommandp): Change `->prompt' to `->intspec'. 6 * eval.c (Fcommandp): Change `->prompt' to `->intspec'.
7 7
8 * data.c (Finteractive_form): If the interactive specification starts
9 with a `(', use it as a Lisp form.
10
8 * callint.c (Fcall_interactively): Comment fixes. 11 * callint.c (Fcall_interactively): Comment fixes.
9 12
102007-09-10 Stefan Monnier <monnier@iro.umontreal.ca> 132007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
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 {