patch 8.2.4782: accessing freed memory
Problem: Accessing freed memory.
Solution: Clear evalarg after checking for trailing characters.
(issue #10218)
diff --git a/src/testdir/test_lambda.vim b/src/testdir/test_lambda.vim
index 8d06e59..7726629 100644
--- a/src/testdir/test_lambda.vim
+++ b/src/testdir/test_lambda.vim
@@ -1,6 +1,7 @@
" Test for lambda and closure
source check.vim
+import './vim9.vim' as v9
func Test_lambda_feature()
call assert_equal(1, has('lambda'))
@@ -54,6 +55,21 @@
call assert_true(s:n > m)
endfunc
+func Test_lambda_vim9cmd_linebreak()
+ CheckFeature timers
+
+ let lines =<< trim END
+ vim9cmd call timer_start(10, (x) => {
+ # comment
+ g:result = 'done'
+ })
+ END
+ call v9.CheckScriptSuccess(lines)
+ sleep 50m
+ call assert_equal('done', g:result)
+ unlet g:result
+endfunc
+
func Test_lambda_with_partial()
let l:Cb = function({... -> ['zero', a:1, a:2, a:3]}, ['one', 'two'])
call assert_equal(['zero', 'one', 'two', 'three'], l:Cb('three'))