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

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

[Emacs-bug-tracker] bug#6154: closed (error from: describe-face font-loc


From: GNU bug Tracking System
Subject: [Emacs-bug-tracker] bug#6154: closed (error from: describe-face font-lock-*)
Date: Sat, 09 Jul 2011 18:24:01 +0000

Your message dated Sat, 09 Jul 2011 14:23:34 -0400
with message-id <address@hidden>
and subject line Re: bug#6154: error from: describe-face font-lock-*
has caused the GNU bug report #6154,
regarding error from: describe-face font-lock-*
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
6154: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6154
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: error from: describe-face font-lock-* Date: Mon, 10 May 2010 09:58:10 -0400
X-Debbugs-CC: address@hidden

`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 <address@hidden>
Date: May 10, 2010 1:57:32 AM EDT
To: Development of Aquamacs Emacs <address@hidden>
Subject: [Aquamacs-devel] error from: describe-face font-lock-*
Reply-To: Aquamacs Developers <address@hidden>

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.


--- End Message ---
--- Begin Message --- Subject: Re: bug#6154: error from: describe-face font-lock-* Date: Sat, 09 Jul 2011 14:23:34 -0400 User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)
I don't see a need to keep open this particular report.
Faces aren't defined in C, they are defined in Lisp.




--- End Message ---

reply via email to

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