diff options
Diffstat (limited to 'src/keyboard.c')
| -rw-r--r-- | src/keyboard.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 5d0e05f887d..97554717e9a 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -2620,6 +2620,18 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) | |||
| 2620 | c = XCAR (Vunread_command_events); | 2620 | c = XCAR (Vunread_command_events); |
| 2621 | Vunread_command_events = XCDR (Vunread_command_events); | 2621 | Vunread_command_events = XCDR (Vunread_command_events); |
| 2622 | 2622 | ||
| 2623 | reread = 1; | ||
| 2624 | |||
| 2625 | /* Undo what sit-for did when it unread additional keys | ||
| 2626 | inside universal-argument. */ | ||
| 2627 | |||
| 2628 | if (CONSP (c) | ||
| 2629 | && EQ (XCAR (c), Qt)) | ||
| 2630 | { | ||
| 2631 | reread = 0; | ||
| 2632 | c = XCDR (c); | ||
| 2633 | } | ||
| 2634 | |||
| 2623 | /* Undo what read_char_x_menu_prompt did when it unread | 2635 | /* Undo what read_char_x_menu_prompt did when it unread |
| 2624 | additional keys returned by Fx_popup_menu. */ | 2636 | additional keys returned by Fx_popup_menu. */ |
| 2625 | if (CONSP (c) | 2637 | if (CONSP (c) |
| @@ -2633,7 +2645,6 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu, end_time) | |||
| 2633 | && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar))) | 2645 | && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar))) |
| 2634 | *used_mouse_menu = 1; | 2646 | *used_mouse_menu = 1; |
| 2635 | 2647 | ||
| 2636 | reread = 1; | ||
| 2637 | goto reread_for_input_method; | 2648 | goto reread_for_input_method; |
| 2638 | } | 2649 | } |
| 2639 | 2650 | ||
| @@ -11626,7 +11637,10 @@ so that you can determine whether the command was run by mouse or not. */); | |||
| 11626 | 11637 | ||
| 11627 | DEFVAR_LISP ("unread-command-events", &Vunread_command_events, | 11638 | DEFVAR_LISP ("unread-command-events", &Vunread_command_events, |
| 11628 | doc: /* List of events to be read as the command input. | 11639 | doc: /* List of events to be read as the command input. |
| 11629 | These events are processed first, before actual keyboard input. */); | 11640 | These events are processed first, before actual keyboard input. |
| 11641 | Events read from this list are not normally added to `this-command-keys', | ||
| 11642 | as they will already have been added once as they were read for the first time. | ||
| 11643 | An element of the form (t . EVENT) forces EVENT to be added to that list. */); | ||
| 11630 | Vunread_command_events = Qnil; | 11644 | Vunread_command_events = Qnil; |
| 11631 | 11645 | ||
| 11632 | DEFVAR_INT ("unread-command-char", &unread_command_char, | 11646 | DEFVAR_INT ("unread-command-char", &unread_command_char, |