changeset 54833:7b278dbd537f

(compile-goto-error): Select the buffer/window corresponding to the event.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Mon, 12 Apr 2004 23:02:48 +0000
parents 8a894d554fb1
children 9533e29b87e8
files lisp/progmodes/compile.el
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/compile.el	Mon Apr 12 20:50:16 2004 +0000
+++ b/lisp/progmodes/compile.el	Mon Apr 12 23:02:48 2004 +0000
@@ -1370,12 +1370,14 @@
   (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.