Subject: bug#57652: 29.0.50; Warning setting attribute of face ‘term’

From: Eli Zaretskii <[email-masked]>
Date: Thu, 08 Sep 2022 11:42:38 +0300

> Cc: [email-masked], [email-masked]
> Date: Thu, 8 Sep 2022 10:22:31 +0200
> From: David Ponce <[email-masked]>
> 
>     "Apart from the values given below, each face attribute can have the
> value ‘unspecified’.  This special value means that the face doesn’t
> specify that attribute directly.  An ‘unspecified’ attribute tells Emacs
> to refer instead to a parent face (see the description ‘:inherit’
> attribute below); or, failing that, to an underlying face (*note
> Displaying Faces::).  (However, ‘unspecified’ is not a valid value in
> ‘defface’.)"
> 
> So it seems that unspecified is not allowed in defface.

Where does it say that unspecified is not allowed?  (And this doc
string is from set-face-attribute, not from defface.)

> So, how to specify a missing attribute excepted by using nil in the
> defface used in term.el?

If you don't have anything to say about an attribute, just don't
mention it in defface.  That's what unspecified means, as the doc
string says.  So I'm unsure why you would need "to specify a missing
attribute".