Someone buried in birdtracks wrote:
>> Yes, but not with ChangeLogs in specific. Anything
font-locked takes
>> longer to be font-locked after a revert because it appears to be doing
>> it twice. I thought I fixed this at some point, but it does not
>> appear to be working optimally now.
SL Baur writes:
The code that sets major modes (and indirectly fires off font-lock)
is
twisted at best. Everything gets run at least twice, but there is
very careful dance done to ensure some things don't get run twice.
Hah! No sooner was this posted than it bit me on the rear.
Tuareg mode, for editing Objective Caml programs, includes an
extension to font-lock called "sym-lock" which converts certain
keywords into atomic symbols under XEmacs.
With sym-lock enabled, vc-register causes the error message:
Symbol's function definition is void: t
The cause of this error turns out to be sym-lock's function for
font-lock-mode-hook being called twice in a row and corrupting
font-lock-keywords schematically as:
(t
<sym lock's keywords>
(t (0 font-lock-keyword-face)) ; Entry of Death
<sym lock's keywords redux>
<font lock's keywords>
)
FWIW, turning font-lock and/or sym-lock off and on again works
correctly. I'll have another go at it later..
-- John