emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master b2c4997: emacs-lisp/package.el (package-menu-mark-i


From: Artur Malabarba
Subject: [Emacs-diffs] master b2c4997: emacs-lisp/package.el (package-menu-mark-install): Mark dependency.
Date: Thu, 05 Feb 2015 22:34:17 +0000

branch: master
commit b2c4997c823a32e79c9f16b547b491463da9c1c2
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

    emacs-lisp/package.el (package-menu-mark-install): Mark dependency.
---
 lisp/ChangeLog             |    1 +
 lisp/emacs-lisp/package.el |   10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index be03e56..37e922a 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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  <address@hidden>
 
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 2932efa..f117906 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]