GNU Emacs

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche
Page d'aide sur l'homonymie Pour les articles homonymes, voir GNU et Emacs (homonymie).
GNU Emacs
Description de l'image EmacsIcon.svg.
Description de cette image, également commentée ci-après
L’interface graphique de GNU Emacs 25 dans GNOME.
Informations
Créateur Richard Stallman et Guy Lewis SteeleVoir et modifier les données sur Wikidata
Développé par Projet GNU
Première version (1984)
Dernière version 26.1 ()[1]Voir et modifier les données sur Wikidata
Dépôt git.savannah.gnu.org/cgit/emacs.git et git://git.sv.gnu.org/emacs.gitVoir et modifier les données sur Wikidata
Écrit en C, Emacs Lisp
Environnement GNU/Linux, FreeBSD, NetBSD, OpenBSD, GNU, OpenVMS, UNIX, Mac OS X, MS-DOS, Microsoft Windows
Langues anglais
Type Éditeur de texte
Licence GPLv3
Site web www.gnu.org/software/emacsVoir et modifier les données sur Wikidata

GNU Emacs est l’une des deux versions les plus populaires de l’éditeur de texte Emacs (l’autre version est XEmacs). Ces deux versions sont majoritairement compatibles et ont de très nombreux points communs, décrits dans l’article Emacs.

Le manuel de GNU Emacs le décrit comme l’« incarnation GNU de l’éditeur plein écran avancé, auto-documenté, personnalisable et extensible qu’est Emacs »[2].

GNU Emacs a été développé par Richard Stallman depuis 1984 dans le cadre du projet GNU. Il s’appuie sur le langage Emacs Lisp.

Développement[modifier | modifier le code]

2017-fr.wp-orange-source.svg
Cette section ne cite pas suffisamment ses sources (août 2017)
Pour l'améliorer, ajoutez des références vérifiables [comment faire ?] ou le modèle {{Référence nécessaire}} sur les passages nécessitant une source.

Histoire[modifier | modifier le code]

GNU Emacs fait partie du projet GNU, et son développement reste actif encore de nos jours. Beaucoup de ses développeurs (mais pas tous) sont affiliés à la Free Software Foundation (FSF).

Stallman commence à travailler sur GNU Emacs en 1984, afin de produire un logiciel libre comme alternative à Emacs. Il fonctionne d’abord sur les systèmes Unix.

En 1991, à la suite de divergences d’opinion sur le développement, un fork du développement, dénommé Epoch, donna naissance à Lucid Emacs, renommé plus tard XEmacs, offrant une version graphique et des fonctionnalités étendues pour l’époque. Cette version n’est pas approuvée par le projet GNU qui continue à développer GNU Emacs et pour lequel bon nombre des fonctionnalités mises en avant dans XEmacs existent désormais. Les deux versions se resynchronisent régulièrement.

Après un long temps de développement, la première version d’Emacs de la branche 22, la version 22.1, a été sortie le . Le développement de cette version a été assuré par Richard Stallman. Cette version apporte un nombre important de fonctionnalités ainsi qu’une refonte de l’interface graphique, reposant maintenant sur la bibliothèque GTK+.

Le , Richard Stallman annonce sa volonté d’arrêter d’être le mainteneur d’Emacs. Il laisse alors la place à Stefan Monnier et Chong Yidong[3].

Droits sur le code[modifier | modifier le code]

2017-fr.wp-orange-source.svg
Cette section ne cite pas suffisamment ses sources (août 2017)
Pour l'améliorer, ajoutez des références vérifiables [comment faire ?] ou le modèle {{Référence nécessaire}} sur les passages nécessitant une source.

Jusqu’en 1999, le développement de GNU Emacs était relativement hermétique, au point qu’il servait d’exemple pour le style « Cathédrale » dans l’ouvrage La Cathédrale et le Bazar[4]. Depuis lors, le projet a adopté une liste de diffusion publique sur le développement, et ouvert un accès anonyme à CVS.

Comme pour tous les projets GNU, il subsiste une règle particulière pour l’acceptation d’une partie de code significative : le détenteur des droits sur le code doit les céder à la FSF. Il existe toutefois une exception notable : le code de MULE (pour "MULtilingual Extension", « extension multilingue »)[5], car il appartient au gouvernement japonais et la cession du copyright n’était pas possible.

