Fix removal of bookmark's fringe mark in Info and Dired

* lisp/bookmark.el (bookmark-buffer-file-name): Support Info
buffers.
(bookmark--remove-fringe-mark): Call 'bookmark-buffer-file-name'
instead of using 'buffer-file-name', which could be nil.
(Bug#69974)
This commit is contained in:
Eli Zaretskii 2024-03-25 15:51:07 +02:00
parent a79b424f7f
commit 7fba25cf53

View file

@ -515,10 +515,11 @@ See user option `bookmark-fringe-mark'."
(non-essential t)
overlays found temp)
(when (and pos filename)
(setq filename (expand-file-name filename))
(setq filename (abbreviate-file-name (expand-file-name filename)))
(dolist (buf (buffer-list))
(with-current-buffer buf
(when (equal filename buffer-file-name)
(when (equal filename
(ignore-errors (bookmark-buffer-file-name)))
(setq overlays
(save-excursion
(goto-char pos)
@ -1192,6 +1193,8 @@ it to the name of the bookmark currently being set, advancing
(if (stringp dired-directory)
dired-directory
(car dired-directory)))
((and (boundp 'Info-current-file) (stringp Info-current-file))
Info-current-file)
(t (error "Buffer not visiting a file or directory")))))
(defvar bookmark--watch-already-asked-mtime nil