diff options
| author | João Távora <joaotavora@gmail.com> | 2017-10-20 00:50:34 +0100 |
|---|---|---|
| committer | João Távora <joaotavora@gmail.com> | 2017-10-20 00:50:34 +0100 |
| commit | 234b1e3864b8b940f72f3727fe7087cf7e90b43d (patch) | |
| tree | 4b0e1ce6747f64f517700aaa334cddf21364e410 | |
| parent | 3ea6a4d4baf67ae88dc8041c6247e9f0e3cd1eab (diff) | |
| download | emacs-234b1e3864b8b940f72f3727fe7087cf7e90b43d.tar.gz | |
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.
| -rw-r--r-- | doc/misc/flymake.texi | 2 | ||||
| -rw-r--r-- | lisp/progmodes/elisp-mode.el | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 99ab1271ac9..2aabaf06b73 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -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 diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 99a4841e318..41415943a58 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -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 |
