From 912f0c34b2e4cca38bf0b4285afaf6b23c90f906 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 12 Apr 2004 23:02:48 +0000 Subject: [PATCH] (compile-goto-error): Select the buffer/window corresponding to the event. --- lisp/progmodes/compile.el | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index de90c2aa378..b1e4caa5513 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -1370,12 +1370,14 @@ Use this command in a compilation log buffer. Sets the mark at point there." (interactive (list last-input-event)) (or (compilation-buffer-p (current-buffer)) (error "Not in a compilation buffer")) - (let ((pos (if event (posn-point (event-end event)) (point)))) - (if (get-text-property (point) 'directory) - (dired-other-window (car (get-text-property pos 'directory))) - (push-mark) - (setq compilation-current-error pos) - (next-error 0)))) + (let* ((loc (event-end event)) + (pos (posn-point loc))) + (with-selected-window (posn-window loc) + (if (get-text-property pos 'directory) + (dired-other-window (car (get-text-property pos 'directory))) + (push-mark) + (setq compilation-current-error pos) + (next-error 0))))) ;; Return a compilation buffer. ;; If the current buffer is a compilation buffer, return it. -- 2.39.5