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

From: Robert Pluim <[email-masked]>
Date: Fri, 14 Apr 2023 15:52:35 +0200

>>>>> On Fri, 14 Apr 2023 13:56:05 +0100, João Távora <[email-masked]> said:

    João> On Fri, Apr 14, 2023 at 1:34 PM Robert Pluim <[email-masked]> wrote:
    >> So on master if I upgrade all packages, ':core' packages would be
    >> automatically upgraded as well?

    João> By definition, all :core packages in master are already at their
    João> newest version.

    >> I strongly object to that as a
    >> default; just because thereʼs a newer version on elpa of a :core

    João> I really planned to sit this one out, but I'd like to make
    João> sure people understand the implications of what they're asking for.

    João> On Emacs 26, 27, 28 if the user has

    João>   (package-install 'some-package-now-in-core)

    João> in her configuration, it gets upgraded to the most recent version
    João> there is.  In subsequent forms, the config can start doing stuff with
    João> the variables and definitions in 'some-package-now-in-core', etc.
    João> And the user can enjoy the newest features and bugfixes.

    João> On Emacs 29 and later, the very same config will do nothing
    João> and even probably/possibly break with an error.

    João> Furthermore, the subtle problem will grow more serious and
    João> bizarre as time goes on and "some-package-now-in-core" evolves.
    João> It might not break for users who upgrade to 29 next month
    João> and break for users who upgrade to 29 in 6 months' time, because
    João> "some-package-now-in-core" will have evolved significantly.

    >> package doesnʼt mean emacs should upgrade to it unless *explicitly*
    >> told to do so.

I have no objection to catering to people who have already asked for
the installation of a package that is now :core. But one that wasnʼt
installed explicitly (ie itʼs only there because Emacs now ships it)
shouldnʼt be upgraded.

    João> I really don't understand why M-x package-install RET
    João> <types-name-of-package> RET isn't explicit enough.  But I guess a
    João> a confirmation prompt could be logical.  I haven't followed
    João> all mails, maybe someone has proposed that?

I donʼt know. Iʼd be fine with that.

    João> As for non-interactive package-install, I guess that finding an
    João> explicit `package-install` somewhere in the configuration is reason
    João> enough to assume that the user meant for it to have the meaning
    João> and effect it has always had before she upgraded to a version
    João> where the same package happens to be in :core, and that meaning is
    João> "upgrade to the newest".

I think weʼre pretty much in agreement :-)

Robert
--