patch 9.1.2122: Vim9: Negating a float doesn't result in a bool

Problem:  Vim9: Negating a float doesn't result in a boolean
          (kennypete)
Solution: Make it return a boolean (Yegappan Lakshmanan).

related: #19282
related: #19289

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Yegappan Lakshmanan
2026-01-31 10:25:50 +00:00
committed by Christian Brabandt
parent f5466b5a73
commit 3a5e57fc7e
3 changed files with 8 additions and 0 deletions
+1
View File
@@ -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;
+5
View File
@@ -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
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2122,
/**/
2121,
/**/