Subject: Re: bug#77928: 31.0.50; ebcde0f90f6 (bug#77928) breaks :custom-face for themed faces

From: Eli Zaretskii <[email-masked]>
Date: Sat, 24 May 2025 12:30:17 +0300

> From: Michael Shields <[email-masked]>
> Date: Mon, 19 May 2025 22:51:29 -0700
> Cc: [email-masked], [email-masked]
> 
> I think I understand the issue, but not its solution. There are more or less three standard ways to change
> faces now: Customize, themes, and use-package :custom-face. But there is no clear way to resolve the
> ordering between them, or whether they replace or inherit at each level. The behavior I was surprised by,
> and that has been reported previously, is that there was no way to specify a replacement for face settings.
> But Steven is surprised by the fact that things now happen at a level below theme application, and the theme
> replaces instead of inherits the defface spec.

John, could you perhaps help us out here?  Bug#77928 was about
:custom-face, which is a use-package feature.  I don't really
understand how this feature is supposed to work, given that
use-package produces macros whose effect happens when a package is
loaded, and given that other methods of face definition are available.

It seems like the original patch installed in this bug fixed one
(mis)behavior but introduced another.  The documentation of
:custom-face in the use-package manual is completely silent regarding
its interaction with themes and defface's.  Could you perhaps explain
the intent of this feature, and what should users expect in the two
use cases described in this bug?

Thanks.