2012-02-12 12 views
3

latexコマンドLaTeX-clean-intermediate-suffixesに正規表現を追加したいと思います。私はemacs lisp:リストに「LaTeX-clean-intermediate-suffixes」を追加する方法は?

(setq LaTeX-clean-intermediate-suffixes 
     (append LaTeX-clean-intermediate-suffixes (list "\\.foo" "\\.bar"))) 

を試してみましたが、私は次の警告が表示されます。

Warning (initialization): An error occurred while loading `/Users/myusername/.emacs': 

Symbol's value as variable is void: LaTeX-clean-intermediate-suffixes 

To ensure normal operation, you should investigate and remove the 
cause of the error in your initialization file. Start Emacs with 
the `--debug-init' option to view a complete error backtrace. 
私はこのリストにいくつかの文字列/接尾辞を追加することができますどのように

+0

どのようなエラーが表示されますか? –

+0

助けてくれてありがとう、私は上記の警告を追加しました。 –

答えて

8

変数を定義するパッケージがロードされる前に変数の値を変更しようとしているようです。 C-h vは、その変数が「latex.el」ファイルで定義され、そうしようとしていることを示している代わりに、以下:eval-after-loadは関数であり、あなたが引用されたことを評価されたいコードを必要

(eval-after-load 'latex 
    '(setq LaTeX-clean-intermediate-suffixes 
    (append LaTeX-clean-intermediate-suffixes (list "\\.foo" "\\.bar")))) 

注こと - これは、同じ名前のeval-when-compileと友人(マクロ)とは異なるため、少し混乱します。

ところで、add-to-listを使用して、項目をリストに追加することもできます。第3引数はtです。これを前面に置くのではなく、追加します。 add-to-listも関数なので、ここでは変数の名前を引用符で囲む必要があります。これは、時にはsetqappendの組み合わせよりも読みやすいですが、あなたは、一度に1つのアイテムを追加することができます

(add-to-list 'LaTeX-clean-intermediate-suffixes "\\.foo" t) 

この他の利点は、それが"\\.foo"は、すでに前にリスト内に存在するかどうかをチェックするということですそれを追加する - ロードパスのようなものに役立ちます。

+0

非常に良い、ありがとう! –

+0

問題ありません!それが役に立てば幸い。 –

関連する問題