]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
authorJuri Linkov <juri@linkov.net>
Wed, 22 Feb 2017 00:10:36 +0000 (02:10 +0200)
committerJuri Linkov <juri@linkov.net>
Wed, 22 Feb 2017 00:10:36 +0000 (02:10 +0200)
(isearch-lazy-highlight-update): Check it to decide whether to apply
overlays only on the selected window.

* lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
(Bug#17453, bug#21092)

lisp/follow.el
lisp/isearch.el

index 3ad4f108902495c0c3c59b39fef204a2636bf55d..db3b2821a56b4877c69bbc8d5599298beae97a1a 100644 (file)
@@ -427,6 +427,9 @@ Keys specific to Follow mode:
         (add-hook 'replace-update-post-hook 'follow-post-command-hook nil t)
         (add-hook 'ispell-update-post-hook 'follow-post-command-hook nil t)
 
+        (when isearch-lazy-highlight
+          (setq-local isearch-lazy-highlight 'all-windows))
+
         (setq window-group-start-function 'follow-window-start)
         (setq window-group-end-function 'follow-window-end)
         (setq set-window-group-start-function 'follow-set-window-start)
index d0fb15ec641569d34a8aa80d0606d3d95a9cf72d..699d6eaf73025b60f5240120e07f3b19ae6ba786 100644 (file)
@@ -285,8 +285,13 @@ are `word-search-regexp' \(`\\[isearch-toggle-word]'), `isearch-symbol-regexp'
   "Controls the lazy-highlighting during incremental search.
 When non-nil, all text in the buffer matching the current search
 string is highlighted lazily (see `lazy-highlight-initial-delay'
-and `lazy-highlight-interval')."
-  :type 'boolean
+and `lazy-highlight-interval').
+
+When multiple windows display the current buffer, the
+highlighting is displayed only on the selected window, unless
+this variable is set to the symbol `all-windows'."
+  :type '(choice boolean
+                 (const :tag "On, and applied to all windows" all-windows))
   :group 'lazy-highlight
   :group 'isearch)
 
@@ -3298,8 +3303,9 @@ Attempt to do the search exactly the way the pending Isearch would."
                          ;; 1000 is higher than ediff's 100+,
                          ;; but lower than isearch main overlay's 1001
                          (overlay-put ov 'priority 1000)
-                         (overlay-put ov 'face 'lazy-highlight)))
-                         ;(overlay-put ov 'window (selected-window))))
+                         (overlay-put ov 'face 'lazy-highlight)
+                         (unless (eq isearch-lazy-highlight 'all-windows)
+                            (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.