Something must have changed recently in how ImageJ parses expressions consisting of both string (text) and number values, as noted recently by a user of IJ_Rhizo on Twitter:
The following macro snippet reproduces the issue:
calVal = 42; counts = newArray(1,2,3); j=2; ImRes=12.7; print(calVal+" "+counts[j] * (25.4/ImRes) );
‘)’ expected in line 6: print ( calVal + " " + counts [ j ] <*> ( 25.4 / ImRes ) ) ;
@Wayne did something change recently in the way how ImageJ1 parses these expressions?
Workaround: the issue can be mitigated by adding two parentheses to the
print(calVal+" "+(counts[j] * (25.4/ImRes)) );