Вы можете указать elisp для оценки в локальных переменных файла 1 , указав значение eval:
(в документации указано 'Eval:', но только в нижнем регистре 'eval:' похоже на работу). e.g.:
;;; Local Variables:
;;; mode: outline-minor
;;; eval: (hide-body)
;;; End:
В качестве меры безопасности Emacs будет запрашивать у вас подтверждение всякий раз, когда он видит значение, которое он еще не признал безопасным. Если вы скажете ему помнить об этом постоянно, он записывает значение в safe-local-variable-values
в разделе (custom-set-variables)
вашего файла инициализации.
Обратите внимание, что приведенный выше пример включения второстепенного режима устарел (локальная переменная mode
предназначена только для основных режимов), поэтому нам нужно переписать его как другую оцененную форму, в которой мы вызываем функцию второстепенного режима .
Если вам нужно оценить несколько форм, вы можете указать несколько значений eval
, которые будут оцениваться в следующем порядке:
;;; Local Variables:
;;; eval: (outline-minor-mode 1)
;;; eval: (hide-body)
;;; End:
Или, в качестве альтернативы, просто используйте progn:
;;; Local Variables:
;;; eval: (progn (outline-minor-mode 1) (hide-body))
;;; End:
Разница в том, что последнее будет считаться одним значением для целей safe-local-variable-values
, тогда как при множественных значениях eval
каждое рассматривается независимо.
1 C-ч i г (elisp) File Local Variables
RET