# HG changeset patch # User Juri Linkov # Date 1269328617 -7200 # Node ID 008c1c06812bca429d52824926f5247d858f72cb # Parent f0ec21d379ff166f5912ecb433a251ab1e3dfec5 * replace.el (occur-accumulate-lines, occur-engine): Use `occur-engine-line' instead of duplicate code. (occur-engine-line): New function created from duplicate code in `occur-accumulate-lines' and `occur-engine'. diff -r f0ec21d379ff -r 008c1c06812b lisp/ChangeLog --- a/lisp/ChangeLog Tue Mar 23 09:11:50 2010 +0200 +++ b/lisp/ChangeLog Tue Mar 23 09:16:57 2010 +0200 @@ -1,3 +1,10 @@ +2010-03-23 Juri Linkov + + * replace.el (occur-accumulate-lines, occur-engine): + Use `occur-engine-line' instead of duplicate code. + (occur-engine-line): New function created from duplicate code + in `occur-accumulate-lines' and `occur-engine'. + 2010-03-23 Juri Linkov * finder.el: Remove TODO tasks. diff -r f0ec21d379ff -r 008c1c06812b lisp/replace.el --- a/lisp/replace.el Tue Mar 23 09:11:50 2010 +0200 +++ b/lisp/replace.el Tue Mar 23 09:16:57 2010 +0200 @@ -1016,18 +1016,7 @@ (setq count (+ count (if forwardp -1 1))) (setq beg (line-beginning-position) end (line-end-position)) - (if (and keep-props (if (boundp 'jit-lock-mode) jit-lock-mode) - (text-property-not-all beg end 'fontified t)) - (if (fboundp 'jit-lock-fontify-now) - (jit-lock-fontify-now beg end))) - (push - (if (and keep-props (not (eq occur-excluded-properties t))) - (let ((str (buffer-substring beg end))) - (remove-list-of-text-properties - 0 (length str) occur-excluded-properties str) - str) - (buffer-substring-no-properties beg end)) - result) + (push (occur-engine-line beg end) result) (forward-line (if forwardp 1 -1))) (nreverse result)))) @@ -1228,17 +1217,7 @@ endpt (line-end-position))) (setq marker (make-marker)) (set-marker marker matchbeg) - (if (and keep-props - (if (boundp 'jit-lock-mode) jit-lock-mode) - (text-property-not-all begpt endpt 'fontified t)) - (if (fboundp 'jit-lock-fontify-now) - (jit-lock-fontify-now begpt endpt))) - (if (and keep-props (not (eq occur-excluded-properties t))) - (progn - (setq curstring (buffer-substring begpt endpt)) - (remove-list-of-text-properties - 0 (length curstring) occur-excluded-properties curstring)) - (setq curstring (buffer-substring-no-properties begpt endpt))) + (setq curstring (occur-engine-line begpt endpt)) ;; Highlight the matches (let ((len (length curstring)) (start 0)) @@ -1335,6 +1314,18 @@ ;; Return the number of matches globalcount))) +(defun occur-engine-line (beg end) + (if (and keep-props (if (boundp 'jit-lock-mode) jit-lock-mode) + (text-property-not-all beg end 'fontified t)) + (if (fboundp 'jit-lock-fontify-now) + (jit-lock-fontify-now beg end))) + (if (and keep-props (not (eq occur-excluded-properties t))) + (let ((str (buffer-substring beg end))) + (remove-list-of-text-properties + 0 (length str) occur-excluded-properties str) + str) + (buffer-substring-no-properties beg end))) + ;; Generate context display for occur. ;; OUT-LINE is the line where the match is. ;; NLINES and KEEP-PROPS are args to occur-engine.