0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.4489: failing test for comparing v:null with number

Problem:    Failing test for comparing v:null with number.
Solution:   Allow comparing v:null with number in legacy script.
            (Ken Takata, closes #9873)  Also do this for float.
This commit is contained in:
Bram Moolenaar
2022-03-02 13:13:30 +00:00
parent f6b0c79742
commit c6e9d7063d
3 changed files with 18 additions and 0 deletions

View File

@@ -6546,9 +6546,16 @@ func Test_type()
call assert_true(v:true != v:false) call assert_true(v:true != v:false)
call assert_true(v:null == 0) call assert_true(v:null == 0)
call assert_false(v:null == 1)
call assert_false(v:null != 0) call assert_false(v:null != 0)
call assert_true(v:none == 0) call assert_true(v:none == 0)
call assert_false(v:none == 1)
call assert_false(v:none != 0) call assert_false(v:none != 0)
if has('float')
call assert_true(v:null == 0.0)
call assert_false(v:null == 0.1)
call assert_false(v:null != 0.0)
endif
call assert_true(v:false is v:false) call assert_true(v:false is v:false)
call assert_true(v:true is v:true) call assert_true(v:true is v:true)

View File

@@ -1405,6 +1405,15 @@ typval_compare_null(typval_T *tv1, typval_T *tv2)
case VAR_LIST: return tv->vval.v_list == NULL; case VAR_LIST: return tv->vval.v_list == NULL;
case VAR_PARTIAL: return tv->vval.v_partial == NULL; case VAR_PARTIAL: return tv->vval.v_partial == NULL;
case VAR_STRING: return tv->vval.v_string == NULL; case VAR_STRING: return tv->vval.v_string == NULL;
case VAR_NUMBER: if (!in_vim9script())
return tv->vval.v_number == 0;
break;
#ifdef FEAT_FLOAT
case VAR_FLOAT: if (!in_vim9script())
return tv->vval.v_float == 0.0;
break;
#endif
default: break; default: break;
} }
} }

View File

@@ -754,6 +754,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 */
/**/
4489,
/**/ /**/
4488, 4488,
/**/ /**/