From a8cafc5265895dd4a37050d54dd0b22ccffbc069 Mon Sep 17 00:00:00 2001 From: Thierry Volpiatto Date: Mon, 19 Aug 2019 10:15:11 +0200 Subject: Fix upgrade of package already builtin * helm-elisp-package.el (helm-el-package-upgrade-1): Don't try to delete package already builtin. --- helm-elisp-package.el | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'helm-elisp-package.el') 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)) -- cgit v1.2.3