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

From: Eli Zaretskii <[email-masked]>
Date: Sat, 15 Jul 2023 11:52:41 +0300

> From: Ihor Radchenko <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Sat, 15 Jul 2023 07:22:59 +0000
> 
> >From my recent reading of the commentary in xdisp.c, one apparently
> missing summary is which window and frame components are considered by
> the redisplay code.

Basically, all of them, I'd say.

> "Glyph rows." section in the top comment talk about margins + text area,
> but the real redisplay_internal appears to consider (1) title bars; (2)
> menu bars; (3) header line; (4) tab line; (5) mode-line; (6) window
> text; (7) echo area (which is treated specially).

That section indeed mentions the text area and the margins, but only
because the glyph rows distinguish between them.  The other areas you
mention either don't use our glyphs (title bar), or have no margin
areas (mode line, header line, menu bar, etc.), only the text area.

Echo area is displayed in a mini-window, which is just a window,
albeit a special one.

> > ....  But I will not agree to
> > random poking at this or that particular flag, unless there's
> > convincing evidence that it causes a display bug or a significant
> > performance problem.  Because otherwise making changes in code that we
> > don't sufficiently understand can only cause bugs, and guess who gets
> > to work on fixing them.
> 
> That's understandable.
> But the general idea of having some kind of "experimental" flag might be
> still useful in other situations. Not necessarily redisplay.
> Of course, such experiments should be still weighed carefully.

I'm okay with such experimental flags, and we did use them in the past
(still have some of them in the current sources).  I'm just saying
those should be selective enough to allow enabling/disabling a small
set of features, not all of them together.