GNU bug report logs - #59087
29.0.50; package-vc-update error

Previous Next

Package: emacs;

Reported by: Feng Shu <tumashu <at> 163.com>

Date: Mon, 7 Nov 2022 02:34:02 UTC

Severity: normal

Found in version 29.0.50

Fixed in version 29.1

Done: Philip Kaludercic <philipk <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Feng Shu <tumashu <at> 163.com>
To: Philip Kaludercic <philipk <at> posteo.net>
Cc: 59087 <at> debbugs.gnu.org
Subject: bug#59087: 29.0.50; package-vc-update error
Date: Sat, 19 Nov 2022 12:59:54 +0800
Philip Kaludercic <philipk <at> posteo.net> writes:

> Feng Shu <tumashu <at> 163.com> writes:
>
>> Philip Kaludercic <philipk <at> posteo.net> writes:
>>
>>> Feng Shu <tumashu <at> 163.com> writes:
>>>
>>>> Philip Kaludercic <philipk <at> posteo.net> writes:
>>>>
>>>>> Feng Shu <tumashu <at> 163.com> writes:
>>>>>
>>>>>> I have found another issue:
>>>>>>
>>>>>> If I run package-update when emacs first start, it will show error:
>>>>>>
>>>>>> package-update: Symbol’s function definition is void: package-vc-update
>>>>>
>>>>
>>>> When I install another package, for example: cnfonts, package-update do
>>>> not show cnfonts, I need to reboot emacs.
>>>
>>> That is interesting, it the package listed in the Package List before
>>> restarting?
>>
>> I have installed cnfonts tar from melpa before, when I delete it,
>> package-update show cnfonts. 
>
> Ok, so it looks like the issue is in the following:
>
>   (seq-filter
>     (lambda (elt)
>       (or (let ((available
>                  (assq (car elt) package-archive-contents)))
>             (and available
>                  (version-list-<
>                   (package-desc-version (cadr elt))
>                   (package-desc-version (cadr available)))))
>           (package-vc-p (cadr (assq (car elt) package-alist)))))
>     package-alist)
>
>
> specifically the
>
> (package-vc-p (cadr (assq (car elt) package-alist)))
>
> We store all package descriptions in `package-alist', but here we only
> check the first one (which is also the one I believe that is activated).
>
> But after restarting Emacs, package.el makes sure that VC packages are
> prioritised, so that is why the check does work later on.
>
> The question is, what package is enabled?  I'd say that if after
> installation, you run M-x find-library and end up in the MELPA
> directory, then we would have to make up our mind of this is the right
> thing or not.
>
> But if the VC package is active, then we just have to make sure that it
> is inserted at the beginning of the list, and not at the end.
>

Maybe this issue is related package dependent, I have test like below:


1. before package-vc-install

(find-library-name "popon") => "/home/feng/.emacs.d/elpa-29/popon-0.12/popon.el"
(find-library-name "corfu-terminal") => "/home/feng/.emacs.d/elpa-29/corfu-terminal-0.5/corfu-terminal.el"

2. package-vc-install popon

(find-library-name "popon") => "/home/feng/.emacs.d/elpa-29/popon/popon.el"
(find-library-name "corfu-terminal") => "/home/feng/.emacs.d/elpa-29/corfu-terminal-0.5/corfu-terminal.el"

popon item is showed when run package-vc-update.

3. package-vc-install corfu-terminal

(find-library-name "popon") => "/home/feng/.emacs.d/elpa-29/popon/popon.el"
(find-library-name "corfu-terminal") => "/home/feng/.emacs.d/elpa-29/corfu-terminal/corfu-terminal.el"

package-vc-update only show corfu-terminal, and popon lost.
corfu-terminal is depend on popon.



-- 





This bug report was last modified 2 years and 217 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.