changeset 11021:83b6c53268c3

(bookmark-bmenu-2-window): go to correct position as well as correct buffer. (bookmark-bmenu-other-window): same. (bookmark-bmenu-switch-other-window): same.
author Karl Fogel <kfogel@red-bean.com>
date Wed, 15 Mar 1995 14:47:09 +0000
parents 0951bb12c8ee
children f9e9533d0f4c
files lisp/bookmark.el
diffstat 1 files changed, 30 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/bookmark.el	Wed Mar 15 01:58:01 1995 +0000
+++ b/lisp/bookmark.el	Wed Mar 15 14:47:09 1995 +0000
@@ -5,7 +5,7 @@
 ;; Author: Karl Fogel <kfogel@cyclic.com>
 ;; Maintainer: Karl Fogel <kfogel@cyclic.com>
 ;; Created: July, 1993
-;; Author's Update Number: 2.6.8
+;; Author's Update Number: 2.6.9
 ;; Keywords: bookmarks, placeholders, annotations
 
 ;;; Summary:
@@ -1706,8 +1706,11 @@
             (pop-up-windows t))
         (delete-other-windows)
         (switch-to-buffer (other-buffer))
-        (let ((buff (car (bookmark-jump-noselect bmrk))))
-          (pop-to-buffer buff))
+	(let* ((pair (bookmark-jump-noselect bmrk))
+               (buff (car pair))
+               (pos  (cdr pair)))
+          (pop-to-buffer buff)
+          (goto-char pos))
         (bury-buffer menu))))
 
 
@@ -1723,8 +1726,31 @@
   (interactive)
   (let ((bookmark (bookmark-bmenu-bookmark)))
     (if (bookmark-bmenu-check-position)
-	(let ((buff (car (bookmark-jump-noselect bookmark))))
+	(let* ((pair (bookmark-jump-noselect bookmark))
+               (buff (car pair))
+               (pos  (cdr pair)))
 	  (switch-to-buffer-other-window buff)
+          (goto-char pos)
+          (set-window-point (get-buffer-window buff) pos)
+	  (bookmark-show-annotation bookmark)))))
+
+
+(defun bookmark-bmenu-switch-other-window ()
+  "Make the other window select this line's bookmark.
+The current window remains selected."
+  (interactive)
+  (let ((bookmark (bookmark-bmenu-bookmark)))
+    (if (bookmark-bmenu-check-position)
+	(let* ((pair (bookmark-jump-noselect bookmark))
+               (buff (car pair))
+               (pos  (cdr pair)))
+	  (display-buffer buff)
+          (let ((o-buffer (current-buffer)))
+            ;; save-excursion won't do
+            (set-buffer buff)
+            (goto-char pos)
+            (set-window-point (get-buffer-window buff) pos)
+            (set-buffer o-buffer))
 	  (bookmark-show-annotation bookmark)))))
 
 
@@ -1750,17 +1776,6 @@
 	(bookmark-edit-annotation bookmark))))
 
 
-(defun bookmark-bmenu-switch-other-window ()
-  "Make the other window select this line's bookmark.
-The current window remains selected."
-  (interactive)
-  (let ((bookmark (bookmark-bmenu-bookmark)))
-    (if (bookmark-bmenu-check-position)
-	(let ((buff (car (bookmark-jump-noselect bookmark))))
-	  (display-buffer buff)
-	  (bookmark-show-annotation bookmark)))))
-
-
 (defun bookmark-bmenu-quit ()
   "Quit the bookmark menu."
   (interactive)