diff --git a/src/Makefile b/src/Makefile
index a612817..75e528e 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2100,13 +2100,12 @@
 	test_listchars \
 	test_search_mbyte \
 	test_wordcount \
-	test3 test11 test12 test14 test15 test17 test19 \
-	test20 test25 test28 test29 \
-	test30 test32 test36 test37 test38 test39 \
+	test3 test11 test12 test14 test15 test17 \
+	test29 test30 test36 test37 test39 \
 	test40 test42 test44 test45 test48 test49 \
 	test50 test52 test55 test59 \
-	test64 test66 test68 test69 \
-	test70 test72 test73 test77 test79 \
+	test64 test68 test69 \
+	test70 test72 test73 test77 \
 	test83 test85 test86 test87 test88 \
 	test94 test95 test99 test108:
 	cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index d0afdb5..6edca56 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -16,13 +16,9 @@
 	test3.out \
 	test14.out \
 	test15.out \
-	test19.out \
-	test20.out \
-	test28.out \
 	test29.out \
 	test36.out \
 	test37.out \
-	test38.out \
 	test39.out \
 	test40.out \
 	test42.out \
@@ -31,12 +27,10 @@
 	test48.out \
 	test55.out \
 	test64.out \
-	test66.out \
 	test68.out \
 	test69.out \
 	test70.out \
 	test73.out \
-	test79.out \
 	test88.out \
 	test94.out \
 	test95.out \
@@ -65,7 +59,6 @@
 # Tests that run on most systems, but not on Amiga and DOS/Windows.
 SCRIPTS_MORE2 = \
 	test12.out \
-	test25.out \
 	test49.out
 
 
@@ -73,7 +66,6 @@
 SCRIPTS_MORE4 = \
 	test17.out \
 	test30.out \
-	test32.out \
 	test59.out \
 	test72.out \
 	test83.out
@@ -129,6 +121,7 @@
 	    test_hlsearch.res \
 	    test_increment.res \
 	    test_increment_dbcs.res \
+	    test_ins_complete.res \
 	    test_job_fails.res \
 	    test_json.res \
 	    test_langmap.res \
@@ -173,6 +166,7 @@
 	    test_substitute.res \
 	    test_syntax.res \
 	    test_system.res \
+	    test_tab.res \
 	    test_tcl.res \
 	    test_terminal.res \
 	    test_terminal_fail.res \
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 7a8eca2..4a6bd9f 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -14,7 +14,6 @@
 # test10	'errorformat' is different
 # test11	"cat" doesn't work properly
 # test12	can't unlink a swap file
-# test25	uses symbolic link
 # test52	only for Win32
 # test85	no Lua interface
 # test86, 87	no Python interface
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 4e0c8f7..52162bc 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -13,7 +13,6 @@
 # test2		"\\tmp" doesn't work.
 # test10	'errorformat' is different
 # test12	can't unlink a swap file
-# test25	uses symbolic link
 # test49	fails in various ways
 # test97	\{ and \$ are not escaped characters.
 
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index ea748cd..1134685 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -32,7 +32,6 @@
 # test2		"\\tmp" doesn't work.
 # test10	'errorformat' is different
 # test12	can't unlink a swap file
-# test25	uses symbolic link
 # test97	\{ and \$ are not escaped characters
 
 SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE4) $(SCRIPTS_WIN32)
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 30b671c..b76c230 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -75,21 +75,13 @@
 
 SCRIPT = test1.out test3.out \
        test14.out test15.out \
-       test19.out test20.out \
-       test28.out test29.out test30.out test32.out \
-       test36.out test37.out \
-       test38.out test39.out test40.out test42.out \
-       test44.out test45.out \
-       test48.out test49.out \
-       test55.out \
-       test64.out \
-       test66.out test68.out test69.out \
-       test72.out \
-       test77a.out test79.out \
-       test88.out \
-       test94.out \
-       test95.out test99.out \
-       test108.out\
+       test29.out test30.out \
+       test36.out test37.out test39.out \
+       test40.out test42.out test44.out test45.out \
+       test48.out test49.out test55.out \
+       test64.out test68.out test69.out \
+       test72.out test77a.out test88.out \
+       test94.out test95.out test99.out test108.out\
        test_autocmd_option.out \
        test_breakindent.out \
        test_changelist.out \
@@ -110,10 +102,6 @@
 #
 # test30: bug, most probably - a problem around mac format
 #
-# test32: VMS is not case sensitive and all filenames are lowercase within Vim
-# (this should be changed in order to preserve the original filename) - should
-# be fixed. VMS allows just one dot in the filename
-#
 # test59: Failed/Hangs - VMS does not support spell files (file names
 # with too many dots).
 #
@@ -131,7 +119,7 @@
 .ENDIF
 
 .IFDEF WANT_UNIX
-SCRIPT_UNIX = test10.out test12.out test17.out test25.out test27.out test49.out test73.out
+SCRIPT_UNIX = test10.out test12.out test17.out test27.out test49.out test73.out
 .ENDIF
 
 .IFDEF WANT_WIN
diff --git a/src/testdir/main.aap b/src/testdir/main.aap
index 51e60de..14afaac 100644
--- a/src/testdir/main.aap
+++ b/src/testdir/main.aap
@@ -7,11 +7,10 @@
 Scripts = test1.out test2.out test3.out test6.out
 		test11.out
 		test12.out  test13.out test14.out test15.out test17.out
