Subject: bug#13046: 23.4; Minimal Example to freeze emacs C++ mode (nasty interaction between templates & windows endline characters )

From: Alan Mackenzie <[email-masked]>
Date: Sun, 2 Dec 2012 15:46:35 +0000

Hello, Yidong.

On Sun, Dec 02, 2012 at 10:13:47AM +0800, Chong Yidong wrote:
> John Smith <[email-masked]> writes:

> > Using emacs -Q,just open the attached minimal example and try typing
> > "std::string" in the body of the function. 
> > That should hang emacs forever (or at least it does on my up-to-date
> > ubuntu).

Yes.

> I think this is a duplicate of Bug#11841.

I think so too, though 11841 has at least two distinct bugs causing the
same symptom.

> The patch posted in Bug#11841 does not completely fix this test case.
> Giving ^M whitespace syntax in CC mode, as Stefan suggested, seems like
> the easiest solution.

The problem in John Smith's case is that c-backward-sws ("backward
syntactic whitespace") doesn't always go back over a ^M, causing the
calling routine to loop.  I'm looking into this at the moment.

> Alan, could you take another look?  It would be good to have this fixed
> in Emacs 24.3.

Agreed.

-- 
Alan Mackenzie (Nuremberg, Germany).