# HG changeset patch # User Christian Brabandt # Date 1473018307 -7200 # Node ID a6068b90c873bc8b623b48aa6dd0fafde4b8175c # Parent d442792953659bd14529d7f3b64255c547168521 commit https://github.com/vim/vim/commit/26b84339fd8766898bcf6a259cbc2e0c38689726 Author: Bram Moolenaar Date: Sun Sep 4 21:42:36 2016 +0200 patch 7.4.2329 Problem: Error for min() and max() contains %s. (Nikolay Pavlov) Solution: Pass the function name. (closes https://github.com/vim/vim/issues/1040) diff --git a/src/evalfunc.c b/src/evalfunc.c --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -7629,7 +7629,7 @@ max_min(typval_T *argvars, typval_T *ret } } else - EMSG(_(e_listdictarg)); + EMSG2(_(e_listdictarg), domax ? "max()" : "min()"); rettv->vval.v_number = error ? 0 : n; } diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -335,6 +335,13 @@ function Test_printf_errors() call assert_fails('echo printf("%d", 1.2)', 'E805:') endfunc +function Test_max_min_errors() + call assert_fails('call max(v:true)', 'E712:') + call assert_fails('call max(v:true)', 'max()') + call assert_fails('call min(v:true)', 'E712:') + call assert_fails('call min(v:true)', 'min()') +endfunc + function Test_printf_64bit() if has('num64') call assert_equal("123456789012345", printf('%d', 123456789012345)) diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -764,6 +764,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2329, +/**/ 2328, /**/ 2327,