Subject: Re: 27.1; cc-mode/syntax/font-lock bug

From: Eli Zaretskii <[email-masked]>
Date: Mon, 23 Nov 2020 19:10:11 +0200

> From: Gustavo Tavares Cabral <[email-masked]>
> Date: Mon, 10 Aug 2020 16:55:40 -0300
> Cc: [email-masked]
> 
> I have found two related issues. Both are evident in csharp-mode, but 
> can easily be reproduced in c-mode. 
> 
> Issue 1 (cc-mode.el): 
> 
>   When c-multiline-string-start-char is set, font locking breaks after 
>   changes in string literals. The issue started after commit 2ca12bb3de:
>   I believe that '(c-remove-string-fences (car end-limits))' should be 
>   '(c-remove-string-fences (1- (cdr end-limits)))' 
> 
>   Steps to reproduce: 
>     1. Open a .c file; 
>     2. Eval '(setq c-multiline-string-start-char ?@)'; 
>     3. Delete/insert double quotes. 
> 
>   I think this issue is related:
>   https://github.com/Fuco1/smartparens/issues/992 
> 
> Issue 2 (maybe syntax.el): 
> 
>   When syntax-propertize-function is set (to '(lambda (beg end) nil)', 
>   for example), a similar problem occurs if electric-pair-mode (or even 
>   smartparens) is enabled. The symptoms started after commit 585fb95739,
>   but I don't know if it is related.
> 
>   Steps to reproduce: 
>     1. Open a .c file; 
>     2. Eval '(setq syntax-propertize-function (lambda (beg end) nil)'; 
>     3. Enable electric-pair-mode; 
>     4. Insert/delete empty strings.

Alan, could you please take a look?  Would it be possible to fix this
for Emacs 27.2?