GNU bug report logs -
#71384
treesit-font-lock-fontify-region unnecessarily re-unfontify's
Previous Next
To reply to this bug, email your comments to 71384 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#71384
; Package
emacs
.
(Wed, 05 Jun 2024 22:56:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
JD Smith <jdtsmith <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 05 Jun 2024 22:56:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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.
(defun treesit-font-lock-fontify-region (start end &optional loudly)
"Fontify the region between START and END.
If LOUDLY is non-nil, display some debugging information."
(when (or loudly treesit--font-lock-verbose)
(message "Fontifying region: %s-%s" start end))
(treesit-update-ranges start end)
(font-lock-unfontify-region start end)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#71384
; Package
emacs
.
(Thu, 06 Jun 2024 05:41:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 71384 <at> debbugs.gnu.org (full text, mbox):
> From: JD Smith <jdtsmith <at> gmail.com>
> 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? We don't say that
treesit-font-lock-fontify-region _must_ be called _only_ from
font-lock-default-fontify-region, do we?
Adding Yuan in case he has comments.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#71384
; Package
emacs
.
(Thu, 06 Jun 2024 11:37:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 71384 <at> debbugs.gnu.org (full text, mbox):
> On Jun 6, 2024, at 1:34 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:
>
>> From: JD Smith <jdtsmith <at> gmail.com>
>> 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.
This bug report was last modified 255 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.