1
0
forked from aniani/vim

patch 9.0.0491: no good reason to build without the float feature

Problem:    No good reason to build without the float feature.
Solution:   Remove configure check for float and "#ifdef FEAT_FLOAT".
This commit is contained in:
Bram Moolenaar
2022-09-17 21:08:33 +01:00
parent 1c3dd8ddcb
commit 73e28dcc61
74 changed files with 589 additions and 1152 deletions

View File

@@ -18,9 +18,7 @@ def Test_expr1_ternary()
assert_equal('one', 1 ?
'one' :
'two')
if has('float')
assert_equal('one', !!0.1 ? 'one' : 'two')
endif
assert_equal('one', !!0.1 ? 'one' : 'two')
assert_equal('one', !!'x' ? 'one' : 'two')
assert_equal('one', !!'x'
? 'one'
@@ -33,9 +31,7 @@ def Test_expr1_ternary()
assert_equal('two', false ? 'one' : 'two')
assert_equal('two', 0 ? 'one' : 'two')
if has('float')
assert_equal('two', !!0.0 ? 'one' : 'two')
endif
assert_equal('two', !!0.0 ? 'one' : 'two')
assert_equal('two', !!'' ? 'one' : 'two')
assert_equal('two', !!0z ? 'one' : 'two')
assert_equal('two', !![] ? 'one' : 'two')
@@ -208,9 +204,7 @@ func Test_expr1_ternary_fails()
call v9.CheckDefExecAndScriptFailure(["var x = true ? xxx : 'foo'"], ['E1001:', 'E121:'], 1)
call v9.CheckDefExecAndScriptFailure(["var x = false ? 'foo' : xxx"], ['E1001:', 'E121:'], 1)
if has('float')
call v9.CheckDefAndScriptFailure(["var x = 0.1 ? 'one' : 'two'"], 'E805:', 1)
endif
call v9.CheckDefAndScriptFailure(["var x = 0.1 ? 'one' : 'two'"], 'E805:', 1)
" missing argument detected even when common type is used
call v9.CheckDefAndScriptFailure([
@@ -227,18 +221,14 @@ def Test_expr1_falsy()
assert_equal('yes', 'yes' ?? 456)
assert_equal([1], [1] ?? 456)
assert_equal({one: 1}, {one: 1} ?? 456)
if has('float')
assert_equal(0.1, 0.1 ?? 456)
endif
assert_equal(0.1, 0.1 ?? 456)
assert_equal(456, v:false ?? 456)
assert_equal(456, 0 ?? 456)
assert_equal(456, '' ?? 456)
assert_equal(456, [] ?? 456)
assert_equal(456, {} ?? 456)
if has('float')
assert_equal(456, 0.0 ?? 456)
endif
assert_equal(456, 0.0 ?? 456)
END
v9.CheckDefAndScriptSuccess(lines)
@@ -567,9 +557,7 @@ let anull = v:null
let anint = 10
let theone = 1
let thefour = 4
if has('float')
let afloat = 0.1
endif
let afloat = 0.1
let astring = 'asdf'
let ablob = 0z01ab
let alist = [2, 3, 4]
@@ -605,20 +593,18 @@ def Test_expr4_equal()
assert_equal(true, g:anint == 10)
assert_equal(false, 61 == g:anint)
if has('float')
var ff = 0.3
assert_equal(true, ff == 0.3)
assert_equal(false, 0.4 == ff)
assert_equal(true, 0.1 == g:afloat)
assert_equal(false, g:afloat == 0.3)
var ff = 0.3
assert_equal(true, ff == 0.3)
assert_equal(false, 0.4 == ff)
assert_equal(true, 0.1 == g:afloat)
assert_equal(false, g:afloat == 0.3)
ff = 3.0
assert_equal(true, ff == 3)
assert_equal(true, 3 == ff)
ff = 3.1
assert_equal(false, ff == 3)
assert_equal(false, 3 == ff)
endif
ff = 3.0
assert_equal(true, ff == 3)
assert_equal(true, 3 == ff)
ff = 3.1
assert_equal(false, ff == 3)
assert_equal(false, 3 == ff)
assert_equal(true, 'abc' == 'abc')
assert_equal(false, 'xyz' == 'abc')
@@ -706,20 +692,18 @@ def Test_expr4_equal()
v9.CheckScriptFailure(lines, 'E1030: Using a String as a Number: "3"')
assert_true(g:notReached)
if has('float')
lines =<< trim END
vim9script
var n: any = 2.2
def Compare()
eval n == '3'
g:notReached = false
enddef
g:notReached = true
Compare()
END
v9.CheckScriptFailure(lines, 'E892: Using a String as a Float')
assert_true(g:notReached)
endif
lines =<< trim END
vim9script
var n: any = 2.2
def Compare()
eval n == '3'
g:notReached = false
enddef
g:notReached = true
Compare()
END
v9.CheckScriptFailure(lines, 'E892: Using a String as a Float')
assert_true(g:notReached)
unlet g:notReached
enddef
@@ -746,16 +730,14 @@ def Test_expr4_compare_null()
assert_true(null != 123)
assert_true(null != 0)
if has('float')
assert_false(12.3 == null)
assert_false(0.0 == null)
assert_false(null == 12.3)
assert_false(null == 0.0)
assert_true(12.3 != null)
assert_true(0.0 != null)
assert_true(null != 12.3)
assert_true(null != 0.0)
endif
assert_false(12.3 == null)
assert_false(0.0 == null)
assert_false(null == 12.3)
assert_false(null == 0.0)
assert_true(12.3 != null)
assert_true(0.0 != null)
assert_true(null != 12.3)
assert_true(null != 0.0)
assert_true(test_null_blob() == v:null)
assert_true(null_blob == null)
@@ -1077,20 +1059,18 @@ def Test_expr4_notequal()
assert_equal(false, g:anint != 10)
assert_equal(true, 61 != g:anint)
if has('float')
var ff = 0.3
assert_equal(false, 0.3 != ff)
assert_equal(true, 0.4 != ff)
assert_equal(false, 0.1 != g:afloat)
assert_equal(true, g:afloat != 0.3)
var ff = 0.3
assert_equal(false, 0.3 != ff)
assert_equal(true, 0.4 != ff)
assert_equal(false, 0.1 != g:afloat)
assert_equal(true, g:afloat != 0.3)
ff = 3.0
assert_equal(false, ff != 3)
assert_equal(false, 3 != ff)
ff = 3.1
assert_equal(true, ff != 3)
assert_equal(true, 3 != ff)
endif
ff = 3.0
assert_equal(false, ff != 3)
assert_equal(false, 3 != ff)
ff = 3.1
assert_equal(true, ff != 3)
assert_equal(true, 3 != ff)
assert_equal(false, 'abc' != 'abc')
assert_equal(true, 'xyz' != 'abc')
@@ -1149,13 +1129,11 @@ def Test_expr4_greater()
assert_false(nr2 > 2)
assert_false(nr2
> 3)
if has('float')
var ff = 2.0
assert_true(ff > 0.0)
assert_true(ff > 1.0)
assert_false(ff > 2.0)
assert_false(ff > 3.0)
endif
var ff = 2.0
assert_true(ff > 0.0)
assert_true(ff > 1.0)
assert_false(ff > 2.0)
assert_false(ff > 3.0)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
@@ -1171,12 +1149,10 @@ def Test_expr4_greaterequal()
assert_true(nr2 >= 0)
assert_true(nr2 >= 2)
assert_false(nr2 >= 3)
if has('float')
var ff = 2.0
assert_true(ff >= 0.0)
assert_true(ff >= 2.0)
assert_false(ff >= 3.0)
endif
var ff = 2.0
assert_true(ff >= 0.0)
assert_true(ff >= 2.0)
assert_false(ff >= 3.0)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
@@ -1193,12 +1169,10 @@ def Test_expr4_smaller()
assert_false(nr2 < 0)
assert_false(nr2 < 2)
assert_true(nr2 < 3)
if has('float')
var ff = 2.0
assert_false(ff < 0.0)
assert_false(ff < 2.0)
assert_true(ff < 3.0)
endif
var ff = 2.0
assert_false(ff < 0.0)
assert_false(ff < 2.0)
assert_true(ff < 3.0)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
@@ -1217,13 +1191,11 @@ def Test_expr4_smallerequal()
assert_false(nr2 <= 1)
assert_true(nr2 <= 2)
assert_true(nr2 <= 3)
if has('float')
var ff = 2.0
assert_false(ff <= 0.0)
assert_false(ff <= 1.0)
assert_true(ff <= 2.0)
assert_true(ff <= 3.0)
endif
var ff = 2.0
assert_false(ff <= 0.0)
assert_false(ff <= 1.0)
assert_true(ff <= 2.0)
assert_true(ff <= 3.0)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
@@ -1456,10 +1428,8 @@ func Test_expr4_fails()
call v9.CheckDefAndScriptFailure(["var x = v:none isnot v:null"], 'Cannot use "isnot" with special', 1)
call v9.CheckDefAndScriptFailure(["var x = 123 is 123"], 'Cannot use "is" with number', 1)
call v9.CheckDefAndScriptFailure(["var x = 123 isnot 123"], 'Cannot use "isnot" with number', 1)
if has('float')
call v9.CheckDefAndScriptFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1)
call v9.CheckDefAndScriptFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1)
endif
call v9.CheckDefAndScriptFailure(["var x = 1.3 is 1.3"], 'Cannot use "is" with float', 1)
call v9.CheckDefAndScriptFailure(["var x = 1.3 isnot 1.3"], 'Cannot use "isnot" with float', 1)
call v9.CheckDefAndScriptFailure(["var x = 0za1 > 0z34"], 'Cannot compare blob with blob', 1)
call v9.CheckDefAndScriptFailure(["var x = 0za1 >= 0z34"], 'Cannot compare blob with blob', 1)
@@ -1518,9 +1488,7 @@ def Test_expr6()
assert_equal('afalse', 'a' .. false)
assert_equal('anull', 'a' .. v:null)
assert_equal('av:none', 'a' .. v:none)
if has('float')
assert_equal('a0.123', 'a' .. 0.123)
endif
assert_equal('a0.123', 'a' .. 0.123)
assert_equal(3, 1 + [2, 3, 4][0])
assert_equal(5, 2 + {key: 3}['key'])
@@ -1719,31 +1687,27 @@ def Test_expr6_vim9script_channel()
enddef
def Test_expr6_float()
if !has('float')
MissingFeature 'float'
else
var lines =<< trim END
assert_equal(66.0, 60.0 + 6.0)
assert_equal(66.0, 60.0 + 6)
assert_equal(66.0, 60 +
6.0)
assert_equal(5.1, g:afloat
+ 5)
assert_equal(8.1, 8 + g:afloat)
assert_equal(10.1, g:anint + g:afloat)
assert_equal(10.1, g:afloat + g:anint)
var lines =<< trim END
assert_equal(66.0, 60.0 + 6.0)
assert_equal(66.0, 60.0 + 6)
assert_equal(66.0, 60 +
6.0)
assert_equal(5.1, g:afloat
+ 5)
assert_equal(8.1, 8 + g:afloat)
assert_equal(10.1, g:anint + g:afloat)
assert_equal(10.1, g:afloat + g:anint)
assert_equal(54.0, 60.0 - 6.0)
assert_equal(54.0, 60.0
- 6)
assert_equal(54.0, 60 - 6.0)
assert_equal(-4.9, g:afloat - 5)
assert_equal(7.9, 8 - g:afloat)
assert_equal(9.9, g:anint - g:afloat)
assert_equal(-9.9, g:afloat - g:anint)
END
v9.CheckDefAndScriptSuccess(lines)
endif
assert_equal(54.0, 60.0 - 6.0)
assert_equal(54.0, 60.0
- 6)
assert_equal(54.0, 60 - 6.0)
assert_equal(-4.9, g:afloat - 5)
assert_equal(7.9, 8 - g:afloat)
assert_equal(9.9, g:anint - g:afloat)
assert_equal(-9.9, g:afloat - g:anint)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
func Test_expr6_fails()
@@ -1852,14 +1816,12 @@ def Test_expr7()
var y = [3]
assert_equal(5, x[0] + y[0])
assert_equal(6, x[0] * y[0])
if has('float')
var xf = [2.0]
var yf = [3.0]
assert_equal(5.0, xf[0]
+ yf[0])
assert_equal(6.0, xf[0]
* yf[0])
endif
var xf = [2.0]
var yf = [3.0]
assert_equal(5.0, xf[0]
+ yf[0])
assert_equal(6.0, xf[0]
* yf[0])
END
v9.CheckDefAndScriptSuccess(lines)
@@ -1874,13 +1836,11 @@ def Test_expr7()
v9.CheckDefExecFailure(['echo 123 / g:zero'], 'E1154: Divide by zero')
v9.CheckDefExecFailure(['echo 123 % g:zero'], 'E1154: Divide by zero')
if has('float')
v9.CheckDefExecAndScriptFailure([
'g:one = 1.0',
'g:two = 2.0',
'echo g:one % g:two',
], 'E804', 3)
endif
v9.CheckDefExecAndScriptFailure([
'g:one = 1.0',
'g:two = 2.0',
'echo g:one % g:two',
], 'E804', 3)
lines =<< trim END
var n = 0
@@ -1948,36 +1908,32 @@ def Test_expr7_vim9script()
enddef
def Test_expr7_float()
if !has('float')
MissingFeature 'float'
else
var lines =<< trim END
assert_equal(36.0, 6.0 * 6)
assert_equal(36.0, 6 *
6.0)
assert_equal(36.0, 6.0 * 6.0)
assert_equal(1.0, g:afloat * g:anint)
var lines =<< trim END
assert_equal(36.0, 6.0 * 6)
assert_equal(36.0, 6 *
6.0)
assert_equal(36.0, 6.0 * 6.0)
assert_equal(1.0, g:afloat * g:anint)
assert_equal(10.0, 60 / 6.0)
assert_equal(10.0, 60.0 /
6)
assert_equal(10.0, 60.0 / 6.0)
assert_equal(0.01, g:afloat / g:anint)
assert_equal(10.0, 60 / 6.0)
assert_equal(10.0, 60.0 /
6)
assert_equal(10.0, 60.0 / 6.0)
assert_equal(0.01, g:afloat / g:anint)
assert_equal(4.0, 6.0 * 4 / 6)
assert_equal(4.0, 6 *
4.0 /
6)
assert_equal(4.0, 6 * 4 / 6.0)
assert_equal(4.0, 6.0 * 4.0 / 6)
assert_equal(4.0, 6 * 4.0 / 6.0)
assert_equal(4.0, 6.0 * 4 / 6.0)
assert_equal(4.0, 6.0 * 4.0 / 6.0)
assert_equal(4.0, 6.0 * 4 / 6)
assert_equal(4.0, 6 *
4.0 /
6)
assert_equal(4.0, 6 * 4 / 6.0)
assert_equal(4.0, 6.0 * 4.0 / 6)
assert_equal(4.0, 6 * 4.0 / 6.0)
assert_equal(4.0, 6.0 * 4 / 6.0)
assert_equal(4.0, 6.0 * 4.0 / 6.0)
assert_equal(4.0, 6.0 * 4.0 / 6.0)
END
v9.CheckDefAndScriptSuccess(lines)
endif
assert_equal(4.0, 6.0 * 4.0 / 6.0)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
func Test_expr7_fails()
@@ -2013,9 +1969,7 @@ func Test_expr7_fails()
call v9.CheckDefAndScriptFailure(["var x = {one: 1} % {two: 2}"], ['E1035:', 'E728:'], 1)
call v9.CheckDefAndScriptFailure(["var x = 0xff[1]"], ['E1107:', 'E1062:'], 1)
if has('float')
call v9.CheckDefAndScriptFailure(["var x = 0.7[1]"], ['E1107:', 'E806:'], 1)
endif
call v9.CheckDefAndScriptFailure(["var x = 0.7[1]"], ['E1107:', 'E806:'], 1)
for op in ['*', '/', '%']
let lines = ['var x = 1', op .. '2', '# comment']
@@ -2025,16 +1979,14 @@ func Test_expr7_fails()
endfunc
func Test_expr7_float_fails()
CheckFeature float
call v9.CheckDefAndScriptFailure(["var x = 1.0 % 2"], ['E1035:', 'E804:'], 1)
endfunc
" define here to use old style parsing
if has('float')
let g:float_zero = 0.0
let g:float_neg = -9.8
let g:float_big = 9.9e99
endif
let g:float_zero = 0.0
let g:float_neg = -9.8
let g:float_big = 9.9e99
let g:blob_empty = 0z
let g:blob_one = 0z01
let g:blob_long = 0z0102.0304
@@ -2099,17 +2051,13 @@ enddef
def Test_expr9_float()
# float constant
if !has('float')
MissingFeature 'float'
else
var lines =<< trim END
assert_equal(g:float_zero, .0)
assert_equal(g:float_zero, 0.0)
assert_equal(g:float_neg, -9.8)
assert_equal(g:float_big, 9.9e99)
END
v9.CheckDefAndScriptSuccess(lines)
endif
var lines =<< trim END
assert_equal(g:float_zero, .0)
assert_equal(g:float_zero, 0.0)
assert_equal(g:float_neg, -9.8)
assert_equal(g:float_big, 9.9e99)
END
v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_expr9_blob()
@@ -2797,11 +2745,9 @@ def Test_expr9_dict()
assert_equal('numberexpr', dkeys[12])
assert_equal('number', dkeys[34])
assert_equal('bool', dkeys[true])
if has('float')
dkeys = {[1.2]: 'floatexpr', [3.4]: 'float'}
assert_equal('floatexpr', dkeys[1.2])
assert_equal('float', dkeys[3.4])
endif
dkeys = {[1.2]: 'floatexpr', [3.4]: 'float'}
assert_equal('floatexpr', dkeys[1.2])
assert_equal('float', dkeys[3.4])
# automatic conversion from number to string
var n = 123