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

From: João Távora <[email-masked]>
Date: Sat, 22 Apr 2023 01:57:17 +0100

On Sat, Apr 22, 2023 at 12:12 AM Dmitry Gutov <[email-masked]> wrote:

> I, personally, don't really buy this kind of argument, but I figured you
> might. After all, it's rather in line with reasoning we've seen voiced
> around these parts many times ("X has worked this way for Y years, let's
> never change it from now on"). Classic https://xkcd.com/1172/.

The CI + user instructions having to be updated is unfortunate, but I can
change those (and M-x eglot-update is a simple way to give predictable
consistent semantics for "bringing Eglot to latest").

Then there are the things I can't change, like users trying out
a new init.el file, a very common operation -- be it for bug
reproduction or just to try something out.  Also note that
package-delete + package-install interactively is a  pretty good way
to update packages in Emacs 28: no need to nuke the home directory.

In general, it's hard to predict the damage of hard-to-explain different
behaviour of these forms depending on whether you're on 28 or 29.
Or, the way this seems to be going, 30.

If 29 ships with this bug, it's going to linger for a good while,
and get worse as time passes.

If you "dont buy this", that's OK :-) I'm not trying to sell it to you
specifically.  I don't think we'll have torches and pitchforks either,
but we're not really talking about "spacebar overheating" here.

Note that I also don't really buy, personally, the "furtive update of
:core packages" argument either.  My reasoning is that that cat has
been out of the bag for a long long, just because of dependencies which
are absolutely liberally by package.el and the fact tha I've never seen
a bug reported about this.

I buy even less that people using M-x package-update in Emacs 29
don't want to update :core packages just because it doesn't do
that right now.  For me, it's obvious people weren't using to
update :core packages because that command lived in master
for the large part of its short life and in master :core packages
don't need any updating, by definition. But of course fact that I
don't buy it  shouldn't mean that it should be disregarded (and
noone is advocating for that).

The last two patches I provided aim to aid Eglot users (lightly,
as you've discovered, since the use-package use case is not well
covered in the first one, and there's still the error behaviour
to ponde).  But, more importantly they are designed so that no
cats that weren't previously out of the bag make it outside
the bag

João