On Mon, 10 Jun 2024 at 08:02, Philip Kaludercic wrote: > Eli Zaretskii writes: > > >> From: Philip Kaludercic > >> Cc: Pedro Andres Aranda Gutierrez , > acorallo@gnu.org, > >> 71356@debbugs.gnu.org > >> Date: Thu, 06 Jun 2024 06:15:44 +0000 > >> > >> Sorry for the delayed response; I don't think that has to be expected. > >> While use-package can utilise package.el for package management, my > >> impression is that it is at liberty to be more flexible/declarative. > > > > Doesn't use-package utilize package.el already? > > > > If not, how does it handle installation and upgrades? by its own code? > > By default it uses package.el, but there is an option to change it. > > >> > Do you have package-install-upgrade-built-in set non-nil? If not, can > >> > you set it non-nil and try the recipe again? > >> > >> I have tried it out myself, and it doesn't appear to do anything. The > >> issue looks like that `package-installed-p' doesn't respect > >> package-install-upgrade-built-in or :pin. > > > > We should fix that, I think. If package-install-upgrade-built-in is > > non-nil, use-package should upgrade built-in packages. > > > >> > As for a feature request: what exactly is the feature requested here? > >> > Are you saying that use-package should automatically upgrade built-in > >> > packages? If so, I don't think this will fly, since it would mean > >> > inconsistencies with package-install. > >> > >> IIUC the feature would be that if a use-package form has a > >> > >> :pin gnu > >> > >> argument, then this is an indication that we want to install the package > >> from GNU ELPA, disregarding the fact that Emacs already has a built-in > >> version of the same package. Sort of a package-local version of > >> `package-install-upgrade-built-in'. > > > > I'm not sure. People tend to copy/paste recipes from the Internet > > without really understanding what they do. I think a simple :pin > > should not be sufficient, we need some specialized keyword (in > > addition to supporting package-install-upgrade-built-in). > > To me :pin would make perfect sense, as it explicitly expresses what > archive we want to follow for package upgrades. > > >> I am not familiar with the use-package code, but it seems like we could > >> implement this generally in package-install, by checking > >> `package-pinned-packages'. > > > > I would prefer not to introduce another indication of whether built-in > > packages should or should not be upgraded. If we do, we will next > > need to decide which one "wins" when they contradict each other. > > One idea would be that use-package would check :pin and then > conditionally bind `package-install-upgrade-built-in' when invoking > `package-install'. That being said, I am not a fan of the user option > any way, and wouldn't mind if we came up with a cleaner solution. > > -- > Philip Kaludercic on peregrine > Just as a "parachute", one could obey the global `package-install-upgrade-built-in` value and make :pin cry out for built-in packages when the user indicates a repo and `package-install-upgrade-built-in` is nil My .2cents, /PA -- Fragen sind nicht da, um beantwortet zu werden, Fragen sind da um gestellt zu werden Georg Kreisler Headaches with a Juju log: unit-basic-16: 09:17:36 WARNING juju.worker.uniter.operation we should run a leader-deposed hook here, but we can't yet