summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-05 17:18:28 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-05 17:18:28 +0200
commit44b4a246b62e0622550b963bcf3034dce3bcfc0c (patch)
tree6ac665264f240482b9745a2c119a45e1176e347a
parent59941cbd8035415d68683edc4e571306b10669ad (diff)
downloadvim-git-44b4a246b62e0622550b963bcf3034dce3bcfc0c.tar.gz
patch 8.2.1600: Vim9: cannot use "true" with deepcopy()v8.2.1600
Problem: Vim9: cannot use "true" with deepcopy(). Solution: Use tv_get_bool_chk(). (closes #6867)
-rw-r--r--src/evalfunc.c2
-rw-r--r--src/testdir/test_listdict.vim2
-rw-r--r--src/testdir/test_vim9_func.vim2
-rw-r--r--src/version.c2
4 files changed, 6 insertions, 2 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 110935df3..1764f414e 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -1975,7 +1975,7 @@ f_deepcopy(typval_T *argvars, typval_T *rettv)
int copyID;
if (argvars[1].v_type != VAR_UNKNOWN)
- noref = (int)tv_get_number_chk(&argvars[1], NULL);
+ noref = (int)tv_get_bool_chk(&argvars[1], NULL);
if (noref < 0 || noref > 1)
emsg(_(e_invarg));
else
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index 8db7b3f16..694ba0a41 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -348,7 +348,7 @@ func Test_dict_deepcopy()
let l[1] = l2
let l3 = deepcopy(l2)
call assert_true(l3[1] is l3[2])
- call assert_fails("call deepcopy([1, 2], 2)", 'E474:')
+ call assert_fails("call deepcopy([1, 2], 2)", 'E1023:')
endfunc
" Locked variables
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 828dbba3d..8651ef8eb 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -1272,6 +1272,8 @@ def Test_copy_return_type()
res += n
endfor
assert_equal(6, res)
+
+ dl = deepcopy([1, 2, 3], true)
enddef
def Test_extend_return_type()
diff --git a/src/version.c b/src/version.c
index b7b5d272e..8ebf9a716 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1600,
+/**/
1599,
/**/
1598,