# HG changeset patch # User Christian Brabandt # Date 1454787005 -3600 # Node ID 03e716299680dad63154fd19955b4329ea64fcbb # Parent 38b8e37027985d0e277f21c2fe11d9f0d99e29f9 commit https://github.com/vim/vim/commit/3712792637516aea7acf76a11533be1066952820 Author: Bram Moolenaar Date: Sat Feb 6 20:29:28 2016 +0100 patch 7.4.1271 Problem: assert_false(v:false) reports an error. (Nikolai Pavlov) Solution: Recognize v:true and v:false. (Closes https://github.com/vim/vim/issues/625) diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -9216,6 +9216,9 @@ assert_bool(typval_T *argvars, int isTru int error = FALSE; garray_T ga; + if (argvars[0].v_type == VAR_SPECIAL + && argvars[0].vval.v_number == (isTrue ? VVAL_TRUE : VV_FALSE)) + return; if (argvars[0].v_type != VAR_NUMBER || (get_tv_number_chk(&argvars[0], &error) == 0) == isTrue || error) diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim --- a/src/testdir/test_assert.vim +++ b/src/testdir/test_assert.vim @@ -2,11 +2,13 @@ func Test_assert_false() call assert_false(0) + call assert_false(v:false) endfunc func Test_assert_true() call assert_true(1) call assert_true(123) + call assert_true(v:true) endfunc func Test_assert_equal() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1271, +/**/ 1270, /**/ 1269,