Subject: Re: bug#72141: 29.4; package-upgrade vs package-load-list

From: Eli Zaretskii <[email-masked]>
Date: Sun, 28 Jul 2024 15:27:31 +0300

> From: Philip Kaludercic <[email-masked]>
> Cc: Thierry Volpiatto <[email-masked]>,  [email-masked]
> Date: Sun, 28 Jul 2024 11:47:44 +0000
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> From: Thierry Volpiatto <[email-masked]>
> >> Date: Tue, 16 Jul 2024 14:46:37 +0000
> >> 
> >> 
> >> I think there is a bug here, but please verify with following recipe as
> >> I don't use widely package installation, at least for myself.  When reading
> >> the code I believe it is reproductible as well on emacs-30+.
> >> 
> >> 1) Install package foo and bar.
> >> 2) Disable them in package-load-list ((foo nil) (bar nil) all).
> >> 3) Wait some time until foo and/or bar have new versions available.
> >> 4) Call package-upgrade-all.  It will call package-upgrade on foo
> >> and bar (and possibly others).  When package-upgrade find foo
> >> package it will (1) delete it and (2) call package-install which
> >> will refuse to install (error) because foo is disabled.
> >> 
> >> As a result we have lost foo package, it is now uninstalled.
> >> Same problem with M-x package-upgrade, foo and bar are listed in
> >> completion and made available whereas they are going to fail to
> >> upgrade.
> >
> > Philip, any comments or suggestions?
> 
> The issue is that we don't install a package if it is disabled.  So
> either we allow installing (but don't activate) disabled packages, or we
> ignore disabled packages during upgrades.

The latter, I'd say.  It makes little sense to upgrade disabled
packages.