diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2020-09-05 14:31:52 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-09-05 14:31:52 +0200 |
commit | eca6c9281f0506f9c8c866ae2025288c44ea994a (patch) | |
tree | 45903edc110479a892bb5c1835d38ee8b0a9e553 | |
parent | a30268907c44bb88e601c61c1be9bd4949ad2f7d (diff) | |
download | emacs-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.el | 13 |
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. |