[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 a05fb21: * lisp/emacs-lisp/package.el (package-in
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] emacs-25 a05fb21: * lisp/emacs-lisp/package.el (package-install-selected-packages): |
Date: |
Mon, 04 Apr 2016 15:32:20 +0000 |
branch: emacs-25
commit a05fb21d73d2ca84dd7e5e7ee931931048ecddba
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
* lisp/emacs-lisp/package.el (package-install-selected-packages):
Skip unavailable packages.
---
lisp/emacs-lisp/package.el | 26 +++++++++++++++-----------
1 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index b65e45b..29de2c9 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2023,17 +2023,21 @@ If some packages are not installed propose to install
them."
;; gets installed).
(if (not package-selected-packages)
(message "`package-selected-packages' is empty, nothing to install")
- (cl-loop for p in package-selected-packages
- unless (package-installed-p p)
- collect p into lst
- finally
- (if lst
- (when (y-or-n-p
- (format "%s packages will be installed:\n%s, proceed?"
- (length lst)
- (mapconcat #'symbol-name lst ", ")))
- (mapc #'package-install lst))
- (message "All your packages are already installed")))))
+ (let* ((not-installed (seq-remove #'package-installed-p
package-selected-packages))
+ (available (seq-filter (lambda (p) (assq p
package-archive-contents)) not-installed))
+ (difference (- (length not-installed) (length available))))
+ (cond
+ (available
+ (when (y-or-n-p
+ (format "%s packages will be installed:\n%s, proceed?"
+ (length available)
+ (mapconcat #'symbol-name available ", ")))
+ (mapc (lambda (p) (package-install p 'dont-select)) available)))
+ ((> difference 0)
+ (message "%s packages are not available (the rest already installed),
maybe you need to `M-x package-refresh-contents'"
+ difference))
+ (t
+ (message "All your packages are already installed"))))))
;;; Package Deletion
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 a05fb21: * lisp/emacs-lisp/package.el (package-install-selected-packages):,
Artur Malabarba <=