GNU bug report logs - #64866
30.0.50; Emacsclient block for 2 seconds when error is raised from command

Previous Next

Package: emacs;

Reported by: Yikai Zhao <yikai <at> z1k.dev>

Date: Wed, 26 Jul 2023 02:11:01 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 64866 <at> debbugs.gnu.org, yikai <at> z1k.dev
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.




This bug report was last modified 1 year and 350 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.