MS Windows is event driven, but something has to read those events, and this is done synchronously in the Lisp thread's main loop. Whatever code is doing the checking of the Lisp level event queue for `while-no-input' needs to also trigger a check of the Windows message queue in case there are input events there that need promoting to Lisp events.From: storm@cua.dk (Kim F. Storm)<klaus.berndl@sdm.de> writes:I tried this with Emacs 22.0.50.1 compiled on 29.1.2006 forWindows.... It works fine on GNU Emacs 22.0.50.69 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2006-03-08 on kfs-l.imdomain.dk Maybe windoze doesn't have some form of async input processing, so maybe it cannot see if input arrives while it is running lisp code.MS Windows is event driven. Maybe some input queue must be checked?