GNU bug report logs - #7722
24.0.50; Finding this C++ header file drops emacs into a infinite loop

Previous Next

Packages: cc-mode, emacs;

Reported by: Tassilo Horn <tassilo <at> member.fsf.org>

Date: Fri, 24 Dec 2010 08:23:01 UTC

Severity: serious

Found in version 24.0.50

Fixed in version 24.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 7722 <at> debbugs.gnu.org, Tassilo Horn <tassilo <at> member.fsf.org>
Subject: bug#7722: 24.0.50; Finding this C++ header file drops emacs into a infinite loop
Date: Fri, 11 Feb 2011 20:25:06 -0500
Alan Mackenzie <acm <at> muc.de> writes:

> It was indeed such a loop.  It was caused by a 500n jit-lock boundary
> falling in the middle of a template construct, hence the "necessity" of
> all the whitespace to reproduce the failure.
>
> Here's a putative patch for the problem.  I've refactored the offending
> function by replacing obscenely nested `if'-forms with a simple `cond'.
> I've also removed some narrowing (to the 500n limit) which should help
> jit-lock, hopefully without hurting too much elsewhere.
>
> Tassilo, would you try out the patch, please, and let me know how it
> goes.  Thanks!

Thanks.  This patch doesn't apply cleanly to the emacs-23 branch.  Do
you think we could apply it to the trunk, and just use the workaround in
the branch (some of these logic changes don't look obvious to me)?




This bug report was last modified 14 years and 20 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.