diff --git a/src/testdir/test_blob.vim b/src/testdir/test_blob.vim
index 0170f54..e2c332a 100644
--- a/src/testdir/test_blob.vim
+++ b/src/testdir/test_blob.vim
@@ -307,6 +307,9 @@
   call assert_fails('call insert(b, -1)', 'E475:')
   call assert_fails('call insert(b, 257)', 'E475:')
   call assert_fails('call insert(b, 0, [9])', 'E745:')
+  call assert_fails('call insert(b, 0, -20)', 'E475:')
+  call assert_fails('call insert(b, 0, 20)', 'E475:')
+  call assert_fails('call insert(b, [])', 'E745:')
 endfunc
 
 func Test_blob_reverse()
diff --git a/src/testdir/test_cursor_func.vim b/src/testdir/test_cursor_func.vim
index 0afc45e..7a17958 100644
--- a/src/testdir/test_cursor_func.vim
+++ b/src/testdir/test_cursor_func.vim
@@ -115,3 +115,5 @@
   close
   bwipe!
 endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_eval.in b/src/testdir/test_eval.in
index e1f4f6d..ebe1874 100644
--- a/src/testdir/test_eval.in
+++ b/src/testdir/test_eval.in
@@ -27,14 +27,6 @@
         execute "silent normal! Go==\n==\e\"".a:1."P"
     endif
 endfun
-:fun ErrExe(str)
-    call append('$', 'Executing '.a:str)
-    try
-        execute a:str
-    catch
-        $put =v:exception
-    endtry
-endfun
 :fun Test()
 $put ='{{{1 Appending NL with setreg()'
 call setreg('a', 'abcA2', 'c')
@@ -109,103 +101,19 @@
   call AppendRegParts('*', 'V', "clipboard contents\n", "['clipboard contents']", "clipboard contents\n", "['clipboard contents']")
   call AppendRegParts('*', 'V', "something else\n", "['something else']", "something else\n", "['something else']")
 endif
-$put ='{{{1 Errors'
-call ErrExe('call setreg()')
-call ErrExe('call setreg(1)')
-call ErrExe('call setreg(1, 2, 3, 4)')
-call ErrExe('call setreg([], 2)')
-call ErrExe('call setreg(1, {})')
-call ErrExe('call setreg(1, 2, [])')
-call ErrExe('call setreg("/", ["1", "2"])')
-call ErrExe('call setreg("=", ["1", "2"])')
-call ErrExe('call setreg(1, ["", "", [], ""])')
 endfun
 :"
 :call Test()
 :"
 :delfunction SetReg
 :delfunction AppendRegContents
-:delfunction ErrExe
 :delfunction Test
 :delcommand AR
 :call garbagecollect(1)
 :"
-:" function name not starting with capital
-:try
-:func! g:test()
-:echo "test"
-:endfunc
-:catch
-:$put =v:exception
-:endtry
-:"
-:" function name includes a colon
-:try
-:func! b:test()
-:echo "test"
-:endfunc
-:catch
-:$put =v:exception
-:endtry
-:"
-:" function name folowed by #
-:try
-:func! test2() "#
-:echo "test2"
-:endfunc
-:catch
-:$put =v:exception
-:endtry
-:"
-:" function name starting with/without "g:", buffer-local funcref.
-:function! g:Foo(n)
-:  $put ='called Foo(' . a:n . ')'
-:endfunction
-:let b:my_func = function('Foo')
-:call b:my_func(1)
-:echo g:Foo(2)
-:echo Foo(3)
-:"
-:" script-local function used in Funcref must exist.
-:so test_eval_func.vim
-:"
-:" Using $ instead of '$' must give an error
-:try
-: call append($, 'foobar')
-:catch
-:$put =v:exception
-:endtry
-:"
-:$put ='{{{1 getcurpos/setpos'
-/^012345678
-6l:let sp = getcurpos()
-0:call setpos('.', sp)
-jyl:$put
-:"
-:" substring and variable name
-:let str = 'abcdef'
-:let n = 3
-:$put =str[n:]
-:$put =str[:n]
-:$put =str[n:n]
-:unlet n
-:let nn = 3
-:$put =str[nn:]
-:$put =str[:nn]
-:$put =str[nn:nn]
-:unlet nn
-:let b:nn = 4
-:$put =str[b:nn:]
-:$put =str[:b:nn]
-:$put =str[b:nn:b:nn]
-:unlet b:nn
-:"
 :/^start:/+1,$wq! test.out
 :" vim: et ts=4 isk-=\: fmr=???,???
 :call getchar()
 ENDTEST
 
-012345678
-012345678
-
 start:
