comparison 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
comparison
equal deleted inserted replaced
411:12e008d41344 412:697ef44129c6
121 (let* ((file (feature-file feature)) 121 (let* ((file (feature-file feature))
122 (dependents (delete file (copy-sequence (file-dependents file))))) 122 (dependents (delete file (copy-sequence (file-dependents file)))))
123 (when dependents 123 (when dependents
124 (error "Loaded libraries %s depend on %s" 124 (error "Loaded libraries %s depend on %s"
125 (prin1-to-string dependents) file)))) 125 (prin1-to-string dependents) file))))
126 (let* ((flist (feature-symbols feature)) 126 (let* ((flist (feature-symbols feature)) (file (car flist)))
127 (file (car flist)))
128 (flet ((reset-aload (x)
129 (let ((aload (get x 'autoload)))
130 (if aload (fset x (cons 'autoload aload))))))
131 (mapcar 127 (mapcar
132 #'(lambda (x) 128 #'(lambda (x)
133 (cond ((stringp x) nil) 129 (cond ((stringp x) nil)
134 ((consp x) 130 ((consp x)
135 ;; Remove any feature names that this file provided. 131 ;; Remove any feature names that this file provided.
136 (if (eq (car x) 'provide) 132 (if (eq (car x) 'provide)
137 (setq features (delq (cdr x) features)))) 133 (setq features (delq (cdr x) features))))
138 ((and (boundp x) 134 ((boundp x) (makunbound x))
139 (fboundp x))
140 (makunbound x)
141 (fmakunbound x)
142 (reset-aload x))
143 ((boundp x)
144 (makunbound x))
145 ((fboundp x) 135 ((fboundp x)
146 (fmakunbound x) 136 (fmakunbound x)
147 (reset-aload x)))) 137 (let ((aload (get x 'autoload)))
148 (cdr flist))) 138 (if aload (fset x (cons 'autoload aload)))))))
139 (cdr flist))
149 ;; Delete the load-history element for this file. 140 ;; Delete the load-history element for this file.
150 (let ((elt (assoc file load-history))) 141 (let ((elt (assoc file load-history)))
151 (setq load-history (delq elt load-history))))) 142 (setq load-history (delq elt load-history)))))
152 143
153 (provide 'loadhist) 144 (provide 'loadhist)