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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 14 Jul 2023 19:00:31 +0300

> From: Stefan Monnier <[email-masked]>
> Cc: [email-masked],  [email-masked]
> Date: Fri, 14 Jul 2023 10:31:23 -0400
> 
> > It would be nice to analyze all those flags, make them more selective,
> > and understand/document better what optimizations and optional
> > processing are affected by each one of them.  It is a large and
> > somewhat ungrateful job, so if someone wants to do it by
> > systematically examining the situations where we set each one of those
> > flags and their effects on redisplay, I can offer my best help (though
> > I cannot afford doing this job myself).
> 
> I can't see it happening ever in such a systematic way.

I still hope it will.  It's a good way of getting familiar with the
display code, so maybe someone will step forward.

> A more pragmatic approach is the one you propose afterwards: based on
> our vague understanding of how things work, make a few simplifications,
> expose them to our users and then see what bug reports we get in return.
> 
> I suspect a single boolean variable (which we could call
> `internal--use-old-slow-redisplay`) to control those simplifications
> would be enough.

No, one variable is not enough -- it will never tell us which of the
potential flags or settings of the flag requires to be reinstated.  We
need to be able to investigate this at a finer granularity.

And the variables should be called something like
use-old-and-correct-redisplay-for-mode-line.