jyp / dante

391 stars 52 forks source link

Support for Emacs 27 dropped in 6d212f3 #167

Closed svenpanne closed 2 years ago

svenpanne commented 2 years ago

I think that https://github.com/jyp/dante/commit/6d212f3c1dbfae90907b084072288c92fb128d0e is a suboptimal idea, to say the least, it completely removed support for Emacs 27.x. :cry: Note that this (27.1) is still the Emacs version e.g. in the current Ubuntu jammy (22.04 LTS) and probably even in the upcoming Ubuntu kinetic. And upgrading to 28.x is sometimes not an option, not every package out there already works with that Emacs version (i.e. has the inverse problem).

What makes things worse, spacemacs uses dante in its Haskell layer, which results in the installation of dante + lcr at every startup, then a failure happens because of the fixed dependency on Emacs 28.1 when you have some 27.x, plus a following rollback of dante + lcr. As this happens at every startup, I'll have to figure out how to disable dante when using spacemacs.

Can we please have a dante version which works with 27.x, too? It might have less features and/or be slower then, but it should still be usable. This is what most other Emacs packages do.

jyp commented 2 years ago

I'd like to point out that I'm making releases for situations like these. You can always pull Dante 1.7. Now, if you want to track the development version, I don't have to declare the explicit dependency on Emacs 28, but eldoc support would be broken for Emacs 27.

svenpanne commented 2 years ago

The problem is that I don't pull anything, it's spacemacs, and it would involve quite some configuration Kung Fu + local modifications to pin versions of packages because of such incompatibilities. What more likely happens is that the unportable package in question is completely kicked from the Spacemacs layer. Emacs 27.x is still used very much.

Wouldn't it be possible to revert the dependency declaration back to its previous value and use some boundp magic plus perhaps some fallback code for simpler, but working functionality in Emacs <28?

jyp commented 2 years ago

Well, it seems that the API that I was using is in Emacs 27. Then I can safely downgrade the dependency. This should be fixed in master.

Thanks for the report!

svenpanne commented 2 years ago

One question about https://github.com/jyp/dante/commit/9848f7bbef7e15999c0d5bcfdfb3f6d5cb3b9f3a: Is Emacs 27.2 really required or is 27.1 already enough? The current and upcoming Ubuntus ship only 27.1:

In other words: For me 27.2 is as bad as 28.1. :wink: Looking at https://github.com/emacs-mirror/emacs/blob/master/etc/NEWS.27, 27.1 should be OK, too, I guess.

jyp commented 2 years ago

Yep, 27.1 is good, sorry.