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

From: Stefan Monnier <[email-masked]>
Date: Fri, 14 Apr 2023 11:52:40 -0400

> Maybe you can answer this: if a user is setting up Emacs 28 in company
> laptop machines regularly and does M-x package-install RET eglot RET there,
> or has a script with (package-install 'eglot), should or shouldn't this
> user, in your opinion, be allowed to do exactly the same, with the same
> predictable results (in this case getting the latest Eglot), when she starts
> doing the same in Emacs 29, which now contains Eglot as a built-in?

Good point.  I think the answer is that we should distinguish "install"
from "upgrade" (and offer a way to do both, of course).

And I think we do want to break backward compatibility here (arguably we
even can't not break compatibility), because the Emacs<29 semantics of
`package-install` is "broken", since it does "install&upgrade" for
non-builtin packages but not for builtin packages: either we keep that
semantics and compatibility is broken when packages move to/from
builtin, or we change that semantics and compatibility is broken by the
change in semantics :-)

        Stefan