1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-28 07:45:00 +00:00

emacs-lisp/package.el (package-menu-mark-install): Mark dependency.

This commit is contained in:
Artur Malabarba 2015-02-05 20:33:23 -02:00
parent de840e433c
commit b2c4997c82
2 changed files with 9 additions and 2 deletions

View File

@ -4,6 +4,7 @@
function. Return PACKAGE-LIST sorted by dependencies.
(package-menu-execute): Use it to delete packages in order.
(package--sort-deps-in-alist): New function.
(package-menu-mark-install): Can mark dependencies.
2015-02-05 Stefan Monnier <monnier@iro.umontreal.ca>

View File

@ -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