diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-11-03 08:33:13 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2017-11-03 08:33:13 -0400 |
commit | caa63cc96cfd2d21872eba17a474b4535178ad58 (patch) | |
tree | d0b801b48be0162b3bf081e67915a3ef781a8376 | |
parent | 9f4f130b793e3a6ef7abef99e3e892271128e4b2 (diff) | |
download | emacs-caa63cc96cfd2d21872eba17a474b4535178ad58.tar.gz |
* lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
Don't try to flymake-start within a buffer that doesn't exist any more.
-rw-r--r-- | lisp/progmodes/flymake.el | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 1048bc50655..c2349d8c7cc 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -601,8 +601,8 @@ not expected." (null expected-token)) ;; should never happen (flymake-error "Unexpected report from stopped backend %s" backend)) - ((and (not (eq expected-token token)) - (not force)) + ((not (or (eq expected-token token) + force)) (flymake-error "Obsolete report from backend %s with explanation %s" backend explanation)) ((eq :panic report-action) @@ -742,8 +742,11 @@ Interactively, with a prefix arg, FORCE is t." () (remove-hook 'post-command-hook #'start-post-command nil) - (with-current-buffer buffer - (flymake-start (remove 'post-command deferred) force))) + ;; The buffer may have disappeared already, e.g. because of + ;; code like `(with-temp-buffer (python-mode) ...)'. + (when (buffer-live-p buffer) + (with-current-buffer buffer + (flymake-start (remove 'post-command deferred) force)))) (start-on-display () (remove-hook 'window-configuration-change-hook #'start-on-display |