2

コンピューターに Emacs をセットアップし、一時フォルダーにすべてのバックアップを作成しようとしています。.emacs ファイルには次の内容が含まれています。

(setq backup-directory-alist
`((".*" . ,temporary-file-directory)))
(setq auto-save-file-name-transforms
`((".*" ,temporary-file-directory t)))

ただし、エラーが発生し続けます。

Wrong type argument: stringp, (\, temporary-file-directory)

これは、\ / Windows と Unix の違いによるものだと思います。

これを止めるにはどうすればよいですか?

4

2 に答える 2

1

エラーコンテキストについてもっと示す必要があると思います-それが発生した場所など。あなたが示すバッククォートのsexpには何も問題はありません.AFAICT. また、MS Windows と Unix の違いとは何の関係もないと思います。問題は、これらの変数の結果の新しい値がどのように使用されるかです。IOW、(a) 新しい値が意図したものであるかどうかを確認し、そうであれば (b) それらを使用するコードが期待するものではないように思われる理由を確認してください。

debug-on-error を t に設定することから始めて、エラーが発生した場所と理由を確認します。そのファイルの *.el コードをロードして (エラーが発生する関数を定義)、デバッガーのバックトレースを改善します。

しかし、苦情はバッククォート処理自体から来ているようです。たとえば、 or buffersetqを使用して、これらの sexpの 1 つを単独で評価するとどうなりますか? それでエラーが出ますか?そうでない場合、変数の結果の新しい値は何ですか?M-:*scratch*

の外側でもエラーが発生する場合は、 sexp.emacsをラップして結果を確認することをお勧めします。setq(macroexpand ...)

于 2013-09-09T16:46:55.263 に答える