EI !check for options! 0uh 0ur j @:fs#/h##"s 1uh'  j @:fs#/v##"s 2uh'  j @:fs#/b##"s 3uh'  j @:fs#/r##"s %r'  !check if any file given! z"e (No files opened.)  ^uf oload macros ' !form input file specification! j :s."f zji.PAS' j hxf hk !open file for reading! qr"n :erqf"f (File does not exist.)  ^uf ' oload macros ' !open file for reading and writing! :ebqf"f ewqf (Creating new file.)  ^uf ' !load macros! !macro to edit macros for terminal! @^u9# qh"e !Fox Terminal! j <@fs/{UPDATE COUNT}/ X7  qd%s  qc:=  X 32+qs 13 /;> j <@fs/{KILL TO END}/I/;> j <@fs/{HOME}/H/;> j <@fs/{CLRBOT}/J/;> j <@fs/{CLRBOTN}/J/;> j <@fs/{CLRSCR}/HJ/;> j <@fs/{BACK}/Y32+:q1/;> j <@fs/{ALTERMSG}/ X7 CCCCCCCCC AlterX 32+qs 13 /;> j <@fs/{CLRALMSG}/ X7 CCCCCCCCC X 32+qs 13 /;> ' qh-1"e !HP Terminal! j <@fs/{UPDATE COUNT}/ 23-qs"n &a+ 23-qs:= R' qd%s  32 qc:=   23-qs"n &a- 23-qs:= R' 13 /;> j <@fs/{KILL TO END}/K/;> j <@fs/{HOME}/&a0y0C/;> j <@fs/{CLRBOT}/J/;> j <@fs/{CLRBOTN}/J/;> j <@fs/{CLRSCR}/&a0y0CJ/;> j <@fs/{BACK}/&a:q1:=C/;> j <@fs/{ALTERMSG}/ &a+ 23-qs:= R CCCCCCCCC Alter&a- 23-qs:= R 13 /;> j <@fs/{CLRALMSG}/ &a+ 23-qs:= R CCCCCCCCC &a- 23-qs:= R 13 /;> ' qh-2"e !VT52 Terminal! j <@fs/{UPDATE COUNT}/ Y7  qd%s  qc:=  Y 32+qs 32 /;> j <@fs/{KILL TO END}/K/;> j <@fs/{HOME}/H/;> j <@fs/{CLRBOT}/J/;> j <@fs/{CLRBOTN}/J/;> j <@fs/{CLRSCR}/HJ/;> j <@fs/{BACK}/Y832+:q1/;> j <@fs/{ALTERMSG}/ Y7 CCCCCCCCC AlterY 32+qs 32 /;> j <@fs/{CLRALMSG}/ Y7 CCCCCCCCC Y 32+qs 32 /;> ' qh-3"e !Bantam Terminal! j <@fs/{UPDATE COUNT}/ X7  qd%s  qc:=  X 32+qs 13 /;> j <@fs/{KILL TO END}/I20<0>/;> j <@fs/{HOME}/H/;> j <@fs/{CLRBOT}/ [4 [5 0u4 .u5 23-qs<.-z; %4 l> q5j q4<::ss  ^q-2"nI20<0>'10l> q5j q4"nX32+qs' ]5 ]4/;> j <@fs/{CLRBOTN}/ [4 [5 0u4 .u5 23-qs<.-z; %4 l> q5j q4<::ss  ^q-2"nI20<0>'10l> q5j X7 X 32+qs 13 ]5 ]4/;> j <@fs/{CLRSCR}/K20<0>/;> j <@fs/{BACK}/Y32+:q1/;> j <@fs/{ALTERMSG}/ X7 CCCCCCCCC AlterX 32+qs 13 /;> j <@fs/{CLRALMSG}/ X7 CCCCCCCCC X 32+qs 13 /;> ' # !ALTER CURRENT LINE! @i| [1 [2 [3 [4 [5 [6 [7 [g [k [n [p [x +0ux qx&127ux qx"e 27ux' .-z"e oexita' etu4 et#9et 0l 0u3 ^u1 qhu6 xp gp -l ^q-2< 0a-32"l 0a-27"e di$ oend1 ' 0a-13"goctl1' 0a-8"l !ctl1! i^ 0a+^^@i d oend1 ' ' c !end1! > 0l .,^q+.-2x2 k [2 ]g q9"e :g2 13' qx^u9 < u7 q7:^u9 q7-qx"e 0l 13 q9"e 10' 0; ' q7-^^["l q7-^^@"g 32%7 '' q7-21"e 0lk gp -l q6uh 13 {KILL TO END} :gg 13 0u3 [g ]2 ^u1 qx^u9 oenda ' q7-^^d"e ^q-2"g {KILL TO END} 1u1 0a-32"l 0a-27"n 0a-13"g 2u1' 0a-8"l 2u1' ' ' d q9"n qc"l -1%h ' ' q3"n g1g2 q3-:q2c .-:q1-q3,.x1 -:q1d ohop1 ' g2 -:q2c !hop1! q1d .,.+:q2-q1-q3x2 :g2 :q2d 0u3 {BACK} ' oenda ' q7-127"e 0^q"n 1u1 -1a-32"l -1a-27"n -1a-13"g 2u1' -1a-8"l 2u1' ' ' -d q9"n qc"l -1%h ' ' q3"n g1g2 .-:q2+q3,.x2 -:q2d ohop3 ' g1 !hop3! -q1d .-q3-:q1+q1,.x1 -:q1d 0u3 q1<8> {KILL TO END} :g2 {BACK} ' oenda ' q7-^^t"e ^q-2"g {KILL TO END} q9"n qc"l -(^q)+2%h '' ^q-2d q3"n g1g2 .-:q1-:q2,.-:q2+q3x1 -:q1-:q2+q3d 0u3 ' ^u2 ' oenda ' q7-^^i"e q3"n g1g2 .-:q1-:q2,.-:q2+q3x1 .-:q2+q3,.x2 0u3 -:q1-:q2d ' 0un < !topi! uk qk-qx"e qk:^u9 0; ' qk-10"e 7 oendi ' qk-13"e   7 oendi ' qk-127"e qn"n 1u2 odel' oendi ' qk-21"e qn"n qnu2 !del! g9 .-:q9,.-q2x9 -:q9-q2d q2u1 q2< -c 0a-32"l 0a-27"n 0a-13"g %1 ' 0a-8"l %1 ' ' ' > q2d -q2%n  q9"n qc"l -q2%h '' g1 -q1d .-:q1+q1,.x1 -:q1d {BACK} ohop2 ' oendi ' :q1+:q2-78"g 7 oendi ' qki qk:^u9 %n  q9"n qc"l %h  ' ' qk-32"l qk-27"e :^u1$ $ ohop2 ' qk-13"g octl4' qk-8"l !ctl4! i^ qk+^^@i :.-2,.x1 .-2,.t -2d ohop2 ' ' qk:^u1 qk !hop2! {KILL TO END} :g2 {BACK} !endi! > oenda ' q7-^^r"e q3"n g1g2 .-:q1-:q2,.-:q2+q3x1 .-:q2+q3,.x2 0u3 -:q1-:q2d ' ^u3 ^u5 < uk qk-qx"e qk:^u9 0; ' qk-10"e 7 oendr ' qk-13"e 7 oendr ' qk-127"e :q3"e oendr' g9 .-:q9,.-1x9 -:q9-1d -c 1u2 0a-32"l 0a-27"n 0a-13"g 2u2' 0a-8"l 2u2' ' ' q2<8> g3 -1auk .-:q3,.-1x3 -:q3-1d qki 1u1 qk-32"l qk-27"e i$ ohop6' qk-13"g octl7' qk-8"l !ctl7! i^ qk+^^@i 2u1 ohop6 ' qki !hop6! ' d .-q1,.t g2 .-:q2-q1,.x2 -:q2+q1d qk-32"l -q1d' g1 .-:q1,.-q2x1 -:q1-q2d g5 -q1d .-:q5+q1,.x5 -:q5d -c q1<8> q1-q2"n {KILL TO END} :g2 {BACK} ' oendr ' qk-21"e :q3"e oendr' g9 .-:q9,.-:q3x9 -:q9-:q3d :q3u2 :q3< -c 0a-32"l 0a-27"n 0a-13"g %2' 0a-8"l %2' ' ' > q2<8> g3 -:q3c :q3u1 :q3< 0a-32"l 0a-27"n 0a-13"g %1' 0a-8"l %1' ' ' c > :q3d g5 :g5 g2 .-:q2-q1,.x2 -:q2+q1d -:q5d ^u5 g1 .-:q1,.-q2x1 -:q1-q2d -:q3c ^u3 q1<8> q1-q2"n {KILL TO END} :g2 {BACK} ' oendr ' ^q-2"e oendr' qki 1u2 0a-32"l 0a-27"n 0a-13"g 2u2' 0a-8"l 2u2' ' ' 1u1 qk-32"l qk-27"e i$ ohop4 ' qk-13"g octl5' qk-8"l !ctl5! i^ qk+^^@i 2u1 ohop4 ' qki !hop4! ' :q1+:q2+q1-q2-79"g qk-32"l -q1d' -d 7 oendr ' qk:^u9 .,.+1:x3 d .-q1,.:x1 .-q1,.t qk-32"l -q1d' g2 .-:q2,.-:q2+q2:x5 .-:q2+q2,.x2 -:q2-q2d q1-q2"n {KILL TO END} :g2 {BACK} ' !endr! > oenda ' q7-32"e ^q-2"g 0a-32"l 0a-27"n 0a-13"goctl2' 0a-8"l !ctl2! C %3  ' ' ' C %3  c ' oenda ' q7-9"e 0u1 8< ^q-2"g 0a-32"l 0a-27"n 0a-13"g %1 ' 0a-8"l %1 ' ' ' c %1  ' > q1%3  q1<C> oenda ' q7-^^_"e 0^q"n -1a-32"l -1a-27"n -1a-13"g octl3' -1a-8"l !ctl3! 8 -1%3  ' ' ' 8 -1%3  -c ' oenda ' q7-8"e 0u1 8< 0^q"n -1a-32"l -1a-27"n -1a-13"g %1 ' -1a-8"l %1 ' ' ' %1  -c ' > -q1%3  q1<8> oenda ' q7-13"e   0^q"n -:q1u3 13 0l ' oenda ' q7-10"e ^q-2"g :q2-q3<C> ^q-2c :q2u3 ' oenda ' g9 .-:q9,.-1x9 -:q9-1d !enda! > !exita! q4et ]x ]p ]n ]k ]g ]7 ]6 ]5 ]4 ]3 ]2 ]1 | m9 hxa hk !edit and load macro! !COUNT & DISPLAY LINES! @i| [b [d [f [h [s [u [x [2 [3 [4 +0ux qx&127ux qx"e 27ux' q9#1u9 et#8et et+1et {CLRSCR} et-1et !forward n lines! @^uf/ +0u3 .-z"n 0u2 q3<.-z; l %2> -q2l q2ud q2+qs-23u3 q3"l 0u3' q2%c  q2-q3l q3"n 23us 0ud q3-23"e et+1et {CLRSCR} et-1et ohop1 ' et+1et q2-q3<10> {KILL TO END} q3<10> q3<A> et-1et !hop1! q3t q3l ' ' / !back n lines! @^ub/ +0u3 ."n qs-q3"l 0u2 -qsl 23<-.; %2  -l> q2"e -qs%c  -qsud oendb ' et+1et {CLRSCR} et-1et 23t qs+q2-q3"l -23ud -qs-q2%c  23us oendb ' q2+qs-23-q3ud q2+qs-q3l 23us -q3%c  oendb ' -q3ud -q3l -q3%c  !endb! ' / 0l .uh 0u2 0u3 11<.-z"n l %3 '> qhj 23-q3<."n -l %2 '> 23-q2-q3"g q2+q3l 23-q2-q3<.-z"n l %3 '> j ' 0uc q2+q3us -q3ud q2+q3t q2l ^uu oupdat < !top! u4 q4-qx"e et+1et {CLRBOTN} et-1et qc= 0; ' q4-^^["l q4-^^@"g 32%4 '' q4-13"e   .-z"n 23mf oupdat ' ' q4-10"e .-z"n 1mf oupdat ' ' q4-^^_"e ."n 1mb oupdat ' ' q4-^^^"e ."n 23mb oupdat ' ' q4-^^]"e .-z"n 8mf oupdat ' ' q4-^^["e ."n 8mb oupdat ' ' q4-^^."e qc"n 0uc 0ud .uh oupdat ' ' q4-^^a"e .-z"n qs-23"n et+1et {ALTERMSG} et-1et qxma et+1et {CLRALMSG} et-1et otop ' ' et+1et 7 et-1et otop ' q4-^^o"e .-z"n qs-23"n mo otop ' ' et+1et 7 et-1et otop ' q4-^^d"e .-z"n qs-23"n xu l qc"l -:qu%h  %c ' 0u2 23-qs<.-z"n l %2 '> -q2-1l q2+qs-23"n -qsl ."n 23-qs-q2<-l %s  -.;> et+1et {HOME} et-1et qs k 0ud oupdat ' qsl ' et+1et {CLRBOT} et-1et k q2t q2+qsus -q2ud oupdat ' ' et+1et 7 et-1et otop ' q4-i"e qs-23"e .-z"n et+1et 7 et-1et otop'' 0ud mi oupdat ' q4-^^u"e :qu"e otop' et+1et {CLRBOT} et-1et gu -:quc qc"l :qu%h ' qc+1"g %c ' 0u2 qs-23"e -1%s ' 23-qs<.-z"n l %2 '> -q2l q2t :quc q2+qsus -q2+1ud oupdat ' otop !updat! et+1et {UPDATE COUNT} et-1et > et-8et q9&254u9 qhj ]4 ]3 ]2 ]x ]u ]s ]h ]f ]d ]b qc | m9 j 120xc 120k h:xc hk !edit and load macro! 0u9 !set flag to show not in mc! !LAST ALTERATION OVER AGAIN! @i| [1 [2 [3 [4 [p [t [x  :q9"e oout' 0l ^q-2u3 ^q-2< 0a-32"l 0a-27"n 0a-13"g %3 ' 0a-8"l %3 ' '' c > 0l .u4 zj g9 -:q9aux q4j :q9up < -qp; z-.-(-1%p)aut qt-qx"e 0l 0;' qt-^^["l qt-^^@"g 32%t ' ' qt-^^d"e ^q-2"g -1%3 0a-32"l 0a-27"n 0a-13"g -1%3 ' 0a-8"l -1%3 ' '' d q9"n qc"l -1%h '' ' oendo ' qt-127"e 0^q"n -1%3  0a-32"l 0a-27"n 0a-13"g -1%3 ' 0a-8"l -1%3 ' '' -d q9"n qc"l -1%h '' ' oendo ' qt-^^t"e ^q-2"g -^q+2%3  .u4 ^q-2< 0a-32"l 0a-27"n 0a-13"g -1%3 ' 0a-8"l -1%3 ' '' c > q4j q9"n qc"l -^q+2%h '' ^q-2d ' oendo ' qt-^^i"e < -qp; z-.-(-1%p)auk qk-qx"e 0;' q3-78"g oendi' qki q9"n qc"l %h '' %3  qk-32"l qk-27"n qk-13"g %3 ' qk-8"l %3 ' '' !endi! > oendo ' qt-^^r"e < -qp; z-.-(-1%p)auk qk-qx"e 0;' ^q-2"e oendr' qki 1u2 0a-32"l 0a-27"n 0a-13"g 2u2' 0a-8"l 2u2' '' 1u1 qk-32"l qk-27"n qk-13"g 2u1' qk-8"l 2u1' '' q3+q1-q2-79"g -d oendr' q3+q1-q2u3 d !endr! > oendo ' qt-32"e ^q-2"g c' oendo' qt-9"e 8< ^q-2"g c' > oendo' qt-^^_"e 0^q"n -c' oendo' qt-8"e 8< 0^q"n -c' > oendo' qt-13"e 0l oendo' qt-10"e ^q-2c oendo' !endo! > et+1et {KILL TO END} et-1et 0l .,^q+.-2t 13 q9"e 10' .u4 zj -:q9d q4j !out! ]x ]t ]p ]4 ]3 ]2 ]1 | m9 j 50xo 50k 25:xo 25k 25:xo 25k h:xo hk !edit and load macro! !INSERT LINES HERE! @i| [x [2 [3 [4 [5 [6 [7 +0ux qx&127ux qx"e27ux' etu6 et#9et 0l .u2 0u3 23<.-z; %3  l> q2j ^u4  :^u4  @^u2/ {CLRBOTN} 23-qs-1u5 q5+1"g q5-q8"l q8u5' ' q3-q5"l q3u5' q5"l 0u5' 10 q5t -q5-1ud qs-qdus qs-23"g 23us' {UPDATE COUNT} / @^u3/ 23-qsu5 q3-q5"l -qsl ."n -l %s  0ud {HOME} qs<{KILL TO END} et-1et t et+1et l> ohop1 ' qsl q3u5 ' 13i 10i -l {CLRBOT} k et-1et q5t et+1et -q5ud qs+q5us qs-23"g 23us' !hop1! / q9&1"n qc-1"l -1%c ' m2' < u7 q7-qx"e0;' q7-8"e qt<(-1a)-32"e -d q9&1"n qc"l -1%h '' 8'> oendi ' q7-9"e qt .-qt,.t q9&1"n qc"l qt%h '' oendi ' q7-10"e q9&1"n 7 oendi '' q7-13"e 13i 13 10i  q9&1"n %s  qc"l 2%h' qc"g %c ' m2 ' 0u7 q2-."n -l ::ss"s -(^s)u7 ^q-2"e 0k q9&1"n qc"l -q7%h '' ' ' l ' g4 q7-80d 0t q9&1"n qc"l q7%h '' oendi ' q7-21"e .u7 0l ::ss  .-q7"g q7j' .-q7"e 0l' q7-.u7 q9&1"n qc"l -q7%h '' q7< 0a-32"l 0a-27"n 0a-8"l %7 ' 0a-13"g %7 ' '' d > q7<8> {KILL TO END} oendi ' q7-127"e q2-."n -1a-10"e -2a-13"e q9&1"n m3 qc"g -1%c ' qc"l -2%h ' -1%d  {UPDATE COUNT} ' q9&1"e A ' -2d et-1et 13 0t et+1et oendi ' A -d q9&1"n qc"l -1%h '' oendi ' -1a-32"l -1a-27"n -1a-13"g octl1' -1a-8"l !ctl1! 8 32 8 ' '' -d 8 32 8 q9&1"n qc"l -1%h '' ' oendi ' q7i q9&1"n qc"l %h '' q7-32"l q7-27"e 36 oendi' q7-13"g 94 64%7 ' q7-8"l 94 64%7 ' ' q7 !endi! > 0^q"n 0u7 -(0^q)<-1%7a-32"n0;'> q7a-32"n q7+1d q9&1"n qc"l 1-q7%h ' %c  %s  0ud' 13i 10i 13 10 oexiti ' ' q9&1"n qc"l (0^q)%h '' 0k 13 q9&1"n m3 qc"l 1%c '' !exiti! q6et ]7 ]6 ]5 ]4 ]3 ]2 ]x | m9 hxi hk !edit and load macro! 3ut !set default tab to 3! !EDIT FROM TEMPLATE! !The macro is in the file ETPL.TEC, and is loaded if ever! !called for. The only problem is that it may not fit if ! !memory space is really tight. ! @^ue/ei[pascal]etpl/ ^u9 !yank first part of file if applicable! :qf"n y ^n"e (Only part of file in buffer.)  ' '