Subject: Re: bug#59404: 29.0.50; Init-debug error when package-vc-install package and run older emacs

From: Philip Kaludercic <[email-masked]>
Date: Sun, 20 Nov 2022 14:38:54 +0000

Feng Shu <[email-masked]> writes:

> When I package-vc-install corfu-terminal and run an older version
> emacs

Does the following fix the issue for you:

>From 94c6d2bffed33e78f10618b0e033a39071d6eb5f Mon Sep 17 00:00:00 2001
From: Philip Kaludercic <[email-masked]>
Date: Sun, 20 Nov 2022 15:36:24 +0100
Subject: [PATCH] Don't break when loading VC packages on older Emacs versions

* lisp/emacs-lisp/package-vc.el
(package-vc--generate-description-file): Append a :kind property
instead of modifying the version number.
* lisp/emacs-lisp/package.el (package-desc): Remove special handling
for "vc annotated" versions.  (bug#59404)
---
 lisp/emacs-lisp/package-vc.el | 3 ++-
 lisp/emacs-lisp/package.el    | 4 +---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 9e2bd106cb..c0079b8fe9 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -334,7 +334,7 @@ package-vc--generate-description-file
          (nconc
           (list 'define-package
                 (symbol-name name)
-                (cons 'vc (package-vc--version pkg-desc))
+                (package-vc--version pkg-desc)
                 (package-desc-summary pkg-desc)
                 (let ((requires (package-desc-reqs pkg-desc)))
                   (list 'quote
@@ -344,6 +344,7 @@ package-vc--generate-description-file
                            (list (car elt)
                                  (package-version-join (cadr elt))))
                          requires))))
+          (list :kind ''vc)
           (package--alist-to-plist-args
            (package-desc-extras pkg-desc))))
         "\n")
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index c1545a2870..e11c5d693e 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -483,9 +483,7 @@ package-vc-p
                                (if (eq 'quote (car requirements))
                                    (nth 1 requirements)
                                  requirements)))
-                 (kind (if (eq (car-safe version-string) 'vc)
-                           'vc
-                         (plist-get rest-plist :kind)))
+                 (kind (plist-get rest-plist :kind))
                  (archive (plist-get rest-plist :archive))
                  (extras (let (alist)
                            (while rest-plist
-- 
2.35.1

Note that this requires re-installing the VC packages to make sure the
-pkg.el files are regenerated.