]> git.eshelyaron.com Git - emacs.git/commit
CC Mode: Optimize font-locking stanzas for long raw strings.
authorAlan Mackenzie <acm@muc.de>
Sat, 6 Aug 2022 21:11:18 +0000 (21:11 +0000)
committerAlan Mackenzie <acm@muc.de>
Sat, 6 Aug 2022 21:11:18 +0000 (21:11 +0000)
commite43fa98a71d228475877a4b8d44b96e10c507ffa
tree3f1af6b0cf45e270bf771075884c694c060d3583
parentb459e275c3824226c260ebe59641f87bb4d26403
CC Mode: Optimize font-locking stanzas for long raw strings.

Also replace some regexp searches which had caused regexp engine stack
overflows with simple end-of-line calls.

* lisp/progmodes/cc-fonts.el (c-make-syntactic-matcher)
(c-make-font-lock-search-form): Start the generated functions with a skipping
of comments and strings.
(c-make-font-lock-BO-decl-search-function): Start the generated function with
a (fast) movement to the start of any literal.

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings): Replace complicated regexp searches
for end of logical line with basic Lisp functions.
lisp/progmodes/cc-fonts.el
lisp/progmodes/cc-mode.el