# HG changeset patch # User Richard M. Stallman # Date 1113753420 0 # Node ID 4cb17d270cf3f7c63824ea0a55812fc9cc33b637 # Parent b543e1be9df25fc9d48d0febed5486f9422a87f9 (unload-feature): Update for new format of load-history. Simplify the code. diff -r b543e1be9df2 -r 4cb17d270cf3 lisp/loadhist.el --- a/lisp/loadhist.el Sun Apr 17 15:55:50 2005 +0000 +++ b/lisp/loadhist.el Sun Apr 17 15:57:00 2005 +0000 @@ -194,29 +194,27 @@ (dolist (elt (cdr unload-hook-features-list)) (if (symbolp elt) (elp-restore-function elt)))) - (mapc - (lambda (x) - (cond ((stringp x) nil) - ((consp x) - ;; Remove any feature names that this file provided. - (if (eq (car x) 'provide) - (setq features (delq (cdr x) features))) - (when (eq (car x) 'defvar) - ;; Kill local values as much as possible. - (dolist (buf (buffer-list)) - (with-current-buffer buf - (kill-local-variable (cdr x)))) - ;; Get rid of the default binding if we can. - (unless (local-variable-if-set-p (cdr x)) - (makunbound (cdr x))))) - (t - (when (fboundp x) - (if (fboundp 'ad-unadvise) - (ad-unadvise x)) - (fmakunbound x) - (let ((aload (get x 'autoload))) - (if aload (fset x (cons 'autoload aload)))))))) - (cdr unload-hook-features-list)) + (dolist (x (cdr unload-hook-features-list)) + (when (consp x) + ;; Remove any feature names that this file provided. + (if (eq (car x) 'provide) + (setq features (delq (cdr x) features))) + (when (eq (car x) 'defvar) + ;; Kill local values as much as possible. + (dolist (buf (buffer-list)) + (with-current-buffer buf + (kill-local-variable (cdr x)))) + ;; Get rid of the default binding if we can. + (unless (local-variable-if-set-p (cdr x)) + (makunbound (cdr x)))) + (when (eq (car x) 'defun) + (let ((fun (cdr x))) + (when (fboundp fun) + (if (fboundp 'ad-unadvise) + (ad-unadvise fun)) + (fmakunbound fun) + (let ((aload (get fun 'autoload))) + (if aload (fset fun (cons 'autoload aload))))))))) ;; Delete the load-history element for this file. (let ((elt (assoc file load-history))) (setq load-history (delq elt load-history)))))