Subject: bug#64759: Broken faces

From: Mauro Aranda <[email-masked]>
Date: Fri, 21 Jul 2023 07:48:30 -0300

Juri Linkov <[email-masked]> writes:

 > 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.

I don't think it is a bug in Custom.  Custom will allow the user to edit
the face and set/save or whatever, even if it's definition is
(defface foo nil "...")

But it seems to me that it's better to define it like this:
(defface foo '((t nil)) "...")
so that the face gets a face-defface-spec property.

So maybe the definition for display-time-date-and-time should be changed
to:
(defface display-time-date-and-time
   '((t nil))
   "Face for `display-time-format'."
   :group 'mode-line-faces
   :version "30.1")

instead that making it inherit from mode-line?