Solo para aclarar ... Por ejemplo, en este documento :
Un gancho es una variable de Lisp que contiene una lista de funciones, que se llamará en alguna ocasión bien definida. (Esto se llama ejecutar el gancho). Las funciones individuales de la lista se denominan funciones de gancho del gancho. Por ejemplo, el gancho se
kill-emacs-hookejecuta justo antes de salir de Emacs ...
Creo que está diciendo que hay una variable (símbolo) nombrada kill-emacs-hookque representa una lista de un conjunto de "funciones de enlace" que se ejecutarán cuando kill-emacs-hookse evalúe, realizando así esas funciones. ¿Correcto? Entonces
(add-hook 'text-mode-hook 'auto-fill-mode)
está agregando auto-fill-modea esa lista identificada text-mode-hookademás de lo que ya está allí. Bueno. Ahora esto
(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)
donde parece que estamos creando o alterando el text-mode-hook. Ahora estoy confundido sobre la naturaleza de los ganchos y su relación con ellos defcustom. Mi elección lógica es que este código está creando una variable text-mode-hookque es de "tipo" (no sé qué se entiende por tipos en elisp) hook. ¿Se supone que esta es la creación inicial del gancho text-mode-hook? Si es así, ¿qué pasa con las "opciones"? ¿Son esas las supuestas funciones de gancho, o algo más?