仅在找到库时才编译文件

时间:2018-03-11 15:39:47

标签: emacs compilation bytecode

如果找不到库,我如何建议字节编译器不要编译emacs-lisp源文件?请注意,不可编译文件与应编译的其他文件位于同一目录中。

我看到人们将整个文件包装在条件子句中,但这看起来很恶心。也可以想象自动加载/声明每个函数,但在这种情况下,整个文件充斥着外部调用。还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

我不认为这个问题有一个很好的答案/解决方案,不。

你能做的是:

  • 标记文件,使其永远不会编译(即使库可用),文件局部变量中的某处no-byte-compile: t

  • 或添加所有必需的declare-functiondefvar以使字节编译器警告静音。请注意,此选项仅适用于函数变量,但不适用于宏:如果您使用该库中的宏,则需要额外注意以防止这些宏调用在未加载库时编译(参见例如AUCTex TeX--if-macro-fboundp中的tex.el)。