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 #2687)
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 5b684bd..e866f4c 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -738,7 +738,7 @@
     {"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},
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index c47bc22..c14b6e6 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -131,6 +131,9 @@
 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))
diff --git a/src/version.c b/src/version.c
index e1f406a..7d54185 100644
--- a/src/version.c
+++ b/src/version.c
@@ -779,6 +779,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1557,
+/**/
     1556,
 /**/
     1555,