Cette règle ne s’applique pas aux contributions mineures ou aux corrections de bugs. Il n’existe aucune définition rigoureuse de ce qu’est une contribution mineure, mais il est habituel de considérer une contribution de moins de 15 lignes comme mineure[6].

Cette règle est prévue pour faciliter le respect du copyleft, afin que la FSF puisse défendre le logiciel devant un tribunal le cas échéant. Une telle obligation est connue pour avoir des effets négatifs sur les contributions. Certains affirment qu’elle affecte même les performances ; par exemple, l’incapacité de GNU Emacs à prendre en charge des fichiers volumineux de façon efficace serait à mettre sur le compte de cette obligation, qui découragerait les développeurs les plus sérieux. Mais d’après Richard Stallman, il est plus important que GNU Emacs soit libre que performant.

Le respect scrupuleux de cette règle permet d’asseoir la confiance juridique que l’on peut accorder à la licence libre de GNU Emacs (la GPL), et au logiciel libre lui-même, qui constitue le travail intellectuel de nombreux détenteurs de droits potentiels et contributeurs.

Historique des versions[modifier | modifier le code]

Historique des versions de GNU Emacs[7],[8].

Version Date de sortie Principaux changements
26.1 Nombreuses nouvelles fonctionnalités[9] dont (liste non exhaustive) :
  • une nouvelle méthode de connexion à Google Drive pour TRAMP ;
  • un support des couleurs encodées en 24 bits pour les terminaux le supportant ;
  • une réécriture complète du package flymake.
25.3
  • Correction d'un problème de sécurité dans le mode Enriched Text[10].
25.2
  • Correction de bugs principalement[11],[12].
25.1
  • Chargement dynamique de module. Amélioration de la sécurité (validité de certificats TLS/SSL), amélioration de l'insertion de caractère Unicode[13].
24.5
  • Mise à jour mineure visant à corriger certains bugs [14]
24.4
  • Intégration d’un navigateur Web (M-x eww), support des menus en mode terminal, nom des buffers unique avec uniquify, &c[15].
24.3
  • Nouveau mode majeur pour Python, mise à jour de la bibliothèque d'émulation Common Lisp[16]
24.2
  • Mise à jour mineure corrigeant des bugs[17]
24.1
23.3
  • Correction de bugs et améliorations parmi lesquelles les modes VC et Rmail
23.2
  • Intégration d’un nouveau mode pour JavaScript (js2-mode)
23.1
  • Support amélioré pour Unicode (emploi d’UTF-8 en interne)
  • Rendu des polices antialiasées employant Fontconfig et XFT, pouvant différer de tampon à tampon
  • Amélioration du mode serveur pour gérer des fenêtres graphiques et des terminaux dans la même session
  • Nouveaux modes pour visualiser des documents PostScript ou PDF, ou valider à la volée du code XML
  • Support du langage Ruby.
22.2
22.1
21.1
20.1
  • Support multilingue
19.28
18.24
17.36
  • Fichiers de sauvegarde numérotés
16.56
15.10
13.0?

Distribution[modifier | modifier le code]

GNU Emacs est un logiciel libre distribué selon les termes de la licence publique générale GNU.

Le code source ainsi que les fichiers binaires sont disponibles sur le serveur FTP du projet GNU (cf. infra) et sur la plate-forme collaborative GNU Savannah. Les développeurs peuvent récupérer les sources en utilisant GNU Bazaar, le système décentralisé de contrôle des versions du projet GNU Emacs[19].

GNU Emacs est par ailleurs intégré dans tous les systèmes libres, notamment GNU/Linux, FreeBSD. Il fonctionne également sur de nombreux systèmes propriétaires dans le but de convaincre leurs utilisateurs de migrer vers des solutions libres[20].

GNU ELPA[modifier | modifier le code]

Emacs s’est défini dès l’origine comme un éditeur extensible. Si les modules d’extension les plus populaires se retrouvent souvent intégrés[21], la plupart sont disponibles sur Internet. Tous les paquets tiers sont désormais accessibles depuis Emacs via un dépôt de code source exclusivement destiné aux extensions Emacs Lisp[note 1]. Baptisé GNU ELPA (de l’anglais « GNU Emacs Lisp Package Archive »)[22], le projet est en production depuis 2010[23]. Son nom vient d’une plateforme similaire initiée par le dénommé Tom Tromey[24] et du gestionnaire de paquets « package.el » d’un certain Phil Hagelberg[25].

