]> git.eshelyaron.com Git - emacs.git/commitdiff
(compile-goto-error): Select the buffer/window corresponding to the event.
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 12 Apr 2004 23:02:48 +0000 (23:02 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 12 Apr 2004 23:02:48 +0000 (23:02 +0000)
lisp/progmodes/compile.el

index de90c2aa37803dcad6c5d6bb5609607ededbe57c..b1e4caa5513a4eb0117b767968b5d7df796d0d83 100644 (file)
@@ -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.