Giusto per chiarire ... Ad esempio, in questo documento :
Un hook è una variabile Lisp che contiene un elenco di funzioni, da chiamare in alcune occasioni ben definite. (Questo si chiama eseguendo il hook.) Le singole funzioni nell'elenco sono chiamate funzioni del hook del hook. Ad esempio, l'hook
kill-emacs-hookviene eseguito appena prima di uscire da Emacs ...
Penso che stia dicendo che esiste una variabile (simbolo) kill-emacs-hookche rappresenta un elenco di un insieme di "funzioni hook" che verranno eseguite al momento della kill-emacs-hookvalutazione, eseguendo quindi tali funzioni. Corretta? Poi
(add-hook 'text-mode-hook 'auto-fill-mode)
sta aggiungendo auto-fill-modea quell'elenco identificato da text-mode-hookoltre a ciò che è già lì. Buona. Adesso questo
(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)
dove sembra che stiamo creando o alterando il file text-mode-hook. Ora sono confuso sulla natura dei ganci e sul loro rapporto con defcustom. La mia scelta logica è che questo codice stia creando una variabile text-mode-hookche è di "tipo" (non so cosa si intende per tipi in elisp) hook. Questa, in effetti, dovrebbe essere la creazione iniziale dell'amo text-mode-hook? In tal caso, cosa succede con le "opzioni?" Quelle sono le presunte funzioni hook o qualcos'altro?