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-hook
viene eseguito appena prima di uscire da Emacs ...
Penso che stia dicendo che esiste una variabile (simbolo) kill-emacs-hook
che rappresenta un elenco di un insieme di "funzioni hook" che verranno eseguite al momento della kill-emacs-hook
valutazione, eseguendo quindi tali funzioni. Corretta? Poi
(add-hook 'text-mode-hook 'auto-fill-mode)
sta aggiungendo auto-fill-mode
a quell'elenco identificato da text-mode-hook
oltre 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-hook
che è 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?