GNU bug report logs -
#1852
23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique)
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1852 in the body.
You can then email your comments to 1852 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1852
; Package
emacs
.
(Sat, 10 Jan 2009 21:30:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stephen Berman <stephen.berman <at> gmx.net>
:
New bug report received and forwarded. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Sat, 10 Jan 2009 21:30:04 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):
The bug described below still exists in GNU Emacs 23.0.60.28
(i686-pc-linux-gnu, GTK+ Version 2.14.4) of 2009-01-09 on escher, so I'm
submitting it to the bug tracker. Note that the cited sexp from
faces.el is now at line 1360, not 1307.
From: Stephen Berman <Stephen.Berman <at> gmx.net>
Subject: describe-face: Wrong type argument: symbolp, (:slant oblique)
Newsgroups: gmane.emacs.devel
To: emacs-devel <at> gnu.org
Date: Mon, 26 May 2008 00:59:57 +0200
In GNU Emacs 23.0.60.4 (i686-pc-linux-gnu, GTK+ Version 2.12.0) of
2008-05-25 on escher
1. emacs -q
2. Put the cursor on any of the characters in the phrase "ABSOLUTELY NO
WARRANTY" in the splash screen.
3. Type C-u C-x =
4. In the resulting *Help* buffer click on the link labelled
"(variable-pitch (:slant oblique))"
=> Emacs beeps and throws the error in the Subject line.
This happens at line 1307 in faces.el, which is this sexp:
(insert "Face: " (symbol-name f))
when `f' gets the value `(:slant oblique)', which it does because the
list '(variable-pitch (:slant oblique)) is the value of 'face in the
plist of the character at point (as shown by text-properties-at). I
don't know what the best fix is.
(In earlier versions of Emacs, including CVS trunk of 2007-08-24, this
value was '(variable-pitch :slant oblique), and doing the above steps
does not raise an error, but the resulting *Help* buffer contains these
dubious lines:
Face: :slant undefined face.
Face: oblique undefined face.
But in this version a wrong type argument error is also raised by the
above recipe for plist 'face values such as '(variable-pitch :foreground
"red"), on the string. I could not determine when the change in the
representation of the plist value of 'face occurred, because I couldn't
figure out which part of the code constructs this plist.)
Steve Berman
Reply sent
to
Chong Yidong <cyd <at> stupidchicken.com>
:
You have taken responsibility.
(Sun, 11 Jan 2009 17:35:04 GMT)
Full text and
rfc822 format available.
Notification sent
to
Stephen Berman <stephen.berman <at> gmx.net>
:
bug acknowledged by developer.
(Sun, 11 Jan 2009 17:35:05 GMT)
Full text and
rfc822 format available.
Message #10 received at 1852-done <at> emacsbugs.donarmstrong.com (full text, mbox):
> 1. emacs -q
> 2. Put the cursor on any of the characters in the phrase "ABSOLUTELY NO
> WARRANTY" in the splash screen.
> 3. Type C-u C-x =
> 4. In the resulting *Help* buffer click on the link labelled
> "(variable-pitch (:slant oblique))"
> => Emacs beeps and throws the error in the Subject line.
Since anonymous faces can't be usefully customized, I've changed
describe-face to ignore those. Thanks for the bug report.
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1852
; Package
emacs
.
(Sun, 11 Jan 2009 22:35:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stephen Berman <stephen.berman <at> gmx.net>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Sun, 11 Jan 2009 22:35:03 GMT)
Full text and
rfc822 format available.
Message #15 received at 1852 <at> emacsbugs.donarmstrong.com (full text, mbox):
>> 1. emacs -q
>> 2. Put the cursor on any of the characters in the phrase "ABSOLUTELY NO
>> WARRANTY" in the splash screen.
>> 3. Type C-u C-x =
>> 4. In the resulting *Help* buffer click on the link labelled
>> "(variable-pitch (:slant oblique))"
>> => Emacs beeps and throws the error in the Subject line.
>
> Since anonymous faces can't be usefully customized, I've changed
> describe-face to ignore those. Thanks for the bug report.
Your fix prevents the error from being raised at step 4 above; however,
the behavior is nevertheless still not what I would naively expect:
namely, now it switches to a *Help* buffer describing variable-pitch
face, containing the line
Slant: unspecified
i.e., this is not the face that I clicked to get a description of (as
the tooltip also promises). Wouldn't it be better (if readily
implementable) to exclude `(:slant oblique)' from the the describe-face
link?
Steve Berman
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1852
; Package
emacs
.
(Mon, 12 Jan 2009 02:45:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Chong Yidong <cyd <at> stupidchicken.com>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 12 Jan 2009 02:45:03 GMT)
Full text and
rfc822 format available.
Message #20 received at 1852 <at> emacsbugs.donarmstrong.com (full text, mbox):
Stephen Berman <stephen.berman <at> gmx.net> writes:
> Your fix prevents the error from being raised at step 4 above; however,
> the behavior is nevertheless still not what I would naively expect:
> namely, now it switches to a *Help* buffer describing variable-pitch
> face, containing the line
> Slant: unspecified
> i.e., this is not the face that I clicked to get a description of (as
> the tooltip also promises). Wouldn't it be better (if readily
> implementable) to exclude `(:slant oblique)' from the the describe-face
> link?
The "face" you are trying to customize is actually two faces---the
`variable-pitch' face plus an anonymous face consisting of the
property-value pair (:slant oblique). The best that Custom can do is to
allow you to customize the former. The latter can't be customized
because it lacks a face name (how would we save the customized face?).
Information forwarded
to
bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>
:
bug#1852
; Package
emacs
.
(Mon, 12 Jan 2009 12:25:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Stephen Berman <stephen.berman <at> gmx.net>
:
Extra info received and forwarded to list. Copy sent to
Emacs Bugs <bug-gnu-emacs <at> gnu.org>
.
(Mon, 12 Jan 2009 12:25:04 GMT)
Full text and
rfc822 format available.
Message #25 received at 1852 <at> emacsbugs.donarmstrong.com (full text, mbox):
On Sun, 11 Jan 2009 21:38:45 -0500 Chong Yidong <cyd <at> stupidchicken.com> wrote:
> Stephen Berman <stephen.berman <at> gmx.net> writes:
>
>> Your fix prevents the error from being raised at step 4 above; however,
>> the behavior is nevertheless still not what I would naively expect:
>> namely, now it switches to a *Help* buffer describing variable-pitch
>> face, containing the line
>> Slant: unspecified
>> i.e., this is not the face that I clicked to get a description of (as
>> the tooltip also promises). Wouldn't it be better (if readily
>> implementable) to exclude `(:slant oblique)' from the the describe-face
>> link?
>
> The "face" you are trying to customize is actually two faces---the
> `variable-pitch' face plus an anonymous face consisting of the
> property-value pair (:slant oblique).
I was obviously confused above, but I also think it's confusing to say
there are two faces here and to call `(:slant oblique)' an anonymous
face. `(variable-pitch (:slant oblique))' is simply the value of the
face property (as indeed the *Help* buffer explicitly says; I don't know
why I was confused).
> The best that Custom can do is to
> allow you to customize the former. The latter can't be customized
> because it lacks a face name (how would we save the customized face?).
Since the value of the face property can contain named faces, I expect
these to be customizable, and indeed, when I type `C-u
C-x =' on the `A' of `Authors' in the *About GNU Emacs* buffer, the
*Help* buffer shows this:
There are text properties here:
face (link variable-pitch)
and when I click on this value I do indeed get a buffer describing both
the link and variable-pitch faces, each with an accompanying customize
button. Since `(:slant oblique)' in the previous case is not a named
face, it cannot, as you say, be customized. But for this reason, I
think it would be better, as I suggested, to have `(:slant oblique)' not
be clickable in the output of `C-u C-x ='.
I found two other cases that seem buggy:
(a) Type `C-u C-x =' on any of the letters in `GNU Emacs' or `GNU/Linux'
in the line directly below the Emacs logo in the *About GNU Emacs*
buffer. The resulting *Help* buffer shows this as the value of the face
property:
face (link (variable-pitch (:foreground "red")))
This is not a valid value of the face property; instead, it should be this:
face (link variable-pitch (:foreground "red"))
Moreover, I would expect clicking on the value to show me descriptions
of the link and variable-pitch faces, as above. Instead, there is only
a description of the link face. (I would recommend two clickable links
here, one for each named face, and none for the property-value pair.)
(b) In a Text mode buffer, mark a region of text, click the menu entry
Edit->Text Properties->Foreground Color->red, and on one of the
resulting red characters type `C-u C-x ='. The *Help* buffers shows:
face ((:foreground "red"))
which is fine, but when I click on the value, I get an empty *Help*
buffer. This is another reason for this type of face value not to be
overlayed with a clickable link.
Steve Berman
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> emacsbugs.donarmstrong.com
.
(Mon, 09 Feb 2009 15:24:11 GMT)
Full text and
rfc822 format available.
This bug report was last modified 16 years and 191 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.