除非有错误,否则请安静地编译

我想运行 compilerecompile ,但我不希望看到 * compilation * 缓冲区弹出,除非出现错误,或者一点也不。如果编译成功,我应该只在echo区域看到一个通知。这就是AUCTeX的工作原理;我想要它在任意模式下的任意编译命令。

这是一个小轮子,但我找不到它(从Emacs 24.3开始)。在我继续重新发明之前,这已经存在于某个地方吗?

3
我不知道是否有这样的事情。但是,如果我想做类似的事情,我将从 compilation-start-hookcompilation-filter-hook 开始。首先掩埋缓冲区(并可能重命名),然后再观察错误,然后重新启动它。
额外 作者 Yann Trevin,
看看(setq outwin(display-buffer outbuf'(nil(allow-no-window.t))))compile.el 的第1693行master branch - 函数 compilation-start 。如果您是依赖建议的反源修饰符等(即大多数Emacs用户),您可以设置 display-buffer-alist 规则以满足您的需求。几年前我使用 compile.el 并将其设置为我自己的自定义设置 - 所以我只是随意修改它。
额外 作者 lawlist,