summaryrefslogtreecommitdiff
path: root/src/testdir/test_vim9_func.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-09-23 12:44:25 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-23 12:44:25 +0100
commitf8addf1ca1d8c7801f6dded2341b7084d2b93e5e (patch)
tree419cf1a57caa244652d839ea1b2331329c3f0c77 /src/testdir/test_vim9_func.vim
parentf5f4e85f0189790ab81c0005b703604721db13d4 (diff)
downloadvim-git-f8addf1ca1d8c7801f6dded2341b7084d2b93e5e.tar.gz
patch 9.0.0554: using freed memory when command follows lambdav9.0.0554
Problem: Using freed memory when command follows lambda. Solution: Don't free what is still in use. (closes #11201)
Diffstat (limited to 'src/testdir/test_vim9_func.vim')
-rw-r--r--src/testdir/test_vim9_func.vim14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 4d5ff14b1..dc6b10439 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1515,6 +1515,20 @@ def Test_lambda_invalid_block()
v9.CheckDefAndScriptFailure(lines, 'E488: Trailing characters: | echo')
enddef
+def Test_lambda_with_following_cmd()
+ var lines =<< trim END
+ set ts=2
+ var Lambda = () => {
+ set ts=4
+ } | set ts=3
+ assert_equal(3, &ts)
+ Lambda()
+ assert_equal(4, &ts)
+ END
+ v9.CheckDefAndScriptSuccess(lines)
+ set ts=8
+enddef
+
def Test_pass_legacy_lambda_to_def_func()
var lines =<< trim END
vim9script