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

From: João Távora <[email-masked]>
Date: Fri, 14 Apr 2023 20:46:02 +0100

On Fri, Apr 14, 2023 at 8:28 PM Eli Zaretskii <[email-masked]> wrote:
>
> > From: João Távora <[email-masked]>
> > Date: Fri, 14 Apr 2023 20:20:20 +0100
> > Cc: [email-masked], [email-masked], [email-masked],
> >       [email-masked], [email-masked], [email-masked]
> >
> > On Fri, Apr 14, 2023 at 7:51 PM Eli Zaretskii <[email-masked]> wrote:
> >
> > The Eglot release 1.14 is not as stable as 1.12.29. It has new features.
> > Also a recent bugfix in commit a74403adda0 is quite complex and
> > I'm cautiously waiting for feedback.  Other simple bugfixes have
> > been backported.
>
> So you don't recommend that users who want a stable Eglot upgrade to
> 1.14?

Depends on how "stable" they want it and how badly they want new
features.

> If so, why is it a problem that package-install by default
> doesn't update built-in packages?  Users who want the cutting edge of
> Eglot, and don't mind some instability, can always switch to the
> master branch of Emacs, where we are free to change package-install to
> upgrade core packages by default.

Users don't just switch to the master branch of Emacs.  Many just
can't because of enterprise complications, or just difficulty of compilation.
I've worked in companies using Emacs (some of them exclusively!!) for 20
years.  Most users are two, sometimes, three Emacs releases behind.
They are not remotely interested in updating.  "IT doesn't like it".
"It's not the official".  "This one is just fine".

But if a colleague goes to their workstation and shows them
M-x package-install RET very-fancy-nice-thing or sends them a
super-fancy init.el they will take it no problem, and buy you
coffee and rave about it. I can't be the only one who has
experienced this :-)

> > But if someone types M-x install-something they should get what
> > they ask for.  If they want to be 100% safe, they just shouldn't
> > invoke commands that download, compile and evaluate code.
>
> The logic should be consistent.  Emacs 29 is the stable branch of
> Emacs, so it should come with the latest stable Eglot.  If that is
> Eglot 1.12.29, then the fact that package-install won't upgrade it to
> 1.14 is consistent with the stability of Eglot's versions.  If, OTOH,
> you think that it's imperative to allow _all_ users of Eglot with
> Emacs 29 to upgrade to Eglot 1.14 (and 1.15, 1.16, etc., when those
> become available), then we should release Emacs 29 with 1.14.

I think it's imperative to _allow_ -- as you say -- and also and
to _make easy_.  More importantly, and to the point, to _make it
as easy as it was in Emacs 26, 27 and 28_.  But I'd prefer not to force
Eglot 1.14 (or likely 1.15/1.16 by the time i expect the final RCs
to be around).

> > Notwithstanding this personal opinion, I underline again that
> > it _is_ possible to craft a simple, emacs-29-safe modification,
> > to the package-install function that is even more cautious to
> > download certain types of things.
>
> Philip presented such a safe modification, and we are in the final
> stages of discussing its details, before it will be installed.  So
> yes, it is possible.

As I've explained to Philip, the big drawback of that -- undoubtedly
safe -- modification is that it is not compatible to user's
configurations that have a (use-package 'eglot) or a
(package-install 'eglot) in them.

João