Subject: Re: bug#10941: [24.0.93.3] cc-mode: error in message buffer when "typing fast", characters eaten

From: Paul Pogonyshev <[email-masked]>
Date: Fri, 30 Mar 2012 01:11:05 +0300

Alan Mackenzie wrote:
> > Sometimes (quite often) when opening a different syntax region --- a
> > quoted string, or block comment --- in C++ mode, the first character
> > after it gets eaten with some error message shown in the echo area.  I
> > managed to create a surefire (at least here) way to reproduce it.
> 
> What exactly do you mean by "opening a different syntax region"?  Do you
> mean moving point into it, or scrolling to see it?

Just typing, similarly to the testcase.  When you quickly type an
opening quote (") or inline comment starter (/*) and then instantly
continue typing whatever is going to be inside, this error happens.
Far from always, but often enough to be annoying.

> OK.  I have a suspicion it could be something like two
> before-change-functions being invoked without the after-change-function
> which should come between them.

I have a different suspicion that sometimes cc-mode relies on data
found in font-lock only and that data may or may not be present (or up
to date) depending on how fast lazy font-locking happens.  But of
course you know the code better to decide if that is possible at all.

Paul