GNU bug report logs -
#10664
24.0.93; JIT font-lock infloops in a C file
Previous Next
Reported by: Eli Zaretskii <eliz <at> gnu.org>
Date: Mon, 30 Jan 2012 18:27:01 UTC
Severity: normal
Found in version 24.0.93
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello, Eli.
On Tue, Feb 07, 2012 at 10:58:09PM +0200, Eli Zaretskii wrote:
> > Date: Tue, 7 Feb 2012 19:20:33 +0000
> > Cc: 10664 <at> debbugs.gnu.org
> > From: Alan Mackenzie <acm <at> muc.de>
> > I've done a binary chop on this, and the following revision made this bug
> > apparent:
> > revno: 106729
> > committer: Alan Mackenzie <acm <at> muc.de>
> > branch nick: trunk
> > timestamp: Sat 2011-12-24 19:32:31 +0000
> > message:
> > Introduce a mechanism to widen the region used in context font locking.
> > Use this to protect declarations from losing their contexts.
> > I'll see what I can work out from this. At least it's one of mine. ;-)
> Great, thanks.
I understand what's happening, now. The new code (from 2011-12-24),
given a point, is calculating a "safe" position backwards from that point
to start fontifying from. This is a position which gives the correct
context for the original point.
For one particular fontification in socket.c, the "safe position" is 500
bytes back from the starting point, so jit-lock is pushed back these 500
bytes, fontifies the next 500 bytes (`jit-lock-chunk-size'), then has its
new start position set back 500 bytes, rinse, spin, repeat.
I don't understand yet why this isn't happening a lot more frequently.
I think it's got something to do with the safe position being _exactly_
500 bytes back.
I don't know what to do about this yet, but I'll think of something.
Good night!
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 13 years and 105 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.