Subject: bug#45117: 28.0.50; process-send-string mysteriously exiting non-locally when called from timer

From: Stefan Monnier <[email-masked]>
Date: Thu, 10 Dec 2020 12:51:35 -0500

> Aha! I found the culprit.  It is eldoc.el.  It seems to be a
> longstanding policy to call Eldoc backends with `with-no-input`.  This
> is obviously badly problematic for aynchronous backends.

Maybe "obviously" so from a pragmatic point of view, but in
a theoretical sense, I don't see why: for async backends, the
`while-no-input` should only apply to the "first chunk" of computation
which launches the async subprocess (or communication) and it seems OK
to abort this first chunk if the user hits a key while it's executing.

So maybe the better answer is to improve the implementation of
`while-no-input` so it doesn't abort here.

        Stefan