patch 8.2.4940: some code is never used

Problem:    Some code is never used.
Solution:   Remove dead code.  Add a few more test cases.
diff --git a/src/testdir/test_vim9_builtin.vim b/src/testdir/test_vim9_builtin.vim
index 3405d9e..6fc7d06 100644
--- a/src/testdir/test_vim9_builtin.vim
+++ b/src/testdir/test_vim9_builtin.vim
@@ -4083,6 +4083,11 @@
     assert_equal("4", substitute("3", '\d', '\=str2nr(submatch(0)) + 1', 'g'))
   END
   v9.CheckDefAndScriptSuccess(lines)
+
+  lines =<< trim END
+    assert_equal("4", substitute("3", '\d', '\="text" x', 'g'))
+  END
+  v9.CheckDefAndScriptFailure(lines, 'E488: Trailing characters: x')
 enddef
 
 def Test_swapinfo()
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index bbe39d1..9807b6c 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -2695,6 +2695,21 @@
       Test()
   END
   v9.CheckScriptSuccess(lines)
+
+  # using funcref in legacy script
+  lines =<< trim END
+      def s:Refme(): string
+        return 'yes'
+      enddef
+
+      def TestFunc()
+        var TheRef = s:Refme
+        assert_equal('yes', TheRef())
+      enddef
+
+      call TestFunc()
+  END
+  v9.CheckScriptSuccess(lines)
 enddef
 
 let g:test_space_dict = {'': 'empty', ' ': 'space'}