mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	updated for version 7.3.896
Problem: Memory leaks in Lua interface. Solution: Fix the leaks, add tests. (Yukihiro Nakadaira)
This commit is contained in:
		| @@ -33,6 +33,49 @@ STARTTEST | ||||
| :let res = "FAILED" | ||||
| :endif | ||||
| :call setline(search("^3"), "circular test " . res) | ||||
|  | ||||
| :let l = [] | ||||
| :lua l = vim.eval("l") | ||||
| :lua l:add(123) | ||||
| :lua l:add("abc") | ||||
| :lua l:add(vim.eval("[1, 2, 3]")) | ||||
| :lua l:add(vim.eval("{'a':1, 'b':2, 'c':3}")) | ||||
| :lua l:insert(123) | ||||
| :lua l:insert("abc") | ||||
| :lua l:insert(vim.eval("[1, 2, 3]")) | ||||
| :lua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}")) | ||||
| :lua l[0] = l[0] | ||||
| :lua l[1] = l[1] | ||||
| :lua l[2] = l[2] | ||||
| :lua l[3] = l[3] | ||||
| :lua l[0] = 123 | ||||
| :lua l[1] = "abc" | ||||
| :lua l[2] = vim.eval("[1, 2, 3]") | ||||
| :lua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}") | ||||
| :lua l[3] = nil | ||||
| :lua l[2] = nil | ||||
| :lua l[1] = nil | ||||
| :lua l[0] = nil | ||||
| :lua l = nil | ||||
| :$put =string(l) | ||||
|  | ||||
| :let d = {} | ||||
| :lua d = vim.eval("d") | ||||
| :lua d[0] = 123 | ||||
| :lua d[1] = "abc" | ||||
| :lua d[2] = vim.eval("[1, 2, 3]") | ||||
| :lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}") | ||||
| :lua d[4] = d[0] | ||||
| :lua d[5] = d[1] | ||||
| :lua d[6] = d[2] | ||||
| :lua d[7] = d[3] | ||||
| :lua d[3] = nil | ||||
| :lua d[2] = nil | ||||
| :lua d[1] = nil | ||||
| :lua d[0] = nil | ||||
| :lua d = nil | ||||
| :$put =string(d) | ||||
|  | ||||
| :?^1?,$w! test.out | ||||
| :qa! | ||||
| ENDTEST | ||||
|   | ||||
| @@ -3,3 +3,5 @@ scalar test OK | ||||
| 2 line 2 | ||||
| dictionary with list OK | ||||
| circular test OK | ||||
| [123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}] | ||||
| {'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user