Subject: bug#12450: Remove configure's --without-sync-input option.

From: Eli Zaretskii <[email-masked]>
Date: Mon, 17 Sep 2012 10:41:25 +0300

> Date: Sun, 16 Sep 2012 03:56:20 -0700
> From: Daniel Colascione <[email-masked]>
> CC: [email-masked], [email-masked], [email-masked], 
>  [email-masked]
> 
> >> There might be a few lurking bugs, however: one thing that stands
> >> out is that w32term.c, unlike xterm.c, sets interrupt_input_pending,
> >> but doesn't set pending_signals.
> > 
> > Please tell the details about this.
> > 
> 
> I'm still not sure what practical effect this omission would have ---
> on quit, we set Vquit_flag to Qt from the input thread. When Lisp code
> is running, QUIT picks up the non-nilness of Vquit_flag and quits. The
> ELSE_PENDING_SIGNALS branch doesn't apply, so we're able to
> successfully quit.

I added setting pending_signals, it doesn't seem to do any harm, and
playing by the rules has its merit.

> While testing, I ran into a different bug. I'm able to reproduce it on
> the regular w32 build too. Can someone try reproing it with 1) M-:
> (while t) RET, 2) click the menu bar [menu won't appear], 3) C-g, 4)
> typing something? Emacs doesn't seem to respond to typed input.
> Clicking in the Emacs window unblocks everything.

Yes, I see this also.  There's a long comment about this in w32fns.c
around line 2550.  I'm not sure if there's a way to unlock responses
to keyboard input in this scenario; ideas welcome.