summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-11-24 22:42:19 +0000
committerRichard M. Stallman <rms@gnu.org>1995-11-24 22:42:19 +0000
commit6eb0f0294ffeb37906fb32ca1e6dac7d74f374e1 (patch)
treeace36b1ae4998518a10ed7bf4b4547cc73d0bdca
parent87f497053e932dc8c6f90e5f10beaddb0bcffd53 (diff)
downloademacs-6eb0f0294ffeb37906fb32ca1e6dac7d74f374e1.tar.gz
(read_char): Handle unread events from popup menus.
-rw-r--r--src/keyboard.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 74614ce2f10..04291a24105 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1700,6 +1700,13 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
c = XCONS (Vunread_command_events)->car;
Vunread_command_events = XCONS (Vunread_command_events)->cdr;
+ /* Undo what read_char_x_menu_prompt did when it unread
+ additional keys returned by Fx_popup_menu. */
+ if (CONSP (c)
+ && (SYMBOLP (XCONS (c)->car) || INTEGERP (XCONS (c)->car))
+ && NILP (XCONS (c)->cdr))
+ c = XCONS (c)->car;
+
if (this_command_key_count == 0)
goto reread_first;
else