summaryrefslogtreecommitdiff
path: root/helm-elisp-package.el
diff options
context:
space:
mode:
authorThierry Volpiatto <thierry.volpiatto@gmail.com>2019-08-19 10:15:11 +0200
committerThierry Volpiatto <thierry.volpiatto@gmail.com>2019-08-19 10:24:00 +0200
commita8cafc5265895dd4a37050d54dd0b22ccffbc069 (patch)
treecdf5c40bfd44c8d708848d1d8f701517277cd07d /helm-elisp-package.el
parenta017e8b8bf4ee1bbdcd52746b7bc7cbe0f1efb85 (diff)
Fix upgrade of package already builtin
* helm-elisp-package.el (helm-el-package-upgrade-1): Don't try to delete package already builtin.
Diffstat (limited to 'helm-elisp-package.el')
-rw-r--r--helm-elisp-package.el16
1 files changed, 13 insertions, 3 deletions
diff --git a/helm-elisp-package.el b/helm-elisp-package.el
index b796e236..dcf3a3b1 100644
--- a/helm-elisp-package.el
+++ b/helm-elisp-package.el
@@ -180,10 +180,14 @@
(cl-loop for entry in helm-el-package--tabulated-list
for pkg-desc = (car entry)
for status = (package-desc-status pkg-desc)
+ ;; A dependency.
when (string= status "dependency")
collect pkg-desc into dependencies
+ ;; An installed package used as dependency (user have
+ ;; installed this package explicitely).
when (package--used-elsewhere-p pkg-desc)
collect pkg-desc into installed-as-dep
+ ;; An installed package.
when (member status '("installed" "unsigned"))
collect pkg-desc into installed
when (member status '("available" "new"))
@@ -230,9 +234,10 @@
(defun helm-el-package-upgrade-1 (pkg-list)
(cl-loop for p in pkg-list
for pkg-desc = (car p)
- for upgrade = (cdr (assq (package-desc-name pkg-desc)
+ for pkg-name = (package-desc-name pkg-desc)
+ for upgrade = (cdr (assq pkg-name
helm-el-package--upgrades))
- for extra-upgrade = (cdr (assq (package-desc-name pkg-desc)
+ for extra-upgrade = (cdr (assq pkg-name
helm-el-package--extra-upgrades))
do
(cond (;; Recompile.
@@ -240,7 +245,12 @@
(equal pkg-desc extra-upgrade))
(helm-el-package-recompile-1 pkg-desc))
(;; Do nothing.
- (null upgrade) (ignore))
+ (or (null upgrade)
+ ;; This may happen when a Elpa version of pkg
+ ;; is installed and need upgrade and pkg is as
+ ;; well a builtin package.
+ (package-built-in-p pkg-name))
+ (ignore))
(;; Install.
(equal pkg-desc upgrade)
(package-install pkg-desc t))