xref--next-error-function: Move xref's window point
* lisp/progmodes/xref.el (xref--next-error-function): Move xref's window point if it's visible. When we don't do that, navigation can start looping after a while.
This commit is contained in:
parent
11c58c4fc4
commit
108ce84432
1 changed files with 4 additions and 0 deletions
|
@ -693,6 +693,10 @@ references displayed in the current *xref* buffer."
|
|||
(dotimes (_ n)
|
||||
(setq xref (xref--search-property 'xref-item backward)))
|
||||
(cond (xref
|
||||
;; Save the current position (when the buffer is visible,
|
||||
;; it gets reset to that window's point from time to time).
|
||||
(let ((win (get-buffer-window (current-buffer))))
|
||||
(and win (set-window-point win (point))))
|
||||
(xref--show-location (xref-item-location xref) t))
|
||||
(t
|
||||
(error "No %s xref" (if backward "previous" "next"))))))
|
||||
|
|
Loading…
Add table
Reference in a new issue