diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-03-02 13:13:30 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-02 13:13:30 +0000 |
commit | c6e9d7063d275139d3c207435d293271c8b556ab (patch) | |
tree | 0ebcf48be9c54b8201167e854ea633563fec624c | |
parent | f6b0c79742727948edee78cb1a3a9a4e3be8b0fd (diff) | |
download | vim-git-c6e9d7063d275139d3c207435d293271c8b556ab.tar.gz |
patch 8.2.4489: failing test for comparing v:null with numberv8.2.4489
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.
-rw-r--r-- | src/testdir/test_vimscript.vim | 7 | ||||
-rw-r--r-- | src/typval.c | 9 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/src/testdir/test_vimscript.vim b/src/testdir/test_vimscript.vim index f497498ba..24dfd1b23 100644 --- a/src/testdir/test_vimscript.vim +++ b/src/testdir/test_vimscript.vim @@ -6546,9 +6546,16 @@ func Test_type() call assert_true(v:true != v:false) call assert_true(v:null == 0) + call assert_false(v:null == 1) call assert_false(v:null != 0) call assert_true(v:none == 0) + call assert_false(v:none == 1) 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:true is v:true) diff --git a/src/typval.c b/src/typval.c index 38b81e884..e89ba9e76 100644 --- a/src/typval.c +++ b/src/typval.c @@ -1405,6 +1405,15 @@ typval_compare_null(typval_T *tv1, typval_T *tv2) case VAR_LIST: return tv->vval.v_list == NULL; case VAR_PARTIAL: return tv->vval.v_partial == 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; } } diff --git a/src/version.c b/src/version.c index 3918e7439..b212379ce 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4489, +/**/ 4488, /**/ 4487, |