patch 8.0.0643: when a pattern search is slow Vim becomes unusable
Problem: When 'hlsearch' is set and matching with the last search pattern
is very slow, Vim becomes unusable. Cannot quit search by
pressing CTRL-C.
Solution: When the search times out set a flag and don't try again. Check
for timeout and CTRL-C in NFA loop that adds states.
diff --git a/src/quickfix.c b/src/quickfix.c
index 61e96dd..f4bc597 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2415,7 +2415,7 @@
save_cursor = curwin->w_cursor;
curwin->w_cursor.lnum = 0;
if (!do_search(NULL, '/', qf_ptr->qf_pattern, (long)1,
- SEARCH_KEEP, NULL))
+ SEARCH_KEEP, NULL, NULL))
curwin->w_cursor = save_cursor;
}
@@ -4237,7 +4237,7 @@
{
col = 0;
while (vim_regexec_multi(®match, curwin, buf, lnum,
- col, NULL) > 0)
+ col, NULL, NULL) > 0)
{
/* Pass the buffer number so that it gets used even for a
* dummy buffer, unless duplicate_name is set, then the