GNU bug report logs - #67393
29.1; Slow to open file if autosave exists

Previous Next

Package: emacs;

Reported by: materus213 <materus213 <at> gmail.com>

Date: Thu, 23 Nov 2023 00:35:01 UTC

Severity: normal

Tags: notabug

Found in version 29.1

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #69 received at 67393 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: materus213 <at> gmail.com, yantar92 <at> posteo.net, 67393 <at> debbugs.gnu.org,
 stefankangas <at> gmail.com
Subject: Re: bug#67393: 29.1; Slow to open file if autosave exists
Date: Wed, 27 Dec 2023 19:20:07 +0200
>> > What I meant is to change the default `set-message-function' in such a
>> > way that it displays "important" messages for a custom time period, in
>> > addition to the last message.
>>
>> I agree.  The most annoying delay is in 'ispell-parse-output':
>>
>>     (ding) ; error message from ispell!
>>     (message "Ispell error: %s" output)
>>     (sit-for 5)
>>
>> So I need to waste 5 seconds several times during spell-checking.
>
> Only when there's an error, right?

Often during spell-checking it's really not an error, but a warning
that text in some unsupported encoding can't be spell-checked.

>> It would be nicer to prepend this error message to any last displayed
>> message during these 5 seconds.
>
> We don't really know whether doing that will be effective.  Given N
> lines of messages in the echo-area, what are the chances that the user
> will see all of them, or even the most important one(s)?
>
> IOW, we don't have any real experience with this kind of UI.  We need
> to collect such experience first, before we conclude that this could
> be used as an alternative to sit-for.

I propose to refactor such code

  (message "Ispell error: %s" output)
  (sit-for 5)

to a new separate function, e.g.

  (important-message 5 "Ispell error: %s" output)

with a simple implementation

  (defun important-message (seconds format-string &rest args)
    (apply #'message format-string args)
    (sit-for seconds))

Then users could easily override such annoying delay.
Or maybe even the default implementation can check
if set-message-functions already contains set-multi-message
that ensures that the important message will not be missed,
and not to use sit-for in this case.




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

Previous Next


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