Subject: bug#9722: list-colors-duplicates does not exclude enough colors on Windows

From: Juanma Barranquero <[email-masked]>
Date: Tue, 11 Oct 2011 13:24:04 +0200

On Tue, Oct 11, 2011 at 08:01, Eli Zaretskii <[email-masked]> wrote:

> However, there's something I'm missing here: why doesn't
> list-colors-duplicates recognize grayNN and greyNN as duplicates?
> We don't have them in the list that w32-default-color-map returns.

That's why. The System* colors aren't either. What the current code
does on Windows is, basically, to detect duplicates when this

  (and (facemenu-color-equal COLOR1 COLOR2)
       (assoc COLOR1 (w32-default-color-map)))

is true. I.e., COLOR1 is only checked if present in the default color
list (which, I'm sure you remember, is the one hardcoded in w32fns.c,
not the one from etc/rgb.txt).

> As for duplicates such as "Dark Slate Gray" and "Dark Slate Grey",
> which are not filtered out because they _are_ in
> w32-default-color-map

I'm not sure I understand. The dark*slate*gr?y colors are in the list,
and so they are detected as duplicates.

> would something break if we modify the list
> returned by that function to not include any duplicates in the first
> place?

I don't think any code would break, but you would need to add the
missing names at some other point, woudn't you?

    Juanma