rex.reg_endpos = NULL;
result = rmp->regprog->engine->regexec_nl(rmp, line, col, nl);
+ rmp->regprog->re_in_use = FALSE;
/* NFA engine aborted because it's very slow. */
if (rmp->regprog->re_engine == AUTOMATIC_ENGINE
#endif
rmp->regprog = vim_regcomp(pat, re_flags);
if (rmp->regprog != NULL)
+ {
+ rmp->regprog->re_in_use = TRUE;
result = rmp->regprog->engine->regexec_nl(rmp, line, col, nl);
+ rmp->regprog->re_in_use = FALSE;
+ }
vim_free(pat);
}
rex_in_use = rex_in_use_save;
if (rex_in_use)
rex = rex_save;
- rmp->regprog->re_in_use = FALSE;
return result > 0;
}
result = rmp->regprog->engine->regexec_multi(
rmp, win, buf, lnum, col, tm, timed_out);
+ rmp->regprog->re_in_use = FALSE;
/* NFA engine aborted because it's very slow. */
if (rmp->regprog->re_engine == AUTOMATIC_ENGINE
#endif
if (rmp->regprog != NULL)
+ {
+ rmp->regprog->re_in_use = TRUE;
result = rmp->regprog->engine->regexec_multi(
rmp, win, buf, lnum, col, tm, timed_out);
+ rmp->regprog->re_in_use = FALSE;
+ }
vim_free(pat);
}
p_re = save_p_re;
rex_in_use = rex_in_use_save;
if (rex_in_use)
rex = rex_save;
- rmp->regprog->re_in_use = FALSE;
return result <= 0 ? 0 : result;
}