changeset 66285:dc2f1300400b

(file-loadhist-lookup): Call locate-library instead of find-library-name. Don't try converting abs file names to library names, since load-history no longer has library names in it. (file-dependents, file-provides, file-requires): Doc fixes.
author Richard M. Stallman <rms@gnu.org>
date Fri, 21 Oct 2005 17:19:10 +0000
parents 236b02d0dac9
children 366f80f966cb
files lisp/loadhist.el
diffstat 1 files changed, 16 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/loadhist.el	Fri Oct 21 16:54:13 2005 +0000
+++ b/lisp/loadhist.el	Fri Oct 21 17:19:10 2005 +0000
@@ -53,24 +53,23 @@
     (car (feature-symbols feature))))
 
 (defun file-loadhist-lookup (file)
-  "Return the `load-history' element for FILE."
+  "Return the `load-history' element for FILE.
+FILE can be a file name, or a library name.
+A library name is equivalent to the file name that `load-library' would load."
   ;; First look for FILE as given.
   (let ((symbols (assoc file load-history)))
     ;; Try converting a library name to an absolute file name.
     (and (null symbols)
-	 (let ((absname (find-library-name file)))
-	   (if (not (equal absname file))
-	       (setq symbols (cdr (assoc absname load-history))))))
-    ;; Try converting an absolute file name to a library name.
-    (and (null symbols) (string-match "[.]el\\'" file)
-	 (let ((libname (file-name-nondirectory file)))
-	   (string-match "[.]el\\'" libname)
-	   (setq libname (substring libname 0 (match-beginning 0)))
-	   (setq symbols (cdr (assoc libname load-history)))))
+	 (let ((absname 
+		(locate-file file load-path load-suffixes)))
+	   (and absname (not (equal absname file))
+		(setq symbols (cdr (assoc absname load-history))))))
     symbols))
 
 (defun file-provides (file)
-  "Return the list of features provided by FILE."
+  "Return the list of features provided by FILE as it was loaded.
+FILE can be a file name, or a library name.
+A library name is equivalent to the file name that `load-library' would load."
   (let ((symbols (file-loadhist-lookup file))
 	provides)
     (mapc (lambda (x)
@@ -80,7 +79,9 @@
     provides))
 
 (defun file-requires (file)
-  "Return the list of features required by FILE."
+  "Return the list of features required by FILE as it was loaded.
+FILE can be a file name, or a library name.
+A library name is equivalent to the file name that `load-library' would load."
   (let ((symbols (file-loadhist-lookup file))
 	requires)
     (mapc (lambda (x)
@@ -98,7 +99,9 @@
 
 (defun file-dependents (file)
   "Return the list of loaded libraries that depend on FILE.
-This can include FILE itself."
+This can include FILE itself.
+FILE can be a file name, or a library name.
+A library name is equivalent to the file name that `load-library' would load."
   (let ((provides (file-provides file))
 	(dependents nil))
     (dolist (x load-history dependents)