From f22a74063c8024ab3012b511b668392ebef6995f Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sat, 24 Jul 2004 21:34:47 +0000 Subject: [PATCH] (occur-next-error): Call set-window-point. (occur-engine): Handle negative NLINES. --- lisp/replace.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/replace.el b/lisp/replace.el index f81c6f53914..f09868cc6d3 100644 --- a/lisp/replace.el +++ b/lisp/replace.el @@ -732,6 +732,8 @@ Compatibility function for \\[next-error] invocations." #'previous-single-property-change #'next-single-property-change) "No more matches") + ;; In case the *Occur* buffer is visible in a nonselected window. + (set-window-point (get-buffer-window (current-buffer)) (point)) (occur-mode-goto-occurrence)) @@ -1009,9 +1011,11 @@ See also `multi-occur'." ;; concatenate them all together. (apply #'concat (nconc - (occur-engine-add-prefix (nreverse (cdr (occur-accumulate-lines (- (1+ nlines)) keep-props)))) + (occur-engine-add-prefix (nreverse (cdr (occur-accumulate-lines (- (1+ (abs nlines))) keep-props)))) (list out-line) - (occur-engine-add-prefix (cdr (occur-accumulate-lines (1+ nlines) keep-props)))))))) + (if (> nlines 0) + (occur-engine-add-prefix + (cdr (occur-accumulate-lines (1+ nlines) keep-props))))))))) ;; Actually insert the match display data (with-current-buffer out-buf (let ((beg (point)) -- 2.39.2