Subject: bug#45428: 27.1; (quote (quote (quote ...))) unexpectedly works as anonymous face

From: Drew Adams <[email-masked]>
Date: Mon, 28 Dec 2020 10:54:58 -0800 (PST)

> > > Shouldn't that just mean that the bug remains open?
> > I'm not sure I agree that there is a bug.
> 
> Or maybe I should turn the table and ask: what bug do you see with
> this recipe, and what would you like to see instead?
> 
> To be specific, here's the recipe:
>   emacs -Q
>   M-x font-lock-mode RET
>   M-: (insert (propertize "hello" 'face (quote (quote '(:height 10.0))))) RET

Yes, I was using such a recipe to follow this bug.

I see the same thing that I see when I use this:

(insert (propertize "hello" 'face '(:height 10.0)))

That second sexp follows the description (doc) of
`propertize'.  The first sexp does not.

The bug, IMO, is that this is not "a sequence of
PROPERY VALUE pairs...", which is what the doc
says it should be:

 (quote (quote '(:height 10.0))) 

I wouldn't think of this as a doc bug because (1)
this behavior is so unusual, and (2) I see no
reason for it - no advantage in any way.

Wrt #1: nowhere else, AFAIK, do we accept
   (quote (quote (quote SEXP)))
or (quote (quote (quote (quote (quote SEXP)))))
or <add more `quote' ...> as a substitute for SEXP.

Those sexps are certainly are not equivalent for `eval'.

We don't do that anywhere else, and I don't see
why we should do it here (or anywhere)?  I asked
whether there's some special reason we should.

You've said, I think, that you too see no reason
why this is done, except the possible historical
one of it having just happened by "accident".

That's not a good reason for keeping this exceptional
(I'd say bugged) behavior, IMO.  That's all.