GNU Emacs

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir GNU et Emacs (homonymie).
GNU Emacs
Image illustrative de l'article GNU Emacs
Logo

L’interface graphique de GNU Emacs
L’interface graphique de GNU Emacs

Développeur Projet GNU
Première version 1984
Dernière version 24.4 (le 20 octobre 2014,
il y a 2 mois
[1]
)
[+/-]
Écrit en C, Emacs Lisp
Environnement GNU/Linux, FreeBSD, NetBSD, OpenBSD, GNU, OpenVMS, UNIX, Mac OS X, MS-DOS, Microsoft Windows
Langue anglais
Type Éditeur de texte
Licence GPLv3
Site web (en) Site officiel

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]

Cette section ne cite pas suffisamment ses sources. Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}} ou {{Référence souhaitée}} 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, suite à des 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 2 juin 2007. 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 22 février 2008, 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]

Cette section ne cite pas suffisamment ses sources. Pour l'améliorer, ajouter en note des références vérifiables ou les modèles {{Référence nécessaire}} ou {{Référence souhaitée}} 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].

Version Date de sortie Principaux changements
24.4 20 octobre 2012
  • Intégration d’un navigateur Web (M-x eww), support des menus en mode terminal, nom des buffers unique avec uniquify, &c.
24.1 10 juin 2012
23.3 10 mars 2011
  • Correction de bugs et améliorations parmi lesquelles les modes VC et Rmail
23.2 8 mai 2010
  • Intégration d’un nouveau mode pour JavaScript (js2-mode)
23.1 29 juillet 2009
  • 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 26 mars 2008
22.1 2 juin 2007
21.1 20 octobre 2001
  • Support du défilement horizontal
  • Support du son
  • Support des molettes de souris
  • Amélioration de la disposition de la barre de menu
  • Possibilité d’afficher des couleurs sur des terminaux
20.1 17 septembre 1997
  • Support multilingue
19.28 15 septembre 1997
18.24 2 octobre 1986
17.36 20 décembre 1985
  • Fichiers de sauvegarde numérotés
16.56 15 juillet 1985
15.10 11 avril 1985
13.0? 20 mars 1985

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[8].

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[9].

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[10], 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 dédié aux extensions Emacs Lisp[note 1]. Baptisé GNU ELPA (de l’anglais « GNU Emacs Lisp Package Archive »)[11], le projet est en production depuis 2010[12]. Son nom vient d’une plateforme similaire initiée par le dénommé Tom Tromey[13] et du gestionnaire de paquets « package.el » d’un certain Phil Hagelberg[14].

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. (en) Glenn Morris (20-10-2014), « Emacs 24.4 released », info-gnu.
  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. http://www.jwz.org/doc/emacs-timeline.html
  8. Le répertoire Git est également disponible mais pas encore pas à jour.
  9. (en) Section 1.1 de l’introduction de la FAQ GNU Emacs pour Windows, rédigée par Richard Stallman en septembre 2010.
  10. (en) Phil Hagelberg (16-12-2008), « ruby-mode.el has moved », ruby-forum.com.
  11. (en) « GNU Emacs Lisp Package Archive », sur gnu.org,‎ 29 mars 2012 (consulté le 29 mars 2012)
  12. (en) Chong Yidong (24-08-2010), « elpa.gnu.org accessible now », info-gnu.
  13. (en) Tom Tromey, « ELPA - Emacs Lisp Package Archive », sur tromey.com,‎ 29 mars 2012 (consulté le 29 mars 2012)
  14. (en) Sacha Chua, « Emacs 24 and the package manager », sur sachachua.com,‎ 15 janvier 2011 (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]