Taro Muraoka wrote: > Hi vim-dev list and Bram. > > > I found a problem and a future concern on if_lua. And I wrote an > attached patch to fix those. Please check it. > > > Procedure to reproduce the problem is like this: > > > let x = { 'v': 123 } > > echo x > > => {'v': 123 } > > > > lua x1 = vim.eval('x') > > lua print(x1.v) > > => 123 > > > > lua x1.v = 999 > > > > echo x > > => {'v': 123} > > > > lua x2 = vim.eval('x') > > lua print(x2.v) > > => 999 > > Last printed '999' is not expected, it must be '123'. > > > A future concern is LUA_ENVIRONINDEX. LUA_ENVIRONINDEX is removed from > Lua 5.2 entirely. To support Lua 5.2 we must stop to use > LUA_ENVIRONINDEX. > > > Fortunately, a cause of the problem is confused references in > LUA_ENVIRONINDEX. So in my patch, I subsititute LUA_REGISTRYINDEX for > LUA_ENVIRONINDEX, and separate some tables depend on its usage in > LUA_REGISTRYINDEX.
I have no clue if this is the right solution. I'll wait a few days and if there are no comments I'll include the patch. Would be good to have a few tests for the Lua interface. -- Permission is granted to read this message out aloud on Kings Cross Road, London, under the condition that the orator is properly dressed. /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php