patch 8.2.2449: Vim9: flatten() always changes the list type
Problem: Vim9: flatten() always changes the list type.
Solution: Disallow using flatten() and add flattennew().
diff --git a/src/testdir/test_flatten.vim b/src/testdir/test_flatten.vim
index 34431f8..7d321f7 100644
--- a/src/testdir/test_flatten.vim
+++ b/src/testdir/test_flatten.vim
@@ -81,4 +81,13 @@
call assert_equal([2, l:x], l:y)
endfunc
+func Test_flattennew()
+ let l = [1, [2, [3, 4]], 5]
+ call assert_equal([1, 2, 3, 4, 5], flattennew(l))
+ call assert_equal([1, [2, [3, 4]], 5], l)
+
+ call assert_equal([1, 2, [3, 4], 5], flattennew(l, 1))
+ call assert_equal([1, [2, [3, 4]], 5], l)
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab