Subject: bug#5851: 24.0.50; first character after opening quote often gets eaten in CC modes

From: [email-masked]
Date: Fri, 17 May 2019 13:11:36 -0400

Paul Pogonyshev <[email-masked]> writes:

> FWIW the bug is still present.  I get this backtrace (2011-02-19
> build):
>
>     (error "Invalid search bound (wrong side of point)")
>       signal(error ("Invalid search bound (wrong side of point)"))
>       byte-code("b\210\302	@	A\"\207" [start err signal] 3)
>       c-syntactic-re-search-forward("[;{}]" 8510 end)
>       c-before-change-check-<>-operators(6462 6462)
>       #[(fn) "	\n\"\207" [fn beg end] 3](c-before-change-check-<>-operators)
>       mapc(#[(fn) "	\n\"\207" [fn beg end] 3] (c-extend-region-for-CPP c-before-change-check-<>-operators))
>       c-before-change(6462 6462)
>       self-insert-command(1)
>       call-interactively(self-insert-command nil nil)
>
> I cannot find a reliable way to reproduce, but it happens often
> enough.  Apparently, buffers not touched in quite a while are more
> prone.  I.e. open a C++ file and leave it alone for 5 minutes.  Then
> switch to the buffer and type outside any string a double quote
> following by any other character --- the second character will likely
> get eaten with an error as above.  M-x toggle-debug-on-error helps
> spotting it.

Maybe this is fixed in master now, along with Bug#28850?  (the error
there is the same, though the backtrace is a bit different)