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 !
- Micha
- 15:13
- > Lien permanent
- > Commentaires
- > Abus ?




