diff options
-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. This variant works around bugs in `eval-when-compile' in various \(X)Emacs versions. See cc-defs.el for details." - (declare (indent 0) (debug t)) + (declare (indent 0) (debug (&rest def-form))) (if c-inside-eval-when-compile ;; XEmacs 21.4.6 has a bug in `eval-when-compile' in that it ;; 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." (widen) (goto-char (point-min)) (while (re-search-forward target-re nil t) - (put-text-property (match-beginning 0) (match-end 0) - 'fontified nil) + (when (and + (get-text-property (match-beginning 0) 'fontified) + (not (memq (c-get-char-property (match-beginning 0) 'face) + c-literal-faces))) + (c-put-font-lock-face (match-beginning 0) (match-end 0) + font-lock-type-face)) (dolist (win-boundary window-boundaries) (when (and (< (match-beginning 0) (cdr win-boundary)) (> (match-end 0) (car win-boundary)) |