diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index fab8656..f4ba55d 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -146,6 +146,7 @@
 	test_iminsert \
 	test_increment \
 	test_increment_dbcs \
+	test_indent \
 	test_ins_complete \
 	test_interrupt \
 	test_job_fails \
@@ -376,6 +377,7 @@
 	test_iminsert.res \
 	test_increment.res \
 	test_increment_dbcs.res \
+	test_indent.res \
 	test_ins_complete.res \
 	test_interrupt.res \
 	test_job_fails.res \
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index e54e316..95144dd 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -54,6 +54,7 @@
     " default wildchar <Tab> interferes with this test
     set wildchar=<c-e>
     call assert_equal(["a\tb", "a\tb"],           Ex("a\t\t\<C-H>b"), e)
+    call assert_equal(["\t  mn", "\tm\<C-T>n"],        Ex("\tm\<C-T>n"), e)
     set wildchar&
   endfor
 
diff --git a/src/testdir/test_expand_func.vim b/src/testdir/test_expand_func.vim
index f9c5b5f..c408dea 100644
--- a/src/testdir/test_expand_func.vim
+++ b/src/testdir/test_expand_func.vim
@@ -73,3 +73,17 @@
   " Don't add any line above this, otherwise <slnum> will change.
   quit
 endfunc
+
+" Test for 'wildignore' with expand()
+func Test_expand_wildignore()
+  set wildignore=*.vim
+  call assert_equal('', expand('test_expand_func.vim'))
+  call assert_equal('', expand('test_expand_func.vim', 0))
+  call assert_equal([], expand('test_expand_func.vim', 0, 1))
+  call assert_equal('test_expand_func.vim', expand('test_expand_func.vim', 1))
+  call assert_equal(['test_expand_func.vim'],
+        \ expand('test_expand_func.vim', 1, 1))
+  set wildignore&
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_indent.vim b/src/testdir/test_indent.vim
new file mode 100644
index 0000000..91e801a
--- /dev/null
+++ b/src/testdir/test_indent.vim
@@ -0,0 +1,101 @@
+" Test for various indent options
+
+func Test_preserveindent()
+  new
+  " Test for autoindent copying indent from the previous line
+  setlocal autoindent
+  call setline(1, [repeat(' ', 16) .. 'line1'])
+  call feedkeys("A\nline2", 'xt')
+  call assert_equal("\t\tline2", getline(2))
+  setlocal autoindent&
+
+  " Test for using CTRL-T with and without 'preserveindent'
+  set shiftwidth=4
+  call cursor(1, 1)
+  call setline(1, "    \t    ")
+  call feedkeys("Al\<C-T>", 'xt')
+  call assert_equal("\t\tl", getline(1))
+  set preserveindent
+  call setline(1, "    \t    ")
+  call feedkeys("Al\<C-T>", 'xt')
+  call assert_equal("    \t    \tl", getline(1))
+  set pi& sw&
+
+  " Test for using CTRL-T with 'expandtab' and 'preserveindent'
+  call cursor(1, 1)
+  call setline(1, "\t    \t")
+  set shiftwidth=4 expandtab preserveindent
+  call feedkeys("Al\<C-T>", 'xt')
+  call assert_equal("\t    \t    l", getline(1))
+  set sw& et& pi&
+
+  close!
+endfunc
+
+" Test for indent()
+func Test_indent_func()
+  call assert_equal(-1, indent(-1))
+  new
+  call setline(1, "\tabc")
+  call assert_equal(8, indent(1))
+  call setline(1, "    abc")
+  call assert_equal(4, indent(1))
+  call setline(1, "    \t    abc")
+  call assert_equal(12, indent(1))
+  close!
+endfunc
+
+" Test for reindenting a line using the '=' operator
+func Test_reindent()
+  new
+  call setline(1, 'abc')
+  set nomodifiable
+  call assert_fails('normal ==', 'E21:')
+  set modifiable
+
+  call setline(1, ['foo', 'bar'])
+  call feedkeys('ggVG=', 'xt')
+  call assert_equal(['foo', 'bar'], getline(1, 2))
+  close!
+endfunc
+
+" Test for shifting a line with a preprocessor directive ('#')
+func Test_preproc_indent()
+  new
+  set sw=4
+  call setline(1, '#define FOO 1')
+  normal >>
+  call assert_equal('    #define FOO 1', getline(1))
+
+  " with 'smartindent'
+  call setline(1, '#define FOO 1')
+  set smartindent
+  normal >>
+  call assert_equal('#define FOO 1', getline(1))
+  set smartindent&
+
+  " with 'cindent'
+  set cindent
+  normal >>
+  call assert_equal('#define FOO 1', getline(1))
+  set cindent&
+
+  close!
+endfunc
+
+" Test for 'copyindent'
+func Test_copyindent()
+  new
+  set shiftwidth=4 autoindent expandtab copyindent
+  call setline(1, "    \t    abc")
+  call feedkeys("ol", 'xt')
+  call assert_equal("    \t    l", getline(2))
+  set noexpandtab
+  call setline(1, "    \t    abc")
+  call feedkeys("ol", 'xt')
+  call assert_equal("    \t    l", getline(2))
+  set sw& ai& et& ci&
+  close!
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_lispwords.vim b/src/testdir/test_lispwords.vim
index aa5a738..ff710b2 100644
--- a/src/testdir/test_lispwords.vim
+++ b/src/testdir/test_lispwords.vim
@@ -45,6 +45,7 @@
 	      \ ])
   call assert_equal(7, lispindent(2))
   call assert_equal(5, 6->lispindent())
