bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#66732: tree-sitter fontification doesn't update multi-line syntax re


From: Stefan Monnier
Subject: bug#66732: tree-sitter fontification doesn't update multi-line syntax reliably
Date: Wed, 20 Dec 2023 15:50:21 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

>> I think Dmitry is talking about the case where the faces were change
>> after the text was rendered (but before the end of the redisplay cycle).
>> 
>> I.e. the redisplay starts, renders up to position POS, then calls
>> jit-lock because `fonfitied` is nil, and jit-lock modifies faces of text
>> *before* POS.
>
> This can only happen if a function called from jit-lock doesn't comply
> to the protocol wrt such changes, right?

I'm talking about a problem in the interaction between the redisplay
a jit-lock itself.

Jit-lock is aware of it and uses `jit-lock-force-redisplay` as needed to
account for it.

> Because otherwise the modified region would have been re-rendered on
> the next redisplay cycle at the latest.

Yes, if the jit-lock client (e.g. font-lock) follows the protocol, then
jit-lock should take care to re-render the regions when/where needed.

*Except* that the implementation of `jit-lock-force-redisplay` is
not effective and needs a change like the one suggested by Dmitry.


        Stefan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]