+2015-02-04 Artur Malabarba <bruce.connor.am@gmail.com>
+
+ * emacs-lisp/package.el (package-delete): Remove package from
+ `package-selected-packages' even if it can't be deleted.
+
2015-02-03 Artur Malabarba <bruce.connor.am@gmail.com>
* emacs-lisp/package.el (package-delete): Document NOSAVE.
(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)))
(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 ()