]> git.eshelyaron.com Git - emacs.git/commitdiff
; Fix xref--show-location, after regression in ee50e62
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 10 Aug 2015 01:30:33 +0000 (04:30 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 10 Aug 2015 01:30:33 +0000 (04:30 +0300)
lisp/progmodes/xref.el

index 418997796d62be745b1475b356f8c5ed5542264e..68f6cfffd2a9f32ac27d4c91347c9dd58ff12224 100644 (file)
@@ -430,16 +430,17 @@ Used for temporary buffers.")
     (when (and restore (not (eq (car restore) 'same)))
       (push (cons buf win) xref--display-history))))
 
-(defun xref--display-position (pos other-window xref-buf)
+(defun xref--display-position (pos other-window buf)
   ;; Show the location, but don't hijack focus.
-  (with-selected-window (display-buffer (current-buffer) other-window)
-    (xref--goto-char pos)
-    (run-hooks 'xref-after-jump-hook)
-    (let ((buf (current-buffer))
-          (win (selected-window)))
-      (with-current-buffer xref-buf
-        (setq-local other-window-scroll-buffer buf)
-        (xref--save-to-history buf win)))))
+  (let ((xref-buf (current-buffer)))
+    (with-selected-window (display-buffer buf other-window)
+      (xref--goto-char pos)
+      (run-hooks 'xref-after-jump-hook)
+      (let ((buf (current-buffer))
+            (win (selected-window)))
+        (with-current-buffer xref-buf
+          (setq-local other-window-scroll-buffer buf)
+          (xref--save-to-history buf win))))))
 
 (defun xref--show-location (location)
   (condition-case err
@@ -450,8 +451,8 @@ Used for temporary buffers.")
           (unless (memq buf bl)
             ;; Newly created.
             (add-hook 'buffer-list-update-hook #'xref--mark-selected nil t)
-            (push buf xref--temporary-buffers)))
-        (xref--display-position (point) t (current-buffer)))
+            (push buf xref--temporary-buffers))
+          (xref--display-position marker t buf)))
     (user-error (message (error-message-string err)))))
 
 (defun xref-show-location-at-point ()