1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-27 07:37:33 +00:00

* replace.el (occur-mode-find-occurrence-hook): New hook that can

be used to reveal or highlight the location of a match.
	(occur-mode-goto-occurrence)
	(occur-mode-goto-occurrence-other-window)
	(occur-mode-display-occurrence): Run
	`occur-mode-find-occurrence-hook'.
This commit is contained in:
Carsten Dominik 2008-01-23 10:49:31 +00:00
parent 5deae9b3b1
commit 8e62d5e855

View File

@ -789,6 +789,13 @@ See `occur-revert-function'.")
:type 'hook
:group 'matching)
(defcustom occur-mode-find-occurrence-hook nil
"Hook run by Occur after locating an occurrence.
This will be called with the cursor position at the occurrence. An application
for this is to reveal context in an outline-mode when the occurrence is hidden."
:type 'hook
:group 'matching)
(put 'occur-mode 'mode-class 'special)
(defun occur-mode ()
"Major mode for output from \\[occur].
@ -837,14 +844,16 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
same-window-buffer-names
same-window-regexps)
(pop-to-buffer (marker-buffer pos))
(goto-char pos)))
(goto-char pos)
(run-hooks 'occur-mode-find-occurrence-hook)))
(defun occur-mode-goto-occurrence-other-window ()
"Go to the occurrence the current line describes, in another window."
(interactive)
(let ((pos (occur-mode-find-occurrence)))
(switch-to-buffer-other-window (marker-buffer pos))
(goto-char pos)))
(goto-char pos)
(run-hooks 'occur-mode-find-occurrence-hook)))
(defun occur-mode-display-occurrence ()
"Display in another window the occurrence the current line describes."
@ -858,7 +867,8 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
;; This is the way to set point in the proper window.
(save-selected-window
(select-window window)
(goto-char pos))))
(goto-char pos)
(run-hooks 'occur-mode-find-occurrence-hook))))
(defun occur-find-match (n search message)
(if (not n) (setq n 1))