--- Begin Message ---
Subject: |
27.0.50; lazy-highlight fails with a quick key sequence |
Date: |
Sun, 23 Dec 2018 02:05:19 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
Quickly typing `C-s C-s' to repeat the last search in a file with long
wrapped lines sometimes fails to lazy-highlight other matches.
This is because the condition in isearch-lazy-highlight-new-loop relies on
the return value of `(sit-for 0)' and when there is input pending like the
second `C-s' keystroke unprocessed due to the large file size with long
lines, it doesn't start a new lazy-highlight loop.
I noticed this problem only after starting to use lazy-count that fails
to count matches. Before that, there was no clear indication that
lazy-highlight failed in such cases.
I doubt that relying on its return value was intentional, so I propose
the following fix:
diff --git a/lisp/isearch.el b/lisp/isearch.el
index dd0973d4ea..5876e70305 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -3661,7 +3661,7 @@ isearch-lazy-highlight-new-loop
search string to change or the window to scroll). It is also used
by other Emacs features."
(when (and (null executing-kbd-macro)
- (sit-for 0) ;make sure (window-start) is credible
+ (progn (sit-for 0) t) ;make sure (window-start) is credible
(or (not (equal isearch-string
isearch-lazy-highlight-last-string))
(not (memq (selected-window)
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#33838: 27.0.50; lazy-highlight fails with a quick key sequence |
Date: |
Tue, 25 Dec 2018 23:54:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) |
> A proper fix would be to reset isearch-lazy-highlight-last-string
> on exiting Isearch, so it won't affect the next search:
Pushed to master and closed.
--- End Message ---