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

From: Alan Mackenzie <[email-masked]>
Date: Thu, 2 May 2019 21:03:12 +0000

Hello, Mauro.

On Wed, May 01, 2019 at 19:31:48 -0300, Mauro Aranda wrote:
> 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.

I believe I have now fixed all these bugs, and indeed I've committed the
fix to the master branch.

Would you please be so good as to give this fix a "final" test, and if
everything is OK, then I can close the bug.

Thanks!

> Best regards,
> Mauro.

-- 
Alan Mackenzie (Nuremberg, Germany).