* dired-x.el (dired-omit-mode): Doc fix.
+2010-03-30 Juri Linkov <juri@jurta.org>
+
+ * replace.el (occur-accumulate-lines): Move occur-engine related
+ functions `occur-accumulate-lines' and `occur-engine-add-prefix'
+ to be located after `occur-engine'.
+
2010-03-30 Juri Linkov <juri@jurta.org>
Make occur handle multi-line matches cleanly with context.
:group 'matching
:version "22.1")
-(defun occur-accumulate-lines (count &optional keep-props pt)
- (save-excursion
- (when pt
- (goto-char pt))
- (let ((forwardp (> count 0))
- result beg end moved)
- (while (not (or (zerop count)
- (if forwardp
- (eobp)
- (and (bobp) (not moved)))))
- (setq count (+ count (if forwardp -1 1)))
- (setq beg (line-beginning-position)
- end (line-end-position))
- (push (occur-engine-line beg end keep-props) result)
- (setq moved (= 0 (forward-line (if forwardp 1 -1)))))
- (nreverse result))))
-
(defun occur-read-primary-args ()
(list (read-regexp "List lines matching regexp"
(car regexp-history))
(set-buffer-modified-p nil)
(run-hooks 'occur-hook)))))))
-(defun occur-engine-add-prefix (lines)
- (mapcar
- #'(lambda (line)
- (concat " :" line "\n"))
- lines))
-
(defun occur-engine (regexp buffers out-buf nlines case-fold-search
title-face prefix-face match-face keep-props)
(with-current-buffer out-buf
str)
(buffer-substring-no-properties beg end)))
+(defun occur-engine-add-prefix (lines)
+ (mapcar
+ #'(lambda (line)
+ (concat " :" line "\n"))
+ lines))
+
+(defun occur-accumulate-lines (count &optional keep-props pt)
+ (save-excursion
+ (when pt
+ (goto-char pt))
+ (let ((forwardp (> count 0))
+ result beg end moved)
+ (while (not (or (zerop count)
+ (if forwardp
+ (eobp)
+ (and (bobp) (not moved)))))
+ (setq count (+ count (if forwardp -1 1)))
+ (setq beg (line-beginning-position)
+ end (line-end-position))
+ (push (occur-engine-line beg end keep-props) result)
+ (setq moved (= 0 (forward-line (if forwardp 1 -1)))))
+ (nreverse result))))
+
;; Generate context display for occur.
;; OUT-LINE is the line where the match is.
;; NLINES and KEEP-PROPS are args to occur-engine.