GNU bug report logs -
#59455
29.0.50; Treesit font lock changes unrelated code
Previous Next
Reported by: Theodor Thornhill <theo <at> thornhill.no>
Date: Mon, 21 Nov 2022 20:14:02 UTC
Severity: normal
Found in version 29.0.50
Done: Yuan Fu <casouri <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Wed, 23 Nov 2022 10:33:35 -0800
with message-id <81762C61-20E4-45C9-849D-178E3912171F <at> gmail.com>
and subject line Re: bug#59455: 29.0.50; Treesit font lock changes unrelated code
has caused the debbugs.gnu.org bug report #59455,
regarding 29.0.50; Treesit font lock changes unrelated code
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
59455: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59455
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hi Yuan!
I've noticed some strange behavior with font-lock lately in c-ts-mode,
and also in all the other ts modes.
to reproduce:
emacs -Q
C-x C-f foo.c RET
Insert this:
```
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
/* lol lol lol lol lol lol lol lol lol lol */
int
foo (void)
{
return 5;
}
int
foo (void)
{
if (x)
{
return 5;
}
}
int
foo (void)
{
return 5;
}
```
M-x c-ts-mode RET
Now on the first line, repeatedly press 'M-c' (capitalize-word) and
watch the highlights of the rest of the file jump around. Then try
undoing the changes by repeatedly pressing 'C-/' until you are back at
the state right after the first insert. Now highlights are messed up.
I'm not sure where to start looking for this, but I do remember there
being some issues in Eglot with these "multi-edit" commands.
If you have some pointers for where to look I can dig around :)
Theo
[Message part 3 (message/rfc822, inline)]
Theodor Thornhill <theo <at> thornhill.no> writes:
> On 22 November 2022 11:05:50 CET, Yuan Fu <yuf011 <at> ucsd.edu> wrote:
>>
>>Theodor Thornhill <theo <at> thornhill.no> writes:
>>
>>> Hi Yuan!
>>>
>>> I've noticed some strange behavior with font-lock lately in c-ts-mode,
>>> and also in all the other ts modes.
>>>
>>> to reproduce:
>>>
>>> emacs -Q
>>>
>>> C-x C-f foo.c RET
>>>
>>> Insert this:
>>>
>>> ```
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>> /* lol lol lol lol lol lol lol lol lol lol */
>>>
>>> int
>>> foo (void)
>>> {
>>> return 5;
>>> }
>>>
>>> int
>>> foo (void)
>>> {
>>> if (x)
>>> {
>>> return 5;
>>> }
>>> }
>>>
>>> int
>>> foo (void)
>>> {
>>> return 5;
>>> }
>>> ```
>>>
>>> M-x c-ts-mode RET
>>>
>>> Now on the first line, repeatedly press 'M-c' (capitalize-word) and
>>> watch the highlights of the rest of the file jump around. Then try
>>> undoing the changes by repeatedly pressing 'C-/' until you are back at
>>> the state right after the first insert. Now highlights are messed up.
>>>
>>> I'm not sure where to start looking for this, but I do remember there
>>> being some issues in Eglot with these "multi-edit" commands.
>>>
>>> If you have some pointers for where to look I can dig around :)
>>
>>Thanks for the catch! It is due to tree-sitter not correctly recording
>>changes in casefiddle.c. I’ve fixed it now.
>
>
>> Now you can Lol as much as your heart desire.
>
> Don't you always capitalize lols at the top of your files?
I should do it more, heard that it’s a good warm-up for programming :-)
Closing.
Yuan
This bug report was last modified 2 years and 239 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.