|
From: | Dmitry Gutov |
Subject: | bug#66732: tree-sitter fontification doesn't update multi-line syntax reliably |
Date: | Tue, 19 Dec 2023 14:44:17 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 |
On 19/12/2023 14:41, Eli Zaretskii wrote:
From: Stefan Monnier<monnier@iro.umontreal.ca> Cc: Dmitry Gutov<dmitry@gutov.dev>,66732@debbugs.gnu.org, dominik@honnef.co,casouri@gmail.com Date: Mon, 18 Dec 2023 22:40:59 -0500It seems like in our scenario the region does not get re-rendered even when some of the faces changed in there.Can't happen.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?
We have a protocol: font-lock-extend-region-functions, but it's not working well enough due to the aforementioned problem.
Because otherwise the modified region would have been re-rendered on the next redisplay cycle at the latest.
That does indeed happen, but seems too late from the user's POV.
[Prev in Thread] | Current Thread | [Next in Thread] |