pkgsrc-Users archive

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

Re: Is there any interest in having multiple versions of emacs installed simultaneously?



At Tue, 08 Mar 2022 08:35:40 -0500, Greg Troxel <gdt%lexort.com@localhost> wrote:
Subject: Re: Is there any interest in having multiple versions of emacs installed simultaneously?
>
> My view is that pkg_alternatives is optional, so it is not ok to have a
> bad user experience without it.
>
> As a user, "emacs<cr>" ought to work.

That's a very good point, and I agree -- I meant to say something
similar too.

More about this aspect below....

> Generally, we have multiple versions when it is necessary because
> something that many others depend on breaks the API/ABI or storage
> formatfaster than the depending things catch up.  I put in this
> category:
>
>   python
>   mongo
>   guile
>   php
>   postgresql
>   mysql
>   gcc
>
> and probably others.  In general, having multiple is a negative, and
> only ok because the alternative is breaking lots of depending things.

Yup, and that is essentially the case for Emacs too.

> Why do you want to run multiple emacs versions?

Once upon a time there was good backward compatability for both .elc
files, as well as the elisp API.

However there's been an increasing amount of churn in emacs in recent
years, and not only have major parts of the API changed, but even .elc
files are not "ABI" safe so to speak (though what I know of the latter
is mostly of an anecdotal nature, especially since I've been versioning
my local package archives for some time).

One of the main problems I encounter is through having a shared $HOME
where different machines will be running different versions of emacs.

Typically I compile my ~/.emacs.el, and so I have to do that with the
oldest version on my network.  Ideally I'd like to be able to do that on
my main server too by simply choosing an older variant to do the compile
with.

The other main issue is with testing for emacs package (ELPA/MELPA)
development.  If I'm trying to support different versions, and/or if I'm
trying to debug problems with someone else's package (or some init
fragments), I need to run different versions of emacs, and ideally I
want to do that all from the same host.


> how many other people do you think want that?

Finding the answer to that is one of the reasons I posted  :-)


> One strategy is like python, with python2.7 as the binary and everything
> else versioned.

That's almost exactly what I think would be best.  All other forms are
increasingly difficult to work with.

The issue of having a plain "emacs" that "just works" can be easily
solved without pkg_alternatives by having a custom "general" package,
and indeed we already have the generic packages, just without the
wrapper script(s) and/or symlink(s).

(In fact I always wanted a generic python package too that supplied a
"python" wrapper for the most commonly desired/supported/used version,
though that has been more or less solved for my own purposes with
pkg_alternatives.)

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpNLRo2CRgf7.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index