changeset 25814:34c27e95b254

(face-differs-from-default-p): Compare face attributes individually.
author Gerd Moellmann <gerd@gnu.org>
date Sat, 25 Sep 1999 19:57:48 +0000
parents bb0def506686
children 768a5bb054df
files lisp/faces.el
diffstat 1 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/faces.el	Sat Sep 25 12:35:20 1999 +0000
+++ b/lisp/faces.el	Sat Sep 25 19:57:48 1999 +0000
@@ -219,8 +219,19 @@
 actually specified in the same way (equal attributes) or if it is
 fully-unspecified, and thus inherits the attributes of any face it
 is displayed on top of."
-  (or (internal-lisp-face-empty-p face frame)
-      (not (internal-lisp-face-equal-p face 'default frame))))
+  (cond ((eq frame t) (setq frame nil))
+	((null frame) (setq frame (selected-frame))))
+  (let* ((v1 (internal-lisp-face-p face frame))
+	 (n (if v1 (length v1) 0))
+	 (v2 (internal-lisp-face-p 'default frame))
+	 (i 1))
+    (unless v1
+      (error "Not a face: %S" face))
+    (while (and (< i n)
+		(or (eq 'unspecified (aref v1 i))
+		    (equal (aref v1 i) (aref v2 i))))
+      (setq i (1+ i)))
+    (< i n)))
 
 
 (defun face-nontrivial-p (face &optional frame)