summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-02-05 20:33:23 -0200
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-02-05 20:33:23 -0200
commitb2c4997c823a32e79c9f16b547b491463da9c1c2 (patch)
tree54b722449a585bb87e32173fc56dd2ab730debfe /lisp/emacs-lisp
parentde840e433c8de436fcbbe0a9eb3fbde0b2a33070 (diff)
downloademacs-b2c4997c823a32e79c9f16b547b491463da9c1c2.tar.gz
emacs-b2c4997c823a32e79c9f16b547b491463da9c1c2.tar.bz2
emacs-b2c4997c823a32e79c9f16b547b491463da9c1c2.zip
emacs-lisp/package.el (package-menu-mark-install): Mark dependency.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/package.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 2932efa7535..f11790693b9 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -2262,7 +2262,7 @@ If optional arg BUTTON is non-nil, describe its associated package."
(defun package-menu-mark-install (&optional _num)
"Mark a package for installation and move to the next line."
(interactive "p")
- (if (member (package-menu-get-status) '("available" "new"))
+ (if (member (package-menu-get-status) '("available" "new" "dependency"))
(tabulated-list-put-tag "I" t)
(forward-line)))
@@ -2418,7 +2418,13 @@ Optional argument NOQUERY non-nil means do not ask the user to confirm."
(mapconcat #'package-desc-full-name
install-list ", ")))))
(mapc (lambda (p)
- (package-install p (null (package-installed-p p))))
+ ;; Mark as selected if it's the exact version of a
+ ;; package that's already installed, or if it's not
+ ;; installed at all. Don't mark if it's a new
+ ;; version of an installed package.
+ (package-install p (or (package-installed-p p)
+ (not (package-installed-p
+ (package-desc-name p))))))
install-list)))
;; Delete packages, prompting if necessary.
(when delete-list