Subject: bug#25362: 26.0.50; comment-region goes into an infinite loop

From: Alan Mackenzie <[email-masked]>
Date: Sat, 7 Jan 2017 08:20:23 +0000

Hello, Eli.

An update.

On Fri, Jan 06, 2017 at 11:37:12AM +0200, Eli Zaretskii wrote:
> > Date: Fri, 6 Jan 2017 09:32:37 +0000
> > Cc: [email-masked], [email-masked]
> > From: Alan Mackenzie <[email-masked]>

> > > Is this bug new in Emacs 25.1?

> > Yes, it is.  I've just tried the scenario out on Emacs 24.5, and it
> > works OK there.

> Then it would be good to have a safe enough solution that we could
> install on the release branch, or, failing that, a safe workaround.

There are actually two distinct bugs at work, here.  One of them is
simple, the fix being merely giving a limit to an invocation of
c-forward-syntactic-ws.

The other bug is more involved.  It involves the invalidation of the
whitespace cache, which is currently done incorrectly when "//" is
inserted into a line which already has comment markers later on that
line.  It should be simple to fix, but is actually quite tricky, with a
likelihood of unwanted side effects if it's not done very carefully.  I
might be able to fix it today, but I'm not certain of that.

I've done a bisection on the repository, and the commit that
"introduced" the bug didn't really introduce it at all - it merely
uncovered it.  That commit was 4b9ac23960d2998f899287ffcf696ad33b63a69a
from 2016-07-03, "Speed up CC Mode fontification with less accurate
functions extending region".

As a summary, I'm not convinced that the fix I'm working on ought to go
into 25.2, even though the bug is quite serious.  Maybe that will
clarify itself today, sometime.

> Thanks.

-- 
Alan Mackenzie (Nuremberg, Germany).