Subject: Re: bug#12890: read-face-attribute, face-valid-attribute-values do not handle all :underline etc forms

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 10 May 2022 14:19:28 +0200

Glenn Morris <[email-masked]> writes:

> You can't use read-face-attribute to set list values for :box, :stipple,
> or :underline:
>
> emacs -Q --eval "(read-face-attribute 'underline :underline)"
> Start to enter: (:color "red")
> and get stopped with "no match" when you type the space.
> If you force it with C-q space, it takes your input and returns it, but
> silently does not actually set the :underline attribute to it.
>
> This is because face-valid-attribute-values does not return such values.
>
> This affects eg M-x set-face-underline.

I tried reproducing this in Emacs 29.  It does indeed still need `C-q'
to enter the space, but after doing that, it seems to actually do the
rest correctly.

I did:

M-x set-face-underline RET
default RET
(:colorC-q "red") RET

and the default face got a red underline.

The `C-q' should be fixed, but do you also see the same behaviour for
the rest?

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