emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 5b83f03: emacs-lisp/package.el (package-delete): Al


From: Artur Malabarba
Subject: [Emacs-diffs] master 5b83f03: emacs-lisp/package.el (package-delete): Always unselect package.
Date: Wed, 04 Feb 2015 13:04:27 +0000

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

    emacs-lisp/package.el (package-delete): Always unselect package.
---
 lisp/ChangeLog             |    5 +++++
 lisp/emacs-lisp/package.el |   12 +++++++-----
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c18a8ff..88abb4f 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-04  Artur Malabarba  <address@hidden>
+
+       * emacs-lisp/package.el (package-delete): Remove package from
+       `package-selected-packages' even if it can't be deleted.
+
 2015-02-03  Artur Malabarba  <address@hidden>
 
        * emacs-lisp/package.el (package-delete): Document NOSAVE.
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index fa620eb..b07362e 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1506,6 +1506,13 @@ If NOSAVE is non-nil, the package is not removed from
   (let ((dir (package-desc-dir pkg-desc))
         (name (package-desc-name pkg-desc))
         pkg-used-elsewhere-by)
+    ;; If the user is trying to delete this package, they definitely
+    ;; don't want it marked as selected, so we remove it from
+    ;; `package-selected-packages' even if it can't be deleted.
+    (when (and (null nosave)
+               (package--user-selected-p name))
+      (customize-save-variable
+       'package-selected-packages (remove name package-selected-packages)))
     (cond ((not (string-prefix-p (file-name-as-directory
                                   (expand-file-name package-user-dir))
                                  (expand-file-name dir)))
@@ -1530,11 +1537,6 @@ If NOSAVE is non-nil, the package is not removed from
              (delete pkg-desc pkgs)
              (unless (cdr pkgs)
                (setq package-alist (delq pkgs package-alist))))
-           ;; Update package-selected-packages.
-           (when (and (null nosave)
-                      (package--user-selected-p name))
-             (customize-save-variable
-              'package-selected-packages (remove name 
package-selected-packages)))
            (message "Package `%s' deleted." (package-desc-full-name 
pkg-desc))))))
 
 (defun package--removable-packages ()



reply via email to

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