mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 11:28:22 +00:00
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
4f389e7c0f
This commit is contained in:
@@ -147,6 +147,8 @@ PRAGMA_DIAG_POP
|
|||||||
|
|
||||||
static const char *e_listblobarg = N_("E899: Argument of %s must be a List or Blob");
|
static const char *e_listblobarg = N_("E899: Argument of %s must be a List or Blob");
|
||||||
static const char *e_invalwindow = N_("E957: Invalid window number");
|
static const char *e_invalwindow = N_("E957: Invalid window number");
|
||||||
|
static const char e_argument_of_str_must_be_list_string_or_dictionary[]
|
||||||
|
= N_("E706: Argument of %s must be a List, String or Dictionary");
|
||||||
static const char e_invalid_submatch_number_nr[]
|
static const char e_invalid_submatch_number_nr[]
|
||||||
= N_("E935: Invalid submatch number: %d");
|
= N_("E935: Invalid submatch number: %d");
|
||||||
static const char *e_reduceempty = N_("E998: Reduce of an empty %s with no initial value");
|
static const char *e_reduceempty = N_("E998: Reduce of an empty %s with no initial value");
|
||||||
@@ -997,8 +999,8 @@ static void f_count(typval_T *argvars, typval_T *rettv, EvalFuncData fptr)
|
|||||||
n = count_dict(argvars[0].vval.v_dict, &argvars[1], ic);
|
n = count_dict(argvars[0].vval.v_dict, &argvars[1], ic);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else if (!error) {
|
||||||
semsg(_(e_listdictarg), "count()");
|
semsg(_(e_argument_of_str_must_be_list_string_or_dictionary), "count()");
|
||||||
}
|
}
|
||||||
rettv->vval.v_number = n;
|
rettv->vval.v_number = n;
|
||||||
}
|
}
|
||||||
|
@@ -1627,7 +1627,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()
|
||||||
|
Reference in New Issue
Block a user