Это хорошая идея, чтобы отделить LaTeX-mode-hook?

Это хорошая идея, чтобы выделить (add-hook 'LaTeX-mode-hook)? Каковы преимущества и недостатки при этом.

Например, вы можете написать:

(add-hook 'LaTeX-mode-hook (lambda ()
;;(add-to-list [...]
)

(add-hook 'LaTeX-mode-hook 'TeX-PDF-mode)

;;[...lots of other LaTeX config stuff]

(add-hook 'LaTeX-mode-hook 'flyspell-mode)

или можно выделить LaTeX-mode-hook Скажите и напишите что-то вроде этого:

(add-hook 'LaTeX-mode-hook (lambda ()

;;(add-to-list) [...]

(TeX-PDF-mode)

;;[...lots of other LaTeX config stuff]

(flyspell-mode)
))

2 ответа

Ваш вопрос состоит из двух частей: факторинга и использования лямбды.

Я считаю, что факторинг это хорошая идея, потому что легче поддерживать .emacs файл, где есть единственное место, где добавляется хук. Однако, используя lambda для этого слегка нахмурился. Если вы посмотрите на значение крючка после того, как вы использовали lambda вы увидите, что это "некрасиво". Кроме того, будет сложнее работать на этом крючке. Например, иногда вы хотите отключить remove-hook, Это проще сделать, когда вы явно назвали свой хук вместо использования лямбды.

Я бы не сказал, что это имеет большое значение: вы можете проверить это, например, оценив LaTeX-mode-hook в *scratch* с обоими типами утверждений. Это будет выглядеть немного иначе, но поведение при выполнении должно быть таким же.

Одно преимущество - держать его в одном lambda в том, что его легче поддерживать.

Другие вопросы по тегам