Utiliser GNU Emacs[modifier | modifier le code]

Commandes[modifier | modifier le code]

Dans son mode d'édition normal, GNU Emacs se comporte comme les autres éditeurs de texte et permet à l'utilisateur d'insérer des caractères avec les touches correspondantes et de déplacer le point d'édition avec les touches fléchées. Échapper aux séquences de touches ou appuyer sur la touche Ctrl et / ou la touche méta, la touche Alt ou les touches Super en conjonction avec une touche normale produit des séquences de touches modifiées qui invoquent des fonctions de l'environnement Lisp d'Emacs. Des commandes telles que save-buffer et save-buffers-kill-emacs combinent plusieurs frappes modifiées.

Certaines commandes GNU Emacs fonctionnent en invoquant un programme externe, tel que ispell pour la vérification orthographique ou GNU Compiler Collection (gcc) pour la compilation de programmes, l'analyse des résultats du programme et l'affichage du résultat dans GNU Emacs. Emacs prend également en charge les "processus inférieurs" - des processus de longue durée qui interagissent avec un tampon Emacs. Ceci est utilisé pour implémenter le mode shell , exécuter un shell Unix en tant que processus inférieur, ainsi que les modes lecture-évaluation-boucle d'impression (REPL) pour différents langages de programmation. La prise en charge des processus externes par Emacs en fait un environnement attractif pour la programmation interactive sur les lignes d' Interlisp ou de Smalltalk .

Les utilisateurs qui préfèrent les clés de type IBM Common User Access peuvent utiliser cua-mode , un package qui était à l'origine un module complémentaire tiers, mais qui a été inclus dans GNU Emacs depuis la version 22.

Minibuffer[modifier | modifier le code]

Emacs utilise le "mini-tampon", normalement la ligne la plus basse, pour présenter le statut et demander des informations - les fonctions qui seraient généralement effectuées par des boîtes de dialogue dans la plupart des interfaces graphiques. Le mini-tampon contient des informations telles que le texte à cibler dans une recherche ou le nom d’un fichier à lire ou à enregistrer. Le cas échéant, l' achèvement de la ligne de commande est disponible à l'aide des touches de tabulation et d'espace.

Gestion de fichiers et affichage[modifier | modifier le code]

Emacs conserve le texte dans les structures de données appelées tampons . Les tampons peuvent ou non être affichés à l'écran, et toutes les fonctionnalités de tampon sont accessibles à la fois à un programme Emacs Lisp et à l'interface utilisateur. L'utilisateur peut créer de nouveaux tampons et rejeter ceux qui ne le sont pas, et de nombreux tampons peuvent exister en même temps. Il n'y a pas de limite supérieure au nombre de tampons qu'Emacs permet, autres que les limites de mémoire matérielle. Les utilisateurs avancés peuvent amasser des centaines de tampons ouverts de différents types liés à leur travail actuel. Emacs peut être configuré pour enregistrer la liste des tampons ouverts à la sortie et rouvrir cette liste au redémarrage.

Certains tampons contiennent du texte chargé à partir de fichiers texte , que l'utilisateur peut modifier et enregistrer dans un stockage permanent. On dit que ces tampons sont des fichiers "visitants". Les tampons servent également à afficher d'autres données, telles que la sortie des commandes Emacs, les listes de répertoires dired , les chaînes de documentation affichées par la bibliothèque "help" et les messages de notification qui dans d'autres éditeurs seraient affichés dans une boîte de dialogue . Certaines de ces notifications sont affichées brièvement dans le mini-tampon et GNU Emacs fournit un tampon * Messages * qui conserve l'historique des notifications les plus récentes de ce type. Lorsque le mini-tampon est utilisé pour la sortie d'Emacs, il est appelé "zone d'écho". Les notifications plus longues sont affichées dans des tampons propres. La longueur maximale des messages qui seront affichés dans le mini-tampon est, bien sûr, configurable.

Les tampons peuvent également servir de zones d'entrée et de sortie pour un processus externe tel qu'un shell ou une REPL . Les tampons créés par Emacs sont généralement nommés avec des astérisques à chaque extrémité, à distinguer des tampons utilisateur. La liste des tampons ouverts est elle-même affichée dans ce type de tampon.

