From ffb87f4dd992ff23ff66f888dbe1bcc54bd0b012 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 18 Aug 2023 05:07:48 +0800 Subject: vim-patch:9.0.1722: wrong error messages when passing wrong types to count() Problem: wrong error messages when passing wrong types to count() Solution: fix it This fixes two problems: 1. When passing wrong type to {ic} argument of count(), two error messages are given, the second of which is misleading. 2. When passing wrong type to {comp} argument of count(), the error message doesn't mention that {comp} may be a String. closes: vim/vim#12825 https://github.com/vim/vim/commit/4f389e7c0fe7dfeccfa512a72fa36f9028d57159 --- test/old/testdir/test_functions.vim | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/old/testdir/test_functions.vim b/test/old/testdir/test_functions.vim index 74f9143ca0..e286090018 100644 --- a/test/old/testdir/test_functions.vim +++ b/test/old/testdir/test_functions.vim @@ -1627,7 +1627,8 @@ func Test_count() call assert_equal(2, count("fooooo", "oo")) call assert_equal(0, count("foo", "")) - call assert_fails('call count(0, 0)', 'E712:') + call assert_fails('call count(0, 0)', 'E706:') + call assert_fails('call count("", "", {})', ['E728:', 'E728:']) endfunc func Test_changenr() -- cgit From bb29ef40084e1cea1f35cbbcbac794f41f46d5f8 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 18 Aug 2023 05:09:24 +0800 Subject: vim-patch:9.0.1723: Fix regression in {func} argument of reduce() Problem: Fix regression in {func} argument of reduce() Solution: pass function name as string again Before patch 9.0.0548, passing a string as {func} argument of reduce() is treated as a function name, but after patch 9.0.0548 it is treated as an expression instead, which is useless as reduce() doesn't set any v: variables. This PR restores the behavior of {func} before that patch. Also correct an emsg() call, as e_string_list_or_blob_required doesn't contain format specifiers. closes: vim/vim#12824 https://github.com/vim/vim/commit/ad0c442f1fcc6fe9c433777ee3e5b9e6addc6d69 --- test/old/testdir/test_listdict.vim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/old/testdir/test_listdict.vim b/test/old/testdir/test_listdict.vim index abb7f88a7b..354d987c79 100644 --- a/test/old/testdir/test_listdict.vim +++ b/test/old/testdir/test_listdict.vim @@ -944,6 +944,10 @@ func Test_reduce() call assert_equal('Å,s,t,r,ö,m', reduce('Åström', LSTART acc, val LMIDDLE acc .. ',' .. val LEND)) call assert_equal('Å,s,t,r,ö,m', reduce('Åström', LSTART acc, val LMIDDLE acc .. ',' .. val LEND)) call assert_equal(',a,b,c', reduce('abc', LSTART acc, val LMIDDLE acc .. ',' .. val LEND, v:_null_string)) + + call assert_equal(0x7d, reduce([0x30, 0x25, 0x08, 0x61], 'or')) + call assert_equal(0x7d, reduce(0z30250861, 'or')) + call assert_equal('β', reduce('ββββ', 'matchstr')) END call CheckLegacyAndVim9Success(lines) @@ -958,7 +962,7 @@ func Test_reduce() call assert_fails("call reduce({}, { acc, val -> acc + val }, 1)", 'E1098:') call assert_fails("call reduce(0, { acc, val -> acc + val }, 1)", 'E1098:') - call assert_fails("call reduce([1, 2], 'Xdoes_not_exist')", 'E121:') + call assert_fails("call reduce([1, 2], 'Xdoes_not_exist')", 'E117:') call assert_fails("echo reduce(0z01, { acc, val -> 2 * acc + val }, '')", 'E1210:') " call assert_fails("vim9 reduce(0, (acc, val) => (acc .. val), '')", 'E1252:') -- cgit