]> git.eshelyaron.com Git - emacs.git/commit
Eliminate sluggishness and hangs in fontification of "semicolon deserts".
authorAlan Mackenzie <acm@muc.de>
Wed, 18 Jan 2012 13:19:31 +0000 (13:19 +0000)
committerAlan Mackenzie <acm@muc.de>
Wed, 18 Jan 2012 13:19:31 +0000 (13:19 +0000)
commit9657183b6f79dceb468bf70ce0980788dc3f0da7
tree2707051d21c41e925d568246ee024ac94df7f0f2
parente8afb1265f8067d360f03c514603223cde92ffeb
Eliminate sluggishness and hangs in fontification of "semicolon deserts".

cc-engine.el (c-state-nonlit-pos-interval): change value 10000 -> 3000.
(c-state-safe-place): Reformulate so it doesn't stack up an infinite
number of wrong entries in c-state-nonlit-pos-cache.
(c-determine-limit-get-base, c-determine-limit): New functions to
determine backward search limits disregarding literals.
(c-find-decl-spots): Amend commenting.
(c-cheap-inside-bracelist-p): New function which detects "={".

cc-fonts.el (c-make-font-lock-BO-decl-search-function): Give a limit to a
backward search.
(c-font-lock-declarations): Fix an occurrence of point being undefined.
Check additionally for point being in a bracelist or near a macro
invocation without a semicolon so as to avoid a fruitless time consuming
search for a declarator.  Give a more precise search limit for
declarators using the new c-determine-limit.
lisp/progmodes/cc-engine.el
lisp/progmodes/cc-fonts.el