aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorAlan Mackenzie2022-10-04 16:19:33 +0000
committerAlan Mackenzie2022-10-04 16:19:33 +0000
commit4bd8ad2bc5cce8024f1bdecdf6b553e3d43a2f4c (patch)
tree72f55327a76efe4bc34b18d409acb71c6afc4347 /lisp
parenta36ecc408a30c76d287351b38956f998f84cb8a7 (diff)
downloademacs-4bd8ad2bc5cce8024f1bdecdf6b553e3d43a2f4c.tar.gz
emacs-4bd8ad2bc5cce8024f1bdecdf6b553e3d43a2f4c.zip
CC Mode: Optimize c-fontify-new-found-type and amend a debug spec
* lisp/progmodes/cc-fonts.el (c-fontify-new-found-type): Write the `face' property directly, rather than removing `fontified' properties and letting font-lock do the work. * lisp/progmodes/cc-defs.el (cc-eval-when-compile): Amend the debug spec from t to (&rest body), in line with the fix to bug #16184.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/progmodes/cc-defs.el2
-rw-r--r--lisp/progmodes/cc-fonts.el8
2 files changed, 7 insertions, 3 deletions
diff --git a/lisp/progmodes/cc-defs.el b/lisp/progmodes/cc-defs.el
index 77aa3e62bb1..4f1a08cfa06 100644
--- a/lisp/progmodes/cc-defs.el
+++ b/lisp/progmodes/cc-defs.el
@@ -125,7 +125,7 @@ The result of the body appears to the compiler as a quoted constant.
125 125
126This variant works around bugs in `eval-when-compile' in various 126This variant works around bugs in `eval-when-compile' in various
127\(X)Emacs versions. See cc-defs.el for details." 127\(X)Emacs versions. See cc-defs.el for details."
128 (declare (indent 0) (debug t)) 128 (declare (indent 0) (debug (&rest def-form)))
129 (if c-inside-eval-when-compile 129 (if c-inside-eval-when-compile
130 ;; XEmacs 21.4.6 has a bug in `eval-when-compile' in that it 130 ;; XEmacs 21.4.6 has a bug in `eval-when-compile' in that it
131 ;; evaluates its body at macro expansion time if it's nested 131 ;; evaluates its body at macro expansion time if it's nested
diff --git a/lisp/progmodes/cc-fonts.el b/lisp/progmodes/cc-fonts.el
index 8f930c54377..2e71285cb36 100644
--- a/lisp/progmodes/cc-fonts.el
+++ b/lisp/progmodes/cc-fonts.el
@@ -2479,8 +2479,12 @@ higher."
2479 (widen) 2479 (widen)
2480 (goto-char (point-min)) 2480 (goto-char (point-min))
2481 (while (re-search-forward target-re nil t) 2481 (while (re-search-forward target-re nil t)
2482 (put-text-property (match-beginning 0) (match-end 0) 2482 (when (and
2483 'fontified nil) 2483 (get-text-property (match-beginning 0) 'fontified)
2484 (not (memq (c-get-char-property (match-beginning 0) 'face)
2485 c-literal-faces)))
2486 (c-put-font-lock-face (match-beginning 0) (match-end 0)
2487 font-lock-type-face))
2484 (dolist (win-boundary window-boundaries) 2488 (dolist (win-boundary window-boundaries)
2485 (when (and (< (match-beginning 0) (cdr win-boundary)) 2489 (when (and (< (match-beginning 0) (cdr win-boundary))
2486 (> (match-end 0) (car win-boundary)) 2490 (> (match-end 0) (car win-boundary))