Patch 8.2.2394
Problem: Vim9: min() and max() return type is "any".
Solution: Use return type "number". (closes #7728)
Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim
*** ../vim-8.2.2393/src/evalfunc.c 2021-01-17 16:16:19.997563189 +0100
--- src/evalfunc.c 2021-01-22 22:24:59.361170756 +0100
***************
*** 1219,1225 ****
{"matchstrpos", 2, 4, FEARG_1, NULL,
ret_list_any, f_matchstrpos},
{"max", 1, 1, FEARG_1, NULL,
! ret_any, f_max},
{"menu_info", 1, 2, FEARG_1, NULL,
ret_dict_any,
#ifdef FEAT_MENU
--- 1219,1225 ----
{"matchstrpos", 2, 4, FEARG_1, NULL,
ret_list_any, f_matchstrpos},
{"max", 1, 1, FEARG_1, NULL,
! ret_number, f_max},
{"menu_info", 1, 2, FEARG_1, NULL,
ret_dict_any,
#ifdef FEAT_MENU
***************
*** 1229,1235 ****
#endif
},
{"min", 1, 1, FEARG_1, NULL,
! ret_any, f_min},
{"mkdir", 1, 3, FEARG_1, NULL,
ret_number_bool, f_mkdir},
{"mode", 0, 1, FEARG_1, NULL,
--- 1229,1235 ----
#endif
},
{"min", 1, 1, FEARG_1, NULL,
! ret_number, f_min},
{"mkdir", 1, 3, FEARG_1, NULL,
ret_number_bool, f_mkdir},
{"mode", 0, 1, FEARG_1, NULL,
*** ../vim-8.2.2393/src/testdir/test_vim9_builtin.vim 2021-01-21 20:21:24.244670457 +0100
--- src/testdir/test_vim9_builtin.vim 2021-01-22 22:30:04.880201842 +0100
***************
*** 655,660 ****
--- 655,688 ----
nunmap <F3>
enddef
+ def Test_max()
+ g:flag = true
+ var l1: list<number> = g:flag
+ ? [1, max([2, 3])]
+ : [4, 5]
+ assert_equal([1, 3], l1)
+
+ g:flag = false
+ var l2: list<number> = g:flag
+ ? [1, max([2, 3])]
+ : [4, 5]
+ assert_equal([4, 5], l2)
+ enddef
+
+ def Test_min()
+ g:flag = true
+ var l1: list<number> = g:flag
+ ? [1, min([2, 3])]
+ : [4, 5]
+ assert_equal([1, 2], l1)
+
+ g:flag = false
+ var l2: list<number> = g:flag
+ ? [1, min([2, 3])]
+ : [4, 5]
+ assert_equal([4, 5], l2)
+ enddef
+
def Test_nr2char()
nr2char(97, true)->assert_equal('a')
enddef
*** ../vim-8.2.2393/src/version.c 2021-01-22 22:06:51.636529831 +0100
--- src/version.c 2021-01-22 22:24:56.749179010 +0100
***************
*** 752,753 ****
--- 752,755 ----
{ /* Add new patch number below this line */
+ /**/
+ 2394,
/**/
--
hundred-and-one symptoms of being an internet addict:
210. When you get a divorce, you don't care about who gets the children,
but discuss endlessly who can use the email address.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language --
http://www.Zimbu.org ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///