Emacs 23

Much to my surprise, the Fedora Emacs maintainers pushed Emacs 23 into the (ostensibly stable) Fedora 11 repository. I was a bit afraid to upgrade, since Emacs really is the cornerstone of my entire workflow. My desire for new features quickly overcame my fear, though.

The first thing you will notice is that Emacs is much prettier. It now uses XFT to render, so you get antialiasing. For normal work, I don’t really care much, but this is why I used CVS Emacs last year for presentations: it makes a huge difference in situations where prettiness matters. Unfortunately this seems to have negatively affected redisplay performance.

Another major feature I have been loving is support for multiple terminals. I use this in two ways.

I run my Emacs on my main machine, of course. This is the centerpiece of my desktop: I use it for hacking, for mail and news, and for irc. Previously, if I used my laptop, I couldn’t easily access all this state; but now I can ssh to my main machine, run emacsclient -t, and have access to everything.

I’ve also set EDITOR to emacsclient -t. This means that when I run git commit in a shell, the commit message shows up in a new emacs frame on that terminal. This is very convenient for “quickie” edits, because it means not having to switch my focus. (If I had to pick a single reason that Emacs improves my productivity, this would be it: it makes it very easy to keep one’s focus.)

Funnily, though, I don’t actually run git commit in a shell very often any more, because the new vc-dir mode is good enough that I can do some common git operations without leaving Emacs. If you tried VC in earlier versions of Emacs, then you probably remember it as a horrible joke — it worked fine for RCS, but was miserable at anything else. vc-dir is something like a generalized pcl-cvs, so you can work on a whole directory tree at once (and do so efficiently, unlike the old vc-dired). vc-dir is still pretty new, and there are some necessary operations that aren’t exposed (git push), but it is still a very nice step forward.