diff options
| author | Alan Mackenzie | 2022-10-04 16:19:33 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2022-10-04 16:19:33 +0000 |
| commit | 4bd8ad2bc5cce8024f1bdecdf6b553e3d43a2f4c (patch) | |
| tree | 72f55327a76efe4bc34b18d409acb71c6afc4347 | |
| parent | a36ecc408a30c76d287351b38956f998f84cb8a7 (diff) | |
| download | emacs-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.
| -rw-r--r-- | lisp/progmodes/cc-defs.el | 2 | ||||
| -rw-r--r-- | lisp/progmodes/cc-fonts.el | 8 |
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 | ||
| 126 | This variant works around bugs in `eval-when-compile' in various | 126 | This 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)) |