EMACS is my favourite editor. Or maybe not.

C-c C-t html RET EMACS is my favourtie editor. Or maybe not. RET

Welcome to EMACS' HTML mode. Or rather, hacked-SGML mode. At least, the HTML support is bundled into the SGML-mode library. Now, to be fair, the original author, James Clark, probably intended it to be SGML only.

The "Commentary" section says:

;; Configurable major mode for editing document in the SGML standard general
;; markup language.  As an example contains a mode for editing the derived
;; HTML hypertext markup language.

Ahhh. HTML mode is provided as an example.

A bad example, if you ask me. My basic problem with it? It's too goddamn dumb, and so inconfigurable that you can't fix the dumbness without reading the code closely. There are a host of better HTML modes, particularly HTML-helper mode, which seem to have a much better grip on the Right Thing than html-mode as provided.

"Well then, download HTML-helper mode", you say, "and quit whining." Fine. Yep. HTML-helper mode, bolt it in. VM, a real mail program, bolt that on too. And bbdb. And a half-dozen other hacks. Download them, bolt them on, set them up. Rockin'.

That's my problem.

EMACS is one of the major GNU flagships and as such, should be an absolute marvel of technology, clearly illustrating the power of software built by unrestricted brilliant minds. And it does a good job of this, as far as it goes. Unfortunately, it doesn't go far enough.

EMACS seems to subscribe very much to Richard P. Gabriel's worse-is-better ideal; it's better to get half-a-hack out in a release than to get something working right first-time. Stepwise refinement, to borrow a phrase, except it's in the product, not the design. Which is fine if you're in the business of churning out payware, and need the dough, but shouldn't apply to non-payware since not having feature X doesn't affect your bottom line anyway.

Here's another example: EMACS and X. Jamie Zawinski went off in a fit some years back and wrote a proper X interface for EMACS, with support for arbitrary buffer objects like mixed fonts and graphics, with proper selection boxes and menus, all that good stuff. The FSF, meanwhile, plodded along with a hand-crafted interface from the dark ages, full of non-standard cascading panes and fixed-width fonts. XEmacs looks like an X-based text editor. FSF EMACS still looks like regular EMACS running in its own terminal window.

"Frames", you say.

C-x 5 2

Look at that! TWO terminal windows! Amazing!


I'm still using FSF EMACS to write this. 19.34, built locally some months ago when I was setting up this little box. I'm used to its idiosyncracies, and sometimes I carve up the standard lisp files into something I'd enjoy using instead of something that's almost-but-not-quite-right. And so I've learned to program in lisp, which may well be a boon in itself.

Or not.