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'})