forked from aniani/vim
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().
This commit is contained in:
@@ -6739,7 +6739,11 @@ printf({fmt}, {expr1} ...) *printf()*
|
|||||||
< May result in:
|
< May result in:
|
||||||
" 99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~
|
" 99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~
|
||||||
|
|
||||||
Often used items are:
|
When used as a |method| the base is passed as the second
|
||||||
|
argument: >
|
||||||
|
Compute()->printf("result: %d")
|
||||||
|
|
||||||
|
< Often used items are:
|
||||||
%s string
|
%s string
|
||||||
%6S string right-aligned in 6 display cells
|
%6S string right-aligned in 6 display cells
|
||||||
%6s string right-aligned in 6 bytes
|
%6s string right-aligned in 6 bytes
|
||||||
|
@@ -733,7 +733,7 @@ static funcentry_T global_functions[] =
|
|||||||
{"pow", 2, 2, 0, f_pow},
|
{"pow", 2, 2, 0, f_pow},
|
||||||
#endif
|
#endif
|
||||||
{"prevnonblank", 1, 1, 0, f_prevnonblank},
|
{"prevnonblank", 1, 1, 0, f_prevnonblank},
|
||||||
{"printf", 1, 19, 0, f_printf},
|
{"printf", 1, 19, FEARG_2, f_printf},
|
||||||
#ifdef FEAT_JOB_CHANNEL
|
#ifdef FEAT_JOB_CHANNEL
|
||||||
{"prompt_setcallback", 2, 2, 0, f_prompt_setcallback},
|
{"prompt_setcallback", 2, 2, 0, f_prompt_setcallback},
|
||||||
{"prompt_setinterrupt", 2, 2, 0, f_prompt_setinterrupt},
|
{"prompt_setinterrupt", 2, 2, 0, f_prompt_setinterrupt},
|
||||||
|
@@ -67,13 +67,15 @@ func Test_dict_method()
|
|||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_string_method()
|
func Test_string_method()
|
||||||
call assert_equal(['1', '2', '3'], '1 2 3'->split())
|
eval '1 2 3'->split()->assert_equal(['1', '2', '3'])
|
||||||
call assert_equal([1, 2, 3], '1 2 3'->split()->map({i, v -> str2nr(v)}))
|
eval '1 2 3'->split()->map({i, v -> str2nr(v)})->assert_equal([1, 2, 3])
|
||||||
call assert_equal([65, 66, 67], 'ABC'->str2list())
|
eval 'ABC'->str2list()->assert_equal([65, 66, 67])
|
||||||
call assert_equal(3, 'ABC'->strlen())
|
eval 'ABC'->strlen()->assert_equal(3)
|
||||||
call assert_equal('a^Mb^[c', "a\rb\ec"->strtrans())
|
eval "a\rb\ec"->strtrans()->assert_equal('a^Mb^[c')
|
||||||
call assert_equal(4, "aあb"->strwidth())
|
eval "aあb"->strwidth()->assert_equal(4)
|
||||||
call assert_equal('axc', 'abc'->substitute('b', 'x', ''))
|
eval 'abc'->substitute('b', 'x', '')->assert_equal('axc')
|
||||||
|
|
||||||
|
eval 'abc'->printf('the %s arg')->assert_equal('the abc arg')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func Test_method_append()
|
func Test_method_append()
|
||||||
|
@@ -769,6 +769,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1835,
|
||||||
/**/
|
/**/
|
||||||
1834,
|
1834,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user