On Tue, 15 Mar 2016, Sven Schreiber wrote:
<hansl>
function void heyhey (void)
if 0
print "we shouldn't get here if jack==0"
matrix ba.V = ba.U' # does not cause error
genr bb.V = bb.U' # does not cause error
bc.V = transp(bc.U) # does not cause error
boo.V = boo.U' # but this does
endif
print "we probably don't get here because of the error"
end function
heyhey()
</hansl>
Ok, I admit I didn't mention before it seems to have to do with
function calls...
Actually, putting the relevant code inside a function is not
necessary to trigger this bug. Here's the minimal "offending"
script:
<hansl>
if 0
b.V = b.U'
endif
</hansl>
When execution is masked by "if <false condition>" we still have to
do _some_ parsing of the statements, to discover if we've hit an
"else", "elif" or "endif". But the way things stand,
we're taking
that parsing too far. A fix will not be long in coming, but I need
to figure the best way of preventing the parsing from going too
deep.
Allin