Juste pour clarifier ... Par exemple, dans ce document :
Un hook est une variable Lisp qui contient une liste de fonctions, à appeler à une occasion bien définie. (Cela s'appelle exécuter le hook.) Les fonctions individuelles de la liste sont appelées les fonctions de hook du hook. Par exemple, le hook
kill-emacs-hook
s'exécute juste avant de quitter Emacs ...
Je pense que cela veut dire qu'il y a une variable (symbole) nommée kill-emacs-hook
qui représente une liste d'un ensemble de "fonctions de crochet" qui s'exécutera lorsque le kill-emacs-hook
est évalué, réalisant ainsi ces fonctions. Correct? alors
(add-hook 'text-mode-hook 'auto-fill-mode)
ajoute auto-fill-mode
à cette liste identifiée par text-mode-hook
en plus de ce qui existe déjà. Bien. maintenant , ce
(defcustom text-mode-hook nil
"Normal hook run when entering Text mode and many related modes."
:type 'hook
:options '(turn-on-auto-fill flyspell-mode)
:group 'wp)
où il semble que nous créons ou modifions le text-mode-hook
. Je suis maintenant confus quant à la nature des crochets et à leur relation avec defcustom
. Mon choix logique est que ce code crée une variable text-mode-hook
qui est de "type" (je ne sais pas ce que l'on entend par types dans elisp) hook
. Est-ce, en effet, censé être la création initiale du crochet text-mode-hook
? Si oui, que se passe-t-il avec les "options"? S'agit-il des fonctions de crochet supposées, ou autre chose?