This page is also available in English: DrewsElispLibraries. La version Anglais de cette page est peut-etre plus a jour: English: DrewsElispLibraries.
Cette page decrit les packages Emacs Lisp ecrits par DrewAdams et qui se trouvent sur EmacsWiki (a http://www.emacswiki.org/elisp). Elle indique les dernieres modifications de la liste des fichiers (packages). Pour des infos sur les modifs aux fichiers individuels, voir les fichiers eux-memes (paragraphe Change log
).
Cette page comprend les paragraphes suivants :
Mes packages Emacs Lisp sur EmacsWiki sont presentes ici en trois listes. La premiere contient les packages qui ont ete teste pour Emacs 20 (sur Windows et Unix) ainsi qu’Emacs 21. La deuxieme contient les packages qui marchent uniquement avec Emacs 21. La troisieme contient les packages qui marche avec Emacs 20 mais (probablement) pas avec Emacs 21.
A part la deuxieme liste (Emacs 21), la plupart de mes packages (mais je ne sais pas lesquels !) marchent aussi avec des versions d’Emacs anterieur a Emacs 20. Le package Lisp:sort+.el n’est utile que pour des versions d’Emacs plus anciennes que la version 20 – il redefini la fonction ‘sort-reorder-buffer’
pour qu’elle preserve les proprietes de texte (text properties).
Il y a aussi une quatrieme liste de packages obsoletes (deprecated). Ces packages sont en generale des anciennes versions de packages, avec noms anciens.
Personnellement, je suis toujours entre Emacs 20 et Emacs 21. Apres que tout marchera comme je veux dans Emacs 21, je n’utiliserai qu’Emacs 21 sans doute. Pour mettre a jour mes packages Lisp pour Emacs 21, j’utilise la pseudoversion 21.3.50 (qui va se changer bientot en 22.3.50, sans doute). Ce numero de version indique la version de developpement CVS, en principe. Pourtant, je me passe de faire des builds a partir du code source CVS – j’ai pris un Emacs executable (ici, je crois : http://prdownloads.sourceforge.net/nqmacs/emacs-21.3.50.1-20040726-w32.zip?download ; cette photo date du 2004/07/26) et je m’en sers. Le numero de version, “21.3.50”, n’est pas un numero de version publiee : il indique une version en cours de developpement – tot ou tard la pseudoversion 21.3.50 deviendra la version publiee 21.4. Oops – elle deviendra 22.1, il parait (2005/02-08).
Cette pseudoversion 21.3.50 a servi pour moi comme introduction a Emacs 21. Ainsi, je n’ai pas toujours bien apprecie les differences entre ma photo 21.3.50 et les autres versions mineures d’Emacs 21. Lorsque je constate dans un commentaire du code que le package lambda marche avec Emacs 21, ce que je veux dire c’est que ce package marche avec ma photo 21.3.50, qui est en fait la preversion pour la 22.1.
Recemment j’ai obtenu acces a une version (publiee) 21.3 sur Linux, que j’utilise pour qq tests. J’ai donc commence a differentier dans mes packages Lisp entre l’utilisation de la 21.3.50 et l’utilisation d’autres versions 21 anterieures. Ca complique parfois le code, et il y a peut-etre qq endroits ou le test de versions dans le code n’est pas tout a fait correct. Merci de me faire part des anomalies (→ Discussion).
Dans le meme package j’ai parfois du code pour Emacs 20, du code pour Emacs 21.3.50 (ma photo), et du code pour les autres versions Emacs 21. Si une fonctionnalite dans un de mes packages ne semble pas bien marcher pour ta version d’Emacs, fais moi signe.
Aussi, chercher les tests de version dans le code :
(< emacs-major-version 21)
(>= emacs-major-version 21)
(string-match "21.3.50" emacs-version)
Je ne connais pas de bonne facon pour tester si une version correspond a une photo particuliere, et de toute facon ca ne serait pas utile de comparer a une version en developpement. La pseudoversion 21.3.50 peut correspondre a differentes versions de packages Emacs standards. Donc, ce n’est pas parce que du code marche avec ma photo 21.3.50 qu’il marchera avec une autre photo 21.3.50. Apres la publication de la 22.1 je mettrai a jour mes packages et tout sera plus simple.
On peut essayer de jongler avec les branches de ces tests – c.a.d. d’essayer les differentes branches pour voir ce que ca donne pour une version d’Emacs donnee. Noter ici (→ Discussion) ce qui marche et ce qui ne marche pas. – Merci.
Les derniers packages que j’ai ecrit sont les suivants :
‘cus-edit’
pour rendre Customize plus sage – voir CustomizingAndSaving (en)‘diff-mode’
– voir DiffEnhancements (en)‘ediff’
: basculer la sensibilite a la case (majuscule, miniscule) ; (pas necessaire pour le GNU Emacs 22)‘facemenu’
– voir FaceMenuPlus (en)‘ffap’
‘grep’
; voir aussi GrepMode (en)‘help-fns’
; voir aussi HelpPlus‘help-mode’
; voir aussi HelpPlus et HelpModePlus (en)‘loadhist’
) – voir LibraryDependencies (en)savehist.el
’ qui marche avec l’Emacs 20, aussi bien qu’avec l’Emacs 21 et l’Emacs 22 – voir SaveHist.‘toolbar’
; voir aussi ToolBar (en)A part ca, j’ai fait des modifs mineures a plusieurs packages recemment – alors, prendre les dernieres versions a http://www.emacswiki.org/elisp.
Conseil : La meilleur facon de savoir quels fichiers ont ete charges sur EmacsWiki recemment c’est de consulter la liste de telechargements recents : Recent uploads.
‘apropos’
‘autoload’
‘bookmark’
‘browse-kill-ring’
‘buff-menu’
; voir aussi BufferMenuPlus (en)‘cus-edit’
‘defface’
maintenant)delsel.el
’ pour mieux jouer avec `completion.el
’‘dired’
, ‘dired-aux’
, et ‘dired-x’
; voir aussi DiredPlus (en)‘dired-sort-menu’
, ecrit par FrancisJWright‘faces’
‘ffap’
‘files’
‘frame’
Commentary
)‘icomplete’
; voir aussi IcompleteMode (en)‘imenu’
; voir aussi ImenuMode (en)‘info’
– voir aussi InfoMode (en)‘isearch’
; voir aussi IncrementalSearch (en)‘loadhist’
) – voir aussi LibraryDependencies‘macros’
‘menu-bar’
; voir aussi MenuBar (en) et HelpMenuBarPlus (en)‘mouse’
‘novice’
‘pp’
‘replace’
; voir aussi OccurBuffer (en)‘ring’
; voir aussi RingPlus (en)savehist.el
’ qui marche avec l’Emacs 20, aussi bien qu’avec l’Emacs 21 et l’Emacs 22.‘setnu’
‘simple’
require
et autoload
d’autres packages‘thingatpt’
; voir aussi ThingAtPoint (en)‘w-browser’
‘w-browser’
avec la boite de dialogue Windows Ouvrir (Open File)‘window’
‘compile’
; voir aussi GrepMode (en)‘compile’
; voir aussi GrepMode (en)‘diff’
‘diff-mode’
‘grep’
; voir aussi GrepMode (en)‘help’
; voir aussi HelpPlus (en) et HelpMenuBarPlus (en)‘help-fns’
; voir aussi HelpPlus‘help-mode’
; voir aussi HelpPlus et HelpModePlus (en)‘tool-bar’
; voir aussi ToolBar (en)‘compile’
pour Emacs 20 (et plus ancienne); voir aussi GrepMode (en)‘compile’
pour Emacs 20 (et plus ancienne); voir aussi GrepMode (en)‘diff’
pour Emacs 20 (et plus ancienne).emacs
(_emacs
) – le commentaire explique comment utiliser mes packages‘find-dired’
‘find-dired’
‘help-macro’
‘help’
; voir aussi HelpPlus (en) et HelpMenuBarPlus (en)htmlize.el
’); voir aussi SaveAsHtml (en)‘options’
‘outline’
‘timer’
‘vc’
‘vc-hooks’
‘vc’
Les packages suivants sont obsoletes (deprecated). Ils sont neanmoins toujours disponibles sur EmacsWiki. En generale, ils ont ete renommes (pour des raisons diverses, y compris une adherence aux normes GNU).
‘icicle-rebind-completion-maps’
dans ~/.emacs‘icicle-rebind-completion-maps’
dans ~/.emacsCertains de mes packages ont des noms qui empechent leur telechargement a EmacsWiki. Leurs noms ont donc ete modifies pour satisfaire aux restrictions de telechargment. Dans chaque cas, il y a un commentaire au debut du fichier (et un autre commentaire a la fin), pour indiquer le vrai nom. Il faut renommer le fichier correctement pour pouvoir l’utiliser avec d’autres packages qui en font reference.
Dans plusieurs cas, j’ai ecrit une extension a un package GNU standard qui s’appelle, par exemple, foo.el
. J’ai nomme mon package foo+.el
. Le caractere `+
’ indique generalement que mon package devrait etre charge apres le package standard correspondant.
Dans qq cas, j’ai ecrit un package a charger avant un package standard ; ces packages sont nommes avec le caractere ‘-’
, par exemple : foo-.el
.
Voir aussi : NomsDesPackages pour des infos sur la nomenclature des packages.
On peut evidemment utiliser differents packages individuellement, mais la meilleur facon d’apprecier mon code Emacs c’est de tout essayer a la fois :
En particulier :
load-path
mettant a jour la variable ‘drews-lisp-dir’
.CONTRIB
au ‘load-path’
. Ce repertoire est pour d’autres packages que je n’ai pas ecrit et que je trouve utiles.(defvar 1on1-separate-minibuffer-frame-flag nil)
’..emacs
ou _emacs
), puis utiliser Lisp:emacs-init.el comme fichier d’initialisation.NB : Lisp:emacs-init.el n’est probablement pas tout a fait a jour, mais il suffit pour commencer. Merci de signaler des problemes eventuels que vous rencontrez.
Voir ToutEssayer, puis commenter ou decommenter des bloques de code dans Lisp:emacs-init.el. C’est la meilleur facon de proceder. Pour un reglage plus fin, modifier les valeurs de qq variables en plus des variables dans Lisp:emacs-init.el. On les trouvera dans les differents packages (voir prochaine).
Ajouter vos commentaires et questions ici.