summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/debug.el
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2024-10-15 21:08:41 +0000
committerAlan Mackenzie <acm@muc.de>2024-10-15 21:14:34 +0000
commitfdac10b216f7b47e2eea129d2a96807a0c2055f3 (patch)
tree844390fadf05edbbc9ce2e39d19c73e941924b29 /lisp/emacs-lisp/debug.el
parent1686d48417315f809403aeb29559788ef4b755a6 (diff)
downloademacs-fdac10b216f7b47e2eea129d2a96807a0c2055f3.tar.gz
emacs-fdac10b216f7b47e2eea129d2a96807a0c2055f3.tar.bz2
emacs-fdac10b216f7b47e2eea129d2a96807a0c2055f3.zip
CC Mode: Rationalize and optimize cache invalidation (2).
Replace separate syntax-table text property changes and cache invalidation with macros which do both together. Correct a bug in the invocation of XEmacs's map-extents. * lisp/progmodes/cc-defs.el (c-put-syntax-table-trim-caches) (c-clear-syntax-table-trim-caches) (c-clear-syntax-table-properties-trim-caches) (c-clear-syntax-table-with-value-trim-caches) (c-clear-syntax-table-with-value-on-char-trim-caches) (c-put-syntax-table-properties-on-char-trim-caches): New macros. (c-clear-char-properties, c-clear-char-property-with-value) (c-clear-char-property-with-value-on-char): Correct the invocation of XEmacs's map-extents by returning nil from the mapping function to prevent premature exit from map-extents. (c-clear-char-property-with-value-function) (c-clear-char-property-with-value) (c-clear-char-property-with-value-on-char-function) (c-clear-char-property-with-value-on-char) (c-put-char-properties-on-char): Enhance to return the position of the first changed char property (or nil). * lisp/progmodes/cc-awk.el (c-awk-set-string-regexp-syntax-table-properties) (c-awk-set-syntax-table-properties) * lisp/progmodes/cc-engine.el (c-depropertize-ml-string-delims) (c-after-change-unmark-ml-strings, c-propertize-ml-string-id) (c-propertize-ml-string-opener, c-depropertize-ml-string) (c-depropertize-ml-strings-in-region) * lisp/progmodes/cc-mode.el (c-depropertize-CPP) (c-neutralize-CPP-line, c-put-syn-tab, c-clear-syn-tab) (c-parse-quotes-before-change, c-parse-quotes-after-change) (c-before-change-fix-comment-escapes) (c-after-change-fix-comment-escapes): Use the new macros from cc-defs.el. * lisp/progmodes/cc-mode.el (c-trim-cache-first-punctuation-prop): Remove. (c-depropertize-CPP): Remove calls to the above function.
Diffstat (limited to 'lisp/emacs-lisp/debug.el')
0 files changed, 0 insertions, 0 deletions