]> git.eshelyaron.com Git - emacs.git/commitdiff
* replace.el (occur-accumulate-lines, occur-engine):
authorJuri Linkov <juri@jurta.org>
Tue, 23 Mar 2010 07:16:57 +0000 (09:16 +0200)
committerJuri Linkov <juri@jurta.org>
Tue, 23 Mar 2010 07:16:57 +0000 (09:16 +0200)
Use `occur-engine-line' instead of duplicate code.
(occur-engine-line): New function created from duplicate code
in `occur-accumulate-lines' and `occur-engine'.

lisp/ChangeLog
lisp/replace.el

index 77b970789ff0cc57dda13a25661c7da359f09979..77bd0fa182680f5ca6ef46105f54e9af809b67aa 100644 (file)
@@ -1,3 +1,10 @@
+2010-03-23  Juri Linkov  <juri@jurta.org>
+
+       * 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  <juri@jurta.org>
 
        * finder.el: Remove TODO tasks.
index 081d5c45f1dbbd3eb1e2b7b41b63739eb1c90b61..613cced8ea5d7825b78711e041f2227af02a18a5 100644 (file)
@@ -1016,18 +1016,7 @@ which means to discard all text properties."
        (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 @@ See also `multi-occur'."
                            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 @@ See also `multi-occur'."
       ;; 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.