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)
This commit is contained in:
Eli Zaretskii 2016-03-26 11:52:12 +03:00
parent 8ee4c52abc
commit cf40f389cf

View file

@ -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);