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

From: Feng Shu <[email-masked]>
Date: Wed, 23 Nov 2022 20:25:11 +0800

Philip Kaludercic <[email-masked]> writes:

> Feng Shu <[email-masked]> writes:
>
>> Philip Kaludercic <[email-masked]> writes:
>>
>>> Feng Shu <[email-masked]> writes:
>>>
>>>> Philip Kaludercic <[email-masked]> writes:
>>>>
>>>>> 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:
>>>>
>>>> I have tested and find that when I install this patch and reinstall
>>>> popon and corfu-terminal,
>>>>
>>>> 1. *Packages* buffer do not show packages installed by
>>>> package-vc-install
>>>> 2. package-update, package-delete do not show packages installed by
>>>> package-vc-install.
>>>> 3. restart emacs has not effect.
>>>
>>> Did you re-install the packages?
>>
>> Yes, when I apply this patch, packages before installed are dispear, so
>> I install them with package-vc-install, after install, packages do not
>> show like above.
>
> Sorry about that, I misread your message.  There was a minor typo/thinko
> in the last patch:

I have testd, it work and older emacs do not show error.

>
> From 46d2f3542100efd2019f5f4703e21f5d45baed71 Mon Sep 17 00:00:00 2001
> From: Philip Kaludercic <[email-masked]>
> Date: Sun, 20 Nov 2022 15:36:24 +0100
> Subject: [PATCH 1/2] 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 a999596785..bf1ea2bdf4 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

--