Subject: Re: bug#63957: 29.0.91; c-ts-mode: incorrect fontification in alloc.c

From: Yuan Fu <[email-masked]>
Date: Fri, 9 Jun 2023 23:51:46 -0700

> On Jun 8, 2023, at 12:19 AM, Yuan Fu <[email-masked]> wrote:
> 
> 
> 
>> On Jun 7, 2023, at 11:00 PM, Eli Zaretskii <[email-masked]> wrote:
>> 
>>> Date: Thu, 08 Jun 2023 08:56:51 +0300
>>> From: Eli Zaretskii <[email-masked]>
>>> 
>>> 
>>> To reproduce:
>>> 
>>> emacs -Q
>>> C-x C-f src/alloc.c RET
>>> M-x c-ts-mode RET
>>> C-u 3184 M-g g
>>> 
>>> Observe that several "else if" clauses in the following fragment are not
>>> fontified correctly:
>> 
>> Adding the relevant folks.
>> 
>> Could you guys please look into this issue?

Ok, so this is one of such cases where the preproc directives severs the code and the parser can’t recover very well. We can cover it over by just fontifying “else if” with keyword face, but there are a million ways for the preproc directive to mess up the parser, I don’t think we can cover every case.

Yuan