changeset 13367:53f15c99a9fd v8.0.1557

patch 8.0.1557: printf() does not work with only one argument commit https://github.com/vim/vim/commit/c71807db9c1821baf86796cd76952df36ff1a29a Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 3 15:06:52 2018 +0100 patch 8.0.1557: printf() does not work with only one argument Problem: printf() does not work with only one argument. (Daniel Hahler) Solution: Allow using just the format. (Ken Takata, closes https://github.com/vim/vim/issues/2687)
author Christian Brabandt <cb@256bit.org>
date Sat, 03 Mar 2018 15:15:05 +0100
parents 00577b3b9aae
children a68814ee7449
files src/evalfunc.c src/testdir/test_expr.vim src/version.c
diffstat 3 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -738,7 +738,7 @@ static struct fst
     {"pow",		2, 2, f_pow},
 #endif
     {"prevnonblank",	1, 1, f_prevnonblank},
-    {"printf",		2, 19, f_printf},
+    {"printf",		1, 19, f_printf},
     {"pumvisible",	0, 0, f_pumvisible},
 #ifdef FEAT_PYTHON3
     {"py3eval",		1, 1, f_py3eval},
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -131,6 +131,9 @@ func Test_option_value()
 endfunc
 
 function Test_printf_misc()
+  call assert_equal('123', printf('123'))
+  call assert_fails("call printf('123', 3)", "E767:")
+
   call assert_equal('123', printf('%d', 123))
   call assert_equal('123', printf('%i', 123))
   call assert_equal('123', printf('%D', 123))
--- a/src/version.c
+++ b/src/version.c
@@ -779,6 +779,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1557,
+/**/
     1556,
 /**/
     1555,