GNU bug report logs - #59455
29.0.50; Treesit font lock changes unrelated code

Previous Next

Package: emacs;

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

From: Theodor Thornhill <theo <at> thornhill.no>
To: Yuan Fu <yuf011 <at> ucsd.edu>
Cc: 59455 <at> debbugs.gnu.org
Subject: bug#59455: 29.0.50; Treesit font lock changes unrelated code
Date: Tue, 22 Nov 2022 12:03:48 +0100

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? 




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.