Oh. Okay. I understand that this is probably not the best place to discuss
features but having such a delay configurable would be nice. I have created a
small patch. What email should I send it to?
//bror
On 20 Jul 2025, at 14.02, Eli Zaretskii <eliz@gnu.org> wrote:
From: Bror Winther <bbw@nobad.coffee>
Date: Sun, 20 Jul 2025 04:15:53 +0200
After upgrading to 30.1 I have noticed that all my external scripts take
very long to finish from time to time. In particular I noticed the line
in my window manager script `emacsclient --eval "(evil-window-up 1)`
would take a long time to finish if there is no window found. This
causes the script to be very slow. I think I have narrowed it down to
`signal`.
The time it takes to execute a simple signal seems to be very high.
time emacsclient --eval "(signal 'user-error (list (apply #'format-message \"%s\" '(test))))"
*ERROR*: test
emacsclient --eval 0.00s user 0.00s system 0% cpu 2.013 total
This is a feature: the Emacs server waits fore 2 sec after showing anerror message, to make sure the user has time to see it: (defun server-return-error (proc err) (ignore-errors ;; Display the error as a message and give the user time to see ;; it, in case the error written by emacsclient to stderr is not ;; visible for some reason. (server--message-sit-for 2 (error-message-string err)) (server-send-string proc (concat "-error " (server-quote-arg (error-message-string err))))