Everybody with an Emacs blogs raves about Emacs 29 these days. Things like Eglot, tree-sitter, SQL support and the like. Well, this is all nice – more than nice, brilliant! – but let’s not forget a few minor advances which are coming with Emacs 29. Let me mention a few things that I especially like.
While I knew about dired-copy-filename-as-kill
(bound to w
in Dired), I didn’t know that it can copy the names of several marked files to the kill ring. And it is refined in Emacs 29 – if the names of some of those files contain spaces or quotation marks, they will be properly escaped.
Another thing which I love (well, kind of) is the fact that you can isearch for normal (single) quotes in Info and Help buffers and Emacs will find the curly ones. I have a very strong opinion on the curly quote thing, and this change at least makes this abomination tolerable.
Another interesting thing is a new user option, record-all-keys
, which is nil by default. This means that whenever Emacs detects that the user is entering a password, it does not record the keys pressed (e.g. when recording a keyboard macro or storing the “recent keys” for the purpose of view-lossage
. A very welcome change from security standpoint.
Yet another one is count-words
, which now also reports the number of sentences. So simple, so obvious, and yet we had to wait so many years for that!
However, one of my personal favorites is the new command Info-goto-node-web
, bound to G
in Info mode. It will ask you for a page in the current manual (suggesting the one you are viewing right now as the default) and open that page in your browser. This is absolutely fantastic for situations where I want to send someone an email with a link to some particular node of the Info manual. As of now, it lacks two things: it only works in the Emacs manual and the Elisp reference (and it really should work in the Org manual and in Chassell’s An Introduction to Programming in Emacs Lisp!), and it doesn’t do anything special with a prefix argument (and it definitely should put the link on the kill ring then). I filed a feature request and I hope this will be corrected soon.
There are lots of other changes, too. Please, do yourself a favor, press C-h N
whenever you install a new version of Emacs, and spend half an hour looking through the NEWS
file. I can guarantee you that you will find some real gems there every time, and it’s quite possible that you will actually use some of the new things every day! (In fact, if I heeded my own advice and checked Emacs 28 news carefully some time ago, I would have learned e.g. about C-x x g
– revert-buffer-quick
- much earlier, thus saving myself a lot of keystrokes!)
It never ceases to amaze me that there are still pretty basic things you can improve in a 40-years-old text editor. It’s kind of a lesson for people wanting to write their own text editor. Either you just throw decades of collective experience out of the window or you can borrow/imitate things Emacs and/or Vim did, perhaps in a creative way, but still – use the wisdom of ages collected in Emacs devs’ beards! (It never ceases to amaze me that MS Word and its ilk do not seem to have equivalents of view-lossage
or describe-key
or where-is
. Or am I mistaken?)
Anyway, happy using Emacs 29 (if you like living in the future and are on the master
branch) or happy waiting for the official release otherwise!