summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/package.el
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2019-07-17 19:55:08 +0200
committerStefan Kangas <stefankangas@gmail.com>2019-08-22 18:57:39 +0200
commita6d87ea045d9df73f70765bedfb02522043efd9b (patch)
tree060175b41936080e1fbc8da55aee1730bb48d576 /lisp/emacs-lisp/package.el
parentb289ceaf79dc9b284ed254854fc23106e1df0264 (diff)
downloademacs-a6d87ea045d9df73f70765bedfb02522043efd9b.tar.gz
emacs-a6d87ea045d9df73f70765bedfb02522043efd9b.tar.bz2
emacs-a6d87ea045d9df73f70765bedfb02522043efd9b.zip
Signal user-error on duplicate package refresh
* lisp/emacs-lisp/package.el (package-menu-refresh): Signal a user-error if there is already a refresh running in the background. Doc fix. (Bug#36707)
Diffstat (limited to 'lisp/emacs-lisp/package.el')
-rw-r--r--lisp/emacs-lisp/package.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index a72522ad8f8..4e0c0464d48 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -3086,12 +3086,15 @@ Return (PKG-DESC [NAME VERSION STATUS DOC])."
"`package-archive-contents' before the latest refresh.")
(defun package-menu-refresh ()
- "Download the Emacs Lisp package archive.
-This fetches the contents of each archive specified in
-`package-archives', and then refreshes the package menu."
+ "In Package Menu, download the Emacs Lisp package archive.
+Fetch the contents of each archive specified in
+`package-archives', and then refresh the package menu. Signal a
+user-error if there is already a refresh running asynchronously."
(interactive)
(unless (derived-mode-p 'package-menu-mode)
(user-error "The current buffer is not a Package Menu"))
+ (when (and package-menu-async package--downloads-in-progress)
+ (user-error "Package refresh is already in progress, please wait..."))
(setq package-menu--old-archive-contents package-archive-contents)
(setq package-menu--new-package-list nil)
(package-refresh-contents package-menu-async))