patch 8.2.3423: Vim9: list += list creates a new list in :def function
Problem: Vim9: list += list creates a new list in :def function.
Solution: Append to the existing list.
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 6b6311a..0d07e07 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -557,20 +557,21 @@
def Test_extend_list()
var lines =<< trim END
- vim9script
- var l: list<number>
- l += [123]
- assert_equal([123], l)
+ var l1: list<number>
+ var l2 = l1
+ assert_true(l1 is l2)
+ l1 += [123]
+ assert_equal([123], l1)
+ assert_true(l1 is l2)
END
- CheckScriptSuccess(lines)
+ CheckDefAndScriptSuccess(lines)
lines =<< trim END
- vim9script
var list: list<string>
extend(list, ['x'])
assert_equal(['x'], list)
END
- CheckScriptSuccess(lines)
+ CheckDefAndScriptSuccess(lines)
# appending to NULL list from a function
lines =<< trim END