diff options
author | Bram Moolenaar <Bram@vim.org> | 2013-02-06 18:24:02 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2013-02-06 18:24:02 +0100 |
commit | 11cb6e6e137afb9e20d68e69bf38d458a96701fd (patch) | |
tree | 60e0d99ce041ac3c537d768d7df68ba03fd1eb8d | |
parent | fa13eef3c9edc81c07a47124c2c893a4bb253e58 (diff) | |
download | vim-11cb6e6e137afb9e20d68e69bf38d458a96701fd.zip |
updated for version 7.3.803
Problem: Substitute with confirmation and then "q" does not replace
anything. (John McGowan)
Solution: Do not break the loop, skip to the end.
-rw-r--r-- | src/ex_cmds.c | 2 | ||||
-rw-r--r-- | src/testdir/test80.in | 13 | ||||
-rw-r--r-- | src/testdir/test80.ok | 4 | ||||
-rw-r--r-- | src/version.c | 2 |
4 files changed, 19 insertions, 2 deletions
diff --git a/src/ex_cmds.c b/src/ex_cmds.c index 3c865e784..656b1f49d 100644 --- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -4878,7 +4878,7 @@ do_sub(eap) goto skip; } if (got_quit) - break; + goto skip; } /* Move the cursor to the start of the match, so that we can diff --git a/src/testdir/test80.in b/src/testdir/test80.in index 2decb4dbc..df4afbb1d 100644 --- a/src/testdir/test80.in +++ b/src/testdir/test80.in @@ -153,12 +153,23 @@ STARTTEST :s/\(^\|,\)\ze\(,\|Y\)/\1N/gc a:$put =',,Z' :s/\(^\|,\)\ze\(,\|Z\)/\1N/gc -yy/^TEST_9 +yy/^TEST_9: ENDTEST TEST_9: STARTTEST +:set magic& +:set cpo& +:$put =\"\n\nTEST_9:\" +:$put ='xxx' +:s/x/X/gc +yyq/^TEST_10: +ENDTEST + +TEST_10: + +STARTTEST :/^Results/,$wq! test.out ENDTEST diff --git a/src/testdir/test80.ok b/src/testdir/test80.ok index 775d98531..b08d3036f 100644 --- a/src/testdir/test80.ok +++ b/src/testdir/test80.ok @@ -105,3 +105,7 @@ TEST_8: N,,NX N,,NY N,,NZ + + +TEST_9: +XXx diff --git a/src/version.c b/src/version.c index 90ac7247e..6f3020cae 100644 --- a/src/version.c +++ b/src/version.c @@ -726,6 +726,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 803, +/**/ 802, /**/ 801, |