Fix execution of tool-bar commands read within minibuffer-error-handler
* src/keyboard.c (read_char): Arrange that the original event be recorded when a posn is promoted to a prefix key and an END_TIME is suppressing additions to this_command_keys.
This commit is contained in:
parent
8218aa14ed
commit
0ade6348f9
1 changed files with 17 additions and 2 deletions
|
@ -3135,8 +3135,23 @@ read_char (int commandflag, Lisp_Object map,
|
|||
/* Change menu-bar to (menu-bar) as the event "position". */
|
||||
POSN_SET_POSN (xevent_start (c), list1 (posn));
|
||||
|
||||
also_record = c;
|
||||
Vunread_command_events = Fcons (c, Vunread_command_events);
|
||||
/* Should a command call `sit-for', or another command that
|
||||
provides a timespec to Fread_event and co., the original
|
||||
event will not subsequently be entered into
|
||||
this_command_keys unless Qno_record be specified below.
|
||||
|
||||
The same is the case in a number of other scenarios where
|
||||
reread is true, but if so, event recording is to be
|
||||
suppressed anyway. */
|
||||
|
||||
if (end_time)
|
||||
Vunread_command_events = Fcons (Fcons (Qt, c),
|
||||
Vunread_command_events);
|
||||
else
|
||||
{
|
||||
also_record = c;
|
||||
Vunread_command_events = Fcons (c, Vunread_command_events);
|
||||
}
|
||||
c = posn;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue