* bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) @ 2009-01-10 21:20 ` Stephen Berman 2009-01-11 17:35 ` bug#1852: marked as done (23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique)) Emacs bug Tracking System 0 siblings, 1 reply; 5+ messages in thread From: Stephen Berman @ 2009-01-10 21:20 UTC (permalink / raw To: emacs-pretest-bug 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@gmx.net> Subject: describe-face: Wrong type argument: symbolp, (:slant oblique) Newsgroups: gmane.emacs.devel To: emacs-devel@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 ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#1852: marked as done (23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique)) 2009-01-10 21:20 ` bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Stephen Berman @ 2009-01-11 17:35 ` Emacs bug Tracking System 0 siblings, 0 replies; 5+ messages in thread From: Emacs bug Tracking System @ 2009-01-11 17:35 UTC (permalink / raw To: Chong Yidong [-- Attachment #1: Type: text/plain, Size: 928 bytes --] Your message dated Sun, 11 Jan 2009 12:29:10 -0500 with message-id <87tz8569ax.fsf@cyd.mit.edu> and subject line Re: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) has caused the Emacs bug report #1852, regarding 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@emacsbugs.donarmstrong.com immediately.) -- 1852: http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=1852 Emacs Bug Tracking System Contact owner@emacsbugs.donarmstrong.com with problems [-- Attachment #2: Type: message/rfc822, Size: 4067 bytes --] From: Stephen Berman <stephen.berman@gmx.net> To: emacs-pretest-bug@gnu.org Subject: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Date: Sat, 10 Jan 2009 22:20:13 +0100 Message-ID: <87y6xieu42.fsf@escher.local.home> 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@gmx.net> Subject: describe-face: Wrong type argument: symbolp, (:slant oblique) Newsgroups: gmane.emacs.devel To: emacs-devel@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 [-- Attachment #3: Type: message/rfc822, Size: 1511 bytes --] From: Chong Yidong <cyd@stupidchicken.com> To: Stephen Berman <stephen.berman@gmx.net> Cc: 1852-done@emacsbugs.donarmstrong.com Subject: Re: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Date: Sun, 11 Jan 2009 12:29:10 -0500 Message-ID: <87tz8569ax.fsf@cyd.mit.edu> > 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. ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique)
@ 2009-01-11 22:29 Stephen Berman
2009-01-12 2:38 ` Chong Yidong
0 siblings, 1 reply; 5+ messages in thread
From: Stephen Berman @ 2009-01-11 22:29 UTC (permalink / raw
To: 1852; +Cc: Chong Yidong
>> 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
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) 2009-01-11 22:29 bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Stephen Berman @ 2009-01-12 2:38 ` Chong Yidong 2009-01-12 12:19 ` Stephen Berman 0 siblings, 1 reply; 5+ messages in thread From: Chong Yidong @ 2009-01-12 2:38 UTC (permalink / raw To: Stephen Berman; +Cc: 1852 Stephen Berman <stephen.berman@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?). ^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) 2009-01-12 2:38 ` Chong Yidong @ 2009-01-12 12:19 ` Stephen Berman 0 siblings, 0 replies; 5+ messages in thread From: Stephen Berman @ 2009-01-12 12:19 UTC (permalink / raw To: Chong Yidong; +Cc: 1852 On Sun, 11 Jan 2009 21:38:45 -0500 Chong Yidong <cyd@stupidchicken.com> wrote: > Stephen Berman <stephen.berman@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 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-01-12 12:19 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <87tz8569ax.fsf@cyd.mit.edu> 2009-01-10 21:20 ` bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Stephen Berman 2009-01-11 17:35 ` bug#1852: marked as done (23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique)) Emacs bug Tracking System 2009-01-11 22:29 bug#1852: 23.0.60; describe-face: Wrong type argument: symbolp, (:slant oblique) Stephen Berman 2009-01-12 2:38 ` Chong Yidong 2009-01-12 12:19 ` Stephen Berman
Code repositories for project(s) associated with this external index https://git.savannah.gnu.org/cgit/emacs.git https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.