patch 8.1.1835: cannot use printf() as a method
Problem: Cannot use printf() as a method.
Solution: Pass the base as the second argument to printf().
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 29857d3..7800aa9 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -733,7 +733,7 @@
{"pow", 2, 2, 0, f_pow},
#endif
{"prevnonblank", 1, 1, 0, f_prevnonblank},
- {"printf", 1, 19, 0, f_printf},
+ {"printf", 1, 19, FEARG_2, f_printf},
#ifdef FEAT_JOB_CHANNEL
{"prompt_setcallback", 2, 2, 0, f_prompt_setcallback},
{"prompt_setinterrupt", 2, 2, 0, f_prompt_setinterrupt},
diff --git a/src/testdir/test_method.vim b/src/testdir/test_method.vim
index 310b5f2..98c07fe 100644
--- a/src/testdir/test_method.vim
+++ b/src/testdir/test_method.vim
@@ -67,13 +67,15 @@
endfunc
func Test_string_method()
- call assert_equal(['1', '2', '3'], '1 2 3'->split())
- call assert_equal([1, 2, 3], '1 2 3'->split()->map({i, v -> str2nr(v)}))
- call assert_equal([65, 66, 67], 'ABC'->str2list())
- call assert_equal(3, 'ABC'->strlen())
- call assert_equal('a^Mb^[c', "a\rb\ec"->strtrans())
- call assert_equal(4, "aあb"->strwidth())
- call assert_equal('axc', 'abc'->substitute('b', 'x', ''))
+ eval '1 2 3'->split()->assert_equal(['1', '2', '3'])
+ eval '1 2 3'->split()->map({i, v -> str2nr(v)})->assert_equal([1, 2, 3])
+ eval 'ABC'->str2list()->assert_equal([65, 66, 67])
+ eval 'ABC'->strlen()->assert_equal(3)
+ eval "a\rb\ec"->strtrans()->assert_equal('a^Mb^[c')
+ eval "aあb"->strwidth()->assert_equal(4)
+ eval 'abc'->substitute('b', 'x', '')->assert_equal('axc')
+
+ eval 'abc'->printf('the %s arg')->assert_equal('the abc arg')
endfunc
func Test_method_append()
diff --git a/src/version.c b/src/version.c
index 2d06c77..f10ea08 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1835,
+/**/
1834,
/**/
1833,