diff options
author | Kim F. Storm <storm@cua.dk> | 2004-04-21 21:36:42 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2004-04-21 21:36:42 +0000 |
commit | ef02b461392caf2cf136f5c3ecca3a2306b89490 (patch) | |
tree | 5a5f638b6c1f07ba41230e62ab2e14de36d7859f /lisp/replace.el | |
parent | 9ea5380b2bd2634c41891779a79ff1d1c93310fc (diff) | |
download | emacs-ef02b461392caf2cf136f5c3ecca3a2306b89490.tar.gz |
From: Teodor Zlatanov <tzz@lifelogs.com>
(occur-next-error, occur-1): Hook into the next-error framework.
Diffstat (limited to 'lisp/replace.el')
-rw-r--r-- | lisp/replace.el | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lisp/replace.el b/lisp/replace.el index 2d26cb5cc66..e14e1314352 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -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) (make-local-variable 'occur-revert-arguments) (add-hook 'change-major-mode-hook 'font-lock-defontify nil t) + (setq next-error-function 'occur-next-error) (run-hooks 'occur-mode-hook)) (defun occur-revert-function (ignore1 ignore2) @@ -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." (interactive "p") (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 "*Default number of context lines included around `list-matching-lines' matches. @@ -800,7 +816,9 @@ See also `multi-occur'." (setq occur-revert-arguments (list regexp nlines bufs) buffer-read-only t) (if (> count 0) - (display-buffer occur-buf) + (progn + (display-buffer occur-buf) + (setq next-error-last-buffer occur-buf)) (kill-buffer occur-buf))) (run-hooks 'occur-hook)))) |