Subject: Re: bug#38771: Allow face-attribute to be 'reset, (in addition the usual 'unspecified and valid-values)

From: Eli Zaretskii <[email-masked]>
Date: Mon, 23 May 2022 14:37:35 +0300

> Cc: [email-masked]
> From: Lars Ingebrigtsen <[email-masked]>
> Date: Mon, 23 May 2022 12:46:15 +0200
> 
> (defface foo '((t (:height 200 :bold t))) "")
> (defface child '((t :inherit foo :height unspecified)) "")
> 
> (progn
>   (pop-to-buffer "*foo*")
>   (erase-buffer)
>   (insert "none" (propertize "foo" 'face 'foo)
> 	  (propertize "child" 'face 'child)))
> ---
> 
> So we want to be able to say :height reset there and get a bold "child"
> string in the default height.

"reset" just means "use the value of the default face at face
realization time".  Nothing else will work, because you cannot "undo"
inherited attributes.  Thus, even if nil is valid, it won't do.