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

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 09 Jun 2022 16:08:40 +0200

Lars Ingebrigtsen <[email-masked]> writes:

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

Actually, I have no idea how to fix the `C-q' here.  We do want
completion because we want to complete over colour names, and (by
default) `SPC' does completion.

It might be nice to have the `SPC' in minibuffer-local-completion-map to
be more DWIM -- don't try to complete if it's "obvious" that the user
doesn't want completion.  Myself, I've disabled completion on `SPC'
because it's really annoying, but perhaps there is something we could do
here?  I.e., if there are no completions, then just insert a `SPC' and
make that the new default binding for `SPC' here?  

Because I think that would make usability here a lot better.  (It could
say "No completions; inserting space".)

Opinions?

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