From: Eli Zaretskii Date: Sat, 26 Mar 2016 08:52:12 +0000 (+0300) Subject: Ignore non-nil. non-cons values of unread-command-events X-Git-Tag: emacs-25.0.93~89^2~10 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/cf40f389cfbcb8dc4f2a880aa2a5aa38b394293c Ignore non-nil. non-cons values of unread-command-events * src/keyboard.c (requeued_events_pending_p, read_char) (Finput_pending_p): Use CONSP instead of !NILP to see if there are unread command events to be processed. (Bug#22976) --- diff --git a/src/keyboard.c b/src/keyboard.c index 53030e22c7..9618e38e57 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -2529,7 +2529,7 @@ read_char (int commandflag, Lisp_Object map, if (KEYMAPP (map) && INTERACTIVE && !NILP (prev_event) && ! EVENT_HAS_PARAMETERS (prev_event) /* Don't bring up a menu if we already have another event. */ - && NILP (Vunread_command_events) + && !CONSP (Vunread_command_events) && !detect_input_pending_run_timers (0)) { c = read_char_minibuf_menu_prompt (commandflag, map); @@ -2660,7 +2660,7 @@ read_char (int commandflag, Lisp_Object map, && !EQ (XCAR (prev_event), Qmenu_bar) && !EQ (XCAR (prev_event), Qtool_bar) /* Don't bring up a menu if we already have another event. */ - && NILP (Vunread_command_events)) + && !CONSP (Vunread_command_events)) { c = read_char_x_menu_prompt (map, prev_event, used_mouse_menu); @@ -9878,7 +9878,7 @@ clear_input_pending (void) bool requeued_events_pending_p (void) { - return (!NILP (Vunread_command_events)); + return (CONSP (Vunread_command_events)); } DEFUN ("input-pending-p", Finput_pending_p, Sinput_pending_p, 0, 1, 0, @@ -9889,7 +9889,7 @@ if there is a doubt, the value is t. If CHECK-TIMERS is non-nil, timers that are ready to run will do so. */) (Lisp_Object check_timers) { - if (!NILP (Vunread_command_events) + if (CONSP (Vunread_command_events) || !NILP (Vunread_post_input_method_events) || !NILP (Vunread_input_method_events)) return (Qt);