From: Gerd Moellmann Date: Sat, 25 Sep 1999 19:57:48 +0000 (+0000) Subject: (face-differs-from-default-p): Compare face X-Git-Tag: emacs-pretest-21.0.90~6628 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6904df7a9cd09b849d52b94014e98e5242fdbe4f;p=emacs.git (face-differs-from-default-p): Compare face attributes individually. --- 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 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)