Subject: Re: bug#64818: 30.0.50; c++-ts-mode highlight does not work

From: Theodor Thornhill <[email-masked]>
Date: Mon, 24 Jul 2023 15:26:36 +0200

Eli Zaretskii <[email-masked]> writes:

>> From: Wang Diancheng <[email-masked]>
>> Date: Mon, 24 Jul 2023 12:49:06 +0800
>> 
>> I use the latest tree-sitter and tree-sitter modules.
>> Only preprocessor instructions and comments are highlighted, please see attached
>> screenshot. BTW c-ts-mode highlight is OK.
>> 
>> Following are values of treesit-font-lock-feature-list and
>> treesit-font-lock-level:
>> 
>> treesit-font-lock-feature-list is a variable defined in ‘treesit.el’.
>> 
>> Its value is
>> ((comment definition) (keyword preprocessor string type)
>>  (assignment constant escape-sequence label literal)
>>  (bracket delimiter error function operator property variable))
>> Local in buffer sql_select.cc; global value is nil
>> 
>> treesit-font-lock-level is a variable defined in ‘treesit.el’.
>> 
>> Its value is 3
>
> Thanks.
>
> Yuan, Theo: can you please look into this?  I can confirm the above
> behavior, and I also see it in the very first pretest 29.0.90.  So
> either some change broke c++-ts-mode before April, or maybe the latest
> changes in the C++ grammar library did that.  treesit-explore-mode
> seems to show that the code is parsed correctly, so why aren't
> fontifications working?

With the version of the grammar on my system everything worked
perfectly, but I updated the grammar, and now I can reproduce. So it
seems something upstream broke it. I'll bisect tree-sitter-cpp and
figure out whats breaking it.

Thanks,
Theo