diff options
author | Thierry Volpiatto <thierry.volpiatto@gmail.com> | 2019-08-19 10:15:11 +0200 |
---|---|---|
committer | Thierry Volpiatto <thierry.volpiatto@gmail.com> | 2019-08-19 10:24:00 +0200 |
commit | a8cafc5265895dd4a37050d54dd0b22ccffbc069 (patch) | |
tree | cdf5c40bfd44c8d708848d1d8f701517277cd07d /helm-elisp-package.el | |
parent | a017e8b8bf4ee1bbdcd52746b7bc7cbe0f1efb85 (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.el | 16 |
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)) |