Emacs Lisp

Emacs Lisp ( elisp short ) is a dialect of the Lisp programming language in which most of the editors GNU Emacs and XEmacs is programmed and can also be used to expand the editors. Just about all editor functions are available as Lisp functions. The most basic, however, are implemented in C. Keyboard shortcuts are assigned to the functions via a so-called keymap. Emacs Lisp is responsible for the extraordinary extensibility of this editor.

Emacs provides the user with a default buffer ( text box ) are available, can be evaluated in the Lisp functions. Editor settings are held in Lisp variables. They can be set interactively or be defined with an initialization file.

Source code and byte code

Emacs Lisp source code is stored in text files. The files have the file extension. El An exception is the central configuration file, the commands are executed when you invoke the editor. It is, also generally allowed if the name emacs.el. , Mostly. Emacs and is located in your home directory. This can also be specified on Microsoft Windows by setting the environment variable HOME ( and because Windows programs sometimes have problems with the point at the beginning, can also be used _emacs here). A Lisp interpreter executes the program text contained in the text files. Function definitions are imported and are available during the runtime editor available. Functions and variables can be freely redefined or changed.

Much of the functionality is only loaded when it is needed (via the autoload function).

The basic features of the editor are written in C. They are called in English primitive; It is in a sense, the built-in functions. These are used by the LISP functions; but they can not be changed. ( Besides, they are written in C new and recompiled the whole editor, which is possible since Emacs is free software. )

Emacs Lisp provides, as the later-developed Java programming language, the possibility of the source code into byte code to translate ( compile Menu ). The files produced will then have the extension. Elc. The compiled programs require less memory and are faster to load and run.

303787
de