diff --git a/src/Makefile b/src/Makefile
index ecf14bc..1d1ded8 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2100,17 +2100,17 @@
 	test_listchars \
 	test_search_mbyte \
 	test_wordcount \
-	test3 test4 test5 test6 test7 test8 test9 \
-	test11 test12 test14 test15 test17 test18 test19 \
-	test20 test21 test22 test25 test27 test28 test29 \
+	test3 test4 test5 test7 test8 \
+	test11 test12 test14 test15 test17 test19 \
+	test20 test25 test28 test29 \
 	test30 test31 test32 test33 test34 test36 test37 test38 test39 \
 	test40 test41 test42 test43 test44 test45 test48 test49 \
-	test50 test51 test52 test53 test54 test55 test56 test57 test59 \
+	test50 test52 test53 test54 test55 test56 test57 test59 \
 	test60 test64 test66 test68 test69 \
-	test70 test72 test73 test74 test77 test78 test79 \
-	test80 test83 test84 test85 test86 test87 test88 \
-	test91 test94 test95 test98 test99 \
-	test100 test101 test103 test104 test107 test108:
+	test70 test72 test73 test77 test78 test79 \
+	test83 test85 test86 test87 test88 \
+	test94 test95 test99 \
+	test108:
 	cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
 
 # Run individual NEW style test, assuming that Vim was already compiled.
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index 2a267d6..ad95b1b 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -50,7 +50,6 @@
 	test70.out \
 	test73.out \
 	test79.out \
-	test80.out \
 	test88.out \
 	test94.out \
 	test95.out \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 4181e0b..e48789b 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -86,7 +86,7 @@
        test64.out \
        test66.out test68.out test69.out \
        test72.out \
-       test77a.out test78.out test79.out test80.out \
+       test77a.out test78.out test79.out \
        test88.out \
        test94.out \
        test95.out test99.out \
diff --git a/src/testdir/test80.in b/src/testdir/test80.in
deleted file mode 100644
index e78e921..0000000
--- a/src/testdir/test80.in
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test80.ok b/src/testdir/test80.ok
deleted file mode 100644
index b42f604..0000000
--- a/src/testdir/test80.ok
+++ /dev/null
Binary files differ
diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim
index f2dfdc7..cd598dc 100644
--- a/src/testdir/test_substitute.vim
+++ b/src/testdir/test_substitute.vim
@@ -114,3 +114,183 @@
   call feedkeys("Qsc\<CR>y", 'tx')
   bwipe!
 endfunc
