]> git.eshelyaron.com Git - emacs.git/commitdiff
* bookmark.el (bookmark-jump-other-window): New function.
authorKarl Fogel <kfogel@red-bean.com>
Fri, 13 Jul 2007 18:20:55 +0000 (18:20 +0000)
committerKarl Fogel <kfogel@red-bean.com>
Fri, 13 Jul 2007 18:20:55 +0000 (18:20 +0000)
  (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.

lisp/ChangeLog
lisp/bookmark.el

index 010b2db64c19cf482c230bc0bdfc0672b47957f4..209174beddb8f7d104331f5de034e2ee866ecc3d 100644 (file)
@@ -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.
index ba0f93854b3de210156c5a8115435eaf6ca8a38e..6ef2ea198d3ff230b3b8957730dca3ccb3ab5206 100644 (file)
@@ -241,6 +241,7 @@ functions have a binding in this keymap.")
 ;;;###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 @@ of the old one in the permanent bookmark record."
              (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