GNU bug report logs - #64596
30.0.50; On FIXME: in src/buffer.c:1481 (force-mode-line-update)

Previous Next

Package: emacs;

Reported by: Ihor Radchenko <yantar92 <at> posteo.net>

Date: Thu, 13 Jul 2023 13:01:02 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Ihor Radchenko <yantar92 <at> posteo.net>
Cc: monnier <at> iro.umontreal.ca, 64596 <at> debbugs.gnu.org
Subject: bug#64596: 30.0.50; On FIXME: in src/buffer.c:1481 (force-mode-line-update)
Date: Sun, 16 Jul 2023 13:37:42 +0300
> From: Ihor Radchenko <yantar92 <at> posteo.net>
> Cc: Eli Zaretskii <eliz <at> gnu.org>, 64596 <at> debbugs.gnu.org
> Date: Sun, 16 Jul 2023 10:22:38 +0000
> 
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
> 
> >>   . prevent_redisplay_optimizations_p flag of a buffer
> >>   . must_be_updated_p flag of a window
> >
> > No idea what these mean.
> > The name `must_be_updated_p` makes it sound to me like it's redundant
> > with the `redisplay` flag above.
> 
> I agree about must_be_updated_p. I had exactly same though that it is
> redundant with redisplay flag when reading the code.

Look closer, please.  The name of the flag might suggest what you say,
but its usage suggests otherwise.

> prevent_redisplay_optimizations_p is intuitively logical, but I still
> feel confused because it appears to be redundant upon seeing redisplay
> flag in the buffer. It raises a question what redisplay flag really
> means - it is causing redisplay of a window/buffer or not necessarily?

Neither.

The redisplay flag means that a window or a buffer or a frame need to
be _considered_ for potential redisplay.  (Whether the consideration
will conclude there's a need to actually redraw the corresponding part
of the Emacs display is another matter -- it could conclude that all,
some parts of, or none of the objects marked for redisplay actually
need it.)

prevent_redisplay_optimizations_p says that while considering which
parts of the buffer need to cause redisplay, certain shortcuts and
optimizations designed to make redisplay faster and less expensive
must not be taken/used.

IOW, prevent_redisplay_optimizations_p must come with the redisplay
flag set on the buffer/window/frame, but after that it says a
different thing.




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

Previous Next


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