]> granicus.if.org Git - vim/commitdiff
patch 7.4.1178 v7.4.1178
authorBram Moolenaar <Bram@vim.org>
Mon, 25 Jan 2016 19:22:54 +0000 (20:22 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 25 Jan 2016 19:22:54 +0000 (20:22 +0100)
Problem:    empty() doesn't work for the new special variables.
Solution:   Make empty() work. (Damien)

src/eval.c
src/testdir/test_viml.vim
src/version.c

index d08269fc922468586af135eb831da90e3c9ede5b..359956be1a0e3f5f51838dfe315eddf5e2e7c040 100644 (file)
@@ -10578,6 +10578,10 @@ f_empty(argvars, rettv)
            n = argvars[0].vval.v_dict == NULL
                        || argvars[0].vval.v_dict->dv_hashtab.ht_used == 0;
            break;
+       case VAR_SPECIAL:
+           n = argvars[0].vval.v_number != VVAL_TRUE;
+           break;
+
        default:
            EMSG2(_(e_intern2), "f_empty()");
            n = 0;
index f32331a61cdc16b2c1d4ad181180a4e9c7ecdfd9..6b2b6b988b084875eab1ff9ee7fd6ca2163689cc 100644 (file)
@@ -987,6 +987,11 @@ func Test_type()
     call assert_equal(v:true, eval(string(v:true)))
     call assert_equal(v:none, eval(string(v:none)))
     call assert_equal(v:null, eval(string(v:null)))
+
+    call assert_true(empty(v:false))
+    call assert_false(empty(v:true))
+    call assert_true(empty(v:null))
+    call assert_true(empty(v:none))
 endfunc
 
 "-------------------------------------------------------------------------------
index 298372e837de906adf5c4080d8796eb37ae09692..0a0bc1d179d551adc38483d0650b4f8433254b8b 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1178,
 /**/
     1177,
 /**/