summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorThierry Volpiatto <thierry.volpiatto@gmail.com>2015-02-02 10:24:46 +0100
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-02-02 10:15:36 +0000
commit060dc145902f048bed22919232ce0e7b0e22d4b1 (patch)
tree8df806d1818d178c26b76301c89ffd477548a160 /lisp/emacs-lisp
parent0326960d3d8b49fd31c3f4e16418bf13c86efa02 (diff)
downloademacs-060dc145902f048bed22919232ce0e7b0e22d4b1.tar.gz
emacs-060dc145902f048bed22919232ce0e7b0e22d4b1.tar.bz2
emacs-060dc145902f048bed22919232ce0e7b0e22d4b1.zip
emacs-lisp/package.el: Fix previous patch
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/package.el13
1 files changed, 7 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 3b22962bb29..d95bc5e6d73 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -1505,6 +1505,10 @@ elsewhere."
(delete pkg-desc pkgs)
(unless (cdr pkgs)
(setq package-alist (delq pkgs package-alist))))
+ ;; Update package-selected-packages.
+ (when (memq name package-selected-packages)
+ (customize-save-variable
+ 'package-selected-packages (remove name package-selected-packages)))
(message "Package `%s' deleted." (package-desc-full-name pkg-desc))))))
;;;###autoload
@@ -1515,12 +1519,9 @@ Packages that are no more needed by other packages in
`package-selected-packages' and their dependencies
will be deleted."
(interactive)
- (let* (old-direct
- (needed (cl-loop for p in package-selected-packages
- if (assq p package-alist)
- append (package--get-deps p) into lst
- else do (push p old-direct)
- finally return lst)))
+ (let ((needed (cl-loop for p in package-selected-packages
+ if (assq p package-alist)
+ append (package--get-deps p))))
(cl-loop for p in (mapcar #'car package-alist)
unless (or (memq p needed)
(memq p package-selected-packages))