-		test18.out test19.out test20.out test21.out
-		test25.out test27.out
-		test28.out test29.out test30.out test32.out
+		test18.out test21.out
+		test27.out test29.out test30.out
 		test36.out test37.out
-		test38.out test39.out test40.out test42.out
+		test39.out test40.out test42.out
 		test44.out test45.out test46.out test47.out
 		test48.out test49.out test74.out
 
diff --git a/src/testdir/test19.in b/src/testdir/test19.in
deleted file mode 100644
index aafa34e..0000000
--- a/src/testdir/test19.in
+++ /dev/null
@@ -1,33 +0,0 @@
-Tests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.
-Also test that dv_ works correctly
-
-STARTTEST
-:so small.vim
-:set smarttab expandtab ts=8 sw=4
-:" make sure that backspace works, no matter what termcap is used
-:set t_kD=x7f t_kb=x08
-/some
-r	:set noexpandtab
-/other
-r	
-:" Test replacing with Tabs and then backspacing to undo it
-0wR			
-:" Test replacing with Tabs
-0wR			
-:" Test that copyindent works with expandtab set
-:set expandtab smartindent copyindent ts=8 sw=8 sts=8
-o{
-x:set nosol
-/Second line/
-fwdv_:?^start?,$w! test.out
-:qa!
-ENDTEST
-
-start text
-		some test text
-test text
-		other test text
-    a cde
-    f ghi
-test text
-  Second line beginning with whitespace
diff --git a/src/testdir/test19.ok b/src/testdir/test19.ok
deleted file mode 100644
index 4146214..0000000
--- a/src/testdir/test19.ok
+++ /dev/null
@@ -1,10 +0,0 @@
-start text
-		    ome test text
-test text
-		    ther test text
-    a cde
-    		hi
-test text
-{
-        x
-  with whitespace
diff --git a/src/testdir/test20.in b/src/testdir/test20.in
deleted file mode 100644
index 662a143..0000000
--- a/src/testdir/test20.in
+++ /dev/null
@@ -1,28 +0,0 @@
-Tests Blockwise Visual when there are TABs before the text.
-First test for undo working properly when executing commands from a register.
-Also test this in an empty buffer.
-
-STARTTEST
-:so tiny.vim
-G0"ay$k@au
-:new
-@auY:quit!
-GP
-/start here$
-"by$jjlld
-/456$
-jj"bP
-:/56$/,$-1w! test.out
-:qa!
-ENDTEST
-
-123456
-234567
-345678
-
-test text test tex start here
-		some text
-		test text
-test text
-
-OxjAykdd
diff --git a/src/testdir/test20.ok b/src/testdir/test20.ok
deleted file mode 100644
index 7c50ea8..0000000
--- a/src/testdir/test20.ok
+++ /dev/null
@@ -1,10 +0,0 @@
-123start here56
-234start here67
-345start here78
-
-test text test tex rt here
-		somext
-		tesext
-test text
-
-
diff --git a/src/testdir/test25.in b/src/testdir/test25.in
deleted file mode 100644
index 4139865..0000000
--- a/src/testdir/test25.in
+++ /dev/null
@@ -1,31 +0,0 @@
-Test for jumping to a tag with 'hidden' set, with symbolic link in path of tag.
-This only works for Unix, because of the symbolic link.
-
-STARTTEST
-:so small.vim
-:set hidden
-:" Create a link from test25.dir to the current directory.
-:!rm -f test25.dir
-:!ln -s . test25.dir
-:" Create tags.text, with the current directory name inserted.
-/tags line
-:r !pwd
-d$/test
-hP:.w! tags.test
-:" Try jumping to a tag in the current file, but with a path that contains a
-:" symbolic link.  When wrong, this will give the ATTENTION message.  The next
-:" space will then be eaten by hit-return, instead of moving the cursor to 'd'.
-:set tags=tags.test
-G x:.w! test.out
-:!rm -f test25.dir tags.test
-:qa!
-ENDTEST
-
-tags line:
-SECTION_OFF	/test25.dir/test25.in	/^#define  SECTION_OFF  3$/
-
-/*tx.c*/
-#define  SECTION_OFF  3
-#define  NUM_SECTIONS 3
-
-SECTION_OFF
diff --git a/src/testdir/test25.ok b/src/testdir/test25.ok
deleted file mode 100644
index 08fc070..0000000
--- a/src/testdir/test25.ok
+++ /dev/null
@@ -1 +0,0 @@
-#efine  SECTION_OFF  3
diff --git a/src/testdir/test28.in b/src/testdir/test28.in
deleted file mode 100644
index 5542c92..0000000
--- a/src/testdir/test28.in
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test28.ok b/src/testdir/test28.ok
deleted file mode 100644
index 911d854..0000000
--- a/src/testdir/test28.ok
+++ /dev/null
@@ -1,2 +0,0 @@
-sd
-map __2 asdsecondsdsd0map __5 asd0fifth
diff --git a/src/testdir/test32.in b/src/testdir/test32.in
deleted file mode 100644
index 602d9e5..0000000
--- a/src/testdir/test32.in
+++ /dev/null
@@ -1,61 +0,0 @@
-Test for insert expansion
-
-:se cpt=.,w
-* add-expands (word from next line) from other window
-* add-expands (current buffer first)
-* Local expansion, ends in an empty line (unless it becomes a global expansion)
-* starts Local and switches to global add-expansion
-:se cpt=.,w,i
-* i-add-expands and switches to local
-* add-expands lines (it would end in an empty line if it didn't ignored it self)
-:se cpt=kXtestfile
-* checks k-expansion, and file expansion (use Xtest11 instead of test11,
-* because TEST11.OUT may match first on DOS)
-:se cpt=w
-* checks make_cyclic in other window
-:se cpt=u nohid
-* checks unloaded buffer expansion
-* checks adding mode abortion
-:se cpt=t,d
-* tag expansion, define add-expansion interrupted
-* t-expansion
-
-STARTTEST
-:so small.vim
-:se nocp viminfo+=nviminfo cpt=.,w ff=unix | $-2,$w!Xtestfile | set ff&
-:set belloff=all
-:se cot=
-nO#include "Xtestfile"
-ru
-O
-
-
-:se cpt=.,w,i
-kOM
-
-:se cpt=kXtestfile
-:w Xtest11.one
-:w Xtest11.two
-OIXA
-:" use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use
-:" CTRL-X CTRL-F again to verify this doesn't cause trouble.
-OXddk
-:se cpt=w
-OST
-:se cpt=u nohid
-oOEN
-unl
-:se cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
-O
-a
-:wq! test.out
-ENDTEST
-
-start of testfile
-run1
-run2
-end of testfile
-
-test11	36Gepeto	/Tag/
-asd	test11file	36G
-Makefile	to	run
diff --git a/src/testdir/test32.ok b/src/testdir/test32.ok
deleted file mode 100644
index afc4463..0000000
--- a/src/testdir/test32.ok
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "Xtestfile"
-run1 run3
-run3 run3
-
-Makefile	to	run3
-Makefile	to	run3
-Makefile	to	run3
-Xtest11.two
-STARTTEST
-ENDTEST
-unless
-test11file	36Gepeto	/Tag/ asd
-asd
-run1 run2
-
diff --git a/src/testdir/test38.in b/src/testdir/test38.in
deleted file mode 100644
index 3e02362..0000000
--- a/src/testdir/test38.in
+++ /dev/null
@@ -1,35 +0,0 @@
-
-Test Virtual replace mode.
-
-STARTTEST
-:so small.vim
-:" make sure that backspace works, no matter what termcap is used
-:set t_kD=x7f t_kb=x08
-ggdGa
-abcdefghi
-jk	lmn
-    opq	rst
-uvwxyz
-gg:set ai
-:set bs=2
-gR0 1
-A
-BCDEFGHIJ
-	KL
-MNO
-PQRG:ka
-o0
-abcdefghi
-jk	lmn
-    opq	rst
-uvwxyz
-'ajgR0 1
-A
-BCDEFGHIJ
-	KL
-MNO
-PQR:$
-iab	cdefghi	jkl0gRAB......CDEFGHI.Jo:
-iabcdefghijklmnopqrst0gRAB	IJKLMNO	QR:wq! test.out
-ENDTEST
-
diff --git a/src/testdir/test38.ok b/src/testdir/test38.ok
deleted file mode 100644
index e102096..0000000
--- a/src/testdir/test38.ok
+++ /dev/null
@@ -1,13 +0,0 @@
- 1
- A
- BCDEFGHIJ
- 	KL
-	MNO
-	PQR
- 1
-abcdefghi
-jk	lmn
-    opq	rst
-uvwxyz
-AB......CDEFGHI.Jkl
-AB	IJKLMNO	QRst
diff --git a/src/testdir/test66.in b/src/testdir/test66.in
deleted file mode 100644
index f1fdce3..0000000
--- a/src/testdir/test66.in
+++ /dev/null
@@ -1,33 +0,0 @@
-
-Test for visual block shift and tab characters.
-
-STARTTEST
-:so small.vim
-/^one
-fe4jRugvr1:'<,'>w! test.out
-/^abcdefgh
-4jI    j<<11|D
-7|a		
-7|a		   
-7|a	       	4k13|4j<
-:$-5,$w >> test.out
-:$-4,$s/\s\+//g
-4kI    j<<
-7|a		
-7|a					
-7|a	       		4k13|4j3<
-:$-4,$w >> test.out
-:qa!
-ENDTEST
-
-one two three
-one two three
-one two three
-one two three
-one two three
-
-abcdefghijklmnopqrstuvwxyz
-abcdefghijklmnopqrstuvwxyz
-abcdefghijklmnopqrstuvwxyz
-abcdefghijklmnopqrstuvwxyz
-abcdefghijklmnopqrstuvwxyz
diff --git a/src/testdir/test66.ok b/src/testdir/test66.ok
deleted file mode 100644
index 4c3ab0f..0000000
--- a/src/testdir/test66.ok
+++ /dev/null
@@ -1,16 +0,0 @@
-on1 two three
-on1 two three
-on1 two three
-on1 two three
-on1 two three
-
-    abcdefghijklmnopqrstuvwxyz
-abcdefghij
-    abc	    defghijklmnopqrstuvwxyz
-    abc	    defghijklmnopqrstuvwxyz
-    abc	    defghijklmnopqrstuvwxyz
-    abcdefghijklmnopqrstuvwxyz
-abcdefghij
-    abc	    defghijklmnopqrstuvwxyz
-    abc		defghijklmnopqrstuvwxyz
-    abc	    defghijklmnopqrstuvwxyz
diff --git a/src/testdir/test79.in b/src/testdir/test79.in
deleted file mode 100644
index 8278bd8..0000000
--- a/src/testdir/test79.in
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test79.ok b/src/testdir/test79.ok
deleted file mode 100644
index e22eee0..0000000
--- a/src/testdir/test79.ok
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
new file mode 100644
index 0000000..2dd2fb7
--- /dev/null
+++ b/src/testdir/test_ins_complete.vim
@@ -0,0 +1,91 @@
+
+" Test for insert expansion
+func Test_ins_complete()
+  set ff=unix
+  call writefile(["test11\t36Gepeto\t/Tag/",
+	      \ "asd\ttest11file\t36G",
+	      \ "Makefile\tto\trun"], 'Xtestfile')
+  call writefile(['', 'start of testfile',
+	      \ 'ru',
+	      \ 'run1',
+	      \ 'run2',
+	      \ 'STARTTEST',
+	      \ 'ENDTEST',
+	      \ 'end of testfile'], 'Xtestdata')
+  set ff&
+
+  enew!
+  edit Xtestdata
+  new
+  call append(0, ['#include "Xtestfile"', ''])
+  call cursor(2, 1)
+
+  set cot=
+  set cpt=.,w
+  " add-expands (word from next line) from other window
+  exe "normal iru\<C-N>\<C-N>\<C-X>\<C-N>\<Esc>\<C-A>"
+  call assert_equal('run1 run3', getline('.'))
+  " add-expands (current buffer first)
+  exe "normal o\<C-P>\<C-X>\<C-N>"
+  call assert_equal('run3 run3', getline('.'))
+  " Local expansion, ends in an empty line (unless it becomes a global
+  " expansion)
+  exe "normal o\<C-X>\<C-P>\<C-P>\<C-P>\<C-P>\<C-P>"
+  call assert_equal('', getline('.'))
+  " starts Local and switches to global add-expansion
+  exe "normal o\<C-X>\<C-P>\<C-P>\<C-X>\<C-X>\<C-N>\<C-X>\<C-N>\<C-N>"
+  call assert_equal('run1 run2', getline('.'))
+
+  set cpt=.,w,i
+  " i-add-expands and switches to local
+  exe "normal OM\<C-N>\<C-X>\<C-N>\<C-X>\<C-N>\<C-X>\<C-X>\<C-X>\<C-P>"
+  call assert_equal("Makefile\tto\trun3", getline('.'))
+  " add-expands lines (it would end in an empty line if it didn't ignored
+  " itself)
+  exe "normal o\<C-X>\<C-L>\<C-X>\<C-L>\<C-P>\<C-P>"
+  call assert_equal("Makefile\tto\trun3", getline('.'))
+  call assert_equal("Makefile\tto\trun3", getline(line('.') - 1))
+
+  set cpt=kXtestfile
+  " checks k-expansion, and file expansion (use Xtest11 instead of test11,
+  " because TEST11.OUT may match first on DOS)
+  write Xtest11.one
+  write Xtest11.two
+  exe "normal o\<C-N>\<Esc>IX\<Esc>A\<C-X>\<C-F>\<C-N>"
+  call assert_equal('Xtest11.two', getline('.'))
+
+  " use CTRL-X CTRL-F to complete Xtest11.one, remove it and then use CTRL-X
+  " CTRL-F again to verify this doesn't cause trouble.
+  exe "normal oXt\<C-X>\<C-F>\<BS>\<BS>\<BS>\<BS>\<BS>\<BS>\<BS>\<BS>\<C-X>\<C-F>"
+  call assert_equal('Xtest11.one', getline('.'))
+  normal ddk
+
+  set cpt=w
+  " checks make_cyclic in other window
+  exe "normal oST\<C-N>\<C-P>\<C-P>\<C-P>\<C-P>"
+  call assert_equal('STARTTEST', getline('.'))
+
+  set cpt=u nohid
+  " checks unloaded buffer expansion
+  only
+  exe "normal oEN\<C-N>"
+  call assert_equal('ENDTEST', getline('.'))
+  " checks adding mode abortion
+  exe "normal ounl\<C-N>\<C-X>\<C-X>\<C-P>"
+  call assert_equal('unless', getline('.'))
+
+  set cpt=t,d def=^\\k* tags=Xtestfile notagbsearch
+  " tag expansion, define add-expansion interrupted
+  exe "normal o\<C-X>\<C-]>\<C-X>\<C-D>\<C-X>\<C-D>\<C-X>\<C-X>\<C-D>\<C-X>\<C-D>\<C-X>\<C-D>\<C-X>\<C-D>"
+  call assert_equal('test11file	36Gepeto	/Tag/ asd', getline('.'))
+  " t-expansion
+  exe "normal oa\<C-N>\<Esc>"
+  call assert_equal('asd', getline('.'))
+
+  %bw!
+  call delete('Xtestfile')
+  call delete('Xtest11.one')
+  call delete('Xtest11.two')
+  call delete('Xtestdata')
+  set cpt& cot& def& tags& tagbsearch& hidden&
+endfunc
diff --git a/src/testdir/test_source_utf8.vim b/src/testdir/test_source_utf8.vim
index edb76fc..c29c2ec 100644
--- a/src/testdir/test_source_utf8.vim
+++ b/src/testdir/test_source_utf8.vim
@@ -31,3 +31,33 @@
   bwipe!
   call delete('Xscript')
 endfunc
+
+" Test for sourcing a file with CTRL-V's at the end of the line
+func Test_source_ctrl_v()
+    call writefile(['map __1 afirst',
+		\ 'map __2 asecond',
+		\ 'map __3 athird',
+		\ 'map __4 afourth',
+		\ 'map __5 afifth',
+		\ "map __1 asd\<C-V>",
+		\ "map __2 asd\<C-V>\<C-V>",
+		\ "map __3 asd\<C-V>\<C-V>",
+		\ "map __4 asd\<C-V>\<C-V>\<C-V>",
+		\ "map __5 asd\<C-V>\<C-V>\<C-V>",
+		\ ], 'Xtestfile')
+  source Xtestfile
+  enew!
+  exe "normal __1\<Esc>\<Esc>__2\<Esc>__3\<Esc>\<Esc>__4\<Esc>__5\<Esc>"
+  exe "%s/\<C-J>/0/g"
+  call assert_equal(['sd',
+	      \ "map __2 asd\<Esc>secondsd\<Esc>sd0map __5 asd0fifth"],
+	      \ getline(1, 2))
+
+  enew!
+  call delete('Xtestfile')
+  unmap __1
+  unmap __2
+  unmap __3
+  unmap __4
+  unmap __5
+endfunc
diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim
index cd598dc..1c23f8c 100644
--- a/src/testdir/test_substitute.vim
+++ b/src/testdir/test_substitute.vim
@@ -294,3 +294,209 @@
    call assert_equal('aa2a3a', substitute('123', '1\|\ze', 'a', 'g'))
    call assert_equal('1aaa', substitute('123', '1\zs\|[23]', 'a', 'g'))
 endfunc
+
+" Tests for *sub-replace-special* and *sub-replace-expression* on :substitute.
+
+" Execute a list of :substitute command tests
+func Run_SubCmd_Tests(tests)
+  enew!
+  for t in a:tests
+    let start = line('.') + 1
+    let end = start + len(t[2]) - 1
+    exe "normal o" . t[0]
+    call cursor(start, 1)
+    exe t[1]
+    call assert_equal(t[2], getline(start, end), t[1])
+  endfor
+  enew!
+endfunc
+
+func Test_sub_cmd_1()
+  set magic
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [['A', 's/A/&&/', ['AA']],
+	      \ ['B', 's/B/\&/', ['&']],
+	      \ ['C123456789', 's/C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/', ['C123456789987654321']],
+	      \ ['D', 's/D/d/', ['d']],
+	      \ ['E', 's/E/~/', ['d']],
+	      \ ['F', 's/F/\~/', ['~']],
+	      \ ['G', 's/G/\ugg/', ['Gg']],
+	      \ ['H', 's/H/\Uh\Eh/', ['Hh']],
+	      \ ['I', 's/I/\lII/', ['iI']],
+	      \ ['J', 's/J/\LJ\EJ/', ['jJ']],
+	      \ ['K', 's/K/\Uk\ek/', ['Kk']],
+	      \ ['lLl', "s/L/\<C-V>\<C-M>/", ["l\<C-V>", 'l']],
+	      \ ['mMm', 's/M/\r/', ['m', 'm']],
+	      \ ['nNn', "s/N/\\\<C-V>\<C-M>/", ["n\<C-V>", 'n']],
+	      \ ['oOo', 's/O/\n/', ["o\no"]],
+	      \ ['pPp', 's/P/\b/', ["p\<C-H>p"]],
+	      \ ['qQq', 's/Q/\t/', ["q\tq"]],
+	      \ ['rRr', 's/R/\\/', ['r\r']],
+	      \ ['sSs', 's/S/\c/', ['scs']],
+	      \ ['tTt', "s/T/\<C-V>\<C-J>/", ["t\<C-V>\<C-J>t"]],
+	      \ ['U', 's/U/\L\uuUu\l\EU/', ['UuuU']],
+	      \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']]
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+endfunc
+
+func Test_sub_cmd_2()
+  set nomagic
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [['A', 's/A/&&/', ['&&']],
+	      \ ['B', 's/B/\&/', ['B']],
+	      \ ['C123456789', 's/\mC\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\0\9\8\7\6\5\4\3\2\1/', ['C123456789987654321']],
+	      \ ['D', 's/D/d/', ['d']],
+	      \ ['E', 's/E/~/', ['~']],
+	      \ ['F', 's/F/\~/', ['~']],
+	      \ ['G', 's/G/\ugg/', ['Gg']],
+	      \ ['H', 's/H/\Uh\Eh/', ['Hh']],
+	      \ ['I', 's/I/\lII/', ['iI']],
+	      \ ['J', 's/J/\LJ\EJ/', ['jJ']],
+	      \ ['K', 's/K/\Uk\ek/', ['Kk']],
+	      \ ['lLl', "s/L/\<C-V>\<C-M>/", ["l\<C-V>", 'l']],
+	      \ ['mMm', 's/M/\r/', ['m', 'm']],
+	      \ ['nNn', "s/N/\\\<C-V>\<C-M>/", ["n\<C-V>", 'n']],
+	      \ ['oOo', 's/O/\n/', ["o\no"]],
+	      \ ['pPp', 's/P/\b/', ["p\<C-H>p"]],
+	      \ ['qQq', 's/Q/\t/', ["q\tq"]],
+	      \ ['rRr', 's/R/\\/', ['r\r']],
+	      \ ['sSs', 's/S/\c/', ['scs']],
+	      \ ['tTt', "s/T/\<C-V>\<C-J>/", ["t\<C-V>\<C-J>t"]],
+	      \ ['U', 's/U/\L\uuUu\l\EU/', ['UuuU']],
+	      \ ['V', 's/V/\U\lVvV\u\Ev/', ['vVVv']]
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+endfunc
+
+func Test_sub_cmd_3()
+  set nomagic
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [['aAa', "s/A/\\='\\'/", ['a\a']],
+	      \ ['bBb', "s/B/\\='\\\\'/", ['b\\b']],
+	      \ ['cCc', "s/C/\\='\<C-V>\<C-M>'/", ["c\<C-V>", 'c']],
+	      \ ['dDd', "s/D/\\='\\\<C-V>\<C-M>'/", ["d\\\<C-V>", 'd']],
+	      \ ['eEe', "s/E/\\='\\\\\<C-V>\<C-M>'/", ["e\\\\\<C-V>", 'e']],
+	      \ ['fFf', "s/F/\\='\r'/", ['f', 'f']],
+	      \ ['gGg', "s/G/\\='\<C-V>\<C-J>'/", ["g\<C-V>", 'g']],
+	      \ ['hHh', "s/H/\\='\\\<C-V>\<C-J>'/", ["h\\\<C-V>", 'h']],
+	      \ ['iIi', "s/I/\\='\\\\\<C-V>\<C-J>'/", ["i\\\\\<C-V>", 'i']],
+	      \ ['jJj', "s/J/\\='\n'/", ['j', 'j']],
+	      \ ['kKk', 's/K/\="\r"/', ['k', 'k']],
+	      \ ['lLl', 's/L/\="\n"/', ['l', 'l']]
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+endfunc
+
+" Test for submatch() on :substitue.
+func Test_sub_cmd_4()
+  set magic&
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [ ['aAa', "s/A/\\=substitute(submatch(0), '.', '\\', '')/",
+	      \ 			['a\a']],
+	      \ ['bBb', "s/B/\\=substitute(submatch(0), '.', '\\', '')/",
+	      \   			['b\b']],
+	      \ ['cCc', "s/C/\\=substitute(submatch(0), '.', '\<C-V>\<C-M>', '')/",
+	      \				["c\<C-V>", 'c']],
+	      \ ['dDd', "s/D/\\=substitute(submatch(0), '.', '\\\<C-V>\<C-M>', '')/",
+	      \				["d\<C-V>", 'd']],
+	      \ ['eEe', "s/E/\\=substitute(submatch(0), '.', '\\\\\<C-V>\<C-M>', '')/",
+	      \				["e\\\<C-V>", 'e']],
+	      \ ['fFf', "s/F/\\=substitute(submatch(0), '.', '\\r', '')/",
+	      \				['f', 'f']],
+	      \ ['gGg', 's/G/\=substitute(submatch(0), ".", "\<C-V>\<C-J>", "")/',
+	      \				["g\<C-V>", 'g']],
+	      \ ['hHh', 's/H/\=substitute(submatch(0), ".", "\\\<C-V>\<C-J>", "")/',
+	      \				["h\<C-V>", 'h']],
+	      \ ['iIi', 's/I/\=substitute(submatch(0), ".", "\\\\\<C-V>\<C-J>", "")/',
+	      \				["i\\\<C-V>", 'i']],
+	      \ ['jJj', "s/J/\\=substitute(submatch(0), '.', '\\n', '')/",
+	      \				['j', 'j']],
+	      \ ['kKk', "s/K/\\=substitute(submatch(0), '.', '\\r', '')/",
+	      \				['k', 'k']],
+	      \ ['lLl', "s/L/\\=substitute(submatch(0), '.', '\\n', '')/",
+	      \				['l', 'l']],
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+endfunc
+
+func Test_sub_cmd_5()
+  set magic&
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [ ['A123456789', 's/A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=submatch(0) . submatch(9) . submatch(8) . submatch(7) . submatch(6) . submatch(5) . submatch(4) . submatch(3) . submatch(2) . submatch(1)/', ['A123456789987654321']],
+	      \ ['B123456789', 's/B\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)/\=string([submatch(0, 1), submatch(9, 1), submatch(8, 1), submatch(7, 1), submatch(6, 1), submatch(5, 1), submatch(4, 1), submatch(3, 1), submatch(2, 1), submatch(1, 1)])/', ["[['B123456789'], ['9'], ['8'], ['7'], ['6'], ['5'], ['4'], ['3'], ['2'], ['1']]"]],
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+endfunc
+
+" Test for *:s%* on :substitute.
+func Test_sub_cmd_6()
+  set magic&
+  set cpo+=/
+
+  " List entry format: [input, cmd, output]
+  let tests = [ ['A', 's/A/a/', ['a']],
+	      \ ['B', 's/B/%/', ['a']],
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+
+  set cpo-=/
+  let tests = [ ['C', 's/C/c/', ['c']],
+	      \ ['D', 's/D/%/', ['%']],
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+
+  set cpo&
+endfunc
+
+" Test for :s replacing \n with  line break.
+func Test_sub_cmd_7()
+  set magic&
+  set cpo&
+
+  " List entry format: [input, cmd, output]
+  let tests = [ ["A\<C-V>\<C-M>A", 's/A./\=submatch(0)/', ['A', 'A']],
+	      \ ["B\<C-V>\<C-J>B", 's/B./\=submatch(0)/', ['B', 'B']],
+	      \ ["C\<C-V>\<C-J>C", 's/C./\=strtrans(string(submatch(0, 1)))/', [strtrans("['C\<C-J>']C")]],
+	      \ ["D\<C-V>\<C-J>\nD", 's/D.\nD/\=strtrans(string(submatch(0, 1)))/', [strtrans("['D\<C-J>', 'D']")]],
+	      \ ["E\<C-V>\<C-J>\n\<C-V>\<C-J>\n\<C-V>\<C-J>\n\<C-V>\<C-J>\n\<C-V>\<C-J>E", 's/E\_.\{-}E/\=strtrans(string(submatch(0, 1)))/', [strtrans("['E\<C-J>', '\<C-J>', '\<C-J>', '\<C-J>', '\<C-J>E']")]],
+	      \ ]
+  call Run_SubCmd_Tests(tests)
+
+  exe "normal oQ\nQ\<Esc>k"
+  call assert_fails('s/Q[^\n]Q/\=submatch(0)."foobar"/', 'E486')
+  enew!
+endfunc
+
+func TitleString()
+  let check = 'foo' =~ 'bar'
+  return ""
+endfunc
+
+func Test_sub_cmd_8()
+  set titlestring=%{TitleString()}
+
+  enew!
+  call append(0, ['', 'test_one', 'test_two'])
+  call cursor(1,1)
+  /^test_one/s/.*/\="foo\nbar"/
+  call assert_equal('foo', getline(2))
+  call assert_equal('bar', getline(3))
+  call feedkeys(':/^test_two/s/.*/\="foo\nbar"/c', "t")
+  call feedkeys("\<CR>y", "xt")
+  call assert_equal('foo', getline(4))
+  call assert_equal('bar', getline(5))
+
+  enew!
+  set titlestring&
+endfunc
diff --git a/src/testdir/test_tab.vim b/src/testdir/test_tab.vim
new file mode 100644
index 0000000..b847dbd
--- /dev/null
+++ b/src/testdir/test_tab.vim
@@ -0,0 +1,45 @@
+
+" Tests for "r<Tab>" with 'smarttab' and 'expandtab' set/not set.
+" Also test that dv_ works correctly
+func Test_smarttab()
+  enew!
+  set smarttab expandtab ts=8 sw=4
+  " make sure that backspace works, no matter what termcap is used
+  exe "set t_kD=\<C-V>x7f t_kb=\<C-V>x08"
+  call append(0, ['start text',
+	      \ "\t\tsome test text",
+	      \ 'test text',
+	      \ "\t\tother test text",
+	      \ '    a cde',
+	      \ '    f ghi',
+	      \ 'test text',
+	      \ '  Second line beginning with whitespace'
+	      \ ])
+  call cursor(1, 1)
+  exe "normal /some\<CR>"
+  exe "normal r\t"
+  call assert_equal("\t\t    ome test text", getline('.'))
+  set noexpandtab
+  exe "normal /other\<CR>"
+  exe "normal r\t"
+  call assert_equal("\t\t    ther test text", getline('.'))
+
+  " Test replacing with Tabs and then backspacing to undo it
+  exe "normal j0wR\t\t\t\<BS>\<BS>\<BS>"
+  call assert_equal("    a cde", getline('.'))
+  " Test replacing with Tabs
+  exe "normal j0wR\t\t\t"
+  call assert_equal("    \t\thi", getline('.'))
+
+  " Test that copyindent works with expandtab set
+  set expandtab smartindent copyindent ts=8 sw=8 sts=8
+  exe "normal jo{\<CR>x"
+  call assert_equal('{', getline(line('.') - 1))
+  call assert_equal('        x', getline('.'))
+  set nosol
+  exe "normal /Second line/\<CR>"
+  exe "normal fwdv_"
+  call assert_equal('  with whitespace', getline('.'))
+  enew!
+  set expandtab& smartindent& copyindent& ts& sw& sts&
+endfunc
diff --git a/src/testdir/test_tagjump.vim b/src/testdir/test_tagjump.vim
index bac413d..dbab8d9 100644
--- a/src/testdir/test_tagjump.vim
+++ b/src/testdir/test_tagjump.vim
@@ -137,4 +137,41 @@
   call delete('Xinclude')
 endfunction
 
+" Test for jumping to a tag with 'hidden' set, with symbolic link in path of
+" tag.  This only works for Unix, because of the symbolic link.
+func Test_tag_symbolic()
+  if !has('unix')
+    return
+  endif
+  set hidden
+  call delete("Xtest.dir", "rf")
+  call system("ln -s . Xtest.dir")
+  " Create a tags file with the current directory name inserted.
+  call writefile([
+        \ "SECTION_OFF	" . getcwd() . "/Xtest.dir/Xtest.c	/^#define  SECTION_OFF  3$/",
+        \ '',
+        \ ], 'Xtags')
+  call writefile(['#define  SECTION_OFF  3',
+        \ '#define  NUM_SECTIONS 3'], 'Xtest.c')
+
+  " Try jumping to a tag, but with a path that contains a symbolic link.  When
+  " wrong, this will give the ATTENTION message.  The next space will then be
+  " eaten by hit-return, instead of moving the cursor to 'd'.
+  set tags=Xtags
+  enew!
+  call append(0, 'SECTION_OFF')
+  call cursor(1,1)
+  exe "normal \<C-]> "
+  call assert_equal('Xtest.c', expand('%:t'))
+  call assert_equal(2, col('.'))
+
+  set hidden&
+  set tags&
+  enew!
+  call delete('Xtags')
+  call delete('Xtest.c')
+  call delete("Xtest.dir", "rf")
+  %bwipe!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim
index 06732af..bda7a44 100644
--- a/src/testdir/test_undo.vim
+++ b/src/testdir/test_undo.vim
@@ -273,3 +273,19 @@
   call delete('Xfile')
   call delete('Xundofile')
 endfunc
+
+" Test for undo working properly when executing commands from a register.
+" Also test this in an empty buffer.
+func Test_cmd_in_reg_undo()
+  enew!
+  let @a="Ox\<Esc>jAy\<Esc>kdd"
+  edit +/^$ test_undo.vim
+  normal @au
+  call assert_equal(0, &modified)
+  return
+  new
+  normal @au
+  call assert_equal(0, &modified)
+  only!
+  let @a=''
+endfunc
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 0e6231f..4287a9e 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -89,3 +89,101 @@
 
 endfunc
 
+" Test for visual block shift and tab characters.
+func Test_block_shift_tab()
+  enew!
+  call append(0, repeat(['one two three'], 5))
+  call cursor(1,1)
+  exe "normal i\<C-G>u"
+  exe "normal fe\<C-V>4jR\<Esc>ugvr1"
+  call assert_equal('on1 two three', getline(1))
+  call assert_equal('on1 two three', getline(2))
+  call assert_equal('on1 two three', getline(5))
+
+  enew!
+  call append(0, repeat(['abcdefghijklmnopqrstuvwxyz'], 5))
+  call cursor(1,1)
+  exe "normal \<C-V>4jI    \<Esc>j<<11|D"
+  exe "normal j7|a\<Tab>\<Tab>"
+  exe "normal j7|a\<Tab>\<Tab>   "
+  exe "normal j7|a\<Tab>       \<Tab>\<Esc>4k13|\<C-V>4j<"
+  call assert_equal('    abcdefghijklmnopqrstuvwxyz', getline(1))
+  call assert_equal('abcdefghij', getline(2))
+  call assert_equal("    abc\<Tab>    defghijklmnopqrstuvwxyz", getline(3))
+  call assert_equal("    abc\<Tab>    defghijklmnopqrstuvwxyz", getline(4))
+  call assert_equal("    abc\<Tab>    defghijklmnopqrstuvwxyz", getline(5))
+
+  %s/\s\+//g
+  call cursor(1,1)
+  exe "normal \<C-V>4jI    \<Esc>j<<"
+  exe "normal j7|a\<Tab>\<Tab>"
+  exe "normal j7|a\<Tab>\<Tab>\<Tab>\<Tab>\<Tab>"
+  exe "normal j7|a\<Tab>       \<Tab>\<Tab>\<Esc>4k13|\<C-V>4j3<"
+  call assert_equal('    abcdefghijklmnopqrstuvwxyz', getline(1))
+  call assert_equal('abcdefghij', getline(2))
+  call assert_equal("    abc\<Tab>    defghijklmnopqrstuvwxyz", getline(3))
+  call assert_equal("    abc\<Tab>\<Tab>defghijklmnopqrstuvwxyz", getline(4))
+  call assert_equal("    abc\<Tab>    defghijklmnopqrstuvwxyz", getline(5))
+
+  enew!
+endfunc
+
+" Tests Blockwise Visual when there are TABs before the text.
+func Test_blockwise_visual()
+  enew!
+  call append(0, ['123456',
+	      \ '234567',
+	      \ '345678',
+	      \ '',
+	      \ 'test text test tex start here',
+	      \ "\t\tsome text",
+	      \ "\t\ttest text",
+	      \ 'test text'])
+  call cursor(1,1)
+  exe "normal /start here$\<CR>"
+  exe 'normal "by$' . "\<C-V>jjlld"
+  exe "normal /456$\<CR>"
+  exe "normal \<C-V>jj" . '"bP'
+  call assert_equal(['123start here56',
+	      \ '234start here67',
+	      \ '345start here78',
+	      \ '',
+	      \ 'test text test tex rt here',
+	      \ "\t\tsomext",
+	      \ "\t\ttesext"], getline(1, 7))
+
+  enew!
+endfunc
+
+" Test Virtual replace mode.
+func Test_virtual_replace()
+  exe "set t_kD=\<C-V>x7f t_kb=\<C-V>x08"
+  enew!
+  exe "normal a\nabcdefghi\njk\tlmn\n    opq	rst\n\<C-D>uvwxyz"
+  call cursor(1,1)
+  set ai bs=2
+  exe "normal gR0\<C-D> 1\nA\nBCDEFGHIJ\n\tKL\nMNO\nPQR"
+  call assert_equal([' 1',
+	      \ ' A',
+	      \ ' BCDEFGHIJ',
+	      \ ' 	KL',
+	      \ '	MNO',
+	      \ '	PQR',
+	      \ ], getline(1, 6))
+  normal G
+  mark a
+  exe "normal o0\<C-D>\nabcdefghi\njk\tlmn\n    opq\trst\n\<C-D>uvwxyz\n"
+  exe "normal 'ajgR0\<C-D> 1\nA\nBCDEFGHIJ\n\tKL\nMNO\nPQR" . repeat("\<BS>", 29)
+  call assert_equal([' 1',
+	      \ 'abcdefghi',
+	      \ 'jk	lmn',
+	      \ '    opq	rst',
+	      \ 'uvwxyz'], getline(7, 11))
+  normal G
+  exe "normal iab\tcdefghi\tjkl"
+  exe "normal 0gRAB......CDEFGHI.J\<Esc>o"
+  exe "normal iabcdefghijklmnopqrst\<Esc>0gRAB\tIJKLMNO\tQR"
+  call assert_equal(['AB......CDEFGHI.Jkl',
+	      \ 'AB	IJKLMNO	QRst'], getline(12, 13))
+  enew!
+endfunc
diff --git a/src/version.c b/src/version.c
index a3b48b5..88d8995 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1221,
+/**/
     1220,
 /**/
     1219,
