Subject: bug#10664: 24.0.93; JIT font-lock infloops in a C file

From: Stefan Monnier <[email-masked]>
Date: Wed, 08 Feb 2012 14:28:53 -0500

>> > 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.
>> Why is "jit-lock pushed back"?
> Build Emacs revision #106728.  emacs -Q, then create the following C++
> buffer:

> #########################################################################
> 1 template <typename T>
> 2
> 3
> 4 void myfunc(T* p) {}
> #########################################################################

> This is fontified correctly.  Type a space on L2.  This is OK for half a
> second, then context fontification messes up L4.  The correct
> fontification can only be restored by a change to L4.

That explains why *font-lock* needs to be applied to "L1-L4", but now
why *jit-lock* needs to be affected.

        Stefan