Mercurial > vim
diff src/quickfix.c @ 11521:578df034735d v8.0.0643
patch 8.0.0643: when a pattern search is slow Vim becomes unusable
commit https://github.com/vim/vim/commit/fbd0b0af6800f6ff89857863d6a07ea03f09ff6c
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jun 17 18:44:21 2017 +0200
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.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 17 Jun 2017 18:45:04 +0200 |
parents | 80491a71c716 |
children | f5add45f9848 |
line wrap: on
line diff
--- a/src/quickfix.c +++ b/src/quickfix.c @@ -2415,7 +2415,7 @@ win_found: 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 @@ ex_vimgrep(exarg_T *eap) { 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