Mercurial > vim
changeset 4240:d52c45b35fb0 v7.3.871
updated for version 7.3.871
Problem: search('^$', 'c') does not use the empty match under the cursor.
Solution: Special handling of the 'c' flag. (Christian Brabandt)
Add tests.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Tue, 19 Mar 2013 15:27:48 +0100 |
parents | a13087030831 |
children | bd0fbce6a988 |
files | src/search.c src/testdir/test14.in src/testdir/test14.ok src/version.c |
diffstat | 4 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/search.c +++ b/src/search.c @@ -727,6 +727,8 @@ searchit(win, buf, pos, dir, pat, count, ++matchcol; } } + if (options & SEARCH_START) + break; if (ptr[matchcol] == NUL || (nmatched = vim_regexec_multi(®match, win, buf, lnum + matchpos.lnum,
--- a/src/testdir/test14.in +++ b/src/testdir/test14.in @@ -2,6 +2,7 @@ Tests for "vaBiB", end could be wrong. Also test ":s/pat/sub/" with different ~s in sub. Also test for ^Vxff and ^Vo123 in Insert mode. Also test "[m", "]m", "[M" and "]M" +Also test search() STARTTEST :so small.vim @@ -34,6 +35,16 @@ j2]MaH:.w >>test.out 2[MaJ:.w >>test.out k[MaK:.w >>test.out 3[MaL:.w >>test.out +:" +/^foobar +:let startline = line('.') +:call search('foobar', 'c') +:call append(line('$'), line('.') - startline) +j:call search('^$', 'c') +:call append(line('$'), line('.') - startline) +:call search('^$', 'bc') +:call append(line('$'), line('.') - startline) +:/^search()/,$w >>test.out :qa! ENDTEST @@ -64,3 +75,8 @@ Piece of Java } } e3 } + +foobar + + +search()