GNU bug report logs - #6767
24.0.50; face-all-attributes returns unspecified for everything

Previous Next

Package: emacs;

Reported by: Jan Djärv <jan.h.d <at> swipnet.se>

Date: Sat, 31 Jul 2010 09:37:02 UTC

Severity: normal

Found in version 24.0.50

Done: Jan Djärv <jan.h.d <at> swipnet.se>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 6767 in the body.
You can then email your comments to 6767 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6767; Package emacs. (Sat, 31 Jul 2010 09:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jan Djärv <jan.h.d <at> swipnet.se>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 31 Jul 2010 09:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: bug-gnu-emacs <at> gnu.org
Subject: 24.0.50; face-all-attributes returns unspecified for everything
Date: Sat, 31 Jul 2010 11:36:52 +0200
This bug report will be sent to the Free Software Foundation,
not to your local site managers!
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the bug-gnu-emacs <at> gnu.org mailing list,
and to the gnu.emacs.bug news group.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug.  If you can, give
a recipe starting from `emacs -Q':

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.

Did I misunderstand how face-all-attributes work?

    Jan D.


If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
For information about debugging Emacs, please read the file
/Users/jhd/bin/Emacs.app/Contents/Resources/etc/DEBUG.


In GNU Emacs 24.0.50.2 (x86_64-apple-darwin10.4.0, NS apple-appkit-1038.32)
 of 2010-07-20 on zeplin
Windowing system distributor `Apple', version 10.3.1038
configured using `configure  '--verbose' '--enable-asserts' '--with-ns' 
'--without-x' 'CFLAGS=-g''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: sv_SE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down-mouse-1> <mouse-1> ( f a c e - a t t r i b u
t e SPC ' i t a l i c SPC : s l a n t ) C-j ( f a c
e - i t a l i c - p SPC ' i t a l i c ) C-j ( a s s
q SPC : s l a n t SPC ( f a c e - a l l - a t t r i
b u t e s SPC ' i t a l i c ) ) C-j ( f a c e - a l
l - a t t r i b u t e s SPC ' i t a l i c ) C-j <escape>
x r e p o r t - e m <tab> <return>

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mailabbrev mail-utils gmm-utils mailheader emacsbug
tooltip ediff-hook vc-hooks lisp-float-type mwheel ns-win easymenu
tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mldrag mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process ns multi-tty emacs)




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6767; Package emacs. (Sat, 31 Jul 2010 11:12:02 GMT) Full text and rfc822 format available.

Message #8 received at 6767 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Jan Djärv <jan.h.d <at> swipnet.se>
Cc: 6767 <at> debbugs.gnu.org
Subject: Re: bug#6767: 24.0.50;
	face-all-attributes returns unspecified for everything
Date: Sat, 31 Jul 2010 14:11:27 +0300
> Date: Sat, 31 Jul 2010 11:36:52 +0200
> From: Jan Djärv <jan.h.d <at> swipnet.se>
> 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?





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#6767; Package emacs. (Sat, 31 Jul 2010 13:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 6767 <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 6767 <at> debbugs.gnu.org
Subject: Re: bug#6767: 24.0.50;	face-all-attributes returns unspecified for
	everything
Date: Sat, 31 Jul 2010 15:22:03 +0200

Eli Zaretskii skrev 2010-07-31 13.11:
>> Date: Sat, 31 Jul 2010 11:36:52 +0200
>> From: Jan Djärv<jan.h.d <at> swipnet.se>
>> 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?

Just trying to get all attributes for a possible conversion to pango markup. 
I intend to use it for tooltips so Emacs can use the system tooltips instead 
of its own.  In principle it is possible to put properties on the tool tip 
string so I'm trying to handle that.  Maybe this is overkill, most toolstips 
in Emacs are straight strings, but I've seen bold and italic.  I can ask for 
specific attributes instead of using face-all-attributes.

An improvement for the documentation would be to refer to face-attribute and 
say that if frame is nil or omitted, face-attribute is called with frame 
argument t.

	Jan D.





Reply sent to Jan Djärv <jan.h.d <at> swipnet.se>:
You have taken responsibility. (Sat, 31 Jul 2010 17:24:03 GMT) Full text and rfc822 format available.

Notification sent to Jan Djärv <jan.h.d <at> swipnet.se>:
bug acknowledged by developer. (Sat, 31 Jul 2010 17:24:03 GMT) Full text and rfc822 format available.

Message #16 received at 6767-done <at> debbugs.gnu.org (full text, mbox):

From: Jan Djärv <jan.h.d <at> swipnet.se>
Cc: 6767-done <at> debbugs.gnu.org
Subject: Re: bug#6767: 24.0.50;	face-all-attributes returns unspecified for
	everything
Date: Sat, 31 Jul 2010 19:23:28 +0200
I made the function documentation more like the texinfo documentation.

	Jan D.





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 29 Aug 2010 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 15 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.