Add `extensions' to keywords, since it's internal.
[bpt/emacs.git] / lisp / loadhist.el
index b6721ca..95208bc 100644 (file)
@@ -97,8 +97,8 @@ return the feature \(symbol\)."
                           nil t)))
 
 (defvar loadhist-hook-functions
-  '(after-change-function after-change-functions
-after-insert-file-functions auto-fill-function before-change-function
+  '(after-change-functions
+after-insert-file-functions auto-fill-function
 before-change-functions blink-paren-function
 buffer-access-fontify-functions command-line-functions
 comment-indent-function kill-buffer-query-functions
@@ -116,9 +116,9 @@ pertinent symbols.")
 ;;;###autoload
 (defun unload-feature (feature &optional force)
   "Unload the library that provided FEATURE, restoring all its autoloads.
-If the feature is required by any other loaded code, and optional FORCE
+If the feature is required by any other loaded code, and prefix arg FORCE
 is nil, raise an error."
-  (interactive (list (read-feature "Feature: ")))
+  (interactive (list (read-feature "Feature: ") current-prefix-arg))
   (if (not (featurep feature))
       (error "%s is not a currently loaded feature" (symbol-name feature)))
   (if (not force)
@@ -161,11 +161,13 @@ is nil, raise an error."
               ;; Remove any feature names that this file provided.
               (if (eq (car x) 'provide)
                   (setq features (delq (cdr x) features))))
-             ((boundp x) (makunbound x))
-             ((fboundp x)
-              (fmakunbound x)
-              (let ((aload (get x 'autoload)))
-                (if aload (fset x (cons 'autoload aload)))))))
+            (t
+             (when (boundp x)
+               (makunbound x))
+             (when (fboundp x)
+               (fmakunbound x)
+               (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)))