patch 8.2.4410: Vim9: some code not covered by tests

Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more tests. Remove dead code.
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 1d62ac1..82521c8 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -2104,6 +2104,13 @@
   unlet ll[-2 : -1]
   assert_equal([1, 2], ll)
 
+  g:nrdict = {1: 1, 2: 2}
+  g:idx = 1
+  unlet g:nrdict[g:idx]
+  assert_equal({2: 2}, g:nrdict)
+  unlet g:nrdict
+  unlet g:idx
+
   v9.CheckDefFailure([
     'var ll = [1, 2]',
     'll[1 : 2] = 7',
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index e4bea07..8a51eac 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1552,6 +1552,28 @@
   v9.CheckScriptFailure(lines, 'E1119', 4)
 
   lines =<< trim END
+      vim9script
+      var theList = [1, 2, 3]
+      def AddToList()
+        lockvar theList
+        theList += [4]
+      enddef
+      AddToList()
+  END
+  v9.CheckScriptFailure(lines, 'E741', 2)
+
+  lines =<< trim END
+      vim9script
+      var theList = [1, 2, 3]
+      def AddToList()
+        lockvar theList
+        add(theList, 4)
+      enddef
+      AddToList()
+  END
+  v9.CheckScriptFailure(lines, 'E741', 2)
+
+  lines =<< trim END
       var theList = [1, 2, 3]
       lockvar theList
   END
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 8399b69..c4e520b 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -1556,6 +1556,14 @@
   v9.CheckDefExecAndScriptFailure(['echo 1 / 0'], 'E1154', 1)
   v9.CheckDefExecAndScriptFailure(['echo 1 % 0'], 'E1154', 1)
 
+  if has('float')
+    v9.CheckDefExecAndScriptFailure([
+          'g:one = 1.0'
+          'g:two = 2.0'
+          'echo g:one % g:two'
+          ], 'E804', 3)
+  endif
+
   lines =<< trim END
     var n = 0
     eval 1 / n
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 9993c5e..3c3434d 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -52,6 +52,15 @@
 
   bwipe!
 
+  lines =<< trim END
+      set cpo+=-
+      :1,999
+  END
+  v9.CheckDefExecAndScriptFailure(lines, 'E16:', 2)
+  set cpo&vim
+
+  v9.CheckDefExecAndScriptFailure([":'x"], 'E20:', 1)
+
   # won't generate anything
   if false
     :123
@@ -1726,6 +1735,9 @@
   v9.CheckDefFailure(['execute xxx'], 'E1001:', 1)
   v9.CheckDefExecFailure(['execute "tabnext " .. 8'], 'E475:', 1)
   v9.CheckDefFailure(['execute "cmd"# comment'], 'E488:', 1)
+  if has('channel')
+    v9.CheckDefExecFailure(['execute test_null_channel()'], 'E908:', 1)
+  endif
 enddef
 
 def Test_execute_cmd_vimscript()