]> git.eshelyaron.com Git - emacs.git/commitdiff
* mh-customize.el (mh-folder-msg-number): Snow is actually off-white
authorBill Wohler <wohler@newt.com>
Tue, 3 Jan 2006 18:25:26 +0000 (18:25 +0000)
committerBill Wohler <wohler@newt.com>
Tue, 3 Jan 2006 18:25:26 +0000 (18:25 +0000)
on low color displays which turns to white when bold. This is
unreadable on white backgrounds. Use snow with min-colors requirement.
Use cyan on low-color displays.

* mh-init.el (mh-defface-compat): On low-color displays, delete the
high-color display rather than simply strip the min-colors requirement
since the existing algorithm shadowed the desired display on low-color
displays.

lisp/mh-e/ChangeLog
lisp/mh-e/mh-customize.el
lisp/mh-e/mh-init.el

index e021e74f261e4aabee62dbceb11615807eba9ab8..4116fb4223c87bcfab63157b35db7e486ad431a7 100644 (file)
@@ -1,5 +1,15 @@
 2006-01-03  Bill Wohler  <wohler@newt.com>
 
+       * mh-customize.el (mh-folder-msg-number): Snow is actually
+       off-white on low color displays which turns to white when bold.
+       This is unreadable on white backgrounds. Use snow with min-colors
+       requirement. Use cyan on low-color displays.
+
+       * mh-init.el (mh-defface-compat): On low-color displays, delete
+       the high-color display rather than simply strip the min-colors
+       requirement since the existing algorithm shadowed the desired
+       display on low-color displays.
+
        * mh-alias.el (mh-alias-add-alias): Remove leading * from
        docstring.
 
index a2b667769bfde2a7cea19caebcf2270e7e5e9d05..f4cde0b186f639f2cb0941f62f85c771435a147e 100644 (file)
@@ -2536,10 +2536,14 @@ sequence."
   :group 'mh-folder)
 
 (defface mh-folder-msg-number
-  '((((class color) (background light))
-     (:foreground "snow4"))
-    (((class color) (background dark))
-     (:foreground "snow3")))
+  (mh-defface-compat
+   '((((class color) (min-colors 88) (background light))
+      (:foreground "snow4"))
+     (((class color) (min-colors 88) (background dark))
+      (:foreground "snow3"))
+     (((class color))
+      (:foreground "cyan"))))
+    
   "Message number face."
   :group 'mh-faces
   :group 'mh-folder)
@@ -2876,7 +2880,9 @@ The background and foreground are used in the image."
     '((((class color) (background light))
        (:foreground "snow4"))
       (((class color) (background dark))
-       (:foreground "snow3")))))
+       (:foreground "snow3"))
+      (((class color))
+       (:foreground "cyan")))))
 
 
 ;; Local Variables:
index ba78c2694397e8fcd5271b9343d9332596afe6e7..0e19da4fa7d70f0a2182c465fcc8a66f722fd11a 100644 (file)
@@ -336,23 +336,28 @@ there. Otherwise, the images directory is added to the
   "Convert SPEC for defface if necessary to run on older platforms.
 Modifies SPEC in place and returns it. See `defface' for the spec definition.
 
-When `mh-min-colors-defined-flag' is nil, this function finds a
-display with a single \"class\" requirement with a \"color\"
-item, renames the requirement to \"tty\" and moves it to the
-beginning of the list. It then strips any \"min-colors\"
-requirements."
-  (when (not mh-min-colors-defined-flag)
-    ;; Insert ((class tty)) display with ((class color)) attributes.
-    (let ((attributes (cdr (assoc '((class color)) spec))))
-      (cons (cons '((class tty)) attributes) spec))
-    ;; Delete ((class color)) display.
-    (delq (assoc '((class color)) spec) spec)
-    ;; Strip min-colors.
-    (loop for entry in spec do
-          (when (not (eq (car entry) t))
-            (if (assoc 'min-colors (car entry))
-                (delq (assoc 'min-colors (car entry)) (car entry))))))
-  spec)
+When `mh-min-colors-defined-flag' is nil, this function finds
+display entries with \"min-colors\" requirements and either
+removes the \"min-colors\" requirement or strips the display
+entirely if the display does not support the number of specified
+colors."
+  (if mh-min-colors-defined-flag
+      spec
+    (let ((cells (display-color-cells))
+          new-spec)
+      ;; Remove entries with min-colors, or delete them if we have fewer colors
+      ;; than they specify.
+      (loop for entry in (reverse spec) do
+            (let ((requirement (if (eq (car entry) t)
+                                   nil
+                                 (assoc 'min-colors (car entry)))))
+              (if requirement
+                  (when (>= cells (nth 1 requirement))
+                    (setq new-spec (cons (cons (delq requirement (car entry))
+                                               (cdr entry))
+                                         new-spec)))
+                (setq new-spec (cons entry new-spec)))))
+      new-spec)))
 
 (provide 'mh-init)