forked from aniani/vim
updated for version 7.4.101
Problem: Using \1 in pattern goes one line too far. (Bohr Shaw, John Little) Solution: Only advance the match end for the matched characters in the last line.
This commit is contained in:
@@ -6455,7 +6455,8 @@ re_num_cmp(val, scan)
|
|||||||
/*
|
/*
|
||||||
* Check whether a backreference matches.
|
* Check whether a backreference matches.
|
||||||
* Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
|
* Returns RA_FAIL, RA_NOMATCH or RA_MATCH.
|
||||||
* If "bytelen" is not NULL, it is set to the bytelength of the whole match.
|
* If "bytelen" is not NULL, it is set to the byte length of the match in the
|
||||||
|
* last line.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
|
match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
|
||||||
@@ -6511,6 +6512,8 @@ match_with_backref(start_lnum, start_col, end_lnum, end_col, bytelen)
|
|||||||
|
|
||||||
/* Advance to next line. */
|
/* Advance to next line. */
|
||||||
reg_nextline();
|
reg_nextline();
|
||||||
|
if (bytelen != NULL)
|
||||||
|
*bytelen = 0;
|
||||||
++clnum;
|
++clnum;
|
||||||
ccol = 0;
|
ccol = 0;
|
||||||
if (got_int)
|
if (got_int)
|
||||||
|
@@ -507,6 +507,8 @@ STARTTEST
|
|||||||
:" Check a pattern with a line break and ^ and $
|
:" Check a pattern with a line break and ^ and $
|
||||||
:call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
|
:call add(tl, [2, 'a\n^b$\n^c', ['a', 'b', 'c'], ['XX']])
|
||||||
:"
|
:"
|
||||||
|
:call add(tl, [2, '\(^.\+\n\)\1', [' dog', ' dog', 'asdf'], ['XXasdf']])
|
||||||
|
:"
|
||||||
:"""" Run the multi-line tests
|
:"""" Run the multi-line tests
|
||||||
:"
|
:"
|
||||||
:$put ='multi-line tests'
|
:$put ='multi-line tests'
|
||||||
|
@@ -1031,6 +1031,9 @@ OK 2 - \<\(\(25\_[0-5]\|2\_[0-4]\_[0-9]\|\_[01]\?\_[0-9]\_[0-9]\?\)\.\)\{3\}\(25
|
|||||||
OK 0 - a\n^b$\n^c
|
OK 0 - a\n^b$\n^c
|
||||||
OK 1 - a\n^b$\n^c
|
OK 1 - a\n^b$\n^c
|
||||||
OK 2 - a\n^b$\n^c
|
OK 2 - a\n^b$\n^c
|
||||||
|
OK 0 - \(^.\+\n\)\1
|
||||||
|
OK 1 - \(^.\+\n\)\1
|
||||||
|
OK 2 - \(^.\+\n\)\1
|
||||||
|
|
||||||
<T="5">Ta 5</Title>
|
<T="5">Ta 5</Title>
|
||||||
<T="7">Ac 7</Title>
|
<T="7">Ac 7</Title>
|
||||||
|
@@ -738,6 +738,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
101,
|
||||||
/**/
|
/**/
|
||||||
100,
|
100,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user