Subject: bug#62194: 30.0.50; Two Eglot-over-Tramp tests are failing on master, passing on emacs-29

From: Eli Zaretskii <[email-masked]>
Date: Fri, 17 Mar 2023 19:22:26 +0200

> From: <[email-masked]>
> Cc: [email-masked], [email-masked], [email-masked]
> Date: Fri, 17 Mar 2023 18:22:14 +0100
> 
> From '(elisp) Output from Processes':
> 
>    Output from a subprocess can arrive only while Emacs is waiting: when
> reading terminal input, in ‘sit-for’ and ‘sleep-for’, in
> ‘accept-process-output’, and in functions which send data to processes.
> 
> From my understanding of process.c, wait_reading_process_output normally
> needs to be in the call stack in order for process filters to run.

And it is, when Tramp calls expand-file-name and waits for the
response from the remote.

Moreover, there are situations in Emacs when we eventually call
wait_reading_process_output as result of Lisp code that doesn't
necessarily imagine something like that could happen, nor can control
that.

IOW, it is not easy to know from the Lisp level whether Emacs is going
to "wait for something" as part of running some Lisp program.