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

From: Lars Ingebrigtsen <[email-masked]>
Date: Mon, 23 May 2022 12:46:15 +0200

Dave Goel <[email-masked]> writes:

> Could we allow a 'reset? Where the effect of 'reset is to stop all
> chasing, and immediately render the final value as 'unspecified (so
> that emacs looks up the final value from 'default during rendering)

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Makes sense to me.  I had a brief peek at xfaces.c, and decided not to
take a stab at implementing this at this time, but if somebody else is
interested, here's the test case:

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

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no