# HG changeset patch # User Karl Fogel # Date 1184350855 0 # Node ID 805e8454783b869829b6adbcf43e9628078c63ed # Parent c5cef7ba9eebc23daa847c10d780f65491db9724 * bookmark.el (bookmark-jump-other-window): New function. (bookmark-map): Bind it to "o". Patch by Drew Adams . See http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html. diff -r c5cef7ba9eeb -r 805e8454783b lisp/ChangeLog --- 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 + + * bookmark.el (bookmark-jump-other-window): New function. + (bookmark-map): Bind it to "o". + + Patch by Drew Adams . See + http://lists.gnu.org/archive/html/emacs-devel/2007-07/msg00633.html. + 2007-07-13 Karl Fogel * bookmark.el: Shorten some comments to fit within 80 lines. diff -r c5cef7ba9eeb -r 805e8454783b lisp/bookmark.el --- 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