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

时间:2010-05-14 12:03:14

标签: emacs elisp emacs23

为什么会这样?

((nil . ((compilation-directory . "/home/vava/code_directory/")
         (compilation-command . "rake"))
))

这不是吗?

((nil . ((Eval . (setq compilation-directory "/home/vava/code_directory"))
         (compilation-command . "rake"))
))

我在这里做错了什么?

我在.emacs中设置了enable-local-eval

2 个答案:

答案 0 :(得分:8)

Emacs Lisp区分大小写:尝试小写“eval”:

((nil . ((eval . (setq compilation-directory "/home/vava/code_directory"))
         (compilation-command . "rake"))))

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

答案 1 :(得分:-3)

显然你假设“eval”在目录局部变量中具有与文件局部变量相同的特殊含义;然而文档似乎没有证实这一点。所以我的猜测是:你根本做不到。