changeset 7951:03e716299680 v7.4.1271

commit https://github.com/vim/vim/commit/3712792637516aea7acf76a11533be1066952820 Author: Bram Moolenaar <Bram@vim.org> 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)
author Christian Brabandt <cb@256bit.org>
date Sat, 06 Feb 2016 20:30:05 +0100
parents 38b8e3702798
children 4c95c85b2b45
files src/eval.c src/testdir/test_assert.vim src/version.c
diffstat 3 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- 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()
--- 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,