Mercurial > vim
comparison src/testdir/test_lambda.vim @ 9735:8037eb704e93 v7.4.2143
commit https://github.com/vim/vim/commit/bc7ce675b2d1c9fb58c067eff3edd59abc30aba4
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 1 22:49:22 2016 +0200
patch 7.4.2143
Problem: A funccal is garbage collected while it can still be used.
Solution: Set copyID in all referenced functions. Do not list lambda
functions with ":function".
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 01 Aug 2016 23:00:07 +0200 |
parents | 8436bb5134f5 |
children | ade79e3e3b88 |
comparison
equal
deleted
inserted
replaced
9734:9bdde041199c | 9735:8037eb704e93 |
---|---|
268 call assert_equal(3, g:Count2()) | 268 call assert_equal(3, g:Count2()) |
269 | 269 |
270 delfunc LambdaFoo | 270 delfunc LambdaFoo |
271 delfunc LambdaBar | 271 delfunc LambdaBar |
272 endfunc | 272 endfunc |
273 | |
274 func Test_named_function_closure() | |
275 func! Afoo() | |
276 let x = 14 | |
277 func! s:Abar() closure | |
278 return x | |
279 endfunc | |
280 call assert_equal(14, s:Abar()) | |
281 endfunc | |
282 call Afoo() | |
283 call assert_equal(14, s:Abar()) | |
284 call test_garbagecollect_now() | |
285 call assert_equal(14, s:Abar()) | |
286 endfunc |