patch 7.4.1228
Problem: copy() and deepcopy() fail with special variables. (Nikolai
Pavlov)
Solution: Make it work. Add a test. Closes #614.
diff --git a/src/testdir/test_viml.vim b/src/testdir/test_viml.vim
index f7b3414..6c755bb 100644
--- a/src/testdir/test_viml.vim
+++ b/src/testdir/test_viml.vim
@@ -1001,6 +1001,16 @@
call assert_equal(v:none, eval(string(v:none)))
call assert_equal(v:null, eval(string(v:null)))
+ call assert_equal(v:false, copy(v:false))
+ call assert_equal(v:true, copy(v:true))
+ call assert_equal(v:none, copy(v:none))
+ call assert_equal(v:null, copy(v:null))
+
+ call assert_equal([v:false], deepcopy([v:false]))
+ call assert_equal([v:true], deepcopy([v:true]))
+ call assert_equal([v:none], deepcopy([v:none]))
+ call assert_equal([v:null], deepcopy([v:null]))
+
call assert_true(empty(v:false))
call assert_false(empty(v:true))
call assert_true(empty(v:null))