]> code.delx.au - gnu-emacs/commitdiff
* lisp/isearch.el (isearch-lazy-highlight-new-loop):
authorJuri Linkov <juri@jurta.org>
Thu, 21 Feb 2013 17:45:12 +0000 (19:45 +0200)
committerJuri Linkov <juri@jurta.org>
Thu, 21 Feb 2013 17:45:12 +0000 (19:45 +0200)
Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end'
to `isearch-other-end' if it is not nil.

* lisp/replace.el (replace-highlight): Let-bind `isearch-other-end'
to `match-beg'.

* lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
Let-bind `isearch-other-end' to `start', `isearch-forward' to t
and `isearch-error' to nil.

Fixes: debbugs:13402
lisp/ChangeLog
lisp/isearch.el
lisp/replace.el
lisp/textmodes/ispell.el

index a3cd719895cd8fc7a9e283e23ecb9507e4b17a13..7a9cdcc20e0eb4e47f668bc4832b1d3e224c56fa 100644 (file)
@@ -1,3 +1,16 @@
+2013-02-21  Juri Linkov  <juri@jurta.org>
+
+       * isearch.el (isearch-lazy-highlight-new-loop):
+       Set `isearch-lazy-highlight-start' and `isearch-lazy-highlight-end'
+       to `isearch-other-end' if it is not nil.  (Bug#13402)
+
+       * replace.el (replace-highlight): Let-bind `isearch-other-end'
+       to `match-beg'.
+
+       * textmodes/ispell.el (ispell-highlight-spelling-error-overlay):
+       Let-bind `isearch-other-end' to `start', `isearch-forward' to t
+       and `isearch-error' to nil.
+
 2013-02-20  Fabián Ezequiel Gallina  <fgallina@cuca>
 
        * progmodes/python.el (python-info-current-defun): Enhance
index 972fb0058d346a1113534b324a2455aa995984f8..ad5331f5bf2be2ab2bc4abe7296b35d946a42658 100644 (file)
@@ -2936,8 +2936,15 @@ by other Emacs features."
     (setq isearch-lazy-highlight-window       (selected-window)
          isearch-lazy-highlight-window-start (window-start)
          isearch-lazy-highlight-window-end   (window-end)
-         isearch-lazy-highlight-start        (point)
-         isearch-lazy-highlight-end          (point)
+         ;; Start lazy-highlighting at the beginning of the found
+         ;; match (`isearch-other-end').  If no match, use point.
+         ;; One of the next two variables (depending on search direction)
+         ;; is used to define the starting position of lazy-highlighting
+         ;; and also to remember the current position of point between
+         ;; calls of `isearch-lazy-highlight-update', and another variable
+         ;; is used to define where the wrapped search must stop.
+         isearch-lazy-highlight-start        (or isearch-other-end (point))
+         isearch-lazy-highlight-end          (or isearch-other-end (point))
          isearch-lazy-highlight-wrapped      nil
          isearch-lazy-highlight-last-string  isearch-string
          isearch-lazy-highlight-case-fold-search isearch-case-fold-search
@@ -3035,6 +3042,9 @@ Attempt to do the search exactly the way the pending Isearch would."
                          (overlay-put ov 'priority 1000)
                          (overlay-put ov 'face lazy-highlight-face)
                          (overlay-put ov 'window (selected-window))))
+                     ;; Remember the current position of point for
+                     ;; the next call of `isearch-lazy-highlight-update'
+                     ;; when `lazy-highlight-max-at-a-time' is too small.
                      (if isearch-lazy-highlight-forward
                          (setq isearch-lazy-highlight-end (point))
                        (setq isearch-lazy-highlight-start (point)))))
index 7757426cf958b7a257432f5c7d61edabf5851fb9..3eaa5ccf6bd3c9fdd548a9157a407b31b3ce14b8 100644 (file)
@@ -2198,6 +2198,7 @@ make, or the user didn't cancel the call."
             replace-regexp-lax-whitespace)
            (isearch-case-fold-search case-fold-search)
            (isearch-forward t)
+           (isearch-other-end match-beg)
            (isearch-error nil))
        (isearch-lazy-highlight-new-loop range-beg range-end))))
 
index 7bdb587c560ed5dbe6ec2558d3920ff4bf478cc1..1d28de729962eba8c62f8897d60e6d95bca313b3 100644 (file)
@@ -2497,7 +2497,10 @@ The variable `ispell-highlight-face' selects the face to use for highlighting."
                  (regexp-quote (buffer-substring-no-properties start end))
                  "\\b"))
                (isearch-regexp t)
-               (isearch-case-fold-search nil))
+               (isearch-case-fold-search nil)
+               (isearch-forward t)
+               (isearch-other-end start)
+               (isearch-error nil))
            (isearch-lazy-highlight-new-loop
             (if (boundp 'reg-start) reg-start)
             (if (boundp 'reg-end)   reg-end)))