Subject: bug#62720: 29.0.60; Not easy at all to upgrade :core packages like Eglot

From: João Távora <[email-masked]>
Date: Wed, 12 Apr 2023 12:35:23 +0100

On Wed, Apr 12, 2023 at 12:21 PM Eli Zaretskii <[email-masked]> wrote:
>
> > From: João Távora <[email-masked]>
> > Date: Wed, 12 Apr 2023 12:15:11 +0100
> > Cc: [email-masked], [email-masked], [email-masked],
> >       [email-masked]
> >
> > > This has the same problem: it modifies a function that is called in
> > > too many places.  package-installed-p has half a dozen callers in
> > > package.el alone.  The change is tiny, but what about its
> > > implications on every use case where it is involved?
> >
> > What about them?  I volunteer to help test whichever cases you (or
> > anyone else) think may be problematic.
>
> We will never be able to reveal them all, let alone test them, before
> Emacs 29.1 is released.

Were there even :core packages back in 2015 when this package-install
safeguard was added in package-installed-p?  I haven't checked, but
I think not. I think this is just a plain oversight in an irregularly
maintained library, if I've ever seen one.  Why not just fix it?
The other use cases of package-installed-p you mention pass a
package-desc structure, and there this safeguard doesn't
even exist (see the docstring).

> > Can we put this tiny patch on master then?
>
> Yes, if Philip and Stefan don't object.  But, since there will be a
> command for updating core packages, doesn't this go against your
> desire not to change the UX?

IMO The user experience is bad/broken.  So at least I want to change it,
if minimally.  That's what any bug report is about, to change UX for the
better.  Here, to let people not to have to go through odd hoops big or
small to install packages or know if something is built-in/core or not.

João