patch 8.2.1657: Vim9: no proper error for nested ":def!"
Problem: Vim9: no proper error for nested ":def!".
Solution: Check for "!". (closes #6920)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 4e79c89..e0b43ae 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -134,6 +134,23 @@
CheckDefFailure(['func Nested()', 'endfunc'], 'E1086:')
CheckDefFailure(['def s:Nested()', 'enddef'], 'E1075:')
CheckDefFailure(['def b:Nested()', 'enddef'], 'E1075:')
+
+ CheckDefFailure([
+ 'def Outer()',
+ ' def Inner()',
+ ' # comment',
+ ' enddef',
+ ' def Inner()',
+ ' enddef',
+ 'enddef'], 'E1073:')
+ CheckDefFailure([
+ 'def Outer()',
+ ' def Inner()',
+ ' # comment',
+ ' enddef',
+ ' def! Inner()',
+ ' enddef',
+ 'enddef'], 'E1117:')
enddef
func Test_call_default_args_from_func()