Mercurial > emacs
changeset 84438:48251c264d8d
(Finteractive_form): If the interactive specification starts with a `(',
use it as a Lisp form.
author | Michaël Cadilhac <michael.cadilhac@lrde.org> |
---|---|
date | Mon, 10 Sep 2007 09:41:44 +0000 |
parents | 574312ace74d |
children | aed070a1f09b |
files | src/data.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/data.c Mon Sep 10 09:41:13 2007 +0000 +++ b/src/data.c Mon Sep 10 09:41:44 2007 +0000 @@ -770,8 +770,11 @@ if (SUBRP (fun)) { - if (XSUBR (fun)->prompt) - return list2 (Qinteractive, build_string (XSUBR (fun)->prompt)); + char *spec = XSUBR (fun)->intspec; + if (spec) + return list2 (Qinteractive, + (*spec != '(') ? build_string (spec) : + Fcar (Fread_from_string (build_string (spec), Qnil, Qnil))); } else if (COMPILEDP (fun)) {