Elisp

Elisp

Emacs Lisp ist ein Dialekt der Programmiersprache LISP, in der der größte Teil des Editors Emacs programmiert ist und die auch zur Erweiterung des Editors genutzt werden kann. Alle Editorfunktionen liegen als LISP-Funktionen vor. Die grundlegendsten davon sind in C implementiert. Tastenkombinationen sind über eine so genannte keymap den Funktionen zugewiesen. Emacs-LISP ist für die außerordentliche Erweiterbarkeit dieses Editors verantwortlich.

Emacs stellt dem Benutzer standardmäßig einen Puffer (Textfenster) zur Verfügung, in dem LISP-Funktionen ausgewertet werden können. Einstellungen des Editors werden in LISP-Variablen festgehalten. Sie können interaktiv gesetzt werden oder mit einer Initialisierungsdatei festgelegt werden.

Quelltext und Byte-Code

Emacs-Lisp-Quelltext wird in Textdateien gespeichert. Die Dateien besitzen die Dateikennung .el. Eine Ausnahme ist die Startdatei, deren Befehle beim Aufrufen des Editors abgearbeitet werden. Sie heißt .emacs und befindet sich im Home-Verzeichnis. Dies kann auch unter Windows durch Setzen der Umgebungsvariablen Home festgelegt werden (und da Windows Programme teilweise Probleme mit dem Punkt am Anfang haben kann hier auch _emacs verwendet werden). Ein Lispinterpreter führt den in den Textdateien enthaltenen Programmtext aus. Funktionsdefinitionen werden eingelesen und stehen während der Editorlaufzeit zur Verfügung. Funktionen und Variablen können frei neu definiert oder verändert werden.

Ein Großteil der Funktionen wird erst dann geladen, wenn er benötigt wird (über die Funktion autoload).

Die Basisfunktionen des Editors sind in C geschrieben. Sie werden auf English primitives genannt; es handelt sich gewissermaßen um die eingebauten Funktionen. Diese werden von den LISP-Funktionen benutzt; sie können aber nicht verändert werden. (Außer man schreibt sie in C neu und rekompiliert den ganzen Editor, was möglich ist, da Emacs Freie Software ist.)

Emacs-Lisp bietet wie die spätere Programmiersprache Java auch die Möglichkeit, den Quelltext in Byte-Code zu übersetzen (Menu Compile). Die produzierten Dateien haben dann die Kennung .elc. Die kompilierten Programme benötigen weniger Speicherplatz und werden rascher ausgeführt.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • elisp — ● np. m. ►LANG Emacs LISP. Version du langage LISP utilisée conjointement avec Emacs (en fait, Emacs est codé en elisp). Conçu par Stallman, Richard …   Dictionnaire d'informatique francophone

  • Elisp — …   Википедия

  • Emacs — GNU Ema …   Википедия

  • Емакс — Emacs GNU Emacs, запущенный в графической среде Тип Текстовый редактор Разработчик Проект GNU …   Википедия

  • Имакс — Emacs GNU Emacs, запущенный в графической среде Тип Текстовый редактор Разработчик Проект GNU …   Википедия

  • Emacs Lisp — is a dialect of the Lisp programming language used by the GNU Emacs and XEmacs text editors (which will be collectively referred to as Emacs in this article.) It is used for implementing most of the editing functionality built into Emacs, the… …   Wikipedia

  • List of programming languages by category — Programming language lists Alphabetical Categorical Chronological Generational This is a list of programming languages grouped by category. Some languages are listed in multiple categories. Contents …   Wikipedia

  • Comparison of text editors — This article provides basic comparisons for common text editors. More feature details for text editors are available from the Category of text editor features and from the individual products articles. This article may not be up to date or… …   Wikipedia

  • Double spaced sentences — Double spacing at the ends of sentences is a typographical convention that has sometimes been termed English spacing. Since the mid 1990s, it has often been termed French spacing, although that term has traditionally referred to the practice of… …   Wikipedia

  • Emacs-LISP — ist ein Dialekt der Programmiersprache LISP, in der der größte Teil des Editors Emacs programmiert ist und die auch zur Erweiterung des Editors genutzt werden kann. Alle Editorfunktionen liegen als LISP Funktionen vor. Die grundlegendsten davon… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”