La plupart des séquences de touches d'Emacs restent fonctionnelles dans n'importe quel tampon. Par exemple, la fonction isearch standard de Ctrl-s peut être utilisée pour rechercher des noms de fichiers dans des tampons dired, et la liste de fichiers peut être enregistrée dans un fichier texte comme n'importe quel autre tampon. les tampons dired peuvent être basculés sur un mode inscriptible, dans lequel les noms de fichiers et les attributs peuvent être édités textuellement; Lorsque le tampon est enregistré, les modifications sont écrites sur le système de fichiers. Cela permet de renommer plusieurs fichiers en utilisant les fonctionnalités de recherche et de remplacement d'Emacs. Lorsque équipé, Emacs affiche les fichiers image dans des tampons. Emacs est binaire sécurisé et 8 bits propre.

Emacs peut diviser la zone d'édition en sections distinctes appelées "windows", une fonctionnalité disponible depuis 1975, antérieure à l'interface utilisateur graphique couramment utilisée. Dans la terminologie d'Emacs, «Windows» est similaire à ce que les autres systèmes appellent « frames » ou « volets » - une partie rectangulaire de l'affichage du programme qui peut être mise à jour et interagir indépendamment. Chaque fenêtre d'Emacs a une barre d'état appelée "ligne de mode" affichée par défaut au bas de la fenêtre. Les fenêtres Emacs sont disponibles dans les modes texte-terminal et graphique et permettent l'affichage simultané de plusieurs tampons ou de plusieurs parties d'un tampon. Les applications courantes consistent à afficher un tampon dired avec le contenu des fichiers dans le répertoire en cours (il existe des modes spéciaux pour que le tampon de fichiers suive le fichier mis en évidence), pour afficher le code source d'un programme un tampon de shell avec les résultats de la compilation du programme, pour exécuter un débogueur avec un tampon shell exécutant le programme, pour travailler sur du code tout en affichant une page de manuel ou une autre documentation (éventuellement chargée sur le World Wide Web -dans les navigateurs Web) ou simplement pour afficher plusieurs fichiers à modifier en même temps, comme un en-tête et son fichier d'implémentation pour les langages basés sur C. De plus, il existe un mode suivi , un mode mineur qui enchaîne les fenêtres pour afficher des parties non chevauchantes d'un tampon. En utilisant le mode suivi , un seul fichier peut être affiché dans plusieurs fenêtres côte à côte qui se mettent à jour de manière appropriée lors du défilement. Les fenêtres Emacs sont en mosaïque et ne peuvent pas apparaître "en haut" ou "en dessous" de leurs compagnons. Emacs peut lancer plusieurs "frames", qui sont affichés sous forme de fenêtres individuelles dans un environnement graphique. Sur un terminal texte, plusieurs images sont affichées empilées pour remplir le terminal entier et peuvent être commutées à l'aide des commandes standard d'Emacs.

Modes principaux[modifier | modifier le code]

GNU Emacs peut afficher ou éditer différents types de texte et adapter son comportement en entrant des modes complémentaires appelés "modes majeurs". Il existe des modes principaux pour différentes raisons, notamment l'édition de fichiers texte ordinaires, le code source de nombreux langages de balisage et de programmation , ainsi que l'affichage de pages Web , de listes de répertoires et d'autres informations système. Chaque mode majeur implique un programme Emacs Lisp qui étend l'éditeur pour qu'il se comporte plus facilement pour le type de texte spécifié. Les modes principaux fournissent généralement tout ou partie des fonctionnalités communes suivantes:

  • Mise en évidence de la syntaxe ("font lock"): combinaisons de polices et de couleurs, appelées "faces", qui différencient les éléments de document tels que les mots - clés et les commentaires .
  • Indentation automatique pour maintenir un formatage cohérent dans un fichier.
  • L'insertion automatique des éléments requis par la structure du document, tels que les espaces, les nouvelles lignes et les parenthèses.
  • Commandes d'édition spéciales, telles que les commandes permettant de passer au début ou à la fin d'une fonction lors de l'édition d'un fichier de programmation ou de commandes permettant de valider des documents ou d'insérer des balises de fermeture tout en travaillant avec des langages tels que XML .

Modes mineurs[modifier | modifier le code]

