mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.2.4698: Vim9: script variable has no flag that it was set
Problem: Vim9: script variable has no flag that it was set. Solution: Add a flag that it was set, to avoid giving it a value when used. (closes #10088)
This commit is contained in:
@@ -740,6 +740,7 @@ def Test_init_in_for_loop()
|
||||
enddef
|
||||
|
||||
def Test_extend_list()
|
||||
# using uninitilaized list assigns empty list
|
||||
var lines =<< trim END
|
||||
var l1: list<number>
|
||||
var l2 = l1
|
||||
@@ -757,7 +758,7 @@ def Test_extend_list()
|
||||
END
|
||||
v9.CheckDefAndScriptSuccess(lines)
|
||||
|
||||
# appending to NULL list from a function
|
||||
# appending to uninitialzed list from a function works
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var list: list<string>
|
||||
@@ -779,13 +780,30 @@ def Test_extend_list()
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
|
||||
# initialized to null, with type, does not default to empty list
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var l: list<string> = test_null_list()
|
||||
extend(l, ['x'])
|
||||
assert_equal(['x'], l)
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
v9.CheckScriptFailure(lines, 'E1134:', 3)
|
||||
|
||||
# initialized to null, without type, does not default to empty list
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var l = null_list
|
||||
extend(l, ['x'])
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1134:', 3)
|
||||
|
||||
# assigned null, does not default to empty list
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
var l: list<string>
|
||||
l = null_list
|
||||
extend(l, ['x'])
|
||||
END
|
||||
v9.CheckScriptFailure(lines, 'E1134:', 4)
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
@@ -838,9 +856,8 @@ def Test_extend_dict()
|
||||
vim9script
|
||||
var d: dict<string> = test_null_dict()
|
||||
extend(d, {a: 'x'})
|
||||
assert_equal({a: 'x'}, d)
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
v9.CheckScriptFailure(lines, 'E1133:', 3)
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
|
Reference in New Issue
Block a user