URL: https://linuxfr.org/news/gnu-emacs-24-4 Title: GNU Emacs 24.4 Authors: ParaDoxe ptitjano, BAud, ounim, Nÿco, Jiehong, ZeroHeure, RyDroid, palm123, Dareg, Anonyme, M5oul et saltimbanque Date: 2014年05月25日T18:04:44+02:00 License: CC By-SA Tags: emacs Score: 48 D'après Wikipédia : « Emacs est une famille d'éditeurs de texte disposant d'un ensemble extensible de fonctionnalités et qui est très populaire parmi les programmeurs et plus généralement les personnes ayant des compétences techniques sur les ordinateurs. ». La version 24.4 de cet éditeur est sortie le 20 octobre 2014. ![Emacs](https://www.anonimg.com/img/8f8fda88e8792eefd61eebb9a26e6f4b.png) ---- [(ergoemacs.org) Nouvelles fonctionnalités d'Emacs 24.4](http://ergoemacs.org/emacs/emacs24.4_features.html) [(emacsredux.com) Articles à propos d'Emacs 24.4](http://emacsredux.com/blog/categories/emacs24-dot-4/) [(masteringemacs.org) Les nouveautés d'EMACS 24.4](http://www.masteringemacs.org/articles/2013/12/29/whats-new-in-emacs-24-4/) [(endlessparentheses.com) De nouvelles fonctionnalités sympathiques d'Emacs 24.4](http://endlessparentheses.com/sweet-new-features-in-24-4.html) [(endlessparentheses.com) Les nouvelles fonctionnalités utiles d'Emacs 24.4](http://endlessparentheses.com/useful-new-features-in-24-4.html) ---- # Navigateur web EWW Eww (pour *Emacs Web Wowser*) est un navigateur web intégré à Emacs 24.4. Un simple appel à `M-x eww` le lance. Il gère le rendu des images, la plupart des balises HTML et quelques règles CSS. Il est ainsi adapté à la lecture de texte. ![eww sur trisquel.info](http://s30.postimg.org/btu4l5mrl/Capture_d_cran_05112014_19_57_55.png) eww a été fait par Lars Magne Ingebrigtsen, le créateur de Gnus, qui explique ses motivations sur [son blog](http://lars.ingebrigtsen.no/2013/06/16/eww/). # Une nouvelle implémentation des rectangles Emacs avait déjà une fonctionnalité native de sélection en bloc (via le raccourci `C-x r d`), mais qui n'affichait pas le rectangle sélectionné. Il existait également une autre implémentation dans Cua. Enfin, le mode `evil` offrait, bien entendu, le mode visuel « bloc » propre à VIM. Le nouveau `rectangle-mark-mode` introduit un affichage clair de la sélection rectangulaire pour tous les modes. Son raccourci par défaut : `C-x SPC`. ![Capture d'écran d'une sélection rectangulaire](https://www.anonimg.com/img/c0ce1b9e02d8572f7771707ef4cee46d.png) # Principales valeurs par défaut modifiées ## electric-indent-mode Un nouveau mode mineur est apparu avec Emacs 24.1 : `electric-indent-mode`. Ce mode permet d'indenter automatiquement lors de l'appui de certaines touches (par exemple `Entrée`). Il est maintenant activé par défaut. ## uniquify (nom des buffers unique) Lorsque l'on ouvre plusieurs fichiers du même nom (par exemple un Makefile), Emacs renomme les _buffers_ à la volée en Makefile, Makefile\<2\>, Makefile\<3\>, etc. La bibliothèque uniquify permet de changer ce comportement et de personnaliser le renommage. Elle est maintenant activée par défaut. Le nouveau comportement par défaut est de renommer le buffer en incluant le nom du répertoire. On obtient alors Makefile\, Makefile\, Makefile\, etc. Ce comportement est personnalisable en jouant sur la variable `uniquify-buffer-name-style`. Par exemple : ```lisp (setq uniquify-buffer-name-style 'post-forward uniquify-separator ":") ``` donnera `Makefile:dir1`, `Makefile:dir2` Il est possible d'avoir le même comportement avec d'anciennes versions : ```lisp (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) ``` # Nouvelles fonctionnalités ## Fenêtre plein écran ou maximisé Deux nouvelles fonctions voient le jour pour respectivement mettre une fenêtre Emacs en plein écran : `toggle-frame-fullscreen` (`F11`) ou la maximiser : `toggle-frame-maximized` (`M-F10`). Il est dès lors possible d'avoir le même comportement quel que soit le système d'exploitation. Utilisées conjointement avec `menu-bar-mode` et `tool-bar-mode`, vous pouvez enfin avoir tout votre écran disponible pour éditer du texte. ## Nouveau mode pour les buffers *Messages* (messages-buffer-mode) Les buffers *Messages* sont maintenant créés dans le mode `messages-buffer-mode`. Dans la pratique, ces buffers sont en lecture seule et des raccourcis claviers sont disponibles. Par exemple, la touche `q` permet de quitter le buffer. ## Possibilité de se connecter à un appareil Android via Tramp TRAMP est un outil pour accéder et éditer des fichiers distants de manière transparente. L'un des cas d'utilisations classiques est l'édition de fichiers distants via ssh. Une nouvelle méthode de connexion apparaît : adb (*Android Debug Bridge*). Il est dorénavant possible d'accéder à des appareils Android. ## Suppression des lignes en double La commande `delete-duplicate-line` supprime les lignes en double dans le texte sélectionné. ## Superword-mode et subword-mode La navigation dans Emacs peut se faire par « entité ». L'entité la plus simple est le caractère. Avec les flèches, on pourra donc avancer d'un caractère ou reculer d'un caractère. Mais on peut aussi naviguer par mots, par phrases, par paragraphes, par blocs de code, par pages, ... Pour réaliser cela, Emacs classe les caractères par [catégories](https://www.gnu.org/software/emacs/manual/html_node/elisp/Syntax-Class-Table.html). Par exemple, une espace est dans la catégorie *espace* qui sépare des mots. Mais le tiret bas *_* fait aussi partie d'une catégorie qui sépare les mots. Pour passer le mot composé *fonction_test*, il faut donc avancer de deux mots. Si tous les noms de fonction sont séparés par des tirets bas, il peut être plus simple de traiter le nom de la fonction comme un seul mot. C'est ce que `superword-mode` se charge de faire. Au contraire, pour les noms en *CamelCase*, il peut être utile de séparer les mots en fonction des majuscules. Cette fois, c'est `subword-mode` qui s'en charge. ## Gain ou perte de focus d'un cadre Deux nouveaux hooks sont introduits : `focus-in-hook` et `focus-out-hook`. Ils donnent la possibilité d'automatiser des opérations lors du gain ou de la perte de focus d'un cadre. On pourra par exemple, ajouter une opération de sauvegarde automatique de buffers à la perte du focus (exemple tiré de [emacsredux.com](http://emacsredux.com/blog/2014/03/22/a-peek-at-emacs-24-dot-4-focus-hooks/)) : ```lisp (add-hook 'focus-out-hook 'save-buffer) ;; sauvegarder le buffer courant (add-hook 'focus-out-hook (lambda () (save-some-buffers t))) ;; sauvegarder tous les buffers ``` ## Visionneuse d'image (`image-mode`) Dès que l'on charge une image dans Emacs, le mode `image-mode` se charge automatiquement pour la visualiser. L'affichage de son code se fait depuis `C-c C-c`. Emacs 24.4 introduit de nouvelles possibilités : - Les touches `p` et `n` affichent respectivement l'image précédente et suivante dans le même répertoire ; - `f` et `b` affichent respectivement l'image (frame) précédente et suivante dans une animation (par exemple un gif). `F` affiche une _frame_ spécifique. ## Autres nouveautés Il y a bien évidemment d'autres nouveautés intéressantes : - Les menus apparaissent maintenant en mode console (terminal) et peuvent maintenant s'ouvrir avec `menu-bar-open` ou `F10` ; - Les moniteurs multiples sont gérés, à l'aide des commandes `display-monitor-attributes-list` et `frame-monitor-attributes` ; - Beaucoup de packages qui installaient des choses dans `~/.foo` le font maintenant dans `~/.emacs.d/foo` ; - `js-mode` (JavaScript) a été amélioré du côté de l'indentation, des arrays notamment ; - Emacs gère maintenant les notification du FS (système de fichiers) relatives à l'état des fichiers telles que création, modification et effacement. # Migration de Bazaar à git La 24.4 marque aussi la fin de la gestion du code d'Emacs sous Bazaar. Après [plusieurs](http://lists.gnu.org/archive/html/emacs-devel/2011-10/msg00141.html) [discussions](http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00776.html) sur la liste de diffusion des développeurs, il a bien fallu se rendre à l'évidence que Bazaar était un projet mort et qu'il posait plus du soucis qu'il n'en résolvait. Elpa, le dépôt d'extensions avait déjà migré à git en [2013](http://lists.gnu.org/archive/html/emacs-devel/2013-02/msg00313.html) suite à un bogue dans Bazaar rapporté en octobre 2011, mais jamais résolu. Il a donc été [décidé](http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg00005.html) de migrer à git après la 24.4. C'est [Eric S. Raymond](http://fr.wikipedia.org/wiki/Eric_Raymond) qui s'est chargé des scripts de migration — ce qui n'a pas été une sinécure, car la conversion dure environ 10 heures et contient une liste de corrections manuelles pour garder au maximum l'historique du code. Celui-ci contient tout de même 135 000 changements (pour comparaison, l'historique du noyau linux contient 480 000 changements), le premier datant du 18 avril 1985. # Changement de numérotation GNU Emacs 24.4 est la dernière version de la série 24. La prochaine sera la 25.1. Par ailleurs, à l'avenir, les versions du type « .N » correspondront à des corrections de bogues et les versions majeures à la sortie de nouvelles fonctionnalités. Voir l'[annonce sur la liste de diffusion](http://lists.gnu.org/archive/html/emacs-devel/2014-09/msg00872.html). Pour entrevoir le futur, la 25.1 a dans les cartons beaucoup de nouvelles fonctionnalités intéressantes. On pourra citer par exemple la concurrence dans la machine virtuelle Lisp, le chargement dynamique de bibliothèques, ou encore l'ajout d'espaces de noms en emacs-lisp.

AltStyle によって変換されたページ (->オリジナル) /