1646 |
|
|
1647 |
;;; Colour etc. support. |
;;; Colour etc. support. |
1648 |
|
|
1649 |
;; Originally face attributes were specified via `font-lock-face-attributes'. |
;; Note that `defface' will not overwrite any faces declared above via |
1650 |
;; Users then changed the default face attributes by setting that variable. |
;; `custom-declare-face'. |
|
;; However, we try and be back-compatible and respect its value if set except |
|
|
;; for faces where M-x customize has been used to save changes for the face. |
|
|
(when (boundp 'font-lock-face-attributes) |
|
|
(let ((face-attributes font-lock-face-attributes)) |
|
|
(while face-attributes |
|
|
(let* ((face-attribute (pop face-attributes)) |
|
|
(face (car face-attribute))) |
|
|
;; Rustle up a `defface' SPEC from a `font-lock-face-attributes' entry. |
|
|
(unless (get face 'saved-face) |
|
|
(let ((foreground (nth 1 face-attribute)) |
|
|
(background (nth 2 face-attribute)) |
|
|
(bold-p (nth 3 face-attribute)) |
|
|
(italic-p (nth 4 face-attribute)) |
|
|
(underline-p (nth 5 face-attribute)) |
|
|
face-spec) |
|
|
(when foreground |
|
|
(setq face-spec (cons ':foreground (cons foreground face-spec)))) |
|
|
(when background |
|
|
(setq face-spec (cons ':background (cons background face-spec)))) |
|
|
(when bold-p |
|
|
(setq face-spec (append '(:weight bold) face-spec))) |
|
|
(when italic-p |
|
|
(setq face-spec (append '(:slant italic) face-spec))) |
|
|
(when underline-p |
|
|
(setq face-spec (append '(:underline t) face-spec))) |
|
|
(custom-declare-face face (list (list t face-spec)) nil))))))) |
|
|
|
|
|
;; But now we do it the custom way. Note that `defface' will not overwrite any |
|
|
;; faces declared above via `custom-declare-face'. |
|
1651 |
(defface font-lock-comment-face |
(defface font-lock-comment-face |
1652 |
'((((class grayscale) (background light)) |
'((((class grayscale) (background light)) |
1653 |
(:foreground "DimGray" :weight bold :slant italic)) |
(:foreground "DimGray" :weight bold :slant italic)) |