Mercurial > emacs
changeset 73463:346f9b4afa15
(read_char): Make an element (t . EVENT) in
unread-command-events add EVENT to the current command's key sequence.
(syms_of_keyboard) <unread-command-events>: Update doc.
author | Kim F. Storm <storm@cua.dk> |
---|---|
date | Sun, 22 Oct 2006 22:25:03 +0000 |
parents | 9b076439f58a |
children | e3fbddada23e |
files | src/keyboard.c |
diffstat | 1 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Sun Oct 22 21:29:33 2006 +0000 +++ b/src/keyboard.c Sun Oct 22 22:25:03 2006 +0000 @@ -2537,6 +2537,18 @@ c = XCAR (Vunread_command_events); Vunread_command_events = XCDR (Vunread_command_events); + reread = 1; + + /* Undo what sit-for did when it unread additional keys + inside universal-argument. */ + + if (CONSP (c) + && EQ (XCAR (c), Qt)) + { + reread = 0; + c = XCDR (c); + } + /* Undo what read_char_x_menu_prompt did when it unread additional keys returned by Fx_popup_menu. */ if (CONSP (c) @@ -2550,7 +2562,6 @@ && (EQ (c, Qtool_bar) || EQ (c, Qmenu_bar))) *used_mouse_menu = 1; - reread = 1; goto reread_for_input_method; } @@ -11226,7 +11237,10 @@ DEFVAR_LISP ("unread-command-events", &Vunread_command_events, doc: /* List of events to be read as the command input. -These events are processed first, before actual keyboard input. */); +These events are processed first, before actual keyboard input. +Events read from this list are not normally added to `this-command-keys', +as they will already have been added once as they were read for the first time. +An element of the form (t . EVENT) forces EVENT to be added to that list. */); Vunread_command_events = Qnil; DEFVAR_INT ("unread-command-char", &unread_command_char,