Skip to content

Commit 767d8c1

Browse files
committed
patch 7.4.1178
Problem: empty() doesn't work for the new special variables. Solution: Make empty() work. (Damien)
1 parent 5aec481 commit 767d8c1

3 files changed

Lines changed: 11 additions & 0 deletions

File tree

src/eval.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10578,6 +10578,10 @@ f_empty(argvars, rettv)
1057810578
n = argvars[0].vval.v_dict == NULL
1057910579
|| argvars[0].vval.v_dict->dv_hashtab.ht_used == 0;
1058010580
break;
10581+
case VAR_SPECIAL:
10582+
n = argvars[0].vval.v_number != VVAL_TRUE;
10583+
break;
10584+
1058110585
default:
1058210586
EMSG2(_(e_intern2), "f_empty()");
1058310587
n = 0;

src/testdir/test_viml.vim

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,11 @@ func Test_type()
987987
call assert_equal(v:true, eval(string(v:true)))
988988
call assert_equal(v:none, eval(string(v:none)))
989989
call assert_equal(v:null, eval(string(v:null)))
990+
991+
call assert_true(empty(v:false))
992+
call assert_false(empty(v:true))
993+
call assert_true(empty(v:null))
994+
call assert_true(empty(v:none))
990995
endfunc
991996

992997
"-------------------------------------------------------------------------------

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,8 @@ static char *(features[]) =
746746

747747
static int included_patches[] =
748748
{ /* Add new patch number below this line */
749+
/**/
750+
1178,
749751
/**/
750752
1177,
751753
/**/

0 commit comments

Comments
 (0)