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"

STARTTEST
:so small.vim
/Start cursor here
vaBiBD:?Bug?,/Piece/-2w! test.out
/^- Bug
:s/u/~u~/
:s/i/~u~/
:s/o/~~~/
:.w >>test.out
:if has("ebcdic")
: let tt = "o\<C-V>193\<C-V>xc2\<C-V>o303 \<C-V>90a\<C-V>xfg\<C-V>o578\<Esc>"
:else
: let tt = "o\<C-V>65\<C-V>x42\<C-V>o103 \<C-V>33a\<C-V>xfg\<C-V>o78\<Esc>"
:endif
:exe "normal " . tt
:.w >>test.out
:set vb
/^Piece
2]maA:.w >>test.out
j]maB:.w >>test.out
]maC:.w >>test.out
[maD:.w >>test.out
k2[maE:.w >>test.out
3[maF:.w >>test.out
]MaG:.w >>test.out
j2]MaH:.w >>test.out
]M]MaI:.w >>test.out
2[MaJ:.w >>test.out
k[MaK:.w >>test.out
3[MaL:.w >>test.out
:qa!
ENDTEST

- Bug in "vPPPP" on this text (Webb):
	{
		cmd;
		{
			cmd;	/* <-- Start cursor here */
			{
			}
		}
	}

Piece of Java
{
	tt m1 {
		t1;
	} e1

	tt m2 {
		t2;
	} e2

	tt m3 {
		if (x)
		{
			t3;
		}
	} e3
}
