|
From: | Jim Porter |
Subject: | bug#64866: 30.0.50; Emacsclient block for 2 seconds when error is raised from command |
Date: | Wed, 26 Jul 2023 12:48:38 -0700 |
On 7/26/2023 11:48 AM, Eli Zaretskii wrote:
emacsclient writes the error message to its stderr, but it immediately exits. When it exits and the Emacs frame is deleted, if it was a TTY frame which was displayed on that sane terminal, the message is deleted because Emacs clears the terminal when it deletes the frame. I guess your experience is from GUI frames or something? But even in that case it is not guaranteed that the error message will be seen, because emacsclient could be called with -nowait and in background.
I was testing this without any frames (well, except for the invisible daemon frame). I see what you mean, though. Since most uses of "emacsclient" involve creating/using an Emacs frame, it makes sense that the code would be oriented around that case.
Why did you think it should? According to its documentation it only affects minibuffer-message. The 2-sec delay in the above case is done by an explicit call to sit-for with a hard-coded argument of 2 sec. See server-return-error.
Thanks for the pointer to this code. Looking at it, it doesn't seem easy to avoid this delay without causing the problems that you've mentioned.
[Prev in Thread] | Current Thread | [Next in Thread] |