   by Eric Marsden, emarsden@mail.dotcom.fr   Customizing Emacs
Typical applications have a configuration file which allows you
to set the value of a few variables. Emacs goes a lot further,
since the user can customize pretty much any feature of the
system. This flexibility is due to a majority of the system
being written in its extension language. The first
implementations of Emacs used a cryptic string processing
language named TECO (you thought Perl was cryptic? Look at
TECO), with support code in PDP-10 assembly; later versions use
Emacs Lisp as an extension language, with some components (the
Lisp interpreter and the display code) written in C.  This
extensibility is fundamental to Emacs. Users can experiment with
modifications and improvements to the system and pass them on to
friends if they work well; ideas which catch on can be
integrated in the core distribution. The now defunct Lisp
Machines at MIT extended this openness to the level of the
operating system, which was written in Lisp (and ran on