patch 8.2.2033: Vim9: :def without argument gives compilation error
Problem: Vim9: :def without argument gives compilation error.
Solution: Add the DEF instruction. (closes #7344)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index dd2f576..80d564e 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -288,6 +288,33 @@
CheckScriptFailure(lines, "E1073:")
enddef
+def DefListAll()
+ def
+enddef
+
+def DefListOne()
+ def DefListOne
+enddef
+
+def DefListMatches()
+ def /DefList
+enddef
+
+def Test_nested_def_list()
+ var funcs = split(execute('call DefListAll()'), "\n")
+ assert_true(len(funcs) > 10)
+ assert_true(funcs->index('def DefListAll()') >= 0)
+
+ funcs = split(execute('call DefListOne()'), "\n")
+ assert_equal([' def DefListOne()', '1 def DefListOne', ' enddef'], funcs)
+
+ funcs = split(execute('call DefListMatches()'), "\n")
+ assert_true(len(funcs) >= 3)
+ assert_true(funcs->index('def DefListAll()') >= 0)
+ assert_true(funcs->index('def DefListOne()') >= 0)
+ assert_true(funcs->index('def DefListMatches()') >= 0)
+enddef
+
def Test_global_local_function()
var lines =<< trim END
vim9script