emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 496c578d9c 22/42: Have 'package-vc-selected-packages' consider al


From: Philip Kaludercic
Subject: master 496c578d9c 22/42: Have 'package-vc-selected-packages' consider all installed packages
Date: Thu, 17 Nov 2022 14:56:22 -0500 (EST)

branch: master
commit 496c578d9c8a5482f0e38a2315ce5e40331d48c7
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>

    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.
---
 lisp/emacs-lisp/package-vc.el | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 7fed1b5885..62724d398c 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 '()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]