]> code.delx.au - gnu-emacs/commitdiff
(occur-1): Specify t for KEEP-PROPS to occur-engine.
authorRichard M. Stallman <rms@gnu.org>
Fri, 3 Dec 2004 00:19:52 +0000 (00:19 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 3 Dec 2004 00:19:52 +0000 (00:19 +0000)
(occur-engine): Use `face' prop rather than `font-lock-face'
when specifying use of `match-face'.
(occur-accumulate-lines): Change arg from NO-PROPS to KEEP-PROPS.

lisp/replace.el

index 24a6436b4c353bfe622e5b5a6c8be93102a678d4..8a5c0a9680c4af2934320f8e3378e5f8031b81e3 100644 (file)
@@ -751,7 +751,6 @@ Compatibility function for \\[next-error] invocations."
     ;; In case the *Occur* buffer is visible in a nonselected window.
     (set-window-point (get-buffer-window (current-buffer)) (point))
     (occur-mode-goto-occurrence)))
-
 \f
 (defcustom list-matching-lines-default-context-lines 0
   "*Default number of context lines included around `list-matching-lines' matches.
@@ -774,7 +773,7 @@ If the value is nil, don't highlight the buffer names specially."
   :type 'face
   :group 'matching)
 
-(defun occur-accumulate-lines (count &optional no-props)
+(defun occur-accumulate-lines (count &optional keep-props)
   (save-excursion
     (let ((forwardp (> count 0))
          (result nil))
@@ -784,9 +783,9 @@ If the value is nil, don't highlight the buffer names specially."
                        (bobp))))
        (setq count (+ count (if forwardp -1 1)))
        (push
-        (funcall (if no-props
-                     #'buffer-substring-no-properties
-                   #'buffer-substring)
+        (funcall (if keep-props
+                     #'buffer-substring
+                   #'buffer-substring-no-properties)
          (line-beginning-position)
          (line-end-position))
         result)
@@ -921,7 +920,7 @@ See also `multi-occur'."
                    (and case-fold-search
                         (isearch-no-upper-case-p regexp t))
                    list-matching-lines-buffer-name-face
-                   nil list-matching-lines-face nil)))
+                   nil list-matching-lines-face t)))
        (let* ((bufcount (length active-bufs))
               (diff (- (length bufs) bufcount)))
          (message "Searched %d buffer%s%s; %s match%s for `%s'"
@@ -1004,7 +1003,11 @@ See also `multi-occur'."
                                             (append
                                              `(occur-match t)
                                              (when match-face
-                                               `(font-lock-face ,match-face)))
+                                               ;; Use `face' rather than
+                                               ;; `font-lock-face' here
+                                               ;; so as to override faces
+                                               ;; copied from the buffer.
+                                               `(face ,match-face)))
                                             curstring)
                        (setq start (match-end 0))))
                    ;; Generate the string to insert for this match