emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Stability of core packages (was: Not easy at all to upgrade :core pa


From: João Távora
Subject: Re: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot)
Date: Wed, 19 Apr 2023 20:15:20 +0100

On Wed, Apr 19, 2023 at 7:07 PM Eli Zaretskii <eliz@gnu.org> wrote:

> It has similar problems: it will automatically update packages
> mentioned in package--safely-upgradeable-builtins, which might not be
> what users want for built-in packages.

It is what they want, by definition, this is why I named it
"safely-upgradeable-builtins".  These are the users:

  Specifically, users of Emacs 28 and older, who had Eglot installed,
  and expect Eglot to be automatically updated upon Emacs startup
  whenever a new Eglot version is available, will now have their
  expectations broken after they upgrade to Emacs 29, because Eglot is
  now a built-in package, and package.el won't by default upgrade a
  built-in package.

Recognize this writing? It is yours!

> You assume that everyone will
> want Eglot and use-package automatically updated, but this assumption
> has no real basis.

First, of course it has real statistical basis! Didn't I send you
links to tens and tens of issues were users reported their configurations
and one can actually see what users are doing to install Eglot?

Secondly, it has the theoretical basis of what you wrote yourself
barely 1 hour ago!  It shows you understand the problem that is
new in Emacs 29.

Using your language, we want to not "break those user's expectations".
if we can.  And we can, if you want to.  You want to, right? You want to
break as few user's expectations as possible, ideally 0.

And the code does exactly that! It avoids bothering that set of
users while also avoiding bothering the other set of users that
you mentioned.

And, for good measure, the set of users who had Eglot installed
and expect Eglot NOT to be updated when package-install is found
is the empty set.  Surely this is evident.

So there's no "dilemma".  There is rather some kind of spectacular
misunderstanding here.  There has to be, because I'm drawing these
conclusions from nothing more than elementary facts from set theory

> Plus, it adds to the maintenance burden of maintaining this
> (internal? not a defcustom??) variable for good.

We can make it a defcustom if you want.  That's exactly
Jim's idea.  I was just trying to make the simplest thing
possible.  This is just for Emacs 29.  You asked for little
code and this is much less code (less cyclomatic complexity,
etc) than what you eventually accepted.  So I was just trying to
cover that front too.

João



reply via email to

[Prev in Thread] Current Thread [Next in Thread]