Problem: New regexp engine can't be interrupted.
Solution: Check for CTRL-C pressed. (Yasuhiro Matsumoto)
*/
for (;;)
{
- /* Some patterns may cause a long time to match, even though they are not
- * illegal. E.g., "\([a-z]\+\)\+Q". Allow breaking them with CTRL-C. */
+ /* Some patterns may take a long time to match, e.g., "\([a-z]\+\)\+Q".
+ * Allow interrupting them with CTRL-C. */
fast_breakcheck();
#ifdef DEBUG
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. */
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 8,
/**/
7,
/**/