From: Philip Kaludercic <philipk@posteo.net>
Date: Thu, 16 Feb 2023 10:38:51 +0000 (+0100)
Subject: ; Avoid installing VC package dependencies multiple times
X-Git-Tag: emacs-29.0.90~426^2~5
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=40f4bc4e0aa;p=emacs.git

; Avoid installing VC package dependencies multiple times

* lisp/emacs-lisp/package-vc.el (package-vc-install-dependencies):
Check if two package names are eq, instead checking the structural
equality of package-desc objects.
---

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 05df89d264e..b753adcb8a0 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -440,7 +440,7 @@ version of that package."
                    (package-desc-version a)))
                 (duplicate-p (a b)
                   "Are A and B the same package?"
-                  (equal a (car b)))
+                  (eq (package-desc-name a) (package-desc-name b)))
                 (depends-on-p (target package)
                   "Does PACKAGE depend on TARGET?"
                   (or (eq target package)
@@ -457,7 +457,7 @@ version of that package."
                         (depends-on-p desc-a desc-b)))))
       (mapc #'search requirements)
       (cl-callf sort to-install #'version-order)
-      (cl-callf seq-uniq to-install)
+      (cl-callf seq-uniq to-install #'duplicate-p)
       (cl-callf sort to-install #'dependent-order))
     (mapc #'package-install-from-archive to-install)
     missing))