diff lisp/loadhist.el @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents 501cfd01ee6d
children
line wrap: on
line diff
--- a/lisp/loadhist.el	Mon Aug 13 11:19:22 2007 +0200
+++ b/lisp/loadhist.el	Mon Aug 13 11:20:41 2007 +0200
@@ -123,11 +123,7 @@
       (when dependents
 	(error "Loaded libraries %s depend on %s"
 	       (prin1-to-string dependents) file))))
-  (let* ((flist (feature-symbols feature))
-	 (file (car flist)))
-    (flet ((reset-aload (x)
-	     (let ((aload (get x 'autoload)))
-	       (if aload (fset x (cons 'autoload aload))))))
+  (let* ((flist (feature-symbols feature)) (file (car flist)))
     (mapcar
      #'(lambda (x)
 	 (cond ((stringp x) nil)
@@ -135,17 +131,12 @@
 		;; Remove any feature names that this file provided.
 		(if (eq (car x) 'provide)
 		    (setq features (delq (cdr x) features))))
-	       ((and (boundp x)
-		     (fboundp x))
-		(makunbound x)
-		(fmakunbound x)
-		(reset-aload x))
-	       ((boundp x)
-		(makunbound x))
+	       ((boundp x) (makunbound x))
 	       ((fboundp x)
 		(fmakunbound x)
-		(reset-aload x))))
-     (cdr flist)))
+		(let ((aload (get x 'autoload)))
+		  (if aload (fset x (cons 'autoload aload)))))))
+     (cdr flist))
     ;; Delete the load-history element for this file.
     (let ((elt (assoc file load-history)))
       (setq load-history (delq elt load-history)))))