summaryrefslogtreecommitdiff
path: root/lisp/progmodes/flymake.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2017-11-03 08:33:13 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2017-11-03 08:33:13 -0400
commitcaa63cc96cfd2d21872eba17a474b4535178ad58 (patch)
treed0b801b48be0162b3bf081e67915a3ef781a8376 /lisp/progmodes/flymake.el
parent9f4f130b793e3a6ef7abef99e3e892271128e4b2 (diff)
downloademacs-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.
Diffstat (limited to 'lisp/progmodes/flymake.el')
-rw-r--r--lisp/progmodes/flymake.el11
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