我正在使用最新版本的NTEmacs。 我写了一个名为“.dir-locals.el”的文件,如下所示。
((nil . ((tab-width . 8)
(fill-column . 70)))
(c-mode . ((c-file-style . "GNU"))))
我在子目录中打开了一个c文件,收到一条错误消息:
目录本地变量错误: (错误的类型参数listp消息)
我无法找出该代码有什么问题。
答案 0 :(得分:5)
表达式的第二部分是变量列表,因此您需要更多括号
((nil .
((tag-width . 8)
(fill-column . 70)))
(c-mode .
((c-file-style . "GNU"))))
这对我有用。为了使它工作,我在开头添加了一个引用并评估了表达式,然后从那里跟踪它。
然后在报价工作时删除了报价。
答案 1 :(得分:1)
我遇到了一个非常类似的问题:emacs在类似内容的.dir-locals.el文件中抱怨同样的错误。在我的情况下,我发现问题出现在文件中存在的隐形空白字符中。 (我注意到Skype聊天有时会在文本中引入奇怪的空格字符。)一旦我删除了所有额外的空格,它就有用了。