Subject: Re: bug#19547: 25.0.50; throw-on-input "fires" when switching workspace

From: Stefan Monnier <[email-masked]>
Date: Fri, 09 Jan 2015 18:33:10 -0500

> (catch 'tag
>   (let ((throw-on-input 'tag))
>     (while t)))
>
> and switch to a different (X) workspace.  The loop is exited
> immediately.

Can you check with C-h l what event Emacs received?

> If there is nothing that can be done about this report -

That's probably the case.  The intention of while-no-input is to abort
in response any input that might need execution of Elisp code.  So if
the event you receive upon workspace-switch might trigger execution of
Elisp code, it's probably right for while-no-input to abort.

> do you see a solution for the problem we see in Helm?

I don't understand exactly the problem you're seeing.  Why is it
a problem to stop computing the matching candidates when the user
switches to another workspace?  If "switches to another workspace"
means that the selected Emacs frame disappears (a likely scenario), then
it seems harmless to stop computing the candidates.

        Stefan