+
+" Test for *sub-replace-special* and *sub-replace-expression* on substitute().
+func Test_sub_replace_1()
+  " Run the tests with 'magic' on
+  set magic
+  set cpo&
+  call assert_equal('AA', substitute('A', 'A', '&&', ''))
+  call assert_equal('&', substitute('B', 'B', '\&', ''))
+  call assert_equal('C123456789987654321', substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\0\9\8\7\6\5\4\3\2\1', ''))
+  call assert_equal('d', substitute('D', 'D', 'd', ''))
+  call assert_equal('~', substitute('E', 'E', '~', ''))
+  call assert_equal('~', substitute('F', 'F', '\~', ''))
+  call assert_equal('Gg', substitute('G', 'G', '\ugg', ''))
+  call assert_equal('Hh', substitute('H', 'H', '\Uh\Eh', ''))
+  call assert_equal('iI', substitute('I', 'I', '\lII', ''))
+  call assert_equal('jJ', substitute('J', 'J', '\LJ\EJ', ''))
+  call assert_equal('Kk', substitute('K', 'K', '\Uk\ek', ''))
+  call assert_equal("l\<C-V>\<C-M>l",
+			\ substitute('lLl', 'L', "\<C-V>\<C-M>", ''))
+  call assert_equal("m\<C-M>m", substitute('mMm', 'M', '\r', ''))
+  call assert_equal("n\<C-V>\<C-M>n",
+			\ substitute('nNn', 'N', "\\\<C-V>\<C-M>", ''))
+  call assert_equal("o\no", substitute('oOo', 'O', '\n', ''))
+  call assert_equal("p\<C-H>p", substitute('pPp', 'P', '\b', ''))
+  call assert_equal("q\tq", substitute('qQq', 'Q', '\t', ''))
+  call assert_equal('r\r', substitute('rRr', 'R', '\\', ''))
+  call assert_equal('scs', substitute('sSs', 'S', '\c', ''))
+  call assert_equal("u\nu", substitute('uUu', 'U', "\n", ''))
+  call assert_equal("v\<C-H>v", substitute('vVv', 'V', "\b", ''))
+  call assert_equal("w\\w", substitute('wWw', 'W', "\\", ''))
+  call assert_equal("x\<C-M>x", substitute('xXx', 'X', "\r", ''))
+  call assert_equal("YyyY", substitute('Y', 'Y', '\L\uyYy\l\EY', ''))
+  call assert_equal("zZZz", substitute('Z', 'Z', '\U\lZzZ\u\Ez', ''))
+endfunc
+
+func Test_sub_replace_2()
+  " Run the tests with 'magic' off
+  set nomagic
+  set cpo&
+  call assert_equal('AA', substitute('A', 'A', '&&', ''))
+  call assert_equal('&', substitute('B', 'B', '\&', ''))
+  call assert_equal('C123456789987654321', substitute('C123456789', 'C\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', '\0\9\8\7\6\5\4\3\2\1', ''))
+  call assert_equal('d', substitute('D', 'D', 'd', ''))
+  call assert_equal('~', substitute('E', 'E', '~', ''))
+  call assert_equal('~', substitute('F', 'F', '\~', ''))
+  call assert_equal('Gg', substitute('G', 'G', '\ugg', ''))
+  call assert_equal('Hh', substitute('H', 'H', '\Uh\Eh', ''))
+  call assert_equal('iI', substitute('I', 'I', '\lII', ''))
+  call assert_equal('jJ', substitute('J', 'J', '\LJ\EJ', ''))
+  call assert_equal('Kk', substitute('K', 'K', '\Uk\ek', ''))
+  call assert_equal("l\<C-V>\<C-M>l",
+			\ substitute('lLl', 'L', "\<C-V>\<C-M>", ''))
+  call assert_equal("m\<C-M>m", substitute('mMm', 'M', '\r', ''))
+  call assert_equal("n\<C-V>\<C-M>n",
+			\ substitute('nNn', 'N', "\\\<C-V>\<C-M>", ''))
+  call assert_equal("o\no", substitute('oOo', 'O', '\n', ''))
+  call assert_equal("p\<C-H>p", substitute('pPp', 'P', '\b', ''))
+  call assert_equal("q\tq", substitute('qQq', 'Q', '\t', ''))
+  call assert_equal('r\r', substitute('rRr', 'R', '\\', ''))
+  call assert_equal('scs', substitute('sSs', 'S', '\c', ''))
+  call assert_equal("t\<C-M>t", substitute('tTt', 'T', "\r", ''))
+  call assert_equal("u\nu", substitute('uUu', 'U', "\n", ''))
+  call assert_equal("v\<C-H>v", substitute('vVv', 'V', "\b", ''))
+  call assert_equal('w\w', substitute('wWw', 'W', "\\", ''))
+  call assert_equal('XxxX', substitute('X', 'X', '\L\uxXx\l\EX', ''))
+  call assert_equal('yYYy', substitute('Y', 'Y', '\U\lYyY\u\Ey', ''))
+endfunc
+
+func Test_sub_replace_3()
+  set magic&
+  set cpo&
+  call assert_equal('a\a', substitute('aAa', 'A', '\="\\"', ''))
+  call assert_equal('b\\b', substitute('bBb', 'B', '\="\\\\"', ''))
+  call assert_equal("c\rc", substitute('cCc', 'C', "\\=\"\r\"", ''))
+  call assert_equal("d\\\rd", substitute('dDd', 'D', "\\=\"\\\\\r\"", ''))
+  call assert_equal("e\\\\\re", substitute('eEe', 'E', "\\=\"\\\\\\\\\r\"", ''))
+  call assert_equal('f\rf', substitute('fFf', 'F', '\="\\r"', ''))
+  call assert_equal('j\nj', substitute('jJj', 'J', '\="\\n"', ''))
+  call assert_equal("k\<C-M>k", substitute('kKk', 'K', '\="\r"', ''))
+  call assert_equal("l\nl", substitute('lLl', 'L', '\="\n"', ''))
+endfunc
+
+" Test for submatch() on substitute().
+func Test_sub_replace_4()
+  set magic&
+  set cpo&
+  call assert_equal('a\a', substitute('aAa', 'A',
+		\ '\=substitute(submatch(0), ".", "\\", "")', ''))
+  call assert_equal('b\b', substitute('bBb', 'B',
+		\ '\=substitute(submatch(0), ".", "\\\\", "")', ''))
+  call assert_equal("c\<C-V>\<C-M>c", substitute('cCc', 'C', '\=substitute(submatch(0), ".", "\<C-V>\<C-M>", "")', ''))
+  call assert_equal("d\<C-V>\<C-M>d", substitute('dDd', 'D', '\=substitute(submatch(0), ".", "\\\<C-V>\<C-M>", "")', ''))
+  call assert_equal("e\\\<C-V>\<C-M>e", substitute('eEe', 'E', '\=substitute(submatch(0), ".", "\\\\\<C-V>\<C-M>", "")', ''))
+  call assert_equal("f\<C-M>f", substitute('fFf', 'F', '\=substitute(submatch(0), ".", "\\r", "")', ''))
+  call assert_equal("j\nj", substitute('jJj', 'J', '\=substitute(submatch(0), ".", "\\n", "")', ''))
+  call assert_equal("k\rk", substitute('kKk', 'K', '\=substitute(submatch(0), ".", "\r", "")', ''))
+  call assert_equal("l\nl", substitute('lLl', 'L', '\=substitute(submatch(0), ".", "\n", "")', ''))
+endfunc
+
+func Test_sub_replace_5()
+  set magic&
+  set cpo&
+  call assert_equal('A123456789987654321', substitute('A123456789',
+		\ 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)',
+		\ '\=submatch(0) . submatch(9) . submatch(8) . ' .
+		\ 'submatch(7) . submatch(6) . submatch(5) . ' .
+		\ 'submatch(4) . submatch(3) . submatch(2) . submatch(1)',
+		\ ''))
+   call assert_equal("[['A123456789'], ['9'], ['8'], ['7'], ['6'], " .
+		\ "['5'], ['4'], ['3'], ['2'], ['1']]",
+		\ substitute('A123456789',
+		\ 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)',
+		\ '\=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)])',
+		\ ''))
+endfunc
+
+func Test_sub_replace_6()
+  set magic&
+  set cpo+=/
+  call assert_equal('a', substitute('A', 'A', 'a', ''))
+  call assert_equal('%', substitute('B', 'B', '%', ''))
+  set cpo-=/
+  call assert_equal('c', substitute('C', 'C', 'c', ''))
+  call assert_equal('%', substitute('D', 'D', '%', ''))
+endfunc
+
+func Test_sub_replace_7()
+  set magic&
+  set cpo&
+  call assert_equal('AA', substitute('AA', 'A.', '\=submatch(0)', ''))
+  call assert_equal("B\nB", substitute("B\nB", 'B.', '\=submatch(0)', ''))
+  call assert_equal("['B\n']B", substitute("B\nB", 'B.', '\=string(submatch(0, 1))', ''))
+  call assert_equal('-abab', substitute('-bb', '\zeb', 'a', 'g'))
+  call assert_equal('c-cbcbc', substitute('-bb', '\ze', 'c', 'g'))
+endfunc
+
+" Test for *:s%* on :substitute.
+func Test_sub_replace_8()
+  new
+  set magic&
+  set cpo&
+  $put =',,X'
+  s/\(^\|,\)\ze\(,\|X\)/\1N/g
+  call assert_equal('N,,NX', getline("$"))
+  $put =',,Y'
+  let cmd = ':s/\(^\|,\)\ze\(,\|Y\)/\1N/gc'
+  call feedkeys(cmd . "\<CR>a", "xt")
+  call assert_equal('N,,NY', getline("$"))
+  :$put =',,Z'
+  let cmd = ':s/\(^\|,\)\ze\(,\|Z\)/\1N/gc'
+  call feedkeys(cmd . "\<CR>yy", "xt")
+  call assert_equal('N,,NZ', getline("$"))
+  enew! | close
+endfunc
+
+func Test_sub_replace_9()
+  new
+  set magic&
+  set cpo&
+  $put ='xxx'
+  call feedkeys(":s/x/X/gc\<CR>yyq", "xt")
+  call assert_equal('XXx', getline("$"))
+  enew! | close
+endfunc
+
+func Test_sub_replace_10()
+   set magic&
+   set cpo&
+   call assert_equal('a1a2a3a', substitute('123', '\zs', 'a', 'g'))
+   call assert_equal('aaa', substitute('123', '\zs.', 'a', 'g'))
+   call assert_equal('1a2a3a', substitute('123', '.\zs', 'a', 'g'))
+   call assert_equal('a1a2a3a', substitute('123', '\ze', 'a', 'g'))
+   call assert_equal('a1a2a3', substitute('123', '\ze.', 'a', 'g'))
+   call assert_equal('aaa', substitute('123', '.\ze', 'a', 'g'))
+   call assert_equal('aa2a3a', substitute('123', '1\|\ze', 'a', 'g'))
+   call assert_equal('1aaa', substitute('123', '1\zs\|[23]', 'a', 'g'))
+endfunc
diff --git a/src/version.c b/src/version.c
index e0be7aa..1b69d2b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1022,
+/**/
     1021,
 /**/
     1020,
