0
0
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:
Bram Moolenaar
2020-11-12 12:08:51 +01:00
parent 6f6244855f
commit ea2d407f9c
9 changed files with 83 additions and 53 deletions

View File

@@ -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;
}