diff options
Diffstat (limited to 'src/nvim/regexp_nfa.c')
-rw-r--r-- | src/nvim/regexp_nfa.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c index fa356da5b9..b96dcc66b3 100644 --- a/src/nvim/regexp_nfa.c +++ b/src/nvim/regexp_nfa.c @@ -1897,9 +1897,10 @@ static int nfa_regpiece(void) return OK; } - // The engine is very inefficient (uses too many states) when the maximum is - // much larger than the minimum. Bail out if we can use the other engine. - if ((nfa_re_flags & RE_AUTO) && maxval > minval + 200) { + // The engine is very inefficient (uses too many states) when the maximum + // is much larger than the minimum and when the maximum is large. Bail out + // if we can use the other engine. + if ((nfa_re_flags & RE_AUTO) && (maxval > minval + 200 || maxval > 500)) { return FAIL; } |