# HG changeset patch # User Bram Moolenaar # Date 1360171442 -3600 # Node ID 77fa4dee43fcd1c0bacad9dc85b3deb39e0ba487 # Parent 058f26a834c42b81be987134b41ca241a3b2e210 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. diff --git a/src/ex_cmds.c b/src/ex_cmds.c --- 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 --- 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 --- 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 --- 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,