2010-05-14 62 views
3

爲什麼這個工程如何從Eval中設置緩衝區局部變量:in .dir-local.el?

((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

+0

我正在嘗試爲你做類似的事情......在讀取.dir-local.el時動態設置一些變量:它現在看起來似乎不可能。 – jkp 2010-10-19 14:19:58

回答

-3

很明顯,你認爲「eval」在目錄局部變量中具有與文件局部變量相同的特殊含義;但文件似乎並沒有證實這一點。所以我的猜測是:你根本做不到。

7

的Emacs Lisp是區分大小寫的:儘量小寫 「EVAL」:

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

此外,對於目錄的局部變量的文件名是爲.dir-locals.el,不.dir-local.el與問題標題一樣。