|
|
Subscribe / Log in / New account

Emacs 29.1 released

Emacs 29.1 released

Posted Aug 8, 2023 22:17 UTC (Tue) by jacktucker (guest, #166423)
In reply to: Emacs 29.1 released by wtarreau
Parent article: Emacs 29.1 released

Emacs developers are rather conservative in the changes they introduce, at least the intent is that nothing, or as few things as possible, should break when upgrading from one version to another.

What happens from time to time is that, after much discussion, the default value for a configuration variable is toggled. In that case resetting that configuration variable to its former default value restores the previous behavior. This is always documented in the NEWS file, but that file is too big, and understandably few users read it.

I would suggest that the next time you upgrade and you face such a problem you ask for help on help-gnu-emacs@gnu.org. You don't need to be subscribed, and usually most questions posted there are answered in a few hours.


to post comments

Emacs 29.1 released

Posted Aug 9, 2023 1:01 UTC (Wed) by repetitivestrain (guest, #165872) [Link] (4 responses)

Btw, I don't recall us modifying anything relevant to electric indent in the past several releases (apart from a small change to enable indenting inside strings and comments), so please report the behavior you witness as a bug. Given that what changed is Emacs itself and not a package, of course, but in that case the fault doesn't lie with us.

Emacs 29.1 released

Posted Aug 10, 2023 4:09 UTC (Thu) by wtarreau (subscriber, #51152) [Link] (1 responses)

Interesting. I don't remember what it was exactly with indent, but it changed once significantly between 24 and 27 (I think there was a first major step between 24 and 25 and another smaller one later). I seem to remember that a new mechanism with a fancy name was used instead of the previous one. But I'm not fluent in these things, I really do not want to become a developer of my editor, I'm just a user. It's possible that some of the accompanying packages broke or worked differently, but I clearly remember a news indicating we'd be getting a much better thing than before.

I must say I don't have the reflex to file bugs related to incompatible changes, I imagine they're expected, and frankly when I have to start working on my activities and spend 3-4 hours trying to get my editor back in a state where it's barely usable, the last thing I want to do is to set everything aside and switch to an editor debugging session. That's too central a piece of program for lots of developers.

What I'm really missing is the ability to roll back to an older version in fact. Usually it comes with plenty of packages and it seems everything is tightly coupled, so if you want to roll back you need to roll back everything, and often the older binaries are incompatible with the newer distro due to dependencies on older libs (which is not emacs' fault, just the total mess that lib dependencies on distros is due to some libs having no consideration for strict forward compatibility).

Sadly it's much easier and riskless to upgrade a kernel than an editor, because if it doesn't work, you just restart from the previous one and you're done. The kernel is only an isolated binary with zero dependency. An editor is in fact much more of a whole ecosystem and you rarely have that flexibility.

Emacs 29.1 released

Posted Aug 10, 2023 13:04 UTC (Thu) by jacktucker (guest, #166423) [Link]

> I don't remember what it was exactly with indent, but it changed once significantly between 24 and 27 (I think there was a first major step between 24 and 25 and another smaller one later). I seem to remember that a new mechanism with a fancy name was used instead of the previous one.

Yes, that's electric-indent-mode which was enabled by default in Emacs 24. I did not see that change, when I started using Emacs it was at version 25.

> I must say I don't have the reflex to file bugs related to incompatible changes

It's also something I did not do earlier, because I did not know it is so easy: all you need is to send an email to help-gnu-emacs@gnu.org. In my experience the community there is friendly.

Emacs 29.1 released

Posted Aug 10, 2023 18:07 UTC (Thu) by jem (subscriber, #24231) [Link] (1 responses)

> Given that what changed is Emacs itself and not a package, of course, but in that case the fault doesn't lie with us.

As someone who has used Emacs for about 40 years, but is only now trying to turn Emacs into a Java IDE, I want to say that Emacs's biggest weakness is not the instability of the core, but the packages. The packages change a lot, and their inter-compatibility is a challenge. I long for some kind of super-packages for more complex tasks like creating an IDE, which requires getting 15-20 packages from different sources to play nicely together. Or at least some official documentation; the situation today is that you have to search the web for third party instructions, which are typically outdated and abandoned.

Emacs 29.1 released

Posted Aug 10, 2023 23:49 UTC (Thu) by jacktucker (guest, #166423) [Link]

> I long for some kind of super-packages for more complex tasks like creating an IDE

What you describe explains the popularity of Emacs "starter kits", the two most popular ones are Doom Emacs and Spacemacs.

Emacs 29.1 released

Posted Aug 9, 2023 8:47 UTC (Wed) by mbunkus (subscriber, #87248) [Link] (4 responses)

> at least the intent is that nothing, or as few things as possible, should break when upgrading from one version to another.

Yeah that's not how I see it really happening. They always deprecate some functions in favor of others (often only to better match certain naming schemes), and you will have to update your installed (M)ELPA packages fairly regularly with your Emacs updates. If you write a lot of elisp code or even maintain packages yourself, updating Emacs often means also updating a handful of things in your own code.

Also there are often user-visible changes to certain packages that might not strictly be Emacs itself, but are considered to be part of the base Emacs package. The most notably for me was the recent change in how TRAMP now requires a protocol (e.g. /ssh:root@… instead of just /root@…).

Are they major pain points? Hmmm not really, definitely not comparable to e.g. the amount of changes required for going from Python 2.x to 3.y. But they're there.

All that being said: my upgrade from 28.x to 29.1 last week went by pretty much without a hitch. Yes, I also updated all my installed (M)ELPA packages at the same time, but that was it. No further issues since. Like it very much!

Emacs 29.1 released

Posted Aug 10, 2023 3:57 UTC (Thu) by wtarreau (subscriber, #51152) [Link] (3 responses)

> Yeah that's not how I see it really happening. They always deprecate some functions in favor of others (often only to better match certain naming schemes),

I agree, that matches my experience as well. After an upgrade, my old config spews errors that I have no idea how fix. I do not remember any *single* upgrade that did not report such errors.

The problem when the config is a programming language based on functions, is that you cannot get useful hints such as "this keyword is now deprecated in favor of XXX, please adjust your config". No, instead you get stuff like "unknown function" or "no such variable" and whatnot. For a user this is extremely frustrating because you just want to be able to do your work as you did before the upgrade and you end up having to waste 4 hours scanning the net looking for others facing similar errors, and blindly copy-pasting there random stuff you don't understand until you recover a barely tolerable behavior that allows you to try to restart your work where you left it without wasting more time.

And I'm really not using anything fancy. My emacs is just an editor, mostly for C (with tags), sometimes for plain text files and occasionally for bash scripts. It doesn't do any of the eye-candy stuff I'm seeing others configure such as auto-completion, make, git integration, mail reader, browser etc. And once in a while I open a remote file, when google manages to remind me the syntax for what looks like a URL but is not. It's just an editor that I find comfortable when it works because it supports multiple files, multiple windows, including with the same file in several windows and copy-paste between multiple processes. I'm sure emacs developers would be extremely disappointed by seeing my simple level of usage and that I probably totally ignore most of the features they work on on a daily basis, and whose presence justifies breaking my usage from time to time.

I got used to its key bindings but I could probably switch to a much lighter reimplementation that supports the same bindings, multi-window/ediff, and syntax highlighting. Before X was a regular thing on Linux, I used to use "joe" which was quite good and light by then. But xemacs then emacs made it more comfortable to work on multiple files.

Emacs 29.1 released

Posted Aug 10, 2023 13:04 UTC (Thu) by jacktucker (guest, #166423) [Link] (1 responses)

> I agree, that matches my experience as well. After an upgrade, my old config spews errors that I have no idea how fix. I do not remember any *single* upgrade that did not report such errors.

I agree, that matches my experience as well! :) But as I said, when this happens, you can either read the NEWS file (which nobody does), or ask for help on help-gnu-emacs@gnu.org (which is much easier). Just list the errors you see, and you'll get help on how to fix them in a few hours. That's what I did, and it worked quite well.

Emacs 29.1 released

Posted Aug 10, 2023 17:45 UTC (Thu) by wtarreau (subscriber, #51152) [Link]

Thanks, I'll consider this in the future, maybe even once I try to upgrade my PC!

Emacs 29.1 released

Posted Aug 11, 2023 1:06 UTC (Fri) by repetitivestrain (guest, #165872) [Link]

We leave a wide berth (several years, maybe more than a decade in some cases) for packages to update after making a function obsolete, so most of the errors you see are likely in fact warnings that can be disabled through a button in the *Warnings* buffer. But when you do come into contact with errors, it is typically more helpful to grep for the missing function or variable in etc/NEWS* than it is to scour the WWW for answers.

Not that I approve of renaming functions for mere cosmetic reasons. I usually make a point out of advocating against such rash behavior.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds