2235 |
(defvar isearch-overlay nil) |
(defvar isearch-overlay nil) |
2236 |
|
|
2237 |
(defun isearch-highlight (beg end) |
(defun isearch-highlight (beg end) |
2238 |
(unless (null search-highlight) |
(if search-highlight |
2239 |
(cond (isearch-overlay |
(if isearch-overlay |
2240 |
;; Overlay already exists, just move it. |
;; Overlay already exists, just move it. |
2241 |
(move-overlay isearch-overlay beg end (current-buffer))) |
(move-overlay isearch-overlay beg end (current-buffer)) |
2242 |
|
;; Overlay doesn't exist, create it. |
2243 |
(t |
(setq isearch-overlay (make-overlay beg end)) |
2244 |
;; Overlay doesn't exist, create it. |
;; 1001 is higher than lazy's 1000 and ediff's 100+ |
2245 |
(setq isearch-overlay (make-overlay beg end)) |
(overlay-put isearch-overlay 'priority 1001) |
2246 |
(overlay-put isearch-overlay 'face isearch) |
(overlay-put isearch-overlay 'face isearch)))) |
|
(overlay-put isearch-overlay 'priority 1) ;higher than lazy overlays |
|
|
)))) |
|
2247 |
|
|
2248 |
(defun isearch-dehighlight () |
(defun isearch-dehighlight () |
2249 |
(when isearch-overlay |
(when isearch-overlay |
2407 |
;; non-zero-length match |
;; non-zero-length match |
2408 |
(let ((ov (make-overlay mb me))) |
(let ((ov (make-overlay mb me))) |
2409 |
(push ov isearch-lazy-highlight-overlays) |
(push ov isearch-lazy-highlight-overlays) |
2410 |
|
;; 1000 is higher than ediff's 100+, |
2411 |
|
;; but lower than isearch main overlay's 1001 |
2412 |
|
(overlay-put ov 'priority 1000) |
2413 |
(overlay-put ov 'face lazy-highlight-face) |
(overlay-put ov 'face lazy-highlight-face) |
|
(overlay-put ov 'priority 0) ;lower than main overlay |
|
2414 |
(overlay-put ov 'window (selected-window)))) |
(overlay-put ov 'window (selected-window)))) |
2415 |
(if isearch-forward |
(if isearch-forward |
2416 |
(setq isearch-lazy-highlight-end (point)) |
(setq isearch-lazy-highlight-end (point)) |