patch 8.2.4622: Vim9: crash with :execute and :finish
Problem: Vim9: Crash with :execute and :finish. (Sergey Vlasov)
Solution: Check for NULL. (closes #10011)
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index b1b63d2..71cef1e 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1830,6 +1830,24 @@
v9.CheckScriptSuccess(lines)
enddef
+def Test_execute_finish()
+ # the empty lines are relevant here
+ var lines =<< trim END
+ vim9script
+
+ var vname = "g:hello"
+
+ if exists(vname) | finish | endif | execute vname '= "world"'
+
+ assert_equal('world', g:hello)
+
+ if exists(vname) | finish | endif | execute vname '= "world"'
+
+ assert_report('should not be reached')
+ END
+ v9.CheckScriptSuccess(lines)
+enddef
+
def Test_echo_cmd()
echo 'some' # comment
echon 'thing'