diff options
| -rw-r--r-- | lisp/progmodes/xref.el | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/progmodes/xref.el b/lisp/progmodes/xref.el index e0f5b2d3670..b0bdd62ae98 100644 --- a/lisp/progmodes/xref.el +++ b/lisp/progmodes/xref.el | |||
| @@ -692,6 +692,10 @@ references displayed in the current *xref* buffer." | |||
| 692 | (dotimes (_ n) | 692 | (dotimes (_ n) |
| 693 | (setq xref (xref--search-property 'xref-item backward))) | 693 | (setq xref (xref--search-property 'xref-item backward))) |
| 694 | (cond (xref | 694 | (cond (xref |
| 695 | ;; Save the current position (when the buffer is visible, | ||
| 696 | ;; it gets reset to that window's point from time to time). | ||
| 697 | (let ((win (get-buffer-window (current-buffer)))) | ||
| 698 | (and win (set-window-point win (point)))) | ||
| 695 | (xref--show-location (xref-item-location xref) t)) | 699 | (xref--show-location (xref-item-location xref) t)) |
| 696 | (t | 700 | (t |
| 697 | (error "No %s xref" (if backward "previous" "next")))))) | 701 | (error "No %s xref" (if backward "previous" "next")))))) |