Subject: RE: bug#6117: 24.0.50; dired-marked-face same as dired-flagged-face

From: "Drew Adams" <[email-masked]>
Date: Wed, 10 Aug 2011 06:45:46 -0700

> >> Does anybody have a suggestion taken from the `font-lock-*' corpus?
> >
> > I picket a font-lock face at random.
> 
> This is a dangerous change.  It increases the likelihood of 
> deleting the wrong files, because its default color is not
> distinctive and visible enough to help preventing the wrong
> operation.

Yes.  Misguided.

> Moreover, depending on `font-lock-variable-name-face' with the hope
> that users never customize `font-lock-*' faces is a wrong assumption.
> After selecting a new color for variable names, the user later
> will discover an unpleasant effect that it have on other
> completely unrelated faces.

Yes.  Misguided.

> For instance, I customized `font-lock-variable-name-face' to "Blue1",
> and now I have the same colors for Dired directories and files flagged
> for deletion!

It is simply a bad idea to inherit from a font-lock face here.

And even in general, but that's another story.  But you came close to it above,
where you noted that "the user later will discover an unpleasant effect that it
have on other completely unrelated faces".

That "unpleasant effect" has nothing in particular to do with the case at hand,
but is a general problem with inheriting faces willy nilly.  But for the case at
hand, at least, it should be clear to all that this is a bad idea.

> If it's absolutely necessary to distinguish between marked and flagged
> files, then they should use colors closer to traditional, e.g.:
> 
> * for `dired-flagged' leave the old red face unchanged,
>   just like `compilation-error';
>
> * for `dired-marked' use the same face definition as for
>   `compilation-warning'.  Its orange color is very close
>    to `dired-flagged' but still distinctive.

That would be OK.  Same colors, but not via inheritance (else you get the same
problem you indicated above).

What's important is that:
a. Both faces be easily noticeable.
b. They be easily distinguished from each other.
c. The deletion flag be most noticeable.
   A "warning" color such as red is good for this,
   as it signals potential danger. 

FWIW, I use these:
Skyblue background for marked.
Red foreground for flagged.
Yellow-on-red for the `D' itself.
Yellow-on-blueviolet for the `*' itself.