[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#56682: Fix the long lines font locking related slowdowns
From: |
Stefan Monnier |
Subject: |
bug#56682: Fix the long lines font locking related slowdowns |
Date: |
Mon, 01 Aug 2022 03:11:43 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) |
>> Your current code makes it impossible for a major mode to make Emacs slow
>> by widening in a too-long-line.
> Which is a good thing, isn't it?
No: we don't want to prevent people from shooting themselves in the foot.
Basically if it says "impossible" there's a good chance it's not a good thing.
> Or do you think that it's okay for Emacs to become unresponsive just
> because it is busy highlighting characters in the buffer?
Widening in a too long line will not necessarily lead to an unresponsive
Emacs, so by preventing it you're also preventing useful cases.
>> I'd prefer if we made it easy (i.e. the default) for Emacs to work well in
>> that case, without making it impossible for the major mode to mess
>> things up.
> Sure, I would also welcome a better solution. Until it materializes, the
> only reasonable way is to use a less optimal solution.
It's not difficult to make it possible to re-widen after your narrowing.
> I just sent one such example to Dmitry. And I pointed to another possible
> solution, namely to scan the whole buffer while opening it (instead of
> scanning it lazily, which is IIUC what currently happens). From a user
> viewpoint, it's understandable that opening a big file takes some time.
We used to scan eagerly in the background with `jit-lock-stealth`, but that was
not very popular (eats up your battery for fairly little benefit).
We also have "lazier" highlighting via `jit-lock-defer`, but that hasn't
been adapted to `syntax-ppss`. It might be with investigating.
Stefan
- bug#56682: Fix the long lines font locking related slowdowns, (continued)
- bug#56682: Fix the long lines font locking related slowdowns, Stefan Monnier, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Stefan Monnier, 2022/08/03
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/03
- bug#56682: Fix the long lines font locking related slowdowns, Stefan Monnier, 2022/08/03
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/03
- bug#56682: Fix the long lines font locking related slowdowns, Stefan Monnier, 2022/08/04
- bug#56682: Fix the long lines font locking related slowdowns, Po Lu, 2022/08/01
bug#56682: Fix the long lines font locking related slowdowns,
Stefan Monnier <=
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/01
- bug#56682: Fix the long lines font locking related slowdowns, Eli Zaretskii, 2022/08/01
- bug#56682: Fix the long lines font locking related slowdowns, Dmitry Gutov, 2022/08/01
- bug#56682: Fix the long lines font locking related slowdowns, Eli Zaretskii, 2022/08/01
- bug#56682: Fix the long lines font locking related slowdowns, Dmitry Gutov, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Eli Zaretskii, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Gregory Heytings, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Dmitry Gutov, 2022/08/02
- bug#56682: Fix the long lines font locking related slowdowns, Dmitry Gutov, 2022/08/02