我第一次尝试用 .dir-locals, 描述一下行为:
在 /Users/quebec/Playground/others_indexed/books/professional-cuda-c-programming/
下我定义了 .dir-locals.el, 内容如下:
((nil . ((eval . (setq my/local-path "/Users/quebec/Playground/others_indexed/books/professional-cuda-c-programming/" my/remote-path "/HOME/scz0csz/professional-cuda-c-programming/"))))
(cuda-mode . ((eval . (setq my/local-path "/Users/quebec/Playground/others_indexed/books/professional-cuda-c-programming/" my/remote-path "/HOME/scz0csz/professional-cuda-c-programming/"))))
)
用 emacs -Q 打开 /Users/quebec/Playground/others_indexed/books/professional-cuda-c-programming/
下的任意文件, my/local-path
和 my/remote-path
都已经定义了. 但 spacemacs 中(我没有加载我的配置文件), 打开这个目录下的任意文件, my/local-path
和 my/remote-path
都没有定义. 很迷惑. 请问大家, 这可能的原因是什么?
一些配置变量的值如下, 奇怪的是 dir-local-variables-alist 是空的. 还有另一间奇怪的事, 我故意在 .dirs-local 写出语法错误, revert-buffer 确实又会报错, 但是变量, 就是没有设置.