bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#6154: error from: describe-face font-lock-*


From: David Reitter
Subject: bug#6154: error from: describe-face font-lock-*
Date: Mon, 10 May 2010 09:58:10 -0400

X-Debbugs-CC: nathaniel.cunningham@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@gmail.com>
Date: May 10, 2010 1:57:32 AM EDT
To: Development of Aquamacs Emacs <aquamacs-devel@aquamacs.org>
Subject: [Aquamacs-devel] error from: describe-face font-lock-*
Reply-To: Aquamacs Developers <aquamacs-devel@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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]