diff --git a/src/testdir/test_eval.ok b/src/testdir/test_eval.ok
index cb7c85e..3ae6f6c 100644
--- a/src/testdir/test_eval.ok
+++ b/src/testdir/test_eval.ok
Binary files differ
diff --git a/src/testdir/test_eval_func.vim b/src/testdir/test_eval_func.vim
deleted file mode 100644
index 09d2f62..0000000
--- a/src/testdir/test_eval_func.vim
+++ /dev/null
@@ -1,10 +0,0 @@
-" Vim script used in test_eval.in.  Needed for script-local function.
-
-func s:Testje()
-  return "foo"
-endfunc
-let Bar = function('s:Testje')
-$put ='s:Testje exists: ' . exists('s:Testje')
-$put ='func s:Testje exists: ' . exists('*s:Testje')
-$put ='Bar exists: ' . exists('Bar')
-$put ='func Bar exists: ' . exists('*Bar')
diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim
index 551370b..8feeb36 100644
--- a/src/testdir/test_eval_stuff.vim
+++ b/src/testdir/test_eval_stuff.vim
@@ -349,7 +349,17 @@
   call setreg('I', 'abcI')
   call Assert_reg('I', "v", "abcI", "['abcI']", "abcI", "['abcI']")
   call Assert_regput('I', ['==', '=abcI='])
-endfunc
 
+  " Error cases
+  call assert_fails('call setreg()', 'E119:')
+  call assert_fails('call setreg(1)', 'E119:')
+  call assert_fails('call setreg(1, 2, 3, 4)', 'E118:')
+  call assert_fails('call setreg([], 2)', 'E730:')
+  call assert_fails('call setreg(1, {})', 'E731:')
+  call assert_fails('call setreg(1, 2, [])', 'E730:')
+  call assert_fails('call setreg("/", ["1", "2"])', 'E883:')
+  call assert_fails('call setreg("=", ["1", "2"])', 'E883:')
+  call assert_fails('call setreg(1, ["", "", [], ""])', 'E730:')
+endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 39e719a..11cd7aa 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -44,6 +44,7 @@
   call assert_equal('zero', d[0])
   call assert_true(has_key(d, ''))
   call assert_true(has_key(d, 'a'))
+  call assert_fails("let i = has_key([], 'a')", 'E715:')
 
   let d[''] = 'none'
   let d['a'] = 'aaa'
diff --git a/src/testdir/test_filter_map.vim b/src/testdir/test_filter_map.vim
index 577e0ce..63102cd 100644
--- a/src/testdir/test_filter_map.vim
+++ b/src/testdir/test_filter_map.vim
@@ -89,9 +89,15 @@
   call assert_equal({"foo": "f", "bar": "b", "baz": "b"}, map(copy(dict), function('s:filter4')))
 endfunc
 
-func Test_map_fails()
+func Test_map_filter_fails()
   call assert_fails('call map([1], "42 +")', 'E15:')
   call assert_fails('call filter([1], "42 +")', 'E15:')
+  call assert_fails("let l = map('abc', '\"> \" . v:val')", 'E712:')
+  call assert_fails("let l = filter('abc', '\"> \" . v:val')", 'E712:')
+  call assert_fails("let l = filter([1, 2, 3], '{}')", 'E728:')
+  call assert_fails("let l = filter({'k' : 10}, '{}')", 'E728:')
+  call assert_equal(0, map(test_null_list(), '"> " .. v:val'))
+  call assert_equal(0, map(test_null_dict(), '"> " .. v:val'))
 endfunc
 
 func Test_map_and_modify()
@@ -103,3 +109,5 @@
   call assert_fails('call map(d, "remove(d, v:key)[0]")', 'E741:')
   call assert_fails('echo map(d, {k,v -> remove(d, k)})', 'E741:')
 endfunc
+
+" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim
index 3b9e34c..f7a438a 100644
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -99,9 +99,11 @@
   call assert_equal(2, len('ab'))
 
   call assert_equal(0, len([]))
+  call assert_equal(0, len(test_null_list()))
   call assert_equal(2, len([2, 1]))
 
   call assert_equal(0, len({}))
+  call assert_equal(0, len(test_null_dict()))
   call assert_equal(2, len({'a': 1, 'b': 2}))
 
   call assert_fails('call len(v:none)', 'E701:')
@@ -799,6 +801,9 @@
   split
   only
   undo
+
+  " Using $ instead of '$' must give an error
+  call assert_fails("call append($, 'foobar')", 'E116:')
 endfunc
 
 func Test_getbufvar()
@@ -2043,6 +2048,7 @@
 
   " list2str()
   call assert_equal('ABC', list2str(range(65, 67)))
