GNU bug report logs -
#6154
error from: describe-face font-lock-*
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
X-Debbugs-CC: nathaniel.cunningham <at> gmail.com
`describe-face' assumes that `find-lisp-object-file-name' always returns a file name. I'm seeing the bug described below because we're pre-loading font-lock and this function returns `C-source'.
I suggest the patch below.
Debugger entered--Lisp error: (wrong-type-argument stringp C-source)
file-name-nondirectory(C-source)
describe-face((font-lock-constant-face))
call-interactively(describe-face t nil)
execute-extended-command(nil)
call-interactively(execute-extended-command nil nil)
diff --git a/lisp/faces.el b/lisp/faces.el
index 740c7f7..5994f3e 100644
--- a/lisp/faces.el
+++ b/lisp/faces.el
@@ -1406,12 +1406,14 @@ If FRAME is omitted or nil, use the selected frame."
(setq file-name (find-lisp-object-file-name f 'defface))
(when file-name
(princ "Defined in `")
- (princ (file-name-nondirectory file-name))
+ (princ (if (symbolp file-name) file-name
+ (file-name-nondirectory file-name)))
(princ "'")
;; Make a hyperlink to the library.
- (save-excursion
- (re-search-backward "`\\([^`']+\\)'" nil t)
- (help-xref-button 1 'help-face-def f file-name))
+ (unless (symbolp file-name)
+ (save-excursion
+ (re-search-backward "`\\([^`']+\\)'" nil t)
+ (help-xref-button 1 'help-face-def f file-name)))
(princ ".")
(terpri)
(terpri))
Begin forwarded message:
> From: Nathaniel Cunningham <nathaniel.cunningham <at> gmail.com>
> Date: May 10, 2010 1:57:32 AM EDT
> To: Development of Aquamacs Emacs <aquamacs-devel <at> aquamacs.org>
> Subject: [Aquamacs-devel] error from: describe-face font-lock-*
> Reply-To: Aquamacs Developers <aquamacs-devel <at> aquamacs.org>
>
> Just came across this error:
> M-x describe-face [RET] font-lock-constant-face [RET]
>
> Wrong type argument: stringp, C-source
>
> No *Help* frame appears. If I then describe a different face sucessfully, e.g. tabbar-default, then repeat the sequence above, the *Help* frame get reused, and says:
>
> Face: font-lock-constant-face (sample) (customize this face)
>
> Documentation:
> Font Lock mode face used to highlight constants and labels.
>
> Defined in `
>
> I get the same error for all the font-lock faces tested so far, but no others.
[Message part 2 (text/html, inline)]
This bug report was last modified 13 years and 321 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.