Commit 423e4de7 authored by Kim F. Storm's avatar Kim F. Storm
Browse files

From: Teodor Zlatanov <tzz@lifelogs.com>

(occur-next-error, occur-1): Hook into the next-error framework.
parent 50f007fb
...@@ -538,6 +538,7 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it. ...@@ -538,6 +538,7 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
(set (make-local-variable 'revert-buffer-function) 'occur-revert-function) (set (make-local-variable 'revert-buffer-function) 'occur-revert-function)
(make-local-variable 'occur-revert-arguments) (make-local-variable 'occur-revert-arguments)
(add-hook 'change-major-mode-hook 'font-lock-defontify nil t) (add-hook 'change-major-mode-hook 'font-lock-defontify nil t)
(setq next-error-function 'occur-next-error)
(run-hooks 'occur-mode-hook)) (run-hooks 'occur-mode-hook))
(defun occur-revert-function (ignore1 ignore2) (defun occur-revert-function (ignore1 ignore2)
...@@ -614,6 +615,21 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it. ...@@ -614,6 +615,21 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
"Move to the Nth (default 1) previous match in an Occur mode buffer." "Move to the Nth (default 1) previous match in an Occur mode buffer."
(interactive "p") (interactive "p")
(occur-find-match n #'previous-single-property-change "No earlier matches")) (occur-find-match n #'previous-single-property-change "No earlier matches"))
(defun occur-next-error (&optional argp reset)
"Move to the Nth (default 1) next match in an Occur mode buffer.
Compatibility function for \\[next-error] invocations."
(interactive "p")
(when reset
(occur-find-match 0 #'next-single-property-change "No first match"))
(occur-find-match
(prefix-numeric-value argp)
(if (> 0 (prefix-numeric-value argp))
#'previous-single-property-change
#'next-single-property-change)
"No more matches")
(occur-mode-goto-occurrence))
(defcustom list-matching-lines-default-context-lines 0 (defcustom list-matching-lines-default-context-lines 0
"*Default number of context lines included around `list-matching-lines' matches. "*Default number of context lines included around `list-matching-lines' matches.
...@@ -800,7 +816,9 @@ See also `multi-occur'." ...@@ -800,7 +816,9 @@ See also `multi-occur'."
(setq occur-revert-arguments (list regexp nlines bufs) (setq occur-revert-arguments (list regexp nlines bufs)
buffer-read-only t) buffer-read-only t)
(if (> count 0) (if (> count 0)
(display-buffer occur-buf) (progn
(display-buffer occur-buf)
(setq next-error-last-buffer occur-buf))
(kill-buffer occur-buf))) (kill-buffer occur-buf)))
(run-hooks 'occur-hook)))) (run-hooks 'occur-hook))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment