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: Jim Porter
Subject: Re: Stability of core packages (was: Not easy at all to upgrade :core packages like Eglot)
Date: Tue, 18 Apr 2023 11:56:58 -0700

On 4/18/2023 5:57 AM, Eli Zaretskii wrote:
So this again goes back to the main issue: how should the stability
considerations affect development of core packages and their
"stability gradation"?

It sounds to me like there are 3 or 4 levels (depending on how you count):

* Stable: the version of a package included in the latest Emacs tarball
* Latest: the latest version on GNU ELPA (etc)
* Devel: the latest version on GNU-devel ELPA (etc)

You could possibly add:

* Core(?): the version of a package included in the tarball of the user's *current* Emacs installation

I think these 3 or 4 levels should be plenty for 99% of scenarios. From this, we can also propose a hard rule: packages at a certain level should only depend on other packages at the same level or lower (so a "latest" package can't depend on a "devel" package). We could also add as soft guidance: a package should do its best to require only stable versions of dependencies where feasible.

However, this runs into the problem João saw: if your package (e.g. Eglot) would strongly benefit from requiring a newer version of a dependency (ElDoc), what should you do? Currently, the only options are a) do nothing and let users have a worse experience or b) make the user upgrade the dependency too, even if they don't particularly want it. Neither solution seems ideal to me.

One alternative would be for packages to be able to *recommend* dependencies. Then, Eglot could recommend newer versions of ElDoc, but they wouldn't actually be required. We could do this via some extra package metadata, or maybe the follow simple solution would be enough: when installing a package from a particular archive[1], offer the user the option of also installing any of the package's requirements from that archive too. So, if I installed Eglot from GNU ELPA, Emacs would suggest that I also install ElDoc, etc from GNU ELPA too. (Of course, if a package truly *requires* a newer version of a package that's only available in ELPA, it wouldn't need to prompt the user.)

[1] You could also think of this as "installing a package of a particular stability level".



reply via email to

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