mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
patch 8.2.1977: Vim9: error for using a string in a condition is confusing
Problem: Vim9: error for using a string in a condition is confusing. Solution: Give a more specific error. Also adjust the compile time type checking for || and &&.
This commit is contained in:
@@ -3630,6 +3630,15 @@ tv2bool(typval_T *tv)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
emsg_using_string_as(typval_T *tv, int as_number)
|
||||
{
|
||||
semsg(_(as_number ? e_using_string_as_number_str
|
||||
: e_using_string_as_bool_str),
|
||||
tv->vval.v_string == NULL
|
||||
? (char_u *)"" : tv->vval.v_string);
|
||||
}
|
||||
|
||||
/*
|
||||
* If "tv" is a string give an error and return FAIL.
|
||||
*/
|
||||
@@ -3638,7 +3647,7 @@ check_not_string(typval_T *tv)
|
||||
{
|
||||
if (tv->v_type == VAR_STRING)
|
||||
{
|
||||
emsg(_(e_using_string_as_number));
|
||||
emsg_using_string_as(tv, TRUE);
|
||||
clear_tv(tv);
|
||||
return FAIL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user