664 |
like an underlying face would be, with higher priority than underlying faces." |
like an underlying face would be, with higher priority than underlying faces." |
665 |
(let ((where (if (null frame) 0 frame))) |
(let ((where (if (null frame) 0 frame))) |
666 |
(setq args (purecopy args)) |
(setq args (purecopy args)) |
667 |
|
;; If we set the new-frame defaults, this face is modified outside Custom. |
668 |
|
(if (memq where '(0 t)) |
669 |
|
(put face 'face-modified t)) |
670 |
(while args |
(while args |
671 |
(internal-set-lisp-face-attribute face (car args) |
(internal-set-lisp-face-attribute face (car args) |
672 |
(purecopy (cadr args)) |
(purecopy (cadr args)) |
1381 |
(setq attribute nil)))) |
(setq attribute nil)))) |
1382 |
(when attribute |
(when attribute |
1383 |
(set-face-attribute face frame attribute value))) |
(set-face-attribute face frame attribute value))) |
1384 |
(setq attrs (cdr (cdr attrs)))))) |
(setq attrs (cdr (cdr attrs))))) |
1385 |
|
;; When we reset the face based on its spec, then it is unmodified |
1386 |
|
;; as far as Custom is concerned. |
1387 |
|
(if (null frame) |
1388 |
|
(put face 'face-modified nil))) |
1389 |
|
|
1390 |
|
|
1391 |
(defun face-attr-match-p (face attrs &optional frame) |
(defun face-attr-match-p (face attrs &optional frame) |