# HG changeset patch
# User Richard M. Stallman <rms@gnu.org>
# Date 817252939 0
# Node ID eae7f6d657be434e54ce49240d007a0dc6debb69
# Parent  0b081d93ee6c8f317317bfbb98253b555bb1bc1b
(read_char): Handle unread events from popup menus.

diff -r 0b081d93ee6c -r eae7f6d657be src/keyboard.c
--- a/src/keyboard.c	Fri Nov 24 22:24:33 1995 +0000
+++ b/src/keyboard.c	Fri Nov 24 22:42:19 1995 +0000
@@ -1700,6 +1700,13 @@
       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