From: Markus Rost Date: Wed, 8 May 2002 18:05:28 +0000 (+0000) Subject: (describe-function-1): If the source is `loaddefs.el', look for the X-Git-Tag: ttn-vms-21-2-B4~15138 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=35679c3f5c2333cfc21b638a03f598a117c5a6c7;p=emacs.git (describe-function-1): If the source is `loaddefs.el', look for the real source. This is necessary only for defaliases. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 87af273b9f8..86f41c86ac9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -4,6 +4,15 @@ 2002-05-08 Markus Rost + * help-fns.el (describe-function-1): If the source is + `loaddefs.el', look for the real source. This is necessary only + for defaliases. + + * emacs-lisp/find-func.el (find-function-search-for-symbol): Add + autoload cookie. + (find-function-regexp): Include + "\(quote " to match the defaliases in loaddefs.el. + * filesets.el (filesets-conditional-sort): Use copy-sequence, not copy-list. (filesets-menu-path, filesets-menu-before, filesets-menu-in-menu): diff --git a/lisp/help-fns.el b/lisp/help-fns.el index e27e6fc119a..af0fa9e73a9 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -210,6 +210,19 @@ and the file name is displayed in the echo area." (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 `")