Subject: Re: bug#71356: use-package doesn't load org from elpa

From: Eli Zaretskii <[email-masked]>
Date: Thu, 06 Jun 2024 12:21:26 +0300

> From: Philip Kaludercic <[email-masked]>
> Cc: Pedro Andres Aranda Gutierrez <[email-masked]>,  [email-masked],
>   [email-masked]
> 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?

> > 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).

> 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.