Subject: Re: bug#6767: 24.0.50; face-all-attributes returns unspecified for everything

From: Eli Zaretskii <[email-masked]>
Date: Sat, 31 Jul 2010 14:11:27 +0300

> Date: Sat, 31 Jul 2010 11:36:52 +0200
> From: Jan Djärv <[email-masked]>
> Cc: 
> 
> In *scratch*:
> (face-attribute 'italic :slant)
> italic ;; Good.
> 
> (face-italic-p 'italic)
> (italic oblique) ;; Fine.
> 
> (assq :slant (face-all-attributes 'italic))
> (:slant . unspecified) ;; Say what??
> 
> In fact face-all-attributes gives me unspecified for all attributes in
> the faces I tried (about 5), including the default face.

This happens because face-new-frame-defaults has `unspecified' for all
the attributes of `italic' face (and all other faces as well).  Try

  (face-all-attributes 'italic (selected-frame))

and you will get what you expect.

> Did I misunderstand how face-all-attributes work?

I don't know, but it sounds like the doc string is at least misleading
in this regard.  OTOH, this function is not used anywhere in Emacs, so
it could be buggy.

What is your use-case, exactly?