From: Lars Ingebrigtsen Date: Sat, 5 Sep 2020 12:31:52 +0000 (+0200) Subject: Protect compilation-auto-jump against code killing the buffer X-Git-Tag: emacs-28.0.90~6241 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=eca6c9281f0506f9c8c866ae2025288c44ea994a;p=emacs.git 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). --- 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.