mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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: #12825 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
parent
4112acae08
commit
4f389e7c0f
@ -1802,7 +1802,8 @@ EXTERN char e_funcref_variable_name_must_start_with_capital_str[]
|
|||||||
INIT(= N_("E704: Funcref variable name must start with a capital: %s"));
|
INIT(= N_("E704: Funcref variable name must start with a capital: %s"));
|
||||||
EXTERN char e_variable_name_conflicts_with_existing_function_str[]
|
EXTERN char e_variable_name_conflicts_with_existing_function_str[]
|
||||||
INIT(= N_("E705: Variable name conflicts with existing function: %s"));
|
INIT(= N_("E705: Variable name conflicts with existing function: %s"));
|
||||||
// E706 unused
|
EXTERN char e_argument_of_str_must_be_list_string_or_dictionary[]
|
||||||
|
INIT(= N_("E706: Argument of %s must be a List, String or Dictionary"));
|
||||||
EXTERN char e_function_name_conflicts_with_variable_str[]
|
EXTERN char e_function_name_conflicts_with_variable_str[]
|
||||||
INIT(= N_("E707: Function name conflicts with variable: %s"));
|
INIT(= N_("E707: Function name conflicts with variable: %s"));
|
||||||
EXTERN char e_slice_must_come_last[]
|
EXTERN char e_slice_must_come_last[]
|
||||||
|
@ -2735,8 +2735,9 @@ f_count(typval_T *argvars, typval_T *rettv)
|
|||||||
else
|
else
|
||||||
n = dict_count(argvars[0].vval.v_dict, &argvars[1], ic);
|
n = dict_count(argvars[0].vval.v_dict, &argvars[1], ic);
|
||||||
}
|
}
|
||||||
else
|
else if (!error)
|
||||||
semsg(_(e_argument_of_str_must_be_list_or_dictionary), "count()");
|
semsg(_(e_argument_of_str_must_be_list_string_or_dictionary),
|
||||||
|
"count()");
|
||||||
rettv->vval.v_number = n;
|
rettv->vval.v_number = n;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1749,7 +1749,8 @@ func Test_count()
|
|||||||
call assert_equal(2, count("fooooo", "oo"))
|
call assert_equal(2, count("fooooo", "oo"))
|
||||||
call assert_equal(0, count("foo", ""))
|
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
|
endfunc
|
||||||
|
|
||||||
func Test_changenr()
|
func Test_changenr()
|
||||||
|
@ -695,6 +695,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 */
|
||||||
|
/**/
|
||||||
|
1722,
|
||||||
/**/
|
/**/
|
||||||
1721,
|
1721,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user