diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-10-02 21:55:02 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-10-02 21:55:02 +0200 |
commit | 4c7cb6b88446fef3660bceaf465419b3c3958f54 (patch) | |
tree | 3fe237ff90a0e39b6a56dd8e6b3677600937e3de | |
parent | 3eead7c227e96f416e62214a3529ad1e8b1c8421 (diff) | |
download | vim-4c7cb6b88446fef3660bceaf465419b3c3958f54.zip |
updated for version 7.4.050
Problem: "gn" selects too much for the pattern "\d" when there are two
lines with a single digit. (Ryan Carney)
Solution: Adjust the logic of is_one_char(). (Christian Brabandt)
-rw-r--r-- | src/search.c | 4 | ||||
-rw-r--r-- | src/testdir/test53.in | 6 | ||||
-rw-r--r-- | src/testdir/test53.ok | 3 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 13 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c index da7bc2961..5d02dd9e3 100644 --- a/src/search.c +++ b/src/search.c @@ -4680,8 +4680,8 @@ is_one_char(pattern) && regmatch.startpos[0].lnum == regmatch.endpos[0].lnum && regmatch.startpos[0].col == regmatch.endpos[0].col); - if (!result && incl(&pos) == 0 && pos.col == regmatch.endpos[0].col) - result = TRUE; + if (!result && inc(&pos) >= 0 && pos.col == regmatch.endpos[0].col) + result = TRUE; } called_emsg |= save_called_emsg; diff --git a/src/testdir/test53.in b/src/testdir/test53.in index 2cc7d1050..47cf6f562 100644 --- a/src/testdir/test53.in +++ b/src/testdir/test53.in @@ -46,6 +46,9 @@ vlgnd :set selection=exclusive $cgNmongoose/i cgnj +:" Make sure there is no other match y uppercase. +/x59 +gggnd :/^start:/,/^end:/wq! test.out ENDTEST @@ -75,4 +78,7 @@ delete first and last chars uniquepattern uniquepattern my very excellent mother just served us nachos for (i=0; i<=10; i++) +Y +text +Y end: diff --git a/src/testdir/test53.ok b/src/testdir/test53.ok index 40031ed47..e469869ab 100644 --- a/src/testdir/test53.ok +++ b/src/testdir/test53.ok @@ -27,4 +27,7 @@ elete first and last char uniquepattern my very excellent mongoose just served us nachos for (j=0; i<=10; i++) + +text +Y end: diff --git a/src/version.c b/src/version.c index 7b3e7edf0..664e07dd4 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 50, +/**/ 49, /**/ 48, |