L'utilisation de "modes mineurs" permet une personnalisation supplémentaire. Un tampon d'édition GNU Emacs ne peut utiliser qu'un seul mode majeur à la fois, mais plusieurs modes mineurs peuvent fonctionner simultanément. Celles-ci peuvent fonctionner directement sur les documents, comme dans le cas où le mode majeur du langage de programmation C définit un mode mineur distinct pour chacun de ses styles de retrait populaires, ou peuvent modifier l'environnement d'édition. Des exemples de ces derniers incluent un mode qui ajoute la possibilité d'annuler les modifications de la configuration de la fenêtre et un autre qui effectue une vérification de la syntaxe à la volée. Il existe également un mode mineur qui permet d'utiliser plusieurs modes principaux dans un seul fichier, par souci de commodité lors de l'édition d'un document dans lequel plusieurs langages de programmation sont intégrés.

"Mode batch"[modifier | modifier le code]

GNU Emacs prend en charge la possibilité de l'utiliser comme interpréteur pour le langage Lisp Emacs sans afficher l'interface utilisateur de l'éditeur de texte. En mode batch, la configuration de l'utilisateur n'est pas chargée et les caractères d' interruption du terminal Cc et Cz auront pour effet habituel de quitter le programme ou d'interrompre l'exécution au lieu d'appeler les raccourcis clavier d'Emacs. GNU Emacs a des options en ligne de commande pour spécifier soit un fichier à charger et à exécuter, soit une fonction Lisp d'Emacs peut être transmise depuis la ligne de commande. Emacs démarre, exécute le fichier ou la fonction transmis, imprime les résultats, puis quitte. La ligne de shebang #!/usr/bin/emacs --script permet la création de scripts autonomes dans Emacs Lisp. Le mode Batch n'est pas un mode Emacs en soi , mais décrit un autre mode d'exécution pour le programme Emacs.

Manuels[modifier | modifier le code]

En dehors de la documentation intégrée, GNU Emacs possède un manuel particulièrement long et détaillé. Une copie électronique du manuel GNU Emacs , écrite par Richard Stallman, est fournie avec GNU Emacs et peut être visualisée avec le navigateur intégré. Deux manuels supplémentaires, le Manuel de référence Emacs Lisp de Bil Lewis, Richard Stallman et Dan Laliberte, ainsi qu'une Introduction à la programmation dans Emacs Lisp de Robert Chassell sont inclus. Les trois manuels sont également publiés sous forme de livre par la Free Software Foundation . Le manuel de XEmacs est similaire au manuel GNU Emacs , à partir duquel il a généré en même temps que le logiciel XEmacs issu de GNU Emacs.

Internationalisation[modifier | modifier le code]

GNU Emacs prend en charge de nombreux alphabets, scripts, systèmes d'écriture et conventions culturelles et fournit une vérification orthographique pour de nombreuses langues en appelant des programmes externes tels que ispell . La version 24 a ajouté la prise en charge du texte bidirectionnel et de la direction d'écriture de gauche à droite et de droite à gauche pour des langues telles que l'arabe, le persan et l'hébreu.

De nombreux systèmes de codage de caractères , y compris UTF-8 , sont pris en charge. GNU Emacs utilise UTF-8 pour son encodage à partir de GNU 23, tandis que les versions antérieures utilisaient leur propre encodage en interne et effectuaient des conversions lors du chargement et de l'enregistrement. L'encodage interne utilisé par XEmacs est similaire à celui de GNU Emacs mais diffère dans les détails.

L'interface utilisateur de GNU Emacs est née en anglais et, à l'exception du tutoriel pour débutants, elle n'a pas été traduite dans une autre langue.

Un sous-système appelé Emacspeak permet aux utilisateurs malvoyants et aveugles de contrôler l'éditeur via un retour audio.

Extensibilité[modifier | modifier le code]

Le comportement de GNU Emacs peut être modifié et étendu de manière presque illimitée en incorporant des programmes Lisp Emacs qui définissent de nouvelles commandes, de nouveaux modes de tampon, de nouvelles keymaps, des options de ligne de commande, [30] , etc. De nombreuses extensions fournissant des fonctionnalités orientées utilisateur définissent un mode majeur (soit pour un nouveau type de fichier, soit pour créer une interface utilisateur sans modification de texte); d'autres ne définissent que des commandes ou des modes mineurs, ou fournissent des fonctions qui améliorent une autre extension.

