Похоже, вы пытаетесь изменить значение переменной до того, как пакет, определяющий ее, будет загружен. C-h v
показывает, что эта переменная определена в файле latex.el, поэтому попробуйте сделать следующее:
(eval-after-load 'latex
'(setq LaTeX-clean-intermediate-suffixes
(append LaTeX-clean-intermediate-suffixes (list "\\.foo" "\\.bar"))))
Обратите внимание, что eval-after-load
- это функция, которая требует, чтобы код, который вы хотите оценить, был заключен в кавычки - это немного сбивает с толку, поскольку оно отличается от одноименных eval-when-compile
и друзей, которые являются макросами.
Кстати, вы также можете использовать add-to-list
для добавления элементов в список, с третьим аргументом t
, чтобы добавить его, а не заключить его в начало. add-to-list
также является функцией, поэтому здесь имя переменной нужно заключать в кавычки. Иногда это более читабельно, чем комбинация setq
и append
, но вы можете добавить только один элемент за раз:
(add-to-list 'LaTeX-clean-intermediate-suffixes "\\.foo" t)
Другим преимуществом этого является то, что он проверяет, присутствует ли "\\.foo"
в списке, прежде чем добавлять его - полезно для таких вещей, как пути загрузки.