I found something related to fixing testbraket, as it affects v7.72 but not v7.71
As a side-effect of this, I find that my $window font jumps into being some proportional font instead of Consolas, except returns to normal for the duration of highlighting text with the mouse.
It took me a while to figure out the cause since the syntax error happened at the top of the script and the { } orphan block was way down at the bottom where it could not possibly ever be executed. And sometimes the line number being reported wasn't actually an error, but was a line holding something like "inc %variable"
But Wims pointed out it's happening due to trying to look for an :error label, and happens when the orphan block occurs prior to finding the label, regardless whether the label is there or not.
There's no long delay, and the mem alloc error doesn't happen if I put above the orphan { } block...
:error | echo -a $error | halt
... but does still happen if that's placed below the orphan block because the :error label can't be found, so it keeps sucking up memory looking for the :error which hopefully it never finds. Calling it this next way does confirm that the error is not caused by the displaying of the error message, but happens prior.
//var %start $ticksqpc | error_allocating_memory_if_error_message | halt | :error | echo -a pause after $calc($ticksqpc - %start) ms : $error
pause after 43907 ms : * Error allocating command memory (line NNN, aliases.ini)
error_allocating_memory_if_error_message {
var %start $ticksqpc
echo -a if parm1 is blank then instead of the echo error you should get, it shows * Error allocating command memory
echo -ag $1
echo -a test2
halt
; mem alloc error prevented by removing x from label
:errorx | echo -a $error | halt
if (foo == bar)
{
It's safe to put comments and instructions since this can't ever be executed, right? :)
}
:error
echo -a cannot see this unless it is above the { } block $error
halt
}