* 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.
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
(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))