changeset 81844:805e8454783b

* bookmark.el (bookmark-jump-other-window): New function. (bookmark-map): Bind it to "o". Patch by Drew Adams <drew.adams{_AT_}oracle.com>. See http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html.
author Karl Fogel <kfogel@red-bean.com>
date Fri, 13 Jul 2007 18:20:55 +0000
parents c5cef7ba9eeb
children 7aca0db722ec
files lisp/ChangeLog lisp/bookmark.el
diffstat 2 files changed, 30 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jul 13 18:18:04 2007 +0000
+++ b/lisp/ChangeLog	Fri Jul 13 18:20:55 2007 +0000
@@ -1,3 +1,11 @@
+2007-07-13  Karl Fogel  <kfogel@red-bean.com>
+
+	* bookmark.el (bookmark-jump-other-window): New function.
+	(bookmark-map): Bind it to "o".
+
+	Patch by Drew Adams <drew.adams{_AT_}oracle.com>.  See
+	http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html.
+
 2007-07-13  Karl Fogel  <kfogel@red-bean.com>
 
 	* bookmark.el: Shorten some comments to fit within 80 lines.
--- a/lisp/bookmark.el	Fri Jul 13 18:18:04 2007 +0000
+++ b/lisp/bookmark.el	Fri Jul 13 18:20:55 2007 +0000
@@ -241,6 +241,7 @@
 ;;;###autoload (define-key bookmark-map "m" 'bookmark-set) ;"m"ark
 ;;;###autoload (define-key bookmark-map "j" 'bookmark-jump)
 ;;;###autoload (define-key bookmark-map "g" 'bookmark-jump) ;"g"o
+;;;###autoload (define-key bookmark-map "o" 'bookmark-jump-other-window)
 ;;;###autoload (define-key bookmark-map "i" 'bookmark-insert)
 ;;;###autoload (define-key bookmark-map "e" 'edit-bookmarks)
 ;;;###autoload (define-key bookmark-map "f" 'bookmark-insert-location) ;"f"ind
@@ -1081,6 +1082,27 @@
              (bookmark-show-annotation bookmark)))))
 
 
+;;;###autoload
+(defun bookmark-jump-other-window (bookmark)
+  "Jump to BOOKMARK (a point in some file) in another window.
+See `bookmark-jump'."
+  (interactive
+   (let ((bkm (bookmark-completing-read "Jump to bookmark (in another window)"
+                                        bookmark-current-bookmark)))
+     (if (> emacs-major-version 21)
+         (list bkm) bkm)))
+  (when bookmark
+    (bookmark-maybe-historicize-string bookmark)
+    (let ((cell (bookmark-jump-noselect bookmark)))
+      (and cell
+           (switch-to-buffer-other-window (car cell))
+           (goto-char (cdr cell))
+           (if bookmark-automatically-show-annotations
+               ;; if there is an annotation for this bookmark,
+               ;; show it in a buffer.
+               (bookmark-show-annotation bookmark))))))
+
+
 (defun bookmark-file-or-variation-thereof (file)
   "Return FILE (a string) if it exists, or return a reasonable
 variation of FILE if that exists.  Reasonable variations are checked