]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
authorArtur Malabarba <bruce.connor.am@gmail.com>
Sun, 12 Apr 2015 02:55:21 +0000 (03:55 +0100)
committerArtur Malabarba <bruce.connor.am@gmail.com>
Sun, 12 Apr 2015 02:57:58 +0000 (03:57 +0100)
(package-menu-refresh): Respect async and do new package checking.
(list-packages): Use `package-menu-refresh' instead of repeating code.

lisp/emacs-lisp/package.el

index 745c5bf5dc4585b09129e35161ae81d91175f821..ad482e564b02fc861af84db710d22634c49e64a3 100644 (file)
@@ -2589,8 +2589,9 @@ This fetches the contents of each archive specified in
   (interactive)
   (unless (derived-mode-p 'package-menu-mode)
     (user-error "The current buffer is not a Package Menu"))
-  (package-refresh-contents)
-  (package-menu--generate t t))
+  (setq package-menu--old-archive-contents package-archive-contents)
+  (setq package-menu--new-package-list nil)
+  (package-refresh-contents package-menu-async))
 
 (defun package-menu-describe-package (&optional button)
   "Describe the current package.
@@ -2942,11 +2943,8 @@ The list is displayed in a buffer named `*Packages*'."
   (add-hook 'package--post-download-archives-hook
             #'package-menu--post-refresh)
 
-  (unless no-fetch
-    (setq package-menu--old-archive-contents package-archive-contents)
-    (setq package-menu--new-package-list nil)
-    ;; Fetch the remote list of packages.
-    (package-refresh-contents package-menu-async))
+  ;; Fetch the remote list of packages.
+  (unless no-fetch (package-menu-refresh))
 
   ;; Generate the Package Menu.
   (let ((buf (get-buffer-create "*Packages*")))