neovim/neovim — pull request #1735 by fwalch (2014-12-25 11:30:08+00:00)
Title: [RFC] vim-patch:7.4.527

```
Problem: Still confusing regexp failure and NFA_TOO_EXPENSIVE.
Solution: NFA changes equivalent of 7.4.526.

https://code.google.com/p/vim/source/detail?r=v7-4-527
```

Original patch:
```diff
diff --git a/src/nvim/regexp_nfa.c b/src/nvim/regexp_nfa.c
--- a/src/nvim/regexp_nfa.c
+++ b/src/nvim/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/nvim/version.c b/src/nvim/version.c
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 527,
+/**/
526,
/**/
525,
```