Emacs Lisp, or Elisp, is the language that much of Emacs’ functionality is implemented in, and is the default language for writing user customizations and extensions.
Emacs Lisp is what makes Emacs ExtensibleSoftware. Customizations and extensions can be made quickly and are portable. Some of the ways that Emacs Lisp is used to extend Emacs include hooking custom Emacs Lisp functions into events, binding functions to key combinations, creating new editing modes and even writing whole applications for the WorldWideWeb or other Internet clients.
Lisp, originally specified in 1958, derives its name from LISt Processing. (Those turned off by the language’s syntax have said it should stand for Lots of Insignificant Silly Parentheses.) Elisp is a variant of an influential Lisp dialect MacLisp developed in 1966. To read about other kinds of Lisp and how to use them in conjunction with Emacs, see CommonLisp and Scheme.
EmacsLispReference is the official Emacs Lisp documentation. It is built into the Emacs Info pages and is the go-to for most Elisp programmers. It is shipped with Emacs and can be accessed by the menu bar, with ‘M-x menu-bar-read-lispref’
, or from the top page of InfoMode.
EmacsLispIntro is a book for non-programmers available from the FreeSoftwareFoundation and is shipped with Emacs. Its command is ‘M-x menu-bar-read-lispintro’
.
The links below will help you get started creating your own ideal text editor.