De nombreuses extensions sont livrées avec l'installation GNU Emacs; d'autres étaient téléchargés en tant que fichiers en vrac (le groupe de discussion Usenet gnu.emacs.sources était une source traditionnelle) mais il y a eu un développement de paquets gérés et de sites de téléchargement de paquets depuis la version 24, avec un gestionnaire de paquets intégré ) pour les télécharger, les installer et les mettre à jour.

Quelques exemples incluent:

  • AUCTeX , des outils pour éditer et traiter les documents TeX et LaTeX
  • Calc, une calculatrice numérique RPN puissante
  • Mode calendrier, pour conserver les agendas et les calendriers de rendez-vous
  • dired , un gestionnaire de fichiers
  • Presse dissociée , un générateur de texte de type Racter
  • Docteur, une simulation de psychanalyse inspirée par ELIZA
  • Dunnet , une aventure de texte
  • Ediff et Emerge, pour comparer et combiner des fichiers de manière interactive.
  • Emacs / W3, un navigateur Web textuel écrit en Emacs Lisp, principalement par William M. Perry . Emacs / W3 fait partie du package Sumo pour XEmacs, et le sous-module pour récupérer une URL fait actuellement partie du référentiel CVS de GNU Emacs. Dave Raggett était supporté par Emacs / W3 et par tkWWW en travaillant sur un successeur de HTML 2 appelé HTML + .
  • Emacs Speaks Statistics (ESS) pour l'édition de langages statistiques tels que R et SAS
  • Emacs Web Wowser (EWW), un navigateur Web intégré
  • ERC et Rirc et Circe, clients IRC
  • Eshell , un shell de ligne de commande écrit en Emacs Lisp. Cela permet une intégration plus étroite avec l'environnement Emacs que les shells standard tels que bash ou PowerShell , qui sont également disponibles dans Emacs. Par exemple, dans Eshell, les fonctions Elisp sont disponibles en tant que commandes shell et les sorties des commandes Unix peuvent être redirigées vers un tampon Emacs.
  • Exwm , un gestionnaire de fenêtres X permettant aux applications X11 d'être exécutées dans une fenêtre Emacs.
  • Gnus , un client de nouvelles complet (lecteur de nouvelles) et client de messagerie électronique et première preuve de la loi de Zawinski
  • Magit, pour travailler avec le système de contrôle de version Git
  • Mediawiki-mode pour éditer des pages sur des projets MediaWiki
  • L’amélioration multilingue de Emacs ( MULE ) permet d’éditer du texte en plusieurs langues d’une manière quelque peu analogue à Unicode.
  • Mode organisationnel pour conserver des notes, gérer différents types de listes, planifier et mesurer des projets et composer des documents dans de nombreux formats (tels que les formats PDF , HTML ou OpenDocument ). Il existe des générateurs de sites statiques utilisant le mode org, ainsi qu'une extension, Babel, lui permettant d'être utilisé pour la programmation littéraire .
  • Planificateur , gestionnaire d'informations personnelles
  • Simple Emacs Spreadsheet (SES), un mode standard fournissant une feuille de calcul
  • Mode d'interaction SQL, un mode pour interagir avec diverses versions de serveurs de base de données SQL .
  • Le mode d'interaction Lisp supérieur pour Emacs ( SLIME ) étend GNU Emacs dans un environnement de développement pour Common Lisp . Avec SLIME (écrit en Emacs Lisp), l'éditeur GNU Emacs communique avec un système Common Lisp (utilisant le backend SWANK) sur un protocole de communication spécial et fournit des outils tels qu'une boucle read-eval – print , un inspecteur de données et un débogueur .
  • Texinfo (Info), un navigateur d'aide en ligne
  • View Mail (VM), un autre client de messagerie complet
  • Viper, une couche d'émulation vi; [38] aussi, Evil, une couche d'émulation de Vim [39]
  • W3M, un autre navigateur Web, basé sur et utilisant le navigateur autonome w3m .
  • Wanderlust, un client de messagerie et d'informations polyvalent
  • Zone, un mode d' affichage comportant divers effets de texte.

Plateformes[modifier | modifier le code]

