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()