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 wrote: > >> From: Bror Winther >> 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 an > error 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))))