GNU Emacs est devenu l'un des programmes informatiques non triviaux les plus courants et fonctionne sur une grande variété de systèmes d'exploitation , notamment DOS , Windows et OpenVMS . La prise en charge de certaines "plates-formes obsolètes a été supprimée dans Emacs 23.1", telles que VMS et la plupart des variantes Unix (sauf celles basées sur Linux). Il est disponible pour la plupart des systèmes d' exploitation de type Unix, tels que Linux , les différents BSD , Solaris , AIX , HP-UX et macOS , et est souvent inclus dans les packages d'installation du système. Les ports natifs de GNU Emacs existent pour Android et Maemo de Nokia.

GNU Emacs s'exécute à la fois sur les terminaux en mode texte et dans les environnements graphique. Sur les systèmes d'exploitation de type Unix, GNU Emacs peut utiliser le système X Window pour produire son interface graphique soit directement à l'aide des widgets Athena, soit en utilisant un "toolkit widget" tel que Motif , LessTif ou GTK + . GNU Emacs peut également utiliser les systèmes graphiques natifs de macOS et Windows pour fournir des barres de menus , des barres d'outils , des barres de défilement et des menus contextuels plus conformes à l' apparence de chaque plate-forme.


Bibliographie[modifier | modifier le code]

  • (en) Stallman, Richard M. (2007). GNU Emacs Manual. 16th edition Boston, Massachusetts: Free Software Foundation. (ISBN 978-1-882114-86-3).
  • (en) Cameron, Debra; Elliott, James; Loy, Marc. (December 2004). Learning GNU Emacs, 3rd edition. O'Reilly & Associates. (ISBN 0-596-00648-9).
  • (en) Glickstein, Bob. (April 1997). Writing GNU Emacs Extensions. O'Reilly & Associates. (ISBN 1-56592-261-1).

Notes et références[modifier | modifier le code]

Références[modifier | modifier le code]

  1. https://www.gnu.org/software/emacs/history.html
  2. (en) Introduction du manuel GNU Emacs
  3. (en) Stefan Monnier et Chong Yidong sont les nouveaux mainteneurs du projet depuis début 2008.
  4. La Cathédrale et le Bazar Extrait traduit par Sébastien Blondeel
  5. http://mail.gnu.org/archive/html/bug-gnu-emacs/2000-09/msg00065.html
  6. (en) http://www.gnu.org/software/emacs/CONTRIBUTE
  7. https://www.gnu.org/software/emacs/history.html
  8. http://www.jwz.org/doc/emacs-timeline.html
  9. https://www.gnu.org/software/emacs/news/NEWS.26.1
  10. https://www.gnu.org/software/emacs/news/NEWS.25.3
  11. https://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00619.html
  12. https://www.gnu.org/software/emacs/index.html#Releases
  13. https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00451.html
  14. http://lists.gnu.org/archive/html/info-gnu-emacs/2015-04/msg00002.html
  15. http://lists.gnu.org/archive/html/info-gnu-emacs/2014-10/msg00002.html
  16. http://lists.gnu.org/archive/html/info-gnu-emacs/2013-03/msg00001.html
  17. http://lists.gnu.org/archive/html/info-gnu-emacs/2012-08/msg00000.html
  18. http://lists.gnu.org/archive/html/info-gnu-emacs/2012-06/msg00000.html
  19. Le répertoire Git est également disponible mais pas encore pas à jour.
  20. (en) Section 1.1 de l’introduction de la FAQ GNU Emacs pour Windows, rédigée par Richard Stallman en septembre 2010.
  21. (en) Phil Hagelberg (16-12-2008), « ruby-mode.el has moved », ruby-forum.com.
  22. (en) « GNU Emacs Lisp Package Archive », sur gnu.org, (consulté le 29 mars 2012)
  23. (en) Chong Yidong (24-08-2010), « elpa.gnu.org accessible now », info-gnu.
  24. (en) Tom Tromey, « ELPA - Emacs Lisp Package Archive », sur tromey.com, (consulté le 29 mars 2012)
  25. (en) Sacha Chua, « Emacs 24 and the package manager », sur sachachua.com, (consulté le 29 mars 2012)

Notes[modifier | modifier le code]

  1. Les auteurs doivent au préalable publier leurs paquets dans le dépôt mais il s’agit d’un nouvel usage assez répandu au sein de la communauté Emacs.

Annexes[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]