Subject: bug#35005: 27.0.50; Fontification unexpectedly works with anonymous faces

From: Lars Ingebrigtsen <[email-masked]>
Date: Thu, 31 Oct 2019 18:24:38 +0100

Eli Zaretskii <[email-masked]> writes:

>> The Elisp info material states in "39.12 Faces": 
>> 
>>       Many parts of Emacs require named faces, and do not accept
>>    anonymous faces. These include the functions documented in Attribute
>>    Functions, and the variable ‘font-lock-keywords’ (see Search-based
>>    Fontification). Unless otherwise stated, we will use the term “face”
>>    to refer only to named faces.
>> 
>> However, when I start Emacs with "emacs -Q", and then evaluate in
>> the *scratch* buffer the form:
>> 
>>     (progn
>>       (font-lock-add-keywords nil '(("hello" 0 '(:background "green")) t))
>>       (insert "hello"))
>> 
>> then I see that "hello" is inserted and highlighted in green, apparently
>> due to search-based fontification where an anonymous face is specified!
>> 
>> I am currently working on an application where this functionality (i.e.,
>> anonymous faces that can be specified for fontification) would be
>> extremely useful. Could you please consider supporting this feature,
>> and - if this already works as intended - officially document it?
>
> I suggest to ask on emacs-devel whether the documentation is correct
> or not.  It's possible that there are some subtle use cases where
> anonymous faces won't work in this situation.  The real experts on
> this matter don't read the bug list.

I'm not sure whether this was ever brought up on emacs-devel?  I
wondered about that restriction myself -- I could see why it might be an
issue (some parts of the font locking machinery checking for whether an
element is a list and interpreting is as something other than a face),
but it would be nice if this worked with anonymous faces.

Does anybody know what the manual is referring to here, or whether it's
an outdated restriction that has gone away?

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