# HG changeset patch # User Richard M. Stallman # Date 896207267 0 # Node ID 5989fa41cda6b957f9bc7cf1faae9a548bd03cbe # Parent a77d473867b8e1f958419afaa2e94a663dea6868 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. diff -r a77d473867b8 -r 5989fa41cda6 lisp/bookmark.el --- 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))