Mercurial > emacs
diff lisp/bookmark.el @ 22251:5989fa41cda6
Changes so bookmark list mode works with Info:
(bookmark-jump-noselect): Use an inner save-window-excursion.
(bookmark-bmenu-switch-other-window): Temporarily set
pop-up-windows, same-window-buffer-names, and same-window-regexps,
to override Info's special display behaviors.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 26 May 1998 18:27:47 +0000 |
parents | 10363c2d994a |
children | 5682c77dce71 |
line wrap: on
line diff
--- a/lisp/bookmark.el Tue May 26 09:23:23 1998 +0000 +++ b/lisp/bookmark.el Tue May 26 18:27:47 1998 +0000 @@ -1112,29 +1112,31 @@ (and (file-exists-p altname) altname))))) (save-excursion - (if info-node - ;; Info nodes must be visited with care. - (progn - (require 'info) - (Info-find-node file info-node)) - ;; Else no Info. Can do an ordinary find-file: - (set-buffer (find-file-noselect file)) - (goto-char place)) + (save-window-excursion + (if info-node + ;; Info nodes must be visited with care. + (progn + (require 'info) + (Info-find-node file info-node)) + ;; Else no Info. Can do an ordinary find-file: + (set-buffer (find-file-noselect file)) + (goto-char place)) - ;; Go searching forward first. Then, if forward-str exists and - ;; was found in the file, we can search backward for behind-str. - ;; Rationale is that if text was inserted between the two in the - ;; file, it's better to be put before it so you can read it, - ;; rather than after and remain perhaps unaware of the changes. - (if forward-str - (if (search-forward forward-str (point-max) t) - (goto-char (match-beginning 0)))) - (if behind-str - (if (search-backward behind-str (point-min) t) - (goto-char (match-end 0)))) - ;; added by db - (setq bookmark-current-bookmark str) - (cons (current-buffer) (point))) + ;; Go searching forward first. Then, if forward-str exists and + ;; was found in the file, we can search backward for behind-str. + ;; Rationale is that if text was inserted between the two in the + ;; file, it's better to be put before it so you can read it, + ;; rather than after and remain perhaps unaware of the changes. + (if forward-str + (if (search-forward forward-str (point-max) t) + (goto-char (match-beginning 0)))) + (if behind-str + (if (search-backward behind-str (point-min) t) + (goto-char (match-end 0)))) + ;; added by db + (setq bookmark-current-bookmark str) + (cons (current-buffer) (point)))) + ;; Else unable to find the marked file, so ask if user wants to ;; relocate the bookmark, else remind them to consider deletion. (ding) @@ -1896,7 +1898,10 @@ "Make the other window select this line's bookmark. The current window remains selected." (interactive) - (let ((bookmark (bookmark-bmenu-bookmark))) + (let ((bookmark (bookmark-bmenu-bookmark)) + (pop-up-windows t) + same-window-buffer-names + same-window-regexps) (if (bookmark-bmenu-check-position) (let* ((pair (bookmark-jump-noselect bookmark)) (buff (car pair))