diff src/regexp_nfa.c @ 5310:b04bdb2c5fce v7.4.008

updated for version 7.4.008 Problem: New regexp engine can't be interrupted. Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto)
author Bram Moolenaar <bram@vim.org>
date Sun, 25 Aug 2013 17:01:42 +0200
parents 560a6a232950
children c1ae5baa41f4
line wrap: on
line diff
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -5089,6 +5089,12 @@ nfa_regmatch(prog, start, submatch, m)
 	return FALSE;
     }
 #endif
+    /* Some patterns may take a long time to match, especially when using
+     * recursive_regmatch(). Allow interrupting them with CTRL-C. */
+    fast_breakcheck();
+    if (got_int)
+	return FALSE;
+
     nfa_match = FALSE;
 
     /* Allocate memory for the lists of nodes. */