Subject: bug#19547: Patch for this bug

From: Eli Zaretskii <[email-masked]>
Date: Thu, 10 Nov 2016 19:46:37 +0200

> From: Reuben Thomas <[email-masked]>
> Date: Wed, 9 Nov 2016 22:03:34 +0000
> Cc: [email-masked]
> 
> So, if you could indicate a precise design that would be acceptable, I will implement it. That seems to me a
> good medium between extending a hard fix that I agree is inelegant, and my spending lots of time trying to
> understand yet another area of Emacs.

How about the following:

Use DEFVAR_LISP to define a Lisp variable with initial value of Qnil.

In some preloaded Lisp file, say subr.el, give that variable a value,
a list of symbols that name the events we currently don't consider
relevant for throw-on-input.  (Those symbols will have to be invented,
e.g. 'focus-in' for FOCUS_IN_EVENT, etc.)

In kbd_buffer_store_buffered_event, where we set Vquit_flag depending
on Vthrow_on_input, examine the value of that list variable, and
ignore any events that have their symbols in the list.

Thanks.