Subject: bug#35454: 26.2.50; CC-Mode fontification fails inside macro

From: Mauro Aranda <[email-masked]>
Date: Wed, 1 May 2019 19:31:48 -0300

Alan Mackenzie <[email-masked]> writes:

> Hello again, Mauro.

Hello Alan.  Thanks for looking into this bug!

> Please try out the patch below.  On my system, it corrects the
> fontification in both your test file and editfns.c.

I've applied the patch and tried the recipe I provided, and it works fine.

However, when I visit editfns.c and search for EXTRA_CONTEXT_FIELDS,
like I said in my report, I see the following problem with this variables:
struct buffer *buffer_a;
struct buffer *buffer_b;
unsigned char *deletions;
unsigned char *insertions;

All but deletions have face font-lock-variable-name-face.

I can't seem to come up with a simple recipe to reproduce the problem,
so I refer you to that part of editfns.c.

All the following steps, separately with emacs -Q (or you could kill the
buffer if you want)
1) C-x C-f editfns.c
C-s extra RET
I observe deletions without its correspondent face and if I type:
SPC DEL
deletions gets font-lock-variable-name-face face.  However, if I
revert the buffer with M-x revert-buffer RET yes RET buffer_a, deletions
and the first 'buffer' lose their faces.

2) C-x C-f editfns.c
C-s deletions RET
I see that deletions has the right face.  But
M-x revert-buffer
makes it lose it (but *buffer_a keeps its face).

3) C-x C-f editfns.c
C-s extra RET
deletions without font-lock-variable-name-face.
C-l C-l
M-x revert-buffer
deletions now has font-lock-variable-name-face.

That is all the testing I could do, sorry for not being able to come up
with a better recipe.  Let me know if you see the same behavior, or what
else I could try.

Best regards,
Mauro.