emacs-devel
[Top][All Lists]
Advanced

[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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]