(occur-mode-display-occurrence): New function.
authorRichard M. Stallman <rms@gnu.org>
Mon, 24 Dec 2001 16:27:20 +0000 (16:27 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 24 Dec 2001 16:27:20 +0000 (16:27 +0000)
(occur-mode-map): Bind C-o to it.

lisp/ChangeLog
lisp/replace.el

index 0060322..f989219 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-24  Richard M. Stallman  <rms@gnu.org>
+
+       * replace.el (occur-mode-display-occurrence): New function.
+       (occur-mode-map): Bind C-o to it.
+
 2001-12-24  Michael Kifer  <kifer@cs.sunysb.edu>
        
        * viper-cmd.el (viper-change-state): Got rid of make-local-hook.
index 71ec81b..28e0d06 100644 (file)
@@ -436,6 +436,7 @@ end of the buffer."
     (define-key map [mouse-2] 'occur-mode-mouse-goto)
     (define-key map "\C-c\C-c" 'occur-mode-goto-occurrence)
     (define-key map "\C-m" 'occur-mode-goto-occurrence)
+    (define-key map "\C-o" 'occur-mode-display-occurrence)
     (define-key map "\M-n" 'occur-next)
     (define-key map "\M-p" 'occur-prev)
     (define-key map "g" 'revert-buffer)
@@ -512,6 +513,19 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
     (pop-to-buffer occur-buffer)
     (goto-char (marker-position pos))))
 
+(defun occur-mode-display-occurrence ()
+  "Display in another window the occurrence the current line describes."
+  (interactive)
+  (let ((pos (occur-mode-find-occurrence))
+       same-window-buffer-names
+       same-window-regexps
+       window)
+    (setq window (display-buffer occur-buffer))
+    ;; This is the way to set point in the proper window.
+    (save-selected-window
+      (select-window window)
+      (goto-char (marker-position pos)))))
+
 (defun occur-next (&optional n)
   "Move to the Nth (default 1) next match in the *Occur* buffer."
   (interactive "p")