On 21 December 2016 at 09:04, John Wiegley wrote: > >>>>> Eli Zaretskii writes: > > > To see the above machinery in action, try this: > > > (defun infloop () > > (with-temp-buffer (while t (insert "foo")))) > > > (make-thread #'infloop "thread-loop") > > > As soon as you start the looping thread, any keyboard input, like M-x or > > cursor motion commands, doesn't have any effect, until you type C-g > (which > > causes the looping thread to exit), because the looping thread never > yields. > > Ah, this is the bit I was missing. It's clear to me now, thanks. But that doesn't change the fact that it makes more sense to never allow keyboard input to be processed by anything other than the main thread? C-g isn't "normal" keyboard input, is it?