From: Philip Kaludercic Date: Sat, 12 Nov 2022 08:14:33 +0000 (+0100) Subject: Have 'package-vc-selected-packages' consider all installed packages X-Git-Tag: emacs-29.0.90~1616^2~77 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=496c578d9c8a5482f0e38a2315ce5e40331d48c7;p=emacs.git Have 'package-vc-selected-packages' consider all installed packages * lisp/emacs-lisp/package-vc.el (package-vc-install-selected-packages): Consider more than just one value in `package-alist', in case there are multiple installations. --- diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el index 7fed1b5885e..62724d398c1 100644 --- a/lisp/emacs-lisp/package-vc.el +++ b/lisp/emacs-lisp/package-vc.el @@ -119,9 +119,8 @@ the `clone' function." (pcase-dolist (`(,name . ,spec) package-vc-selected-packages) (when (stringp name) (setq name (intern name))) - (let ((pkg-desc (cadr (assoc name package-alist #'string=)))) - (unless (and name (package-installed-p name) - (package-vc-p pkg-desc)) + (let ((pkg-descs (assoc name package-alist #'string=))) + (unless (seq-some #'package-vc-p (cdr pkg-descs)) (cond ((null spec) (package-vc-install name)) @@ -129,7 +128,7 @@ the `clone' function." (package-vc-install name nil spec)) ((listp spec) (package-vc--archives-initialize) - (package-vc--unpack pkg-desc spec))))))) + (package-vc--unpack (cadr pkg-descs) spec))))))) ;;;###autoload (defcustom package-vc-selected-packages '()