Subject: bug#62370: 28.1; sieve-mode: faces should inherit from font-lock-X-face faces

From: Jim Porter <[email-masked]>
Date: Wed, 22 Mar 2023 14:22:45 -0700

On 3/22/2023 1:10 PM, Gregory Heytings wrote:
> But the sieve-* faces have existed for twenty years, so it's now too 
> late to change them.

I think it might actually be ok to change this: the face attributes for 
each of the 'sieve-*' faces closely correspond to one of the 
'font-lock-*-face' faces. They're not *identical*, but the differences 
are very slight.

The mapping is:

   sieve-control-commands -> font-lock-builtin-face
   sieve-action-commands  -> font-lock-function-name-face
   sieve-test-commands    -> font-lock-constant-face
   sieve-tagged-arguments -> font-lock-keyword-face

(Note that this is a different mapping from Trent's proposal.)

If we mapped the 'sieve-*' faces like that, I doubt anyone using the 
default theme would notice. Likewise, anyone using a theme that 
customizes the 'sieve-*' faces wouldn't notice, since they're already 
explicitly-themed.

The only users who would see an impact would be those using non-default 
themes that *didn't* have definitions for 'sieve-*' faces, and they'll 
arguably have improved visuals: with the change, 'sieve-mode' will look 
consistently-themed with the rest of Emacs.

Since there's such a close correspondence to the font-lock faces, I'd 
(weakly) advocate for inheriting from them.