From 11cb6e6e137afb9e20d68e69bf38d458a96701fd Mon Sep 17 00:00:00 2001
From: Bram Moolenaar <Bram@vim.org>
Date: Wed, 6 Feb 2013 18:24:02 +0100
Subject: [PATCH] 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.

---
 src/ex_cmds.c         |  2 +-
 src/testdir/test80.in | 13 ++++++++++++-
 src/testdir/test80.ok |  4 ++++
 src/version.c         |  2 ++
 4 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 3c865e7849..656b1f49d1 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 2decb4dbcf..df4afbb1d2 100644
--- a/src/testdir/test80.in
+++ b/src/testdir/test80.in
@@ -153,11 +153,22 @@ 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 775d985312..b08d3036f3 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 90ac7247e9..6f3020cae2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -725,6 +725,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    803,
 /**/
     802,
 /**/
-- 
GitLab