From: Bram Moolenaar Date: Sun, 5 Jul 2020 18:08:39 +0000 (+0200) Subject: patch 8.2.1140: Vim9: return type of extend() is any X-Git-Tag: v8.2.1140 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b3c019cbc32e2e9250ac668bf77d61ebd89c13f2;p=thirdparty%2Fvim.git 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. --- diff --git a/src/evalfunc.c b/src/evalfunc.c index 57e707fc36..439333184b 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 d7c37b1592..525d46d4cd 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 23d2d1b974..116cb065fe 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, /**/