GNU bug report logs - #20445
excessive redisplay / echo area resizing during byte-compilation

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Mon, 27 Apr 2015 21:32:02 UTC

Severity: normal

Found in version 25.0.50

Done: Artur Malabarba <bruce.connor.am <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Artur Malabarba <bruce.connor.am <at> gmail.com>
Cc: 20445 <at> debbugs.gnu.org
Subject: Re: bug#20445: excessive redisplay / echo area resizing
 during	byte-compilation
Date: Tue, 28 Apr 2015 23:21:16 -0400
>     (apply #'message format args)
>     (unless byte-compile--interactive
>       (message nil)))

This is the problem: in order to "not emit a message" this code emits
the message and then immediately hides it by emitting "the empty
message" on top of it.

Since `message' redisplays right away (rather than waiting for the next
"idle" moment to perform redisplay, as is the case for normal buffer
changes), this result in a lot of wasted work, and it won't truly do
what was intended:
- If your machine/display is slow enough, you will see it
- If your system "prints" messages by speaking them out loud (e.g. with
  emacspeak) you will hear them.

Why not just do:

     (when byte-compile--interactive
       (apply #'message format args))

?

        Stefan




This bug report was last modified 10 years and 86 days ago.

Previous Next


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