[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: list-colors-display: filter same adjecent colors
From: |
Eli Zaretskii |
Subject: |
Re: list-colors-display: filter same adjecent colors |
Date: |
24 Feb 2004 08:43:54 +0200 |
> Date: Mon, 23 Feb 2004 19:43:58 -0800 (PST)
> From: Michael Mauger <address@hidden>
>
> This was another conversation from November.
>
> See http://mail.gnu.org/archive/html/emacs-devel/2003-11/msg00189.html
Thanks for following up.
> (defun facemenu-color-equal (a b)
> "Return t if colors A and B are the same color.
> -A and B should be strings naming colors.
> -This function queries the display system to find out what the color
> -names mean. It returns nil if the colors differ or if it can't
> -determine the correct answer."
> - (cond ((equal a b) t)
> - ((equal (color-values a) (color-values b)))))
> +A and B should be strings naming colors. These names are
> +downcased, stripped of spaces and the string `grey' is turned
> +into `gray'. This accomidates alternative spellings of colors
> +found commonly in the list. It returns nil if the colors differ."
> + (progn
> + (setq a (replace-regexp-in-string "grey" "gray"
> + (replace-regexp-in-string " " ""
> + (downcase a)))
> + b (replace-regexp-in-string "grey" "gray"
> + (replace-regexp-in-string " " ""
> + (downcase b))))
> +
> + (equal a b)))
Hmm, how about making this a new function, and leaving the original
facemenu-color-equal alone? None of the Lisp files bundled with
Emacs use facemenu-color-equal, but perhaps some add-on packages do,
as it sounds like useful functionality and is there since 1994.
Also, I think we should mention the MS-Windows case and the special
color names used there explicitly, at least in a comment to the
function's code, if not in the doc string. A year from now, no one
will remember why we modified the way colors are compared.