From: Ken Brown Date: Fri, 27 Oct 2017 17:48:46 +0000 (-0400) Subject: Fix startup display on Cygwin X-Git-Tag: emacs-26.0.91~453 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e8636ac8cc96e1e7e948f04091792da09dafcc76;p=emacs.git Fix startup display on Cygwin * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that forces input to be read. (Bug#24091) --- diff --git a/src/xterm.c b/src/xterm.c index d90654b101d..dbb8349452d 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -11504,6 +11504,22 @@ x_make_frame_visible (struct frame *f) /* Try to wait for a MapNotify event (that is what tells us when a frame becomes visible). */ + +#ifdef CYGWIN + /* On Cygwin, which uses input polling, we need to force input to + be read. See + http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00351.html + and https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24091#131. + Fake an alarm signal to let the handler know that there's + something to be read. + + It could be confusing if a real alarm arrives while processing + the fake one. Turn it off and let the handler reset it. */ + int old_poll_suppress_count = poll_suppress_count; + poll_suppress_count = 1; + poll_for_input_1 (); + poll_suppress_count = old_poll_suppress_count; +#endif x_wait_for_event (f, MapNotify); } }