My .emacs file — cover art: a wise old wildebeest (the GNU mascot) in a deep-oxblood waistcoat stands at the centre of a vast Victorian library, holding open a tiny slim leather notebook against the towering bookshelves. 💩

2004 · Drunken Blog Rants · Rant

“My .emacs 'file' is actually a directory tree, which I always keep under my home directory. I have about 10k lines of Emacs-lisp code of my own, and a quarter million lines, in over 400 files, that I've gotten off the net from various places.”
— From My .emacs file, 2005
Read the essay

© 2004 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

Does not hold up well to the test of time. Nearly all the Emacs packages I discuss here are outdated/obsolete. This post only works now if you are an absolute die-hard Emacs historian.

AI Notes

Written because readers kept asking to see the thing, and built around the gentle correction that the request rests on a misunderstanding about what Emacs is. What follows is less a config listing than a portrait of one programmer's working life in 2004: an Elisp tree kept under CVS on a colocated server in downtown Seattle (with a running gag about why it only dies on Friday afternoons), advice to install Cygwin straight into C:\ over the installer's explicit warning, and the sheepish confession that spam plus an Exchange migration had recently driven Steve from his decade-long Emacs mail habit into Outlook. "But I'm a wimp. I should go back." The tour drifts into score-settling, too: the JDEE section spends as much ink on its author — who took a template package Steve donated in 1998 and rewrote it just enough to drop the credit — as on the software, before conceding the thing is indispensable anyway.

Steve's warning above is accurate about the software: nearly everything here is dead, absorbed, or replaced, and the Cygwin material reads like archaeology now. What hasn't dated is the argument the catalog keeps circling back to, that an extensible editor exists to be extended, and that most of what you write for it should be private junk never packaged for anyone else, because "that's the point." Even the throwaway details make the case: a homegrown typing-test Steve rates among his most ambitious Elisp apps, file-renaming functions he never understood why Emacs lacked, and a hundred-entry Info library so the documentation for every language he used lived inside the editor as well. Readers who reach the comments get a small bonus round about the two terminal programs Steve says won't run in an Emacs shell.

Related listings