(bookmark--jump-via): Ensure 'window-point' is set correctly

* lisp/bookmark.el (bookmark--jump-via): Record
bookmark-prescribed point before calling DISPLAY-FUNCTION, and
use it to set 'window-point' afterwards.  (Bug#71603)
This commit is contained in:
Eshel Yaron 2024-06-17 16:48:43 +02:00
parent a5a374014f
commit 27f46ba4b9
No known key found for this signature in database
GPG key ID: EF3EE9CA35D78618

View file

@ -1265,10 +1265,12 @@ After calling DISPLAY-FUNCTION, set window point to the point specified
by BOOKMARK-NAME-OR-RECORD, if necessary, run `bookmark-after-jump-hook',
and then show any annotations for this bookmark."
(bookmark-handle-bookmark bookmark-name-or-record)
(save-current-buffer
(funcall display-function (current-buffer)))
(let ((win (get-buffer-window (current-buffer) 0)))
(if win (set-window-point win (point))))
;; Store `point' now, because `display-function' might change it.
(let ((point (point)))
(save-current-buffer
(funcall display-function (current-buffer)))
(let ((win (get-buffer-window (current-buffer) 0)))
(if win (set-window-point win point))))
;; FIXME: we used to only run bookmark-after-jump-hook in
;; `bookmark-jump' itself, but in none of the other commands.
(when bookmark-fringe-mark