patch 8.2.1796: Vim9: invalid memory access with weird function name

Problem:    Vim9: invalid memory access with weird function name. (Dhiraj
            Mishra)
Solution:   Check the name is valid.  Add a test.
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 509c7fa..4f741bb 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1906,6 +1906,32 @@
   delete('XclosureDir', 'rf')
 enddef
 
+def Test_invalid_function_name()
+  var lines =<< trim END
+      vim9script
+      def s: list<string>
+  END
+  CheckScriptFailure(lines, 'E129:')
+
+  lines =<< trim END
+      vim9script
+      def g: list<string>
+  END
+  CheckScriptFailure(lines, 'E129:')
+
+  lines =<< trim END
+      vim9script
+      def <SID>: list<string>
+  END
+  CheckScriptFailure(lines, 'E884:')
+
+  lines =<< trim END
+      vim9script
+      def F list<string>
+  END
+  CheckScriptFailure(lines, 'E488:')
+enddef
+
 def Test_partial_call()
   var Xsetlist = function('setloclist', [0])
   Xsetlist([], ' ', {'title': 'test'})