Flycheck是一个对源文件进行后台编译的 emacs 库。您可以在手册的帮助下添加自己的“检查器”(编译某些文件的方法)。
我正在尝试添加一个编译器,该编译器需要在当前文件的相对目录中找到一些文件。我有一个函数可以为我做这件事,叫做(process filename)
. 在构建终端命令以执行文件时,您可以(eval FORM)
即时使用计算参数。这是我的检查器定义的相关部分:
(flycheck-declare-checker unity-csharp-flychecker
"given a c-sharp file, looks for the unity file and then tries to build it using mdtool."
:command '("mdtool" "build"
(eval '(process source-original)))
...)
source-original
是一个特殊符号,它在执行时替换缓冲区文件名。
不幸的是,当我尝试使用检查器时,出现此错误:
Invalid result from evaluation of (quote (process source-original)): (process source-original)
我在这里使用(eval)
不正确吗?如何从内部访问源代码,以便将其传递给(process)
?非常感谢任何帮助。