]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/facemenu.el (list-colors-duplicates): Detect more duplicates on Windows.
authorJuanma Barranquero <lekktu@gmail.com>
Tue, 18 Oct 2011 14:31:27 +0000 (16:31 +0200)
committerJuanma Barranquero <lekktu@gmail.com>
Tue, 18 Oct 2011 14:31:27 +0000 (16:31 +0200)
Fixes: debbugs:9722
lisp/ChangeLog
lisp/facemenu.el

index 615ba7711ec1a2ce18ecd3e6309ceb7c2b36ea4b..e058f387a93d9c9756b6458348c7d695116644fd 100644 (file)
@@ -1,3 +1,9 @@
+2011-10-18  Juanma Barranquero  <lekktu@gmail.com>
+
+       * facemenu.el (list-colors-duplicates): On Windows, detect more
+       duplicates by assuming that only colors matching "^System" are
+       special "system colors".  (Bug#9722)
+
 2011-10-18  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * vc/log-edit.el (log-edit): Add "Author:" header to encourage people
@@ -26,7 +32,7 @@
 
        * font-lock.el (font-lock-maximum-size): Mark as obsolete.
 
-2011-10-17  Ryan Barrett <emacs@ryanb.org>  (tiny change)
+2011-10-17  Ryan Barrett  <emacs@ryanb.org>  (tiny change)
 
        * dirtrack.el (dirtrack): Support shell buffers with path
        prefixes, e.g. tramp-based remote shells.  (Bug#9647)
 
        * net/newst-reader.el (newsticker-html-renderer)
        (newsticker-show-news): Automatically
-       load html rendering package if newsticker-html-renderer is
-       set. Fixes "Warning: defvar ignored because w3m-fill-column is
+       load html rendering package if newsticker-html-renderer is set.
+       Fixes "Warning: defvar ignored because w3m-fill-column is
        let-bound" and the error "Symbol's value as variable is void:
        w3m-fill-column".
 
index a18b892efe8be29e4a40aec7d9a6e16895a0aa8e..54b17d58f338da0cae241dc0081db1a164a8dc4a 100644 (file)
@@ -639,8 +639,15 @@ a list of colors that the current display can handle."
         (l list))
     (while (cdr l)
       (if (and (facemenu-color-equal (car (car l)) (car (car (cdr l))))
-              (not (if (fboundp 'w32-default-color-map)
-                       (not (assoc (car (car l)) (w32-default-color-map))))))
+               ;; On MS-Windows, there are logical colors that might have
+               ;; the same value but different names and meanings.  For
+               ;; example, `SystemMenuText' (the color w32 uses for the
+               ;; text in menu entries) and `SystemWindowText' (the default
+               ;; color w32 uses for the text in windows and dialogs) may
+               ;; be the same display color and be adjacent in the list.
+               ;; This makes them different to any other color.  Bug#9722
+              (not (and (eq system-type 'windows-nt)
+                        (string-match-p "^System" (car (car l))))))
          (progn
            (setcdr (car l) (cons (car (car (cdr l))) (cdr (car l))))
            (setcdr l (cdr (cdr l))))