+  call assert_fails('let s = list2str(5)', 'E474:')
 
   " lock()
   let thelist = range(5)
@@ -2216,4 +2222,17 @@
   call assert_equal([], screenchars(-1, -1))
 endfunc
 
+" Test for getcurpos() and setpos()
+func Test_getcurpos_setpos()
+  new
+  call setline(1, ['012345678', '012345678'])
+  normal gg6l
+  let sp = getcurpos()
+  normal 0
+  call setpos('.', sp)
+  normal jyl
+  call assert_equal('6', @")
+  close!
+endfunc
+
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index 9db1035..c6d6885 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -32,6 +32,7 @@
   call assert_equal([1, 'as''d', [1, 2, function('strlen')], {'a': 1}], l[0:8])
   call assert_equal([], l[8:-1])
   call assert_equal([], l[0:-10])
+  call assert_equal([], test_null_list()[:2])
 endfunc
 
 " List identity
@@ -168,6 +169,19 @@
   call assert_equal({'c': 'ccc', '1': 99, 'b': [1, 2, function('strlen')], '3': 33, '-1': {'a': 1}}, d)
   call filter(d, 'v:key =~ ''[ac391]''')
   call assert_equal({'c': 'ccc', '1': 99, '3': 33, '-1': {'a': 1}}, d)
+
+  " duplicate key
+  call assert_fails("let d = {'k' : 10, 'k' : 20}", 'E721:')
+  " missing comma
+  call assert_fails("let d = {'k' : 10 'k' : 20}", 'E722:')
+  " missing curly brace
+  call assert_fails("let d = {'k' : 10,", 'E723:')
+  " invalid key
+  call assert_fails('let d = #{++ : 10}', 'E15:')
+  " wrong type for key
+  call assert_fails('let d={[] : 10}', 'E730:')
+  " undefined variable as value
+  call assert_fails("let d={'k' : i}", 'E121:')
 endfunc
 
 " Dictionary identity
@@ -262,7 +276,7 @@
   unlet g:dict
 endfunc
 
-" Test removing items in la dictionary
+" Test removing items in a dictionary
 func Test_dict_func_remove()
   let d = {1:'a', 2:'b', 3:'c'}
   call assert_equal('b', remove(d, 2))
@@ -634,6 +648,11 @@
 
   call assert_fails('call reverse("")', 'E899:')
   call assert_fails('call uniq([1, 2], {x, y -> []})', 'E882:')
+  call assert_fails("call sort([1, 2], function('min'), 1)", "E715:")
+  call assert_fails("call sort([1, 2], function('invalid_func'))", "E700:")
+  call assert_fails("call sort([1, 2], function('min'))", "E702:")
+  call assert_equal(0, sort(test_null_list()))
+  call assert_equal(0, uniq(test_null_list()))
 endfunc
 
 " splitting a string to a List using split()
@@ -748,6 +767,9 @@
 
   call assert_fails("call extend([1, 2], 1)", 'E712:')
   call assert_fails("call extend([1, 2], {})", 'E712:')
+
+  " Extend g: dictionary with an invalid variable name
+  call assert_fails("call extend(g:, {'-!' : 10})", 'E461:')
 endfunc
 
 func s:check_scope_dict(x, fixed)
@@ -871,6 +893,26 @@
   call assert_fails("let v = range(5)[2:[]]", 'E730:')
   call assert_fails("let v = range(5)[2:{-> 2}(]", 'E116:')
   call assert_fails("let v = range(5)[2:3", 'E111:')
+  call assert_fails("let l = insert([1,2,3], 4, 10)", 'E684:')
+  call assert_fails("let l = insert([1,2,3], 4, -10)", 'E684:')
+  call assert_fails("let l = insert([1,2,3], 4, [])", 'E745:')
+endfunc
+
+" Test for a null list
+func Test_null_list()
+  call assert_equal(0, join(test_null_list()))
+  call assert_fails('let s = join([1, 2], [])', 'E730:')
+  call assert_equal([], split(test_null_string()))
+endfunc
+
+" Test for a null dict
+func Test_null_dict()
+  call assert_equal(0, items(test_null_dict()))
+  call assert_equal(0, keys(test_null_dict()))
+  call assert_equal(0, values(test_null_dict()))
+  call assert_false(has_key(test_null_dict(), 'k'))
+  call assert_fails("let l = [] + test_null_list()", 'E15:')
+  call assert_fails("let l = test_null_list() + []", 'E15:')
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_sort.vim b/src/testdir/test_sort.vim
index 8299db4..92e8f49 100644
--- a/src/testdir/test_sort.vim
+++ b/src/testdir/test_sort.vim
@@ -47,7 +47,7 @@
   call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], ''))
   call assert_equal(['2', 'A', 'AA', 'a', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 0))
   call assert_equal(['2', 'A', 'a', 'AA', 1, 3.3], sort([3.3, 1, "2", "A", "a", "AA"], 1))
-  call assert_fails('call sort([3.3, 1, "2"], 3)', "E474")
+  call assert_fails('call sort([3.3, 1, "2"], 3)', "E474:")
 endfunc
 
 " Tests for the ":sort" command.
diff --git a/src/testdir/test_syntax.vim b/src/testdir/test_syntax.vim
index 50e1a59..024ba59 100644
--- a/src/testdir/test_syntax.vim
+++ b/src/testdir/test_syntax.vim
@@ -151,6 +151,10 @@
   let a = execute('syntax list')
   call assert_equal("\nNo Syntax items defined for this buffer", a)
 
+  syntax keyword Type int containedin=g1 skipwhite skipempty skipnl nextgroup=Abc
+  let exp = "Type           xxx containedin=g1  nextgroup=Abc  skipnl skipwhite skipempty int"
+  call assert_equal(exp, split(execute("syntax list"), "\n")[1])
+
   bd
 endfunc
 
diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim
index fa6f76a..e83a3d0 100644
--- a/src/testdir/test_utf8.vim
+++ b/src/testdir/test_utf8.vim
@@ -103,6 +103,9 @@
   let sres = list2str(l, 1)
   call assert_equal([65, 66, 67], str2list("ABC"))
 
+  " Try converting a list to a string in latin-1 encoding
+  call assert_equal([1, 2, 3], str2list(list2str([1, 2, 3])))
+
   let &encoding = save_encoding
   call assert_equal(l, lres)
   call assert_equal(s, sres)
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim
index cef4505..7c86836 100644
--- a/src/testdir/test_vimscript.vim
+++ b/src/testdir/test_vimscript.vim
@@ -1980,6 +1980,86 @@
   endif
 endfunc
 
+func Test_invalid_function_names()
+  " function name not starting with capital
+  let caught_e128 = 0
+  try
+    func! g:test()
+      echo "test"
+    endfunc
+  catch /E128:/
+    let caught_e128 = 1
+  endtry
+  call assert_equal(1, caught_e128)
+
+  " function name includes a colon
+  let caught_e884 = 0
+  try
+    func! b:test()
+      echo "test"
+    endfunc
+  catch /E884:/
+    let caught_e884 = 1
+  endtry
+  call assert_equal(1, caught_e884)
+
+  " function name folowed by #
+  let caught_e128 = 0
+  try
+    func! test2() "#
+      echo "test2"
+    endfunc
+  catch /E128:/
+    let caught_e128 = 1
+  endtry
+  call assert_equal(1, caught_e128)
+
+  " function name starting with/without "g:", buffer-local funcref.
+  function! g:Foo(n)
+    return 'called Foo(' . a:n . ')'
+  endfunction
+  let b:my_func = function('Foo')
+  call assert_equal('called Foo(1)', b:my_func(1))
+  call assert_equal('called Foo(2)', g:Foo(2))
+  call assert_equal('called Foo(3)', Foo(3))
+  delfunc g:Foo
+
+  " script-local function used in Funcref must exist.
+  let lines =<< trim END
+    func s:Testje()
+      return "foo"
+    endfunc
+    let Bar = function('s:Testje')
+    call assert_equal(0, exists('s:Testje'))
+    call assert_equal(1, exists('*s:Testje'))
+    call assert_equal(1, exists('Bar'))
+    call assert_equal(1, exists('*Bar'))
+  END
+  call writefile(lines, 'Xscript')
+  source Xscript
+  call delete('Xscript')
+endfunc
+
+" substring and variable name
+func Test_substring_var()
+  let str = 'abcdef'
+  let n = 3
+  call assert_equal('def', str[n:])
+  call assert_equal('abcd', str[:n])
+  call assert_equal('d', str[n:n])
+  unlet n
+  let nn = 3
+  call assert_equal('def', str[nn:])
+  call assert_equal('abcd', str[:nn])
+  call assert_equal('d', str[nn:nn])
+  unlet nn
+  let b:nn = 4
+  call assert_equal('ef', str[b:nn:])
+  call assert_equal('abcde', str[:b:nn])
+  call assert_equal('e', str[b:nn:b:nn])
+  unlet b:nn
+endfunc
+
 "-------------------------------------------------------------------------------
 " Modelines								    {{{1
 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/version.c b/src/version.c
index 61f71a0..1c5ad56 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    610,
+/**/
     609,
 /**/
     608,