+  call assert_equal(-1, lispindent(-1))
 
   set lisp
   set lispwords&
@@ -83,3 +84,5 @@
   let &cpoptions=save_copt
   set nolisp
 endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_smartindent.vim b/src/testdir/test_smartindent.vim
index e89ad19..dc0f99e 100644
--- a/src/testdir/test_smartindent.vim
+++ b/src/testdir/test_smartindent.vim
@@ -38,4 +38,27 @@
   bwipe!
 endfunc
 
+" Test for inserting '{' and '} with smartindent
+func Test_smartindent_braces()
+  new
+  set smartindent shiftwidth=4
+  call setline(1, ['    if (a)', "\tif (b)", "\t    return 1"])
+  normal 2ggO{
+  normal 3ggA {
+  normal 4ggo}
+  normal o}
+  normal 4ggO#define FOO 1
+  call assert_equal([
+        \ '    if (a)',
+        \ '    {',
+        \ "\tif (b) {",
+        \ '#define FOO 1',
+        \ "\t    return 1",
+        \ "\t}",
+        \ '    }'
+        \ ], getline(1, '$'))
+  set si& sw& ai&
+  close!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_vartabs.vim b/src/testdir/test_vartabs.vim
index 47844fb..3596722 100644
--- a/src/testdir/test_vartabs.vim
+++ b/src/testdir/test_vartabs.vim
@@ -91,6 +91,18 @@
   let expect = "l\<tab>  l\<tab>l     l\<tab>    l\<tab>  l"
   call assert_equal(expect, getline(1))
 
+  " Test for 'retab' with vts
+  set ts=8 sts=0 vts=5,3,6,2 vsts=
+  exe "norm! S                l"
+  .retab!
+  call assert_equal("\t\t\t\tl", getline(1))
+
+  " Test for 'retab' with same vlaues as vts
+  set ts=8 sts=0 vts=5,3,6,2 vsts=
+  exe "norm! S                l"
+  .retab! 5,3,6,2
+  call assert_equal("\t\t\t\tl", getline(1))
+
   " Check that global and local values are set.
   set ts=4 vts=6 sts=8 vsts=10
   call assert_equal(&ts, 4)
@@ -378,3 +390,33 @@
   set all&
   call assert_equal('', &vts)
 endfunc
+
+func s:SaveCol(l)
+  call add(a:l, [col('.'), virtcol('.')])
+  return ''
+endfunc
+
+" Test for 'varsofttabstop'
+func Test_varsofttabstop()
+  new
+  inoremap <expr> <F2>  s:SaveCol(g:cols)
+
+  set backspace=indent,eol,start
+  set varsofttabstop=6,2,5,3
+  let g:cols = []
+  call feedkeys("a\t\<F2>\t\<F2>\t\<F2>\t\<F2> ", 'xt')
+  call assert_equal("\t\t ", getline(1))
+  call assert_equal([[7, 7], [2, 9], [7, 14], [3, 17]], g:cols)
+
+  let g:cols = []
+  call feedkeys("a\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>\<bs>\<F2>", 'xt')
+  call assert_equal('', getline(1))
+  call assert_equal([[3, 17], [7, 14], [2, 9], [7, 7], [1, 1]], g:cols)
+
+  set varsofttabstop&
+  set backspace&
+  iunmap <F2>
+  close!
+endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
