[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: cc-mode fontification feels random
From: |
Alan Mackenzie |
Subject: |
Re: cc-mode fontification feels random |
Date: |
Wed, 9 Jun 2021 18:22:57 +0000 |
Hello, Eli.
On Tue, Jun 08, 2021 at 21:25:49 +0300, Eli Zaretskii wrote:
> > From: Daniel Colascione <dancol@dancol.org>
> > Date: Tue, 8 Jun 2021 11:11:21 -0700
> > Cc: rudalics@gmx.at, emacs-devel@gnu.org, rms@gnu.org, acm@muc.de
> > The whole point of fontification is to provide visual hints about
> > the semantic structure of source code. If cc-mode can't do that
> > reliably, my preference would be for it to not do it at all.
> > Fontification of a type-using expression shouldn't change if I move
> > the definition of that type from one file to another.
> I think we agree. Except that for me, it should also not try if it
> cannot do it quickly enough, not only reliably enough.
Quickly and reliably enough are desirable things, but in competition
with eachother. Reliably enough is a lot easier to measure, quickly
enough depends on the machine, the degree of optimisation, and above
all, the user's expectations.
> > IMHO, we should rely on LSP to figure out what symbols are types, and if
> > a LSP isn't available, we shouldn't try to guess.
"Shouldn't try to guess" means taking a great deal of
font-lock-type-faces out of CC Mode. I don't honestly think the end
result would be any better than what we have at the moment.
> I was talking about what to do (or not to do) with our existing
> regexp- and "syntax"-based fontifications. I still remember the days
> when CC Mode handled that well enough without being a snail it
> frequently is now, and that was on a machine about 10 times slower
> than the one I use nowadays.
Those old versions had masses of fontification bugs in them. People
wrote bug reports about them and they got fixed. Those fixes frequently
involved a loss of speed. :-(
There have also been several bug reports about unusual buffers getting
fontified at the speed of continental drift, and fixing those has
usually led to a little slowdown for ordinary buffers. I'm thinking,
for example, about bug #25706, where a 4 MB file took nearly an hour to
scroll through on my machine. After the fix, it took around 86 seconds.
> The C language didn't change too much since then, at least not the
> flavor I frequently edit.
There are two places where CC Mode can be slow: font locking large areas
of text, and keeping up with somebody typing quickly. Which of these
bothers you the most? I have plans for speeding up one of these.
--
Alan Mackenzie (Nuremberg, Germany).
- Re: cc-mode fontification feels random, (continued)
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/07
- Re: cc-mode fontification feels random, Stefan Monnier, 2021/06/08
- Re: cc-mode fontification feels random, Richard Stallman, 2021/06/08
- Re: cc-mode fontification feels random, Stefan Monnier, 2021/06/08
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/08
- Re: cc-mode fontification feels random, Stefan Monnier, 2021/06/08
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/08
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/08
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/08
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/08
- Re: cc-mode fontification feels random,
Alan Mackenzie <=
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/09
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/09
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/09
- Re: cc-mode fontification feels random, chad, 2021/06/09
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/10
- Re: cc-mode fontification feels random, Dmitry Gutov, 2021/06/09
- Re: cc-mode fontification feels random, Alan Mackenzie, 2021/06/09
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/09
- Re: cc-mode fontification feels random, Eli Zaretskii, 2021/06/10
- Re: cc-mode fontification feels random, Daniel Colascione, 2021/06/10