summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.
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))