changeset 45193:3431e29f1d9c

(describe-function-1): If the source is `loaddefs.el', look for the real source. This is necessary only for defaliases.
author Markus Rost <rost@math.uni-bielefeld.de>
date Wed, 08 May 2002 18:02:28 +0000
parents 4558ce6ceb57
children b97ec34abf40
files lisp/help-fns.el
diffstat 1 files changed, 13 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/help-fns.el	Wed May 08 18:00:33 2002 +0000
+++ b/lisp/help-fns.el	Wed May 08 18:02:28 2002 +0000
@@ -210,6 +210,19 @@
 	      (help-xref-button 1 'help-function def)))))
     (or file-name
 	(setq file-name (symbol-file function)))
+    (when (equal file-name "loaddefs.el")
+      ;; Find the real def site of the preloaded function.
+      ;; This is necessary only for defaliases.
+      (let ((location
+	     (condition-case nil
+		 (find-function-search-for-symbol function nil "loaddefs.el") 
+	       (error nil))))
+	(when location
+	  (with-current-buffer (car location)
+	    (goto-char (cdr location))
+	    (when (re-search-backward
+		   "^;;; Generated autoloads from \\(.*\\)" nil t)
+	      (setq file-name (match-string 1)))))))
     (cond
      (file-name
       (princ " in `")