From b3c019cbc32e2e9250ac668bf77d61ebd89c13f2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 5 Jul 2020 20:08:39 +0200 Subject: patch 8.2.1140: Vim9: return type of extend() is any Problem: Vim9: return type of extend() is any. Solution: Use type of the argument. --- src/evalfunc.c | 2 +- src/testdir/test_vim9_func.vim | 9 +++++++++ src/version.c | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/evalfunc.c b/src/evalfunc.c index 57e707fc3..439333184 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -576,7 +576,7 @@ static funcentry_T global_functions[] = {"exp", 1, 1, FEARG_1, ret_float, FLOAT_FUNC(f_exp)}, {"expand", 1, 3, FEARG_1, ret_any, f_expand}, {"expandcmd", 1, 1, FEARG_1, ret_string, f_expandcmd}, - {"extend", 2, 3, FEARG_1, ret_any, f_extend}, + {"extend", 2, 3, FEARG_1, ret_first_arg, f_extend}, {"feedkeys", 1, 2, FEARG_1, ret_void, f_feedkeys}, {"file_readable", 1, 1, FEARG_1, ret_number, f_filereadable}, // obsolete {"filereadable", 1, 1, FEARG_1, ret_number, f_filereadable}, diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index d7c37b159..525d46d4c 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -909,6 +909,15 @@ def Test_copy_return_type() assert_equal(6, res) enddef +def Test_extend_return_type() + let l = extend([1, 2], [3]) + let res = 0 + for n in l + res += n + endfor + assert_equal(6, res) +enddef + def Line_continuation_in_def(dir: string = ''): string let path: string = empty(dir) \ ? 'empty' diff --git a/src/version.c b/src/version.c index 23d2d1b97..116cb065f 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1140, /**/ 1139, /**/ -- cgit v1.2.1