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

From: Michael Heerdegen <[email-masked]>
Date: Fri, 09 Jan 2015 16:46:58 +0100

Hello,

I'm using Debian Gnu/Linux here.

Eval

(catch 'tag
  (let ((throw-on-input 'tag))
    (while t)))

and switch to a different (X) workspace.  The loop is exited
immediately.

I don't think it is useful to count switching workspaces as input.  I
hope we can change this.

Some background: in Helm, we use `while-no-input' around the code
performing the matching against the candidates.  This way, we can
immediately react when new input arrives - we avoid a delay caused by
finishing matching candidates against an obsolete input pattern.

But currently, when you switch to a different workspace while matching
is performed, Helm stops matching.

Of course we could work around this and restart matching anew in such a
case, but it would be better if switching desktops would not tangle
Emacs at all.  It is counter-intuitive, at least in this scenario.  The
doc of throw-on-input only speaks about "keyboard input".

Thanks,

Michael.

In GNU Emacs 25.0.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.14.5)
 of 2015-01-08 on drachen
Windowing system distributor `The X.Org Foundation', version 11.0.11602901
System Description:	Debian GNU/Linux 8.0 (jessie)

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY
LIBXML2 FREETYPE XFT ZLIB

Important settings:
  value of $LC_ALL: de_DE.utf8
  value of $LC_COLLATE: C
  value of $LC_TIME: C
  value of $LANG: de_DE.utf8
  locale-coding-system: utf-8-unix