mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-10 13:40:36 -08:00
* callint.c (Fcall_interactively): Allow multiple 'e' specs.
(Finteractive): Doc fix.
This commit is contained in:
parent
9712b0bd2e
commit
bc78232cf6
1 changed files with 16 additions and 6 deletions
|
|
@ -66,7 +66,9 @@ c -- Character.\n\
|
|||
C -- Command name: symbol with interactive function definition.\n\
|
||||
d -- Value of point as number. Does not do I/O.\n\
|
||||
D -- Directory name.\n\
|
||||
e -- Mouse click that invoked this command (value of `last-nonmenu-event').\n\
|
||||
e -- Event that invoked this command (value of `last-nonmenu-event').\n\
|
||||
This skips events without parameters.\n\
|
||||
If used more than once, the Nth 'e' returns the Nth parameterized event.\n\
|
||||
f -- Existing file name.\n\
|
||||
F -- Possibly nonexistent file name.\n\
|
||||
k -- Key sequence (string).\n\
|
||||
|
|
@ -160,6 +162,10 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
|
|||
Lisp_Object enable;
|
||||
int speccount = specpdl_ptr - specpdl;
|
||||
|
||||
/* The index of the next element of this_command_keys to examine for
|
||||
the 'e' interactive code. */
|
||||
int next_event = 0;
|
||||
|
||||
Lisp_Object prefix_arg;
|
||||
unsigned char *string;
|
||||
unsigned char *tem;
|
||||
|
|
@ -391,13 +397,17 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
|
|||
visargs[i] = Fkey_description (teml);
|
||||
break;
|
||||
|
||||
case 'e': /* Mouse click. */
|
||||
args[i] = last_command_char;
|
||||
if (NILP (Fmouse_click_p (args[i])))
|
||||
error ("%s must be bound to a mouse click.",
|
||||
case 'e': /* The invoking event. */
|
||||
/* Find the next parameterized event. */
|
||||
while (next_event < this_command_key_count
|
||||
&& ! EVENT_HAS_PARAMETERS (this_command_keys[next_event]))
|
||||
next_event++;
|
||||
if (next_event >= this_command_key_count)
|
||||
error ("%s must be bound to an event with parameters",
|
||||
(XTYPE (function) == Lisp_Symbol
|
||||
? (char *) XSYMBOL (function)->name->data
|
||||
: "Command"));
|
||||
: "command"));
|
||||
args[i] = this_command_keys[next_event++];
|
||||
varies[i] = -1;
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue