Emacs Lisp


Emacs Lisp
Page d'aide sur l'homonymie Pour les articles homonymes, voir Emacs (homonymie).

Emacs Lisp est un dialecte du langage de programmation Lisp, utilisé entre autres par les éditeurs de texte GNU Emacs et XEmacs (qui auront la dénomination commune d'Emacs dans cet article). Il est utilisé pour l'implémentation de la plupart des fonctionnalités d'édition standards d'Emacs, le reste étant écrit en C. Les utilisateurs d'Emacs écrivent habituellement du code en Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à Emacs.

Emacs Lisp est parfois appelé « ELisp », ce qui crée un risque de confusion avec un autre dialecte du Lisp portant le même nom, mais n'ayant rien à voir. Au niveau des fonctionnalités, Emacs Lisp se rapproche des dialectes MacLisp et Common Lisp. Il supporte la programmation fonctionnelle et impérative, c'est donc un langage multi-paradigme. Le Lisp fut choisi comme langage d'extension pour ses nombreuses fonctionnalités, dont notamment sa capacité à traiter les fonctions en tant que données.

Il y a plusieurs façons de personnaliser Emacs, l'utilisateur n'est pas obligé de savoir programmer en Emacs Lisp. En effet, depuis la version 20, GNU Emacs inclut Customize, qui permet aux utilisateurs de définir des variables via une interface graphique. Customize a cependant des fonctionnalités limitées, et est donc réservé à des modifications mineures du comportement d'Emacs. Les utilisateurs désireux de profiter au maximum de l'extensibilité d'Emacs écriront plutôt leur propre module en Emacs Lisp.

Sommaire

Exemple

Voici un exemple simple d'extension pour Emacs écrite en Emacs Lisp. Dans Emacs, la zone d'édition peut être séparée en plusieurs zones appelées « fenêtres », chacune d'entre elles peut afficher un buffer différent. Un buffer est, grosso modo, une zone de texte chargée en mémoire par Emacs à partir d'une source (un fichier, par exemple). Le buffer peut, lorsque l'utilisateur le demande, être sauvé dans un fichier.

La commande utilisateur pour ouvrir une nouvelle fenêtre verticale est C-x 2 (qui signifie « appuyer sur la touche x en maintenant la touche control appuyée, et ensuite appuyer sur la touche 2 »). Cette commande appelle une fonction Emacs Lisp, split-window-vertically. Normalement, lorsque la nouvelle fenêtre apparaît, elle affiche la même chose que le précédent buffer. Supposons que nous voulions qu'il affiche le contenu du prochain buffer disponible. Afin de réaliser cela, l'utilisateur écrit le code Emacs Lisp suivant, soit dans un fichier source, soit dans un buffer vide :

(defun my-split-window-function ()
  (interactive)
  (split-window-vertically)
  (set-window-buffer (next-window) (other-buffer)))
 
(global-set-key "\C-x2" 'my-split-window-function)

La première expression, (defun ...), définit une nouvelle fonction appelée my-split-window-function qui fait tout d'abord appel à la fonction split-window-vertically (l'ancienne fonction de séparation des fenêtres), puis indique à la nouvelle fenêtre d'afficher un autre buffer. La seconde expression, (global-set-key ...), ré-attribue le raccourci clavier « C-x 2 » à la nouvelle fonction.

Voir aussi

Articles connexes

Liens externes



Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Emacs Lisp de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • 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

  • Emacs Lisp — Emacs Lisp  диалект языка программирования Lisp, используемый в текстовых редакторах GNU Emacs и XEmacs. Большая часть Emacs реализована на Emacs Lisp. Иногда также сокращённо называется elisp, хотя может возникнуть путаница со старым… …   Википедия

  • Emacs Lisp — Saltar a navegación, búsqueda Emacs Lisp es un dialecto del lenguaje de programación Lisp que se usa en los editores GNU Emacs y XEmacs. Emacs Lisp es a veces llamado Elisp, lo cual tiene el riesgo de llevar a confundirlo con otro dialecto de… …   Wikipedia Español

  • 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

  • Emacs Lisp — (kurz elisp) ist ein Dialekt der Programmiersprache LISP, in dem der größte Teil der Editoren GNU Emacs und XEmacs programmiert ist und der auch zur Erweiterung der Editoren genutzt werden kann. So gut wie alle Editorfunktionen liegen als LISP… …   Deutsch Wikipedia

  • Emacs Lisp — es un dialecto del lenguaje de programacion lisp que se usa en los editores GNU Emacs y XEmacs. Emacs Lisp es a veces llamados Elisp, lo cual tiene el riesgo de llevar a confundirlo con otro dialecto de Lisp que tiene el mismo nombre. La mayoría… …   Enciclopedia Universal

  • Emacs lisp — …   Википедия

  • Emacs-w3m — Emacs Emacs Startbildschirm im Grafikmodus. Ursprünglich ist Emacs ein Programm für das Terminal Basisdaten Entwickler: Richard Stallman …   Deutsch Wikipedia

  • Lisp — Paradigmen: multiparadigmatisch: funktional, prozedural; manche Dialekte außerdem modular, objektorientiert, reflexiv Erscheinungsjahr: 1958 Designer …   Deutsch Wikipedia

  • Lisp — Información general Paradigma multiparadigma: orientado a objetos, funcional, declarativo Apareció en 1958 Diseñado por John McCarthy …   Wikipedia Español


Share the article and excerpts

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

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.