present, analogous to the function-documentation property.
** The two new functions `looking-at-p' and `string-match-p' can do
the same matching as `looking-at' and `string-match' without changing
the match data.
+
+** The interactive-form of a function can be added post-facto via the
+`interactive-form' symbol property. Mostly useful to add complex interactive
+forms to subroutines.
\f
* New Packages for Lisp Programming in Emacs 23.1
+2007-07-25 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * data.c (Finteractive_form): Use a `interactive-form' property if
+ present, analogous to the function-documentation property.
+
2007-07-22 Nick Roberts <nickrob@snap.net.nz>
* xdisp.c (decode_mode_spec): Add case 'R' for to test for
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));