blog2geek.com
MichaAvatar de Micha

17 billets | Profil

Recherche Google

ce blog tous
Derniers billets Connexion
Archives

aime-emacs-hacks

14/07/2006

Des hooks

Parmi les choses les moins comprises d'Emacs par les néophytes, et qui font parti de l'indispensable, il y a les hooks.

Un hook est une variable où vous stockez une ou plusieurs fonctions qui doivent être appelées à certaines occasions.

Emacs offre cette possibilité afin d'étendre facilement le code de fonctions qui le désirent.

Pour ajouter une fonction à un hook, il suffit d'utiliser add-hook, par exemple :

(add-hook 'c-mode-common-hook 'doxymacs-mode)

ajoute le mode doxymacs dès l'utilisation d'un mode C.

La plupart, si ce n'est tous, des modes définissent des hooks de lancements, par exemple, pour le mode emacs-lisp, emacs-lisp-mode-hook.

Les conventions de nommage sont claires et strictes, mais pas toujours suivi :
- Si la variable se termine par -hook, c'est un « hook normal », une liste de fonctions sans argument,
- Par -functions ou -hooks, il s'agit aussi d'une liste de fonctions, mais qui peuvent prendre des arguments,
- Par -function, il s'agit d'une seule fonction.

Fonction est pris au sens large, n'importe quoi appelable par (funcall) est valide.

Amusez vous à faire un (beep) au lancement de plein de truc, la vie sera plus belle !