aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Moellmann1999-09-25 19:57:48 +0000
committerGerd Moellmann1999-09-25 19:57:48 +0000
commit6904df7a9cd09b849d52b94014e98e5242fdbe4f (patch)
tree6791bf1ad808e22642d0cbaf67e7614f89de0be7
parentd279baa8e7367fdf23af2150b5ff27a70fcb5a8e (diff)
downloademacs-6904df7a9cd09b849d52b94014e98e5242fdbe4f.tar.gz
emacs-6904df7a9cd09b849d52b94014e98e5242fdbe4f.zip
(face-differs-from-default-p): Compare face
attributes individually.
-rw-r--r--lisp/faces.el15
1 files changed, 13 insertions, 2 deletions
diff --git a/lisp/faces.el b/lisp/faces.el
index c3acc061a6d..3edd33ae546 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -219,8 +219,19 @@ A face is considered to be ``the same'' as the default face if it is
219actually specified in the same way (equal attributes) or if it is 219actually specified in the same way (equal attributes) or if it is
220fully-unspecified, and thus inherits the attributes of any face it 220fully-unspecified, and thus inherits the attributes of any face it
221is displayed on top of." 221is displayed on top of."
222 (or (internal-lisp-face-empty-p face frame) 222 (cond ((eq frame t) (setq frame nil))
223 (not (internal-lisp-face-equal-p face 'default frame)))) 223 ((null frame) (setq frame (selected-frame))))
224 (let* ((v1 (internal-lisp-face-p face frame))
225 (n (if v1 (length v1) 0))
226 (v2 (internal-lisp-face-p 'default frame))
227 (i 1))
228 (unless v1
229 (error "Not a face: %S" face))
230 (while (and (< i n)
231 (or (eq 'unspecified (aref v1 i))
232 (equal (aref v1 i) (aref v2 i))))
233 (setq i (1+ i)))
234 (< i n)))
224 235
225 236
226(defun face-nontrivial-p (face &optional frame) 237(defun face-nontrivial-p (face &optional frame)