clarete / hackernews.el

Hacker News client for Emacs
GNU General Public License v3.0
248 stars 26 forks source link

Drop support for Emacs 23 #46

Closed basil-conto closed 3 years ago

basil-conto commented 6 years ago

Debian 7 "Wheezy", the current OldOldStable distribution and the last one to ship Emacs 23, has reached its end-of-life: https://lists.debian.org/debian-announce/2018/msg00001.html. As a Debian Testing/Sid user, I am already unable to build Emacs 23 and will now no longer be able to install it, either. By extension, I will no longer be able to maintain Emacs 23 support for hackernews.

Dropping support for Emacs 23 was already discussed to an extent in #42. I will now wait a week and, if there are no objections in the meantime, will freely drop support for Emacs 23 in subsequent hackernews updates.

TODO

basil-conto commented 6 years ago

Hmm, Debian seems to also be transitioning from multiple point release binaries like emacs24 and emacs25 to a single rolling release binary emacs, which is currently at version 25.2. This means I am no longer able to install Emacs 24 either.

But I think it would be too soon to drop Emacs 24 support, so I'll probably have to run older Debian versions in a VM or switch to the Nix package manager or something. The bad news is that it will not be as easy for me to test things on older Emacsen, and I don't have time to look into new package management systems like Nix at the moment. The good news is that, if I can get Emacs 24 installed again, I might also be able to install Emacs 23.

Any suggestions on how I could have multiple Emacs versions installed simultaneously would be greatly appreciated. I would also appreciate renewed thoughts on whether it's worth supporting older Emacsen when even Debian isn't doing that any more.

basil-conto commented 6 years ago

I would also appreciate renewed thoughts on whether it's worth supporting older Emacsen when even Debian isn't doing that any more.

One datum is that Magit, possibly one of the most popular third-party Emacs packages, supports only Emacs 25.1 and newer.

clarete commented 6 years ago

Hello @basil-conto! Thanks for bringing that up! It's always great to get to know more about what's going on in the Emacs packaging world.

One thing that I can see as a possibility is to think of covering the code with tests that can be ran in an automated fashion against different Emacs versions on a CI. I think that wouldn't be exactly perfect but could cover a good range of bugs and it'd be easier to support oddities on a best effort basis. The worse problem I can see here is the increased complexity, it'd be great to know how many people use hackernews.el on older Emacs versions.

It's been a while since I've been using Emacs from git so I'm really out of what's going on with older versions and it wouldn't really impact me as a user but I'd certainly be interested in knowing what other people think.

basil-conto commented 6 years ago

One thing that I can see as a possibility is to think of covering the code with tests that can be ran in an automated fashion against different Emacs versions on a CI. I think that wouldn't be exactly perfect but could cover a good range of bugs and it'd be easier to support oddities on a best effort basis.

Yes, regression testing is a good way to achieve some sanity / peace of mind when supporting multiple versions. We will probably need to mock some local payload test data so as to avoid network dependency/lag, though.

The worse problem I can see here is the increased complexity,

I don't think the compatibility complexity is too overwhelming in this case. I'm more worried about someone reporting an issue which I can't debug because I don't have the right Emacs version. Luckily, the functional core of hackernews.el is currently relatively small and simple.

it'd be great to know how many people use hackernews.el on older Emacs versions.

Indeed, though it pleases me to know that hackernews.el supports multiple Emacs versions regardless. :)

It's been a while since I've been using Emacs from git so I'm really out of what's going on with older versions and it wouldn't really impact me as a user but I'd certainly be interested in knowing what other people think.

Same here, though the Debian binaries (which I can't build myself any more) allowed me to easily test multiple Emacs versions.

basil-conto commented 5 years ago

But I think it would be too soon to drop Emacs 24 support, so I'll probably have to run older Debian versions in a VM or switch to the Nix package manager or something. The bad news is that it will not be as easy for me to test things on older Emacsen, and I don't have time to look into new package management systems like Nix at the moment. The good news is that, if I can get Emacs 24 installed again, I might also be able to install Emacs 23.

Update: I was able to install Emacs 24.4 on a Debian 8 "Jessie" (oldstable) VM.

basil-conto commented 5 years ago

Update: I was able to install Emacs 23.4 on a Debian 7 "Wheezy" (oldoldstable) VM, and hackernews.el still byte-compiles and works (no need for systemd)! :)

Having said that, I intend to keep the VM around mostly as a personal curiosity and for posterity. I do not intend to limit future hackernews.el additions to Emacs 23 compatibility unless someone speaks up in this thread.

clarete commented 5 years ago

That's awesome! Thanks for the tip on which Debian version it'd work for each Emacs! \o/