patch 8.2.2817: Vim9: script sourcing continues after an error
Problem: Vim9: script sourcing continues after an error.
Solution: Make an error in any command in "vim9script" abort sourcing.
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 1810c5b..0e77b58 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -854,6 +854,20 @@
assert_equal(0, g:test_var)
enddef
+def Test_abort_after_error()
+ var lines =<< trim END
+ vim9script
+ while true
+ echo notfound
+ endwhile
+ g:gotthere = true
+ END
+ g:gotthere = false
+ CheckScriptFailure(lines, 'E121:')
+ assert_false(g:gotthere)
+ unlet g:gotthere
+enddef
+
def Test_cexpr_vimscript()
# only checks line continuation
set errorformat=File\ %f\ line\ %l
@@ -3361,6 +3375,7 @@
return 'test'
enddef
g:some#name = 'name'
+ g:some#dict = {key: 'value'}
def some#varargs(a1: string, ...l: list<string>): string
return a1 .. l[0] .. l[1]
@@ -3374,6 +3389,7 @@
assert_equal('test', g:some#gettest())
assert_equal('name', g:some#name)
+ assert_equal('value', g:some#dict.key)
g:some#other = 'other'
assert_equal('other', g:some#other)