# HG changeset patch # User Juri Linkov # Date 1094676197 0 # Node ID 862d0c555534fb4c3883f1f26033bdb99bf23394 # Parent f7a178c7c443d62400b6b96618f7c97e17a8d4d7 (isearch-lazy-highlight-update): Take into account the case of zero-length match at the search bound. diff -r f7a178c7c443 -r 862d0c555534 lisp/isearch.el --- a/lisp/isearch.el Wed Sep 08 20:31:41 2004 +0000 +++ b/lisp/isearch.el Wed Sep 08 20:43:17 2004 +0000 @@ -2402,7 +2402,17 @@ (let ((mb (match-beginning 0)) (me (match-end 0))) (if (= mb me) ;zero-length match - (forward-char 1) + (if isearch-forward + (if (= mb (if isearch-lazy-highlight-wrapped + isearch-lazy-highlight-start + (window-end))) + (setq found nil) + (forward-char 1)) + (if (= mb (if isearch-lazy-highlight-wrapped + isearch-lazy-highlight-end + (window-start))) + (setq found nil) + (forward-char -1))) ;; non-zero-length match (let ((ov (make-overlay mb me))) @@ -2412,19 +2422,20 @@ (push ov isearch-lazy-highlight-overlays))) (if isearch-forward (setq isearch-lazy-highlight-end (point)) - (setq isearch-lazy-highlight-start (point)))) + (setq isearch-lazy-highlight-start (point))))) - ;; not found - (if isearch-lazy-highlight-wrapped - (setq looping nil - nomore t) - (setq isearch-lazy-highlight-wrapped t) - (if isearch-forward - (progn - (setq isearch-lazy-highlight-end (window-start)) - (goto-char (window-start))) - (setq isearch-lazy-highlight-start (window-end)) - (goto-char (window-end))))))) + ;; not found or zero-length match at the search bound + (if (not found) + (if isearch-lazy-highlight-wrapped + (setq looping nil + nomore t) + (setq isearch-lazy-highlight-wrapped t) + (if isearch-forward + (progn + (setq isearch-lazy-highlight-end (window-start)) + (goto-char (window-start))) + (setq isearch-lazy-highlight-start (window-end)) + (goto-char (window-end))))))) (unless nomore (setq isearch-lazy-highlight-timer (run-at-time isearch-lazy-highlight-interval nil