]> git.eshelyaron.com Git - emacs.git/commitdiff
(face-attr-match-p):
authorMiles Bader <miles@gnu.org>
Sun, 20 Aug 2000 12:02:24 +0000 (12:02 +0000)
committerMiles Bader <miles@gnu.org>
Sun, 20 Aug 2000 12:02:24 +0000 (12:02 +0000)
  Don't return true if ATTRS are merely a subset of FACE's attributes.

lisp/ChangeLog
lisp/faces.el

index 9410b899f996cbaf7ee599c07d051cec65c2c844..ba953c47e81ae1c0733c6165e4d879aef188f546 100644 (file)
@@ -1,3 +1,8 @@
+2000-08-20  Miles Bader  <miles@gnu.org>
+
+       * faces.el (face-attr-match-p): Don't return true if ATTRS are
+       merely a subset of FACE's attributes.
+
 2000-08-19  Miles Bader  <miles@gnu.org>
 
        * comint.el (comint-output-filter): Save the point with a marker,
index 48ec17c3b8581ab4fcc0aca27d24a2ac87a9832b..906ae16c780759e6cc063e15584522d2c7d12169 100644 (file)
@@ -1179,7 +1179,7 @@ do it on all frames.  See `defface' for information about SPEC."
 
 
 (defun face-attr-match-p (face attrs &optional frame)
-  "Value is non-nil if attributes of FACE match values in plist ATTRS.
+  "Return t if attributes of FACE match values in plist ATTRS.
 Optional parameter FRAME is the frame whose definition of FACE
 is used.  If nil or omitted, use the selected frame."
   (unless frame
@@ -1188,14 +1188,15 @@ is used.  If nil or omitted, use the selected frame."
        (match t))
     (while (and match (not (null list)))
       (let* ((attr (car (car list)))
-            (specified-value (plist-get attrs attr))
+            (specified-value
+             (if (plist-member attrs attr)
+                 (plist-get attrs attr)
+               'unspecified))
             (value-now (face-attribute face attr frame)))
-       (when specified-value
-         (setq match (equal specified-value value-now)))
+       (setq match (equal specified-value value-now))
        (setq list (cdr list))))
     match))
 
-
 (defun face-spec-match-p (face spec &optional frame)
   "Return t if FACE, on FRAME, matches what SPEC says it should look like."
   (face-attr-match-p face (face-spec-choose spec frame) frame))