Я использую Emacs 23.1 с ESS 5.4 для редактирования файла Sweave.Я хотел бы отключить стандартное поведение отступа AUCTeX в буфере (чтобы избежать неприятностей с кусками кода, содержащимися в подробных списках), поэтому в верхней части файла у меня есть % -*- LaTeX-indent-level: 0; LaTeX-item-indent: 0; -*-
.Когда я открываю буфер и запускаю C-h v LaTeX-indent-level
, я получаю то, что хотел:
LaTeX-indent-level is a variable defined in `latex.el'.
Its value is 0
Local in buffer test.Rnw; global value is 2
This variable is a file local variable.
Однако после редактирования фрагмента кода он возвращается к поведению по умолчанию.C-h v LaTeX-indent-level
теперь дает:
LaTeX-indent-level is a variable defined in `latex.el'.
Its value is 2
Я попробовал исправление, предложенное в FAQ по режиму noweb , в котором предлагается добавить
(add-hook 'noweb-select-mode-hook
'(lambda () (hack-local-variables-prop-line)))
в мой .emacs.Описанное выше поведение сохранялось, когда я делал это.
Есть ли способ заставить локальные переменные буфера работать в этой ситуации?Я бы предпочел не менять мои .emacs для установки LaTeX-indent-level
на 0 во всех буферах Sweave / noweb.