Subject: Re: bug#64759: Broken faces

From: Juri Linkov <[email-masked]>
Date: Fri, 21 Jul 2023 11:13:13 +0300

>> This change broke display of `display-time-date-and-time' on the tab-bar:
>>
>>   diff --git a/lisp/time.el b/lisp/time.el
>>   index 522bec46ac6..0184f96fcc2 100644
>>   --- a/lisp/time.el
>>   +++ b/lisp/time.el
>>   @@ -141,6 +141,7 @@ display-time-mail-face
>>    (defface display-time-date-and-time nil
>>      "Face for `display-time-format'."
>>   +  '((t (:inherit mode-line)))
>>      :group 'mode-line-faces
>>      :version "30.1")
>>
>> This face is used by `tab-bar-format-global' that has nothing to do
>> with the mode line, so inheriting from `mode-line' makes no sense.
>
> ??? It is AFAIU used whenever display-time-mode shows the time when
> display-time-day-and-date is non-nil.  Where this is shown doesn't
> matter, and by default this is shown on the mode line.  Thus "makes no
> sense" sounds somewhat harsh to me.

Sorry, I agree it makes sense when shown on the mode line.

> But feel free to change the face definition as you see fit.

It seems adding non-empty definitions in bug#64655
were intended to workaround a bug in cus-edit.el,
not to fix it.

Maybe Mauro could help to fix it (Cc'ed)
without requiring non-nil definitions
that anyway can not be fixed outside of
the Emacs source tree, i.e. in numerous
user init files and external packages.