aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorAlan Mackenzie2024-12-01 17:27:34 +0000
committerAlan Mackenzie2024-12-01 17:30:40 +0000
commitb5f1a9e6d3e565585352747733c73d45e6be3bda (patch)
tree44b8b6d41416bd42299f831b95b808fa85855c22 /java
parent2bcf0b3d099ba6f059a66bcdf522b277f98e9ea3 (diff)
downloademacs-b5f1a9e6d3e565585352747733c73d45e6be3bda.tar.gz
emacs-b5f1a9e6d3e565585352747733c73d45e6be3bda.zip
CC Mode: Optimize scanning of heavily nested brace blocks
This should have fixed bug#74357. * lisp/progmodes/cc-engine.el (c-laomib-cache): Change the size of this cache from 4 to 50. (c-laomib-get-cache, c-laomib-put-cache): Use assq, memq, and ntake or butlast, rather than looping through the cache with a cdr loop. No longer attempt to preserve the "largest" cache element. (c-looking-at-or-maybe-in-bracelist): Extend the range covered by a c-laomib-cache element, rather than adding a second element to the cache. (c-no-bracelist-cache): A new cache for the use of c-inside-bracelist-p, based on the c-parse-state cache. (c-inside-bracelist-p): Use the new cache to call c-looking-at-or-maybe-in-bracelist less often. * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize c-no-bracelist-cache. (c-before-change): Invalidate c-no-bracelist-cache.
Diffstat (limited to 'java')
0 files changed, 0 insertions, 0 deletions