1
0
forked from aniani/vim

patch 8.1.1019: Lua: may garbage collect function reference in use

Problem:    Lua: may garbage collect function reference in use.
Solution:   Keep the function name instead of the typeval. Make luaV_setref()
            handle funcref objects. (Ozaki Kiichi, closes #4127)
This commit is contained in:
Bram Moolenaar
2019-03-19 21:59:19 +01:00
parent 8376c3d321
commit 4eefe47ea4
3 changed files with 82 additions and 63 deletions

View File

@@ -449,6 +449,7 @@ func Test_funcref()
lua d.len = vim.funcref"Mylen" -- assign d as 'self'
lua res = (d.len() == vim.funcref"len"(vim.eval"l")) and "OK" or "FAIL"
call assert_equal("OK", luaeval('res'))
call assert_equal(function('Mylen', {'data': l, 'len': function('Mylen')}), mydict.len)
lua i1, i2, msg, d, res = nil
endfunc