Apenas para esclarecer ... Por exemplo, neste documento :
Um gancho é uma variável Lisp que contém uma lista de funções, a serem chamadas em alguma ocasião bem definida. (Isso é chamado de execução do gancho.) As funções individuais na lista são chamadas de funções de gancho do gancho. Por exemplo, o gancho
kill-emacs-hooké executado antes de sair do Emacs ...
Eu acho que está dizendo que existe uma variável (símbolo) nomeada kill-emacs-hookque representa uma lista de um conjunto de "funções de gancho" que serão executadas quando a kill-emacs-hookavaliação for realizada, executando essas funções. Corrigir? Então
(add-hook 'text-mode-hook 'auto-fill-mode)
está sendo adicionado auto-fill-modeà lista identificada por text-mode-hook, além do que já está lá. Boa. Agora isso
(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)
onde parece que estamos criando ou alterando o text-mode-hook. Agora estou confuso quanto à natureza dos ganchos e ao relacionamento deles defcustom. Minha escolha lógica é que esse código esteja criando uma variável text-mode-hookdo tipo "(não sei o que significa tipos no elisp) hook. Esta é, de fato, a criação inicial do gancho text-mode-hook? Se sim, o que há com as "opções"? Essas são as supostas funções de gancho ou algo mais?