ml/i test -- macrotime
tests macro expressions and macro-time statements
macros tested are: mc-go,mc-set,mcsub,mcleng,mc-pvar,mc-note
mcdef t2val as %t2.
mcins%.
t2val sb 3 (this will be wrong if extra calls have been added)
mcgo error pvars unless%p1.%p2.%p3.%p4.%p5.=00000
mcgo  error pvars unless%p6.%p7.%p8.%p9.%p10.=00000
mcset p10=2
mcskip mt,<>
mcskip nonl withs nl
mcset p1=6
mcsub(x1x,mcleng(ab),mcleng(a)+1 )mcsub(x23,p1/3,0)nonl
mcsub(4x,-1,1)mcsub(mcsub (5xx ,1,-1),1,-1) sb 12345
mcsub(,1,1)mcsub( a ,1,2)mcsub(ab,2,1)mcsub(a,1,-1)nonl
mcsub(a,p1,p1)mcleng()mcleng(mcleng(a)) sb 01
mcset p1=3
mcset p2=20
mcset p3=1
%p3.%pp1 +1.%+4*+--3-27/3.%16/2/2.%-p2 /-4.%pppp1+5. sb 123456
mcset mcset p4=5
 pp4=mcset p6=%%1..
% %%p6...
%7/4.%4/4.%3/4.%-1/-4.%3/-4.%-1/4.%-8/4.%7/-4. sb 1100-1-1-2-2
successful gotos
mcgo l1
1%l1.mcgo l1 unless 1+1 en 1
2%l1.mcgo l%1234.if=
3%l1234.mcgo l mcgo l1
x%l1.1 if p1 ge p1-1
4%l1.mcgo l1 unless xxa =xxb
5%l1.mcgo l1 if p3 ge p3
6%l1.mcgo l2-1 if p3+1 ge p3
7%l1.now try unsuccessful gos
mcgo la if<a >=a
mcgo lb unless 1 en 1
mcgo lc if 60 gr %60.
mcgo ld if 6 gr 7
mcgo le if 71 ge 72
try gos within macro
mcdef gomacro; as<mcgo l1
% l 2.%t1-1.mcgo l3
%%a1..mcgo l2
%l3.%tp1.mcset t3=t3+1
mcgo l3 if 3 ge t3
mcgo l0
%l3.>
gomacro l1; sb 0123
mcpvar 50
mcpvar%5+5.
%p50.%p11+1.%p10.%p1. sb 0123
test bc on mc-go
1<>mcgo l1 if a bc l
1%l1.mcgo l1 if zz bc<  l  >
2%l1.mcgo l1 if 0090 bc n
3%l1.mcgo l1 if-+0123456789 bc n
4%l1 .mcgo l1 unless z90a-bc i
5%l1.mcgo l1 if abcdefghijklmnopqrstuvwxyz0123456789 bc i
6%l1.mcgo ll if a0 bc l
mcgo lm if bc i
mcgo ln if+-bc n
mcgo lp if+bc l
mcgo lq if 1+1 bc n
mcnote this is a mc-note message from line %s2+1. of source text
mcdef notest;
as<mcnote a mc-note within the macro <notest>
%a1.mcset s4=1
mcnote no environment should be printed with this mc-note
>
notest mcnote a mc-note within an argument to <notest>
;%3+%2.-%1.-2. sb 12
