Hello.
I think I found a bug with the “<” and “>” operators. If I don’t put spaces between the variable and the integer, the comparison is always False.
Here is some examples:
t: tests
$var50 = 50
$var200 = 200
# these two comparisons are always False, no matter the variable:
if($var50<100) { ok }
else { incoherent 1 }
if($var200>100) { ok }
else { incoherent 2 }
# these comparisons work properly:
if($var50 < 100) { ok }
else { incoherent 3 }
if($var200 > 100) { ok }
else { incoherent 4 }
if($var50<=100) { ok }
else { incoherent 5 }
if($var200>=100) { ok }
else { incoherent 6 }
And then there is this one, if I don’t put spaces and the variable is called via a macro, the comparison is always True:
outputmacro: ^test(^variable)
# this comparison is always True, no matter the variable:
if(^variable>100) { over 100 }
else { under 100 }
$var = ^variable
# this comparison is always False, like in my first example:
if($var>100) { over 100 }
else { under 100 }
topic: ~debut repeat []
t: please type a number.
u: (_~number)
your number is ^test(_0)
Is this a bug or a feature I didn’t read about?
Anyway this is disturbing, and it took me a long time to figure out what was the problem.
I hope it helps.