如何在Eval:in .dir-local.el中设置缓冲区局部变量?

vav*_*ava 3 emacs elisp emacs23

为什么会这样

((nil . ((compilation-directory . "/home/vava/code_directory/")
         (compilation-command . "rake"))
))
Run Code Online (Sandbox Code Playgroud)

这不是吗?

((nil . ((Eval . (setq compilation-directory "/home/vava/code_directory"))
         (compilation-command . "rake"))
))
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

我已经设置enable-local-eval了.emacs.

Tho*_*mas 8

Emacs Lisp区分大小写:尝试小写"eval":

((nil . ((eval . (setq compilation-directory "/home/vava/code_directory"))
         (compilation-command . "rake"))))
Run Code Online (Sandbox Code Playgroud)

此外,目录本地变量的文件名是.dir-locals.el,而不是问题标题中的.dir-local.el.