Commit 234b1e38 authored by João Távora's avatar João Távora

Flymake backends must check proc obsoleteness in source buffer

Flymake backends that rely on sentinels running asynchronously and
checking buffer-local variables that hold running processes should
check for obsoleteness in the correct buffers, otherwise a (harmless)
warning might be triggered.

* doc/misc/flymake.texi (An annotated example backend):
Check buffer-local proc in the current buffer.

* lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
Check buffer-local proc in the current buffer.
parent 3ea6a4d4
......@@ -600,7 +600,7 @@ Binding,,, elisp, The Emacs Lisp Reference Manual}) to be active.
;; `ruby--flymake-proc', which indicates that
;; `proc' is not an obsolete process.
;;
(if (eq proc ruby--flymake-proc)
(if (with-current-buffer source (eq proc ruby--flymake-proc))
(with-current-buffer (process-buffer proc)
(goto-char (point-min))
;; Parse the output buffer for diagnostic's
......
......@@ -1693,7 +1693,8 @@ current buffer state and calls REPORT-FN when done."
(when (eq (process-status proc) 'exit)
(unwind-protect
(cond
((not (eq proc elisp-flymake--byte-compile-process))
((not (eq proc (with-current-buffer source-buffer
elisp-flymake--byte-compile-process)))
(flymake-log :warning "byte-compile process %s obsolete" proc))
((zerop (process-exit-status proc))
(elisp-flymake--byte-compile-done report-fn
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment