patch 7.4.1271
Problem: assert_false(v:false) reports an error. (Nikolai Pavlov)
Solution: Recognize v:true and v:false. (Closes #625)
diff --git a/src/eval.c b/src/eval.c
index 7ce739c..1c2bd61 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -9216,6 +9216,9 @@
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
index 22046e2..6d2f800 100644
--- 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
index 74518d9..471bd34 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1271,
+/**/
1270,
/**/
1269,