>>>> "Andy" == Andy Piper <andyp(a)bea.com>
writes:
Andy> Some datapoints would be great. There are a number of
Andy> possible culprits:
He sent me some profiles, which point straight at at scan-lists. CC'd
xemacs-beta.
I took a look at syntax.c (scan_lists). It looks like it's related to
Matt's syntax stuff after all. What's happening is that the
UPDATE_SYNTAX_CACHE macros are getting called at least once per
movement of point. These in turn call get-text-properties when the
cache gets invalidated, which is every time point crosses an extent
boundary. get-text-properties is a pretty heavy function to be
calling in a buffer scan routine, I think, since it does a
map_extents_bytind.
I suspect this could be tested by defining all those .*SYNTAX_CACHE.*
macros in syntax.h to the empty string.
Still, one scan shouldn't be _that_ bad. The next question is why
does one invocation of `c-electric-semi&comma' call `scan-lists' 998
times?
I think there's a pretty good chance there's something broken in
cc-mode or font-lock here.
Time for bed; may I expect a solution in the morning? :) :)
--
Institute of Policy and Planning Sciences
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Don't ask how you can "do" free software business;
ask what your business can "do for" free software.