# HG changeset patch # User Richard M. Stallman # Date 1054120653 0 # Node ID c2efaecb5d8ffb7e107901c373b887c848955fb6 # Parent 92f5fdc30889159796725be045b96166126e06c7 (set-face-attribute): Set face-modified prop to t when we change the new-frame defaults. (face-spec-set): Set face-modified prop to nil when we change the new-frame defaults. diff -r 92f5fdc30889 -r c2efaecb5d8f lisp/faces.el --- a/lisp/faces.el Wed May 28 11:16:22 2003 +0000 +++ b/lisp/faces.el Wed May 28 11:17:33 2003 +0000 @@ -664,6 +664,9 @@ like an underlying face would be, with higher priority than underlying faces." (let ((where (if (null frame) 0 frame))) (setq args (purecopy args)) + ;; If we set the new-frame defaults, this face is modified outside Custom. + (if (memq where '(0 t)) + (put face 'face-modified t)) (while args (internal-set-lisp-face-attribute face (car args) (purecopy (cadr args)) @@ -1378,7 +1381,11 @@ (setq attribute nil)))) (when attribute (set-face-attribute face frame attribute value))) - (setq attrs (cdr (cdr attrs)))))) + (setq attrs (cdr (cdr attrs))))) + ;; When we reset the face based on its spec, then it is unmodified + ;; as far as Custom is concerned. + (if (null frame) + (put face 'face-modified nil))) (defun face-attr-match-p (face attrs &optional frame)