summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2013-02-06 18:24:02 +0100
committerBram Moolenaar <Bram@vim.org>2013-02-06 18:24:02 +0100
commit11cb6e6e137afb9e20d68e69bf38d458a96701fd (patch)
tree60e0d99ce041ac3c537d768d7df68ba03fd1eb8d
parentfa13eef3c9edc81c07a47124c2c893a4bb253e58 (diff)
downloadvim-git-11cb6e6e137afb9e20d68e69bf38d458a96701fd.tar.gz
updated for version 7.3.803v7.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.c2
-rw-r--r--src/testdir/test80.in13
-rw-r--r--src/testdir/test80.ok4
-rw-r--r--src/version.c2
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,