diff lisp/faces.el @ 62386:3eeae124dcab

(describe-face): Output a definition link button.
author Richard M. Stallman <rms@gnu.org>
date Mon, 16 May 2005 03:31:11 +0000
parents d4014c213e7e
children a7e02ef1e3d6 8b66fddd72c5
line wrap: on
line diff
--- a/lisp/faces.el	Mon May 16 01:08:01 2005 +0000
+++ b/lisp/faces.el	Mon May 16 03:31:11 2005 +0000
@@ -1257,17 +1257,32 @@
 	  (insert "Face: " (symbol-name f))
 	  (if (not (facep f))
 	      (insert "   undefined face.\n")
-	    (let ((customize-label "customize this face"))
+	    (let ((customize-label "customize this face")
+		  file-name)
 	      (princ (concat " (" customize-label ")\n"))
 	      (insert "Documentation: "
 		      (or (face-documentation f)
 			  "Not documented as a face.")
-		      "\n\n")
+		      "\n")
 	      (with-current-buffer standard-output
 		(save-excursion
 		  (re-search-backward
 		   (concat "\\(" customize-label "\\)") nil t)
 		  (help-xref-button 1 'help-customize-face f)))
+	      ;; The next 4 sexps are copied from describe-function-1
+	      ;; and simplified.
+	      (setq file-name (symbol-file f 'defface))
+	      (when file-name
+		(princ "Defined in `")
+		(princ 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))
+		(princ ".")
+		(terpri)
+		(terpri))
 	      (dolist (a attrs)
 		(let ((attr (face-attribute f (car a) frame)))
 		  (insert (make-string (- max-width (length (cdr a))) ?\ )
@@ -2047,7 +2062,7 @@
     (t :inverse-video t))
   "Basic face for highlighting trailing whitespace."
   :version "21.1"
-  :group 'font-lock			; like `show-trailing-whitespace'
+  :group 'whitespace		; like `show-trailing-whitespace'
   :group 'basic-faces)
 
 (defface escape-glyph '((((background dark)) :foreground "cyan")