vim-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.
fbd0b0af68
This commit is contained in:
Billy Su
2019-03-07 13:08:15 +08:00
parent 5f84b1dc41
commit 241b905b13
15 changed files with 150 additions and 99 deletions

View File

@@ -3907,10 +3907,11 @@ static int ins_compl_get_exp(pos_T *ini)
compl_direction, compl_pattern);
} else
found_new_match = searchit(NULL, ins_buf, pos,
compl_direction,
compl_pattern, 1L, SEARCH_KEEP + SEARCH_NFMSG,
RE_LAST, (linenr_T)0, NULL);
--msg_silent;
compl_direction,
compl_pattern, 1L,
SEARCH_KEEP + SEARCH_NFMSG,
RE_LAST, (linenr_T)0, NULL, NULL);
msg_silent--;
if (!compl_started || set_match_pos) {
/* set "compl_started" even on fail */
compl_started = TRUE;