summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2020-09-05 14:31:52 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-09-05 14:31:52 +0200
commiteca6c9281f0506f9c8c866ae2025288c44ea994a (patch)
tree45903edc110479a892bb5c1835d38ee8b0a9e553
parenta30268907c44bb88e601c61c1be9bd4949ad2f7d (diff)
downloademacs-eca6c9281f0506f9c8c866ae2025288c44ea994a.tar.gz
Protect compilation-auto-jump against code killing the buffer
* lisp/progmodes/compile.el (compilation-auto-jump): Something may have killed the buffer before the timer fired (bug#24585).
-rw-r--r--lisp/progmodes/compile.el13
1 files changed, 7 insertions, 6 deletions
diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el
index 0dedde3d019..1b1920bf195 100644
--- a/lisp/progmodes/compile.el
+++ b/lisp/progmodes/compile.el
@@ -1148,12 +1148,13 @@ POS and RES.")
(setcdr l1 (cons (list ,key) l2)))))))
(defun compilation-auto-jump (buffer pos)
- (with-current-buffer buffer
- (goto-char pos)
- (let ((win (get-buffer-window buffer 0)))
- (if win (set-window-point win pos)))
- (if compilation-auto-jump-to-first-error
- (compile-goto-error))))
+ (when (buffer-live-p buffer)
+ (with-current-buffer buffer
+ (goto-char pos)
+ (let ((win (get-buffer-window buffer 0)))
+ (if win (set-window-point win pos)))
+ (if compilation-auto-jump-to-first-error
+ (compile-goto-error)))))
;; This function is the central driver, called when font-locking to gather
;; all information needed to later jump to corresponding source code.