【发布时间】:2019-03-07 14:10:28
【问题描述】:
我是 emacs 的新手。如何在 .dir-locals.el 中定义和使用新变量?
这是我的 .dir-locals.el,但它不起作用。
(setq clang_args '("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include"))
((c-mode . ((company-clang-arguments . clang_args)
(flycheck-clang-args . clang_args))))
这行得通
((c-mode . ((company-clang-arguments . ("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include"))
(flycheck-clang-args . ("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include")))))
根据How do I set buffer local variable from Eval: in .dir-local.el?的例子,我尝试了其他方法,但都失败了。
((c-mode . ((eval . (setq company-clang-arguments ("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include"))
(eval . (setq flycheck-clang-args ("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include"))))))
和
((c-mode . ((eval . (setq clang_args ("-isystem/usr/include/glib-2.0"
"-isystem/usr/lib/glib-2.0/include"))
(company-clang-arguments . clang_args)
(flycheck-clang-args . clang_args))))
【问题讨论】: