# HG changeset patch # User Micha¸«³l Cadilhac # Date 1189417304 0 # Node ID 48251c264d8dd52e2a856dad50c5af875a983272 # Parent 574312ace74dc1bee502cca36738cbf2adbb1d8d (Finteractive_form): If the interactive specification starts with a `(', use it as a Lisp form. diff -r 574312ace74d -r 48251c264d8d src/data.c --- 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)) {