# HG changeset patch # User Bram Moolenaar # Date 1416754669 -3600 # Node ID 2bb019eb60ca1d16e62e95bef16475756965022f # Parent 03a813f2cf51572246d6741acc427c49ceb8d99a updated for version 7.4.527 Problem: Still confusing regexp failure and NFA_TOO_EXPENSIVE. Solution: NFA changes equivalent of 7.4.526. diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c --- a/src/regexp_nfa.c +++ b/src/regexp_nfa.c @@ -6767,7 +6767,7 @@ theend: /* * Try match of "prog" with at regline["col"]. - * Returns 0 for failure, number of lines contained in the match otherwise. + * Returns <= 0 for failure, number of lines contained in the match otherwise. */ static long nfa_regtry(prog, col) @@ -6897,7 +6897,7 @@ nfa_regtry(prog, col) * Match a regexp against a string ("line" points to the string) or multiple * lines ("line" is NULL, use reg_getline()). * - * Returns 0 for failure, number of lines contained in the match otherwise. + * Returns <= 0 for failure, number of lines contained in the match otherwise. */ static long nfa_regexec_both(line, startcol) @@ -7137,7 +7137,7 @@ nfa_regfree(prog) * Uses curbuf for line count and 'iskeyword'. * If "line_lbr" is TRUE consider a "\n" in "line" to be a line break. * - * Return TRUE if there is a match, FALSE if not. + * Returns <= 0 for failure, number of lines contained in the match otherwise. */ static int nfa_regexec_nl(rmp, line, col, line_lbr) @@ -7157,7 +7157,7 @@ nfa_regexec_nl(rmp, line, col, line_lbr) ireg_icombine = FALSE; #endif ireg_maxcol = 0; - return (nfa_regexec_both(line, col) != 0); + return nfa_regexec_both(line, col); } @@ -7166,7 +7166,7 @@ nfa_regexec_nl(rmp, line, col, line_lbr) * "rmp->regprog" is a compiled regexp as returned by vim_regcomp(). * Uses curbuf for line count and 'iskeyword'. * - * Return zero if there is no match. Return number of lines contained in the + * Return <= 0 if there is no match. Return number of lines contained in the * match otherwise. * * Note: the body is the same as bt_regexec() except for nfa_regexec_both() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 527, +/**/ 526, /**/ 525,