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-hook
ejecuta justo antes de salir de Emacs ...
Creo que está diciendo que hay una variable (símbolo) nombrada kill-emacs-hook
que representa una lista de un conjunto de "funciones de enlace" que se ejecutarán cuando kill-emacs-hook
se evalúe, realizando así esas funciones. ¿Correcto? Entonces
(add-hook 'text-mode-hook 'auto-fill-mode)
está agregando auto-fill-mode
a esa lista identificada text-mode-hook
ademá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-hook
que 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?