[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#59455: 29.0.50; Treesit font lock changes unrelated code
From: |
Theodor Thornhill |
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@ucsd.edu> wrote:
>
>Theodor Thornhill <theo@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?