Просто для уточнення ... Наприклад, у цьому документі :
Гак - це змінна Lisp, яка містить список функцій, які потрібно викликати з певного чітко визначеного випадку. (Це називається запуском гака.) Окремі функції у списку називаються функціями гака гака. Наприклад, гачок
kill-emacs-hook
працює безпосередньо перед виходом із Emacs ...
Я думаю, що це говорить про те, що існує змінна (символ) назва, kill-emacs-hook
яка представляє список набору "функцій гака", який буде виконуватися при kill-emacs-hook
оцінці, тим самим виконуючи ці функції. Правильно? Тоді
(add-hook 'text-mode-hook 'auto-fill-mode)
додає auto-fill-mode
до цього списку, ідентифікованого на text-mode-hook
додаток до того, що вже є. Добре. Тепер це
(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)
де, здається, ми або створюємо, або змінюємо text-mode-hook
. Зараз я плутаюсь щодо характеру гачків та їх стосунків defcustom
. Мій логічний вибір полягає в тому, що цей код створює змінну text-mode-hook
типу "type" (не знаю, що розуміється під типами в elisp) hook
. Чи справді це повинно бути початковим створенням гака text-mode-hook
? Якщо так, що з "параметрами"? Це ті гадані функції гака чи щось інше?