diff --git a/src/eval.c b/src/eval.c index d2f06fd114..71bd353701 100644 --- a/src/eval.c +++ b/src/eval.c @@ -5421,6 +5421,7 @@ eval9_leader( { rettv->v_type = VAR_BOOL; val = f == 0.0 ? VVAL_TRUE : VVAL_FALSE; + type = VAR_BOOL; } else f = !f; diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim index 4551ea5eb9..ab0b02a6d1 100644 --- a/src/testdir/test_vim9_expr.vim +++ b/src/testdir/test_vim9_expr.vim @@ -4117,6 +4117,11 @@ def Test_expr9_not() assert_equal(false, ![1, 2, 3]->reverse()) assert_equal(true, ![]->reverse()) + + # float + assert_equal(true, !0.0) + assert_equal(false, !1.0) + assert_equal(false, !25.678) END v9.CheckDefAndScriptSuccess(lines) enddef diff --git a/src/version.c b/src/version.c index 8279563519..78ae26eef0 100644 --- a/src/version.c +++ b/src/version.c @@ -734,6 +734,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2122, /**/ 2121, /**/