Subject: bug#52298: 29.0.50; Frequent redisplay cycles induced by c-type-finder-timer-func timer in CC Mode

From: Alan Mackenzie <[email-masked]>
Date: Mon, 13 Dec 2021 14:19:40 +0000

Hello, Eli.

On Sun, Dec 12, 2021 at 21:21:40 +0200, Eli Zaretskii wrote:
> > Date: Sun, 12 Dec 2021 19:05:45 +0000
> > Cc: [email-masked]
> > From: Alan Mackenzie <[email-masked]>

> > This particular feature simply hasn't worked out well.  If the
> > background scanning were to complete in a few seconds, it wouldn't be
> > too bad.  But nearly two minutes on a modern (well, 4½ yo) machine for
> > just one buffer, with the annoyance of the "stuttering", is not worth
> > the gain.

> > What we have is effectively the entire buffer getting half-fontified in
> > the background.  That's not what JIT fontification is supposed to be
> > about.

> Maybe just lowering the frequency of the time would be enough.

Then instead of the scanning taking 2 minutes, it would take 10 or 20.
And that's just for one buffer, albeit a large one.

I would then, possibly, get complaints about CC Mode having to "warm up"
for half an hour before it was ready for use.  (Only half-serious.)

> Or running it off an idle timer.  E.g., I'm a happy user of
> jit-stealth, and it never causes me any annoying side effects.  So
> maybe this feature could run similarly?

I think it would be better just to use jit-stealth fontification, and
not have a special stealth-like feature for CC Mode.  With part of the
feature left in the code (the bit that causes the buffer's entire
fontification to be updated when a new found type is found), the current
stealth will eventually correct any wrongly fontified found types.

Sadly, there seem to be limits on how far correctness can go.  Maybe
when our PC cores are 10 times as powerful (if that ever happens), this
feature could return.  I suspect CC Mode may have been superseded by
then.

> Thanks.

-- 
Alan Mackenzie (Nuremberg, Germany).