]> git.eshelyaron.com Git - emacs.git/commitdiff
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-372
authorMiles Bader <miles@gnu.org>
Fri, 4 Jun 2004 10:12:53 +0000 (10:12 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 4 Jun 2004 10:12:53 +0000 (10:12 +0000)
Simplify face-differs-from-default-p; don't consider :stipple.

lisp/ChangeLog
lisp/faces.el

index 43d4ce727d1576edd718bad1446c8bb1425d1e87..4db9aaad655b84895997a337bbd51caf62862c66 100644 (file)
        was done in C; however the previous attempt to do a halfway-proper
        job for non-tty displays in lisp didn't work properly because of
        funny conditions during emacs startup.
+       (face-differs-from-default-p): Simplify, now that
+       display-supports-face-attributes-p works properly on all display
+       types.  Remove :stipple from comparison; it doesn't really work
+       in emacs anyway.
 
 2004-06-04  Miles Bader  <miles@gnu.org>
 
index 419ff42c894f98b71c90adae45ff0cad8fb0e899..06cf16e79c267644b404f9a00f4471d51e920891 100644 (file)
@@ -244,39 +244,20 @@ If FRAME is omitted or nil, use the selected frame."
 If the optional argument FRAME is given, report on face FACE in that frame.
 If FRAME is t, report on the defaults for face FACE (for new frames).
 If FRAME is omitted or nil, use the selected frame."
-  (if (not (equal (face-font face frame) (face-font 'default frame)))
-      ;; The font is different from the default face's font, so clearly it
-      ;; differs.  This only really works on window-systems; on ttys, the
-      ;; "font" is a constant, with attributes layered on top of it.
-      :font
-    ;; General face attribute check.  On graphical displays
-    ;; `display-supports-face-attributes-p' just checks whether each
-    ;; attribute is different that the default face, so we just check to
-    ;; make sure each attribute of the merged face is not `unspecified';
-    ;; we already checked the font above, so font-related attributes are
-    ;; omitted for that reason.  On a tty,
-    ;; display-supports-face-attributes-p actually does do further
-    ;; checks, and correctly deals with the display's capabilities, so
-    ;; we use it to check all attributes.
-    (let ((attrs
-          (if (memq (framep (or frame (selected-frame))) '(x w32 mac))
-              ;; Omit font-related attributes on a window-system
-              '(:foreground :foreground :background :underline :overline
-                :strike-through :box :inverse-video :stipple)
-            ;; On a tty, check all attributes
-            '(:family :width :height :weight :slant :foreground
-              :foreground :background :underline :overline
-              :strike-through :box :inverse-video :stipple)))
-         (differs nil))
-      (while (and attrs (not differs))
-       (let* ((attr (pop attrs))
-              (attr-val (face-attribute face attr frame t)))
-         (when (and
-                (not (eq attr-val 'unspecified))
-                (display-supports-face-attributes-p (list attr attr-val)
-                                                    frame))
-           (setq differs attr))))
-      differs)))
+  (let ((attrs
+        '(:family :width :height :weight :slant :foreground
+          :foreground :background :underline :overline
+          :strike-through :box :inverse-video))
+       (differs nil))
+    (while (and attrs (not differs))
+      (let* ((attr (pop attrs))
+            (attr-val (face-attribute face attr frame t)))
+       (when (and
+              (not (eq attr-val 'unspecified))
+              (display-supports-face-attributes-p (list attr attr-val)
+                                                  frame))
+         (setq differs attr))))
+    differs))
 
 
 (defun face-nontrivial-p (face &optional frame)