Subject: bug#71384: treesit-font-lock-fontify-region unnecessarily re-unfontify's

From: Stefan Kangas <[email-masked]>
Date: Fri, 28 Feb 2025 18:08:29 -0800

JD Smith <[email-masked]> writes:

>> On Jun 6, 2024, at 1:34 AM, Eli Zaretskii <[email-masked]> wrote:
>>
>>> From: JD Smith <[email-masked]>
>>> Date: Wed, 5 Jun 2024 18:06:54 -0400
>>>
>>> The function treesit-font-lock-fontify-region in treesit.el calls
>>> (font-lock-unfontify-region start end) right away (see below).  But this
>>> function is called as the value of font-lock-fontify-syntactically-function
>>> from font-lock-default-fontify-region, which has just itself made the exact
>>> same call to font-lock-unfontify-region. I commented out that superfluous
>>> call in treesit-font-lock-fontify-region and noticed no ill effects.
>>
>> Why is that duplicate call a problem?
>
> I don't know if it's ever really a problem, other than the small amount of time spent removing properties that have just been removed.
>
>> We don't say that treesit-font-lock-fontify-region _must_ be called _only_ from
>> font-lock-default-fontify-region, do we?
>
>
> I presume the same logic would apply to font-lock-fontify-keywords-region, but
> that does not re-run unfontify (and is obviously much older code).  Maybe
> treesit reuses treesit-font-lock-fontify-region in non-font-lock contexts?  Feel
> free to close if Yuan concurs.

Yuan, WDYT?  Should we do anything here, or should we close this?