Four Saturdays ago, on September 17, Emacs 25 was finally released. Almost two
years before that, I wrote a post predicting a few Big things to expect from
Emacs 25. Throughout the months since then, I’ve also been reporting interesting
new features as they arrived on the dev builds. Today, we compile a list of all
of those news posts, and review which predictions I actually got right.
News posts
For the convenience of those looking for actually practical information, I feel
we should start with a list of the posts. I must strive to be clear that this
is not a comprehensive list of new features. Not by a mile! If you want
everything, you can have a look at the news file that ships with Emacs,
/etc/NEWS, or you can read Mickey Petersen’s commented version.
The list below merely sums up most (not even all) of the features that piqued
my interest over the last couple of years.
If you’re short on time, I personally recommend checking out char-folding
search (1), archive priorities (17), and the comment-line command (4), which are all
features you might not realize are there. The round-quotes in Help buffers (2) and
the improved query-replace history (3) are also among my favorites, but you don’t
need to do anything special to see them in action.
Reviewing predictions
Now, for the indulgence of those looking for more than just practical
information. On the aforementioned post, I talked about 6 things I hoped to see
by the time Emacs 25 came out.
Moving the code base to git
This one even had a schedule date when I wrote
the post, so it obviously doesn’t count as a prediction. Still, I’m
extremely glad it happened as I would never have contributed myself if not
for this change.
Dynamic library loading
Now this is exciting. I originally wrote it was
“looking almost in shape for release”, but I have no idea what led me to
say that. This feature actually almost didn’t make it into release. It only
got merged to the emacs-25 branch more than one year later, after the
feature-freeze took place!
Nonetheless, it’s finally out and about, and I’m eager to see what comes
out of it. If you’re interested, it’s actually very easy to get started
(well… easy by C-coding standards). Aurélien Aptel has a super short
tutorial on how to write, compile, and use a dynamic module in Emacs.
Concurrency in Elisp
I’ll count this as a half point. We don’t have proper
concurrency in Elisp yet, and whether that’s something we want is still an
ongoing discussion. Still, most of the points in my rant have already been
addressed. The packages list does refresh asynchronously now (despite the
lack of concurrency), and several optimizations have been made which speed
up the actual rendering of the list.
A Better Package Menu
I shouldn’t have to say much here. The last 5 links on
list above are all improvements to the package menu. While there’s still
room for improvement, it’s quite ahead of where it was 2 years ago. Better
dependency management, asynchronous refreshing, and more filtering options
were all much needed improvements. Meanwhile, archive priorities are a nice
cherry to top of it all off.
A More Robust Customize Interface
Out of the two issues that led me to
write this point, one of them has been fixed (custom-theme-load-path is no
longer a defcustom). Still, I’m counting this as a miss. Over the last
couple of years I’ve seen other fundamental issues with the Customize
interface be reported, and there’s still quite a bit of work to be done here.
Namespaces
Well, OK. We still don’t have namespaces. Honestly, though, it
doesn’t bother me anymore. I’ve released two packages, Names and Nameless,
which are available on Elpa and help mitigate the the lack of namespaces. I
use Nameless for all my Elisp coding now and that’s the end of the story
for me.
Summarizing, even if we exclude the Git point (which wasn’t really a
prediction), it’s a 2½ out of 5 (or 3½ if we count namespaces). That’s a
pretty good outcome considering I had never even made a single contribution to
Emacs core when I wrote that post. I’d love to write another one of those, but
I’m not nearly as involved in the news as I was 2 years ago. Maybe in a couple
of months I’ll manage to catch up.
Emacs 25 is out! What are the new features and what were my predictions
11 Oct 2016, by Artur Malabarba.Four Saturdays ago, on September 17, Emacs 25 was finally released. Almost two years before that, I wrote a post predicting a few Big things to expect from Emacs 25. Throughout the months since then, I’ve also been reporting interesting new features as they arrived on the dev builds. Today, we compile a list of all of those news posts, and review which predictions I actually got right.
News posts
For the convenience of those looking for actually practical information, I feel we should start with a list of the posts. I must strive to be clear that this is not a comprehensive list of new features. Not by a mile! If you want everything, you can have a look at the news file that ships with Emacs,
/etc/NEWS
, or you can read Mickey Petersen’s commented version.The list below merely sums up most (not even all) of the features that piqued my interest over the last couple of years.
comment-line
commandseq.el
librarylet-alist
librarymap.el
libraryIf you’re short on time, I personally recommend checking out char-folding search (1), archive priorities (17), and the
comment-line
command (4), which are all features you might not realize are there. The round-quotes in Help buffers (2) and the improved query-replace history (3) are also among my favorites, but you don’t need to do anything special to see them in action.Reviewing predictions
Now, for the indulgence of those looking for more than just practical information. On the aforementioned post, I talked about 6 things I hoped to see by the time Emacs 25 came out.
Now this is exciting. I originally wrote it was “looking almost in shape for release”, but I have no idea what led me to say that. This feature actually almost didn’t make it into release. It only got merged to the
emacs-25
branch more than one year later, after the feature-freeze took place!Nonetheless, it’s finally out and about, and I’m eager to see what comes out of it. If you’re interested, it’s actually very easy to get started (well… easy by C-coding standards). Aurélien Aptel has a super short tutorial on how to write, compile, and use a dynamic module in Emacs.
custom-theme-load-path
is no longer adefcustom
). Still, I’m counting this as a miss. Over the last couple of years I’ve seen other fundamental issues with the Customize interface be reported, and there’s still quite a bit of work to be done here.Summarizing, even if we exclude the Git point (which wasn’t really a prediction), it’s a 2½ out of 5 (or 3½ if we count namespaces). That’s a pretty good outcome considering I had never even made a single contribution to Emacs core when I wrote that post. I’d love to write another one of those, but I’m not nearly as involved in the news as I was 2 years ago. Maybe in a couple of months I’ll manage to catch up.
Tags: news, emacs-25, emacs,
Keep your Slack distractions under control with Emacs »
« A quick guide to directory-local (or project-specific) variables
Related Posts
New in Emacs 25.1: More flow control macros in emacs-25
New in Emacs 25.1: map.el library in emacs-25
New in Emacs 25.1: EWW improvements in emacs-25
Content © 2019, All rights reserved. Icons under CC3.0.