Я хочу, чтобы автоматическое закрытие буфера компиляции, когда нет ошибки и никакого предупреждения, но я хочу показать его, когда есть предупреждения. Кто-нибудь может мне помочь? Этот код от emacswiki выполняет только первое требование. Как его изменить?emacs compiler buffer auto close?
;; Helper for compilation. Close the compilation window if
;; there was no error at all.
(defun compilation-exit-autoclose (status code msg)
;; If M-x compile exists with a 0
(when (and (eq status 'exit) (zerop code))
;; then bury the *compilation* buffer, so that C-x b doesn't go there
(bury-buffer)
;; and delete the *compilation* window
(delete-window (get-buffer-window (get-buffer "*compilation*"))))
;; Always return the anticipated result of compilation-exit-message-function
(cons msg code))
;; Specify my function (maybe I should have done a lambda function)
(setq compilation-exit-message-function 'compilation-exit-autoclose)
Что вы компилируете? – Thomas
@Thomas это не ключевая проблема – Iceman
Возможно, было бы полезно узнать, какой компилятор вы используете, потому что вы можете использовать параметр 'msg', чтобы проверить наличие ошибок или предупреждений. – Thomas