Google
 

Trailing-Edge - PDP-10 Archives - -
There are no other files named in the archive.
!%WU!
[O[V[W[X[Y::G(%SWIN)$F0J0,0FP [(%WINO)]O
!Compare!
.-(QOFQOUO .)"E F0-."N @O"Next New"''
Z-."E @O"Out"' (.+1-FZ)"G@O"Out"'
!Next! FPUXUY !* Save pos of start of difference !M(%LPOS)
!Next New! :C"U @O"Out"' (FZ-.)"L@O"Out"'
.-1,.T
FY-QY*1000+FX-QX"E@O"Compare"'()"L@O"Next New"'
FPUVUW !* remember pos !
[()[O]() QY,QXFP !* Open old window !
!Next Old! :C"U ]()QW,QVFP .,FZT @O"Out"'
.-1,.FF
FY-QW*1000+FX-QV"L@O"Next Old"' !* Need another char from old window? !
()#(FPUXUY .UO ]()QW,QVFP !* Back to main buffer !
0)"E @O"Compare"'
@O"Next New"
!Out! Q(%OEPOS)-($FY*1000+FX)"G M(%LPOS)::G(%EOS)'
FY*1000+FXU(%OEPOS) 0,18:W
]Y]X]W]V]O
!%LA36!
0,20:W
0,24:W
^O200000000000,26:W
^O200000000000,31:W
0,54:W
0:U(%DPYA)
0:U(%DPYN)
2,4ET
!%%WIN!
$0,8ET0,64ED 99999U(%OEPOS)
!Update window!W
FHX(%WIN)
!do immediate mode now if in effect!Q(%BUFF)J$M(%IMM)
FHX(%WIN)
64,0ED
!%$O!
[X$^TUX
QX-^^B"E1M(%BLKED)@O"END"'
QX-^^Z"E ^L1M(%BLKED)$@O"END"'
QX-^^E"N QX-^^A"N ^^O,QXM(%TES)''
!END!]X
!%FCN!
[X$^TUX
QX-27"EM(%F$)$@O"MORE"'
QX-^^1"EM(%ARG):M(%F1)$@O"MORE"'
QX-^^2"EM(%ARG):M(%F2)$@O"MORE"'
QX-^^3"EM(%ARG):M(%F3)$@O"MORE"'
QX-^^4"EM(%ARG):M(%F4)$@O"MORE"'
QX-^^5"EM(%ARG):M(%F5)$@O"MORE"'
QX-^^6"EM(%ARG):M(%F6)$@O"MORE"'
QX-^^7"EM(%ARG):M(%F7)$@O"MORE"'
QX-^^8"EM(%ARG):M(%F8)$@O"MORE"'
QX-^^9"EM(%ARG):M(%F9)$@O"MORE"'
QX-^^0"EM(%ARG)0U#$@O"END"'
QX-^^I"EM(%ARG)M(%INSM)@O"MORE"'
QX-^^i"EQ(%SGN)"E 0M(%INSM)| M(%ARG)M(%INSM)' @O"MORE"'
QX-96"G$-32%X' !* Convert to upper case !
QX-^^F"EM(%ARG)<::G(%INSLD)$0L@I\
\-L99999U(%OEPOS) 2%(%WWB)> :Q(%INSLD)"N [ F0J M(%SETWB) ] FHX(%WIN)@O"MORE"''
QX-^^D"E 0L.UX M(%ARG)<::G(%DELLU)$L>QX,.M(%SAVE)$ QX,.K 11U#
 :Q(%DELLU)"N FZ-(:Q(%0))FZ FHX(%WIN) @O"END"''
QX-^^Q"E F0J | QX-^^W"E FZJ ''
^^P,QXM(%TES) @O"MORE"
!MORE! 1U#
!END! ]X
!%INSM!
U(%INSM)
0:W-1"E[X[YFXUXFYUY Q(%INSM)"G ^^P,^^IM(%TES)| ^^P,^^iM(%TES)'
QYFY QXFX ]Y]X'
!%CDISP!
[XUX
!START!
QX-11"E.UX M(%ARG)-1E QX-."E L' QX,.M(%SAVE)$ QX,.K 11U# @O"END"'
QX-23"E 4:W"L!ERROR! ::G(%ALARM) @O"MORE"' 4:W,.M(%SAVE)$ 4:W,.K @O"MORE"'
QX-24"E M(%CNX) @O"MORE"'
QX-25"E M(%ARG)-1<M(%BRING)> .,4:W G(%0) @O"MORE"'
QX-26"E M(%CNZ) @O"END"'
QX-8"E @O"EXIT"'
QX-12"E^LFHT$0,18:W$@O"MORE"'
(QX-8)"G(QX-14)"L@O"Insertable"''
QX-27"EM(%ESC)@O"END"'
QX-21"E0K@O"MORE"'
QX-22"E Q(%SGN)"E F0J (2:W-3)L ^L
  | Q(%SGN)"G Q(%ARG)M(%SU)| Q(%ARG)M(%SD)' M(%ARG)L' @O"MORE"'
QX-1"E0L @O"MORE"'
QX-4"EM(%ARG)<0AUX :D"S
 0A-31"G 0:W-1"E ::G(%WIPEC) FZ-1FZ FHX(%WIN) ''
 |::G(%ALARM)0;'>@O"MORE"'
QX-5"E0E @O"MORE"'
QX-2"EM(%ARG)R @O"MORE"'
QX-6"EM(%ARG)C @O"MORE"'
QX-18"E 1M(%INSM)$^TUX @O"Insertable"'
QX-3"E ^L::G(%SWIN)::G(%NKP)M(%TTEXI)^CM(%TTINI)::G(%EKP)^L @O"MORE"'
QX-32"LOCEXIT'
QX-127"EM(%ARG)<-1AUX :-D"S
 QX-31"G 0:W-1"E 8,1:^T$::G(%WIPEC) FZ-1FZ FHX(%WIN)''
|::G(%ALARM)0;'> @O"MORE"'
!Insertable! Q(%INSM)"G Q(%SGN)"L M(%ARG)$ @O"ReplChr"'
!Insert! QXI %(%WWB)
 QX-31"G 0:W&1"N QX^T FZ+1FZ FHX(%WIN) ^TUX @O"START"''
@O"MORE"'
Q(%INSM)"L !ReplChr! Z-."E @O"Insert"'
 !Replace! @^UX`$::FS`$ QX:@^UX`` $@:^UX`` $MX
@O"MORE"'
!CEXIT! QX,16:^T
!EXIT! 0U# @O"END"
!MORE! 1U#
!END!  ]X
!%ESC!
[X$^TUX
QX"V QX-32UX'
QX-27"E M(%MINIBUFFER)$ @O"END"'
QX-?"E^TM(%$?)OMORE'
QX-^^/"EM(%VTSET)$ OMORE'
QX-^^<"E Q(%ARG)J @O"MORE"'
QX-^^>"E ZJ @O"MORE"'
QX-A"EM(%ARG)M(%UP)OMORE'
QX-B"EM(%ARG)M(%DOWN)OMORE'
QX-C"EM(%ARG):C(0A-10)"EC'OMORE'
QX-D"EM(%ARG):R(0A-10)"ER'OMORE'
QX-O"EM(%$O)OMORE'
QX-P"EM(%FCN)OEND'
QX-Q"EM(%$Q)OMORE'
QX-R"EM(%$R)OMORE'
QX-^^V"E Q(%SGN)"E F0J ."N (15:W-(2:W)+2)L ^L'
  | Q(%SGN)"G Q(%ARG)M(%SD)| Q(%ARG)M(%SU)' -1*(M(%ARG))L' @O"MORE"'
QX-^^W"E 4:W,.M(%SAVE) @O"MORE"'
QX-^^Y"E 4:W,.X(%0) M(%BRING)$ 4:W,.K .,4:W G(%0) @O"MORE"'
QX-^^Z"E Q(%SGN)"N M(%ARG),0:W @O"MORE"''
QX-|"EM(%ARG)M(%$VBAR)OMORE'
QX-32"E .,4:W @O"MORE"'
QX-!"EM(%ARG)M(%$EXC)OMORE'
QX-^^["E !* VT100 Stuff ! M(%$[) @O"MORE"'
QX-^^\"EM(%ARG)$@O"MORE"'
QX-32"LQXM(%CDISP)OMORE'
27,1:^T$QX,1:^T
!MORE! 1U#
!END! ]X
!%IMPR!
!F0+1-."L FZ+1-."G Q(%WWB)"E 0,0FP F0,.FF M(%LPOS) @O"TARG"'''!
W 0U(%WWB)
!TARG! Q(%INSM)"N Q(%INSM)M(%INSM)'
Q(%IMPR)#Q(%SGN)"N
 [X[Y FXUX FYUY
 (2:W-1)M(%LINEC)
 Q(%SGN)"L- Q(%ARG)"E @O"Typed arg"''
 Q(%SGN)"N Q(%ARG)M(%TNUM) !Typed arg! 1U(%IMPR) | 0U(%IMPR)'
 QY,QXFP M(%LPOS) ]Y]X'
!%LPOS!
::G(%CAD)
(FY+32)^T
(FX+32)^T
FX&^O777FX
!%UP!
[X[Y UY $FX&511FX$FXUX
QY<0L (F0+1-.)"G 1M(%SD)'
-1L>
0E .UY 0L 0FX
Q(%GOAL)+1"G Q(%GOAL)UX'
 <(QY-.)"E 0;' (QX-FX)"G :C"S .-1,.FF' |0;'>
]Y]X
!%DOWN!
[X[Y UY $FX&511FX$ FXUX
QY<0E (.+1-FZ)"G 1M(%SU)'1L>
0E .UY 0L 0FX
Q(%GOAL)+1"G Q(%GOAL)UX'
 <(QY-.)"E 0;' (QX-FX)"G :C"S .-1,.FF' |0;'>
]Y]X
!%WI!
0U(%WINO) 0,0X(%WINO)
[. .U.$-Q(%LINB4)L $.F0 ].
M(%SETWB)
^L
!%SETWB!
.F0
0,0FP$(2:W-2)FFFZ
!%TTINI!
!* Save previous terminal characteristics!
2:W+(^O1006E**64)+(^O1010E**128)+(^O1040E**256)U(%TCHAR)
1,^O2040E* !* Deferred echo mode !
0,^O2023E* !* Get rid of auto stall by clearing PSZ!
1,^O2006E* !* FORM !
1,^O2010E* !* NOCRLF !
32774ET
!I!
U(%INVAL)
Q(%INVAL)"G
2:W-Q(%INVAL)"G
Q(%INVAL)U(%LINB4)''
[(%%WIN)]!M(%WI)
!A!
U(%INVAL)
Q(%INVAL)-1"L999999U(%INVAL)'
[()
Q(%INVAL)<ZJ"S12I' :A;>
]()
!%SAVE!
[X[Y UYUX !* Save X,Y on kill ring !
Q#-11"E QX,QY:X(%0) |
M(%ARING)$ QXU(%0) QX,QYX(%0)'
]Y]X
!S!
0:U!
!%LINEC!
U(%INVAL)
::G(%CAD)
Q(%INVAL)+32^T
32^T
::G(%EOL)
13^T
0FX
Q(%INVAL)FY
!%VTSET!
$^TUX
-1^F,1EJ ^L
QX-^^E"E 0,0:W @O"END"'  !* VT55 !
QX-^^K"E 0,0:W @O"END"'  !* VT52 !
QX-^^`"E 1,0:W @O"END"'  !* VT61 !
QX-^^`"G 1,0:W [(%PRINT)]P @O"END"' !* VT61 with copier &/or Printer!
QX-^^Z"E 2,0:W' !* VT100 (VT52 mode) !
!END!
!%$Q!
$Q(%SGN)"E -1U(%SGN) |
-Q(%SGN)U(%SGN)'
M(%$R)
!%FWORD!
$[0 0U0 Q(%ARG)"E %(%ARG)' Q(%SGN)"E %(%SGN)'
Q(%ARG)<Q(%SGN)"G(Z-.);|.;'
<Q(%SGN)-1/2A"C
  1U0 Q(%SGN):C;
  |Q0"E
   Q(%SGN):C;
   |0;''>
 0U0> 
0U(%ARG) 0U(%SGN) ]0
!%F7!
U(%INVAL)
[.Q(%INVAL)<.U.0U(%ARG)1L.U(%1)Q.J:R.U(%0)
Q(%0),Q(%1):S!"S1R.U(%1)'
Q(%0),Q(%1):SBEGIN"S%(LEVEL)'
Q(%0),Q(%1):SEND"S(Q(LEVEL)-1)U(LEVEL)'
Q.JM(%IMPR)
::G(%GRAPH)
Q(LEVEL)"NQ(LEVEL)M(%TNUM)'
::G(%NOGRA)
0A-9"NT'
1L>].
!%SD!
[XUX[1
[() F0J
!See if anything to do!QX"NF0"N
 QX<.;.U1$-L0,0FP$ .,Q1FF$ FY<::G(%SCREV)> 0,0FP$V>
 M(%SETWB)
 FHX(%WIN)
 ''
]()]1]X
!%SU!
[X[YUX[()
FZJ 0UY
QX<(Z-.);$::G(%SCFWD)$ 0FX$L %Y>
18:W+QY,18:W
]()]Y]X
!%TNUM!
[X[YUX
1000000000UY
QX"E ::G(%GRAPH) 116^T ::G(%NOGRA) @O"END"'
QX"L-(-QX)UX'
!SUPRESSLZ!(QX/QY)"NODIGIT'
(QY/10)UYQY"EOEND'OSUPRESSLZ
!DIGIT!::G(%GRAPH)<((QX/QY)+116),1:^T
(QX-((QX/QY)*QY))UX
(QY/10)UYQY;>
::G(%NOGRA)
!END!]Y]X
!%BLKED!
0:W-1"N::G(%ALARM) @O"END"'
[#[C FHX(%OWIN) 1U#
^^O,^^BM(%TES)
<^TUC QC-27"E^TUC
             QC-O"E^TUC @O"Next"'
             QC-P"E^TUC
                     QC-^^1"EM(%ARG):M(%F1)$@O"Next"'
                     QC-^^2"EM(%ARG):M(%F2)$@O"Next"'
                     QC-^^3"EM(%ARG):M(%F3)$@O"Next"'
                     QC-^^4"EM(%ARG):M(%F4)$@O"Next"'
                     QC-^^5"EM(%ARG):M(%F5)$@O"Next"'
                     QC-^^6"EM(%ARG):M(%F6)$@O"Next"'
                     QC-^^7"EM(%ARG):M(%F7)$@O"Next"'
                     QC-^^8"EM(%ARG):M(%F8)$@O"Next"'
                     QC-^^9"EM(%ARG):M(%F9)$@O"Next"'
                     QC-^^0"E0;'
                     QC-^^A"E @I\
\ @O"Next"'
                     @O"Next"'
            @O"Next"'
      QC-9"E @O"Insert"'
      QC-31"G !Insert! QCI'
!Next! Q#;>
2,1:^T
^^O,^^bM(%TES)
^^O,^^cM(%TES)
4,1:^T
^L
]C]#
!END!
!%PRINT!
[X[Y UXUY
27,1:^T ^^W,1:^T
[0[8[F 18:WU8$ FYUF 0:WU0
36,0:W
(QY-QX)"NQY,QXTODONE'
QXT
!DONE!27,1:^T ^^X,1:^T
Q8,18:W$ QFFY
Q0,0:W ]F]8]0]Y]X
!.LOAD!

0,6ET$^O400021ED
[(%FWORD)](%$R)
[(%%WIN)]!
[(%VT52N)](%VT52)
[(%XPRINT)]P
[(%XPRINT)](PX)
0,0::M(%PRINT)
0,0::M(%XPRINT)
::M(%WU)
::M(%WI)
::M(%%WIN)
::M(%LPOS)
0::M(%CDISP)
0U(WHEEL) 0U(%IMPR) 0U(%INSM) 0U(%ARG)
5U(%LINB4)
-1W
!%TES!
U(%INVAL)U(%INVL2)
27,1:^T
Q(%INVL2)^T
(Q(%INVL2)-Q(%INVAL))"NQ(%INVAL)^T'
!%IMM!
0U(%ARG) 0U(%SGN) ::G(%EKP) Q(%INSM)M(%INSM)$ 1U#
<11:^T"UM(%IMPR)'$0,32768ET
^TU(%CHAR)
Q(%CHAR)M(%CDISP)Q#;>
(2:W-1)M(%LINEC) 8,0ET
16:^T&127"N ()^T'
Q(%NKP)"E ::G(%NKP)'
!%EKP!
=
!%NKP!
>
!WHEEL!
$Q(WHEEL)"N Q(WHEEL),2EJ$ 0U(WHEEL)
| 2EJU(WHEEL) ^O1000002,2EJ$'
!%XPRINT!
[X[Y UXUY
Q(PRNOLI),^O47640000166^\U(PRINTR)
Q(PRINTR),^O47640000127^\U(PRINTR)

(Q(PRINTR)#^O200000),1EJ
[0[3[8[F 18:WU8 $FYUF 0:WU0$ 3:WU3
36,0:W 0,18:W 0,3:W 2,0ET
(QY-QX)"NQY,QXTODONE'
QXT
!DONE!12^T
Q8,18:W$ QFFY
Q0,0:W Q3,3:W ]F ]8 ]3 ]0 ]Y]X
::G(%ALARM)
(-1)^F,1EJ
!%INIT!
M(%TTINI) !* Save and Set up terminal characteristics !
M(%VT52)  !* Default kind of terminal !

!* Read SWITCH.INI!
:EQ()SWITCH.INI[,]"S
 J:@S"[,L]TECO""S
  ::@S"10"$
  1X(%SINI)
  '
 HK
 '
!* Read TECO.INI!
:EQ(%TINI)TECO.INI[,]

!* Read TMPCOR if CCL entry!
1,8:^T"T !Do CCL!
 0:UC !* Temp patch for COMPIL BUG (COMPIL throws away device) !
 :EQ()TMP:EDS"S J@:S/[S,=]/"S .UC @:S/:/"S QC,.XC''HK' !* patch for COMPIL bug!
 :EQ()TMP:EDT"S
  J::FSSEB"S GC !* Temp patch for COMPIL BUG !
   :FS<15>Y"U
    J::FSEBEW
    :FS}
    '
   J:FS=ER"S 1J::FSBW '
   '
  HX(%CCL) HK
  '
|:8^T"N<:5^TU(%CCL)(Q(%CCL)-^^-);Q(%CCL);(Q(%CCL)-10);>
(Q(%CCL)-^^-)"E<:5^TU(%CCL)(Q(%CCL)-13);Q(%CCL);Q(%CCL)I>:5^T
Z"E @O"Do CCL"'
HX(CMDLIN)
I"UEWG(CMDLIN)I ^L(New File)
^T,16:^T':A
 JI:EB J:FS=ER"S 1J::FSBW '
HX(%CCL)HK
E%(%CCL)TMP:EDT'''
::EWDSK:[-]
::EBDSK:[-]
::ERDSK:[-]
::EEDSK:[-]
M(%SINI)
M(%TINI)
M(%CCL)
^L
![:W]!
[1[2 U1U2
Q1"E !Set terminal type!
     Q2"E :M(%VT52) '
     (Q2-2)"E :M(%VT100)'
     (Q2-4)"E :M(%ANSI)'
     (Q2-6)"E :M(%VT05) '
     (Q2-1)"E :M(%VT61)'
     (Q2-36)"E :M(%LA36)'
     @O"END"
   '
(Q1-1)"E Q2,^O2012E* @O"END" '!Width!
!2:w is length, but don't tell monitor or it will pause us!
(Q1-3)"E !Display all! Q2"N :M(%DPYA)| :M(%DPYN)' @O"END" '
!4:W is mark, but i don't know what to do with it!
!5:W is hold mode, but I don't have to do anything with it!
!6:w is F0 (start of window), but I don't have to do anything with it!
!END! Q2 ]2]1
!%VT52N!
80,1:W
24,2:W
0,17:W
14768144384,21:W
17213423616,22:W
4294967296,23:W
14810515968,24:W
14793738752,25:W
17179869184,26:W
0,27:W
14810087424,28:W
14805893120,29:W
14797504512,30:W
17179869184,31:W
0,32:W
0,6ET
[(%VT52N)](%VT52)
[(%VT10N)](%VT100)
[(%ANSIN)](%ANSI)
[(%VT52D)](%DPYA)
7^U(%ALARM)
0:U(%DPYN)
@^U(%GRAPH)/F/
@^U(%NOGRA)/G/
@^U(%SCFWD)/Y7 
Y6 K/
@^U(%SCREV)/HI/
@^U(%EOL)/K/
@^U(%EOS)/J/
@^U(%CAD)/Y/
0:U(%SWIN)
14870585398,33:W
-28454158336,34:W
0,35:W
0,36:W
14870585398,37:W
-28874852544,38:W
0,39:W
0,40:W
0,41:W
14792629134,42:W
0,43:W
0,44:W
0,45:W
0,46:W
0,47:W
0,48:W
0,50:W
0,54:W
((-1)&511)#^O30000000,7:^T!LC TAB!
1,^O2010^D!NO CRLF!
1,^O2006^D!FORM!
0,6ET !LC & DPY in software!
0:U(%INSLD)
0:U(%DELLU)
!%VT52D!
80,1:W
24,2:W
0,17:W
14768144384,21:W
14792235918,22:W
4294967296,23:W
14810990332,24:W
14793738752,25:W
14792523776,26:W
0,27:W
14810087424,28:W
14805893120,29:W
14797504512,30:W
-17716740096,31:W
0,32:W
0,6ET
[(%VT52D)](%VT52)
[(%VT10D)](%VT100)
[(%ANSID)](%ANSI)
[(%VT52N)](%DPYN)
0:U(%DPYA)
0:U(%SWIN)
@^U(%GRAPH)/F/
@^U(%NOGRA)/G/
@^U(%SCFWD)/Y7 
Y6 K/
@^U(%SCREV)/HI/
@^U(%EOL)/K/
@^U(%EOS)/J/
@^U(%CAD)/Y/
14870585398,33:W
-28454158336,34:W
0,35:W
0,36:W
14870585398,37:W
-28874852544,38:W
0,39:W
0,40:W
0,41:W
14792629134,42:W
0,43:W
0,44:W
0,45:W
0,46:W
0,47:W
0,48:W
0,49:W
0,50:W
14793310208,54:W
((-1)&511)#^O30000000,7:^T!LC TAB!
1,^O2010^D!NO CRLF!
1,^O2006^D!FORM!
0,6ET !LC & DPY in software!
7^U(%ALARM)
0:U(%INSLD)
0:U(%DELLU)
!%VT61!
80,1:W
24,2:W
14768144384,21:W
14792235918,22:W
4294967296,23:W
14810990332,24:W
14793738752,25:W
14792523776,26:W
0,27:W
14810087424,28:W
14805893120,29:W
14797504512,30:W
-17716740096,31:W
0,32:W
0,6ET
0:U(%DPYA)
0:U(%DPYN)
@^U(%SWIN)/Pi/
@^U(%EOL)/K/
@^U(%EOS)/J/
@^U(%CAD)/Y/
@^U(%WIPEC)/PS/
@^U(%GRAPH)/F/
@^U(%NOGRA)/G/
@^U(%SCFWD)/Y7 
Y6 K/
@^U(%SCREV)/HI/
14830082974,33:W
-14379653066,34:W
-25328494228,35:W
17295723008,36:W
14870585398,37:W
-28874852544,38:W
14830338048,39:W
0,40:W
0,41:W
7095032716,42:W
-17064289378,43:W
-14379654602,44:W
-25328496698,45:W
0,46:W
0,47:W
14793310208,54:W
((-1)&511)#^O30000000,7:^T!LC TAB!
1,^O2010^D!NO CRLF!
1,^O2006^D!FORM!
0,6ET !LC & DPY in software!
@^U(%ALARM)/OGOg/
@^U(%INSLD)/PFPA/
@^U(%DELLU)/PD/
!%VT05!
72,1:W
20,2:W
0,17:W
13958643712,21:W
17213423616,22:W
0,23:W
16160980992,24:W
0,25:W
17179869184,26:W
0,27:W
16106127360,28:W
16642998272,29:W
15569256448,30:W
12884901888,31:W
0,32:W
0:U(%SWIN)
0:U(%EOL)
@^U(%EOS)//
@^U(%CAD)//
0:U(%DPYA)
0:U(%DPYN)
0:U(%WIPEC)
7726964480,33:W
0,34:W
0,35:W
0,36:W
7726964508,37:W
27514634240,38:W
0,39:W
0,40:W
0,41:W
22548578304,42:W
0,43:W
0,44:W
0,45:W
0,46:W
0,47:W
0,48:W
0,49:W
0,50:W
((-1)&511)#^O10000000,7:^T!NO LC TAB!
1,^O2010^D!NO CRLF!
1,^O2006^D!FORM!
4,2ET !NO LC & DPY in software!
7^U(%ALARM)
@^U(%TNUM)/:=/
0:U(%INSLD)
0:U(%DELLU)
![W]!
[S[XUX
QX"G (2:W-QX)"G $ QXU(%LINB4)'|
QX+1"L -1-QXU(%FORGET) @O"END"''
[()](%BUFF)
[(%WIN)](%WINO)0U(%WINO)
0,64ED
F0:J"U@O\Refresh Window\'
18:WUS QS"N (QS-16)"G@O\Refresh Window\'
 0,0FP QSFFJ 0L'
M(%SETWB)$ FZ-F0"GQ(%BUFF)J$((.-F0)#(FZ-.))+1"G@O\Build Window Buffer\''
!Refresh Window!Q(%BUFF)J$M(%WI)0U(%FORGET)0US
!Build Window Buffer! QS"N
 !Enter old window context![(%WINO)]()
 !Delete lines that were scrolled off!$0J$F0UX0,0FP0F0$ QSFFJ 0L0,.K QXF0'
0U(%WINO) [(%BUFF)]()!Back to real buffer!
!Fix forgotten text! Q(%FORGET)"N ()-QSUX QX"G
F0J 0,0FP M(%LPOS)$ QX-1FFJ F0,.T Q(%BUFF)J' 0U(%FORGET)' 0,18:W
!Update window!0,0FP F0J M(%WU)$Q(%BUFF)J$0,0FP$F0,.FF$M(%LPOS)
FHX(%WIN)
64,0ED
!END! ]X]S
!%ARG!

Q(%SGN)"E %(%ARG) %(%SGN)|Q(%SGN)"L Q(%ARG)"E %(%ARG)'''
Q(%SGN),0U(%SGN)*Q(%ARG),0U(%ARG)
!%ARING!
[(%0)[(%1)[(%2)[(%3)[(%4)[(%5)[(%6)[(%7)[(%8)
[(%9)[(%10)[(%11)[(%12)[(%13)[(%14)[(%15)[(%16)
](%0)](%16)](%15)](%14)](%13)](%12)](%11)](%10)](%9)
](%8)](%7)](%6)](%5)](%4)](%3)](%2)](%1)
!%BRING!
[(%0)[(%1)[(%2)[(%3)[(%4)[(%5)[(%6)[(%7)[(%8)
[(%9)[(%10)[(%11)[(%12)[(%13)[(%14)[(%15)[(%16)
](%15)](%14)](%13)](%12)](%11)](%10)](%9)](%8)
](%7)](%6)](%5)](%4)](%3)](%2)](%1)](%0)](%16)
!%ENTER!
[ [X M(%ARG):@S""]X"SQX,4:W | ::G(%ALARM)' ]X
!*EXIT!
M(%TTEXI)
:Q(%SAVEF)"NM(%SAVEF)^C'
!%VISIT!
[&[X UX !* 0 = Read, 1= Edit, -1 = Visit !
QX"E@^U&&[Read File] &|QX"L@^U&&[Visit File] &|@^U&&[Edit File] &''
M(%GETC)"N !* Get a file name, maybe ! [ [&] ZJ -D 0,(Z-1)XX ] 
 M(%SAVEF)$ QXU(%SAVEF) [X](%FILE)
 @^U(%SETDF)"::ER" [ [(%SETDF)] ZJG& @I"::EW" G& @I"::EB" G& ] 
 M(%SETDF)$ EQ 
 Q(%FILE)"N Q(%FILE)*ZU(%FILE) !* So we can check for shrinkage !
  [(%SAVER)](%SAVEF)
 |0:U(%SAVEF)''
]X]&
!%CNX!
^TUX
QX-24"E 4:W"L@O"ERROR"' 4:W#(.,4:W$0)J @O"END"'
QX-26"E EX @O"END"'
QX-5"E 1M(%VISIT) @O"END"'
QX-22"E -1M(%VISIT) @O"END"'
QX-18"E 0M(%VISIT) @O"END"'
QX-23"E M(%WRITE) @O"END"'
QX"V -32%X'
QX-^^P"E 4:W,.MP @O"END"'
QX-^^S"E M(%SAVEF) @O"END"'
QX-^^Q"E 0:U(%SAVEF) @O"END"'
!ERROR! ::G(%ALARM)
!END!
!%GETC!
2:W-1M(%LINEC) !* Go to bottom of screen !
::G(%SWIN) ::G& !* This should contain our prompt !
!* get command into same register and return value ! E?&
!%ETYPE!
2:W-1M(%LINEC) !* Go to bottom of screen !
::G& !* This should contain our prompt !
!%SAVER!
$[&[X Q(%FILE)UX QX"L -QXUX'
Z"N !* Never save nothing !
 QX*2/3-Z"G @^U&&%File has shrunk a lot. Save & @O"Savequery"'
 Q(%FILE)"G@O"DoIt"' @^U&&$Save &
 !Savequery! M(%ETYPE)$:G(%FILE) ^^?^T
  ^TUX QX-^^Y"N QX-^^y"N QX-32"N @O"Abort"'''
 !DoIt! @^U&&[& M(%ETYPE) :G(%FILE) ^^ ^T
 !*Delete old backup file! M(%SETDF) :ER.BAK"S E=/DELETE'
 !*Rename original file! M(%SETDF) :ER"S E=.BAK'
 !*Reset defaults! M(%SETDF)
 !SaveIt! E%  Saved]' @O"End"
!Abort! (Canceled)
!End! ]X]&
!%$?!
[XUX
(QX-M)"EM(%ENTER)OEND'
(QX-^O156)"E$Q(%SGN)"E -1U(%SGN)|
            -1*Q(%SGN)U(%SGN)' @O"END"'
Q(%SGN)"E 1U(%SGN)'
((Q(%ARG)*10)+(QX-^O160))U(%ARG)
!END!]X
!%F$!
$^TUX
QX-^^P"EM(%$O) @O"END"'
QX-^^A"E !Set goal col! Q(%SGN)"E FX&511U(%GOAL) | M(%ARG)U(%GOAL) @O"END"''
QX-^^B"E !Dpy goal! (2:W-1),20FPM(%LPOS)::G(%EOS) Q(%GOAL)M(%TNUM) @O"END"'
QX-^^?"EM(%F$?) @O"END"'
!END!
!%F$?!
[X$^TUX
QX-^^M"E !* FCN-ENTER ! @^U&/[Search String]/
         M(%GETC)"N [()[&]() J@I":S" Z-2,Z::FC ]()
                    M(%ARG)M&"U ::G(%ALARM) '''
!END! ]X
!%WRITE!
[& @^U&&[Write File]&
M(%GETC)"N !* Get a file name, maybe ! [ [&] ZJ -D 0,(Z-1)X(%FILE) ] 
 @^U(%SETDF)"::ER" [ [(%SETDF)] ZJG& @I"::EW" G& @I"::EB" G& ] 
 M(%SETDF)$ E% /SUPER
 [(%SAVER)](%SAVEF)'
]&
!%TTEXI!
Q(%TCHAR)&63,^O2023E*
Q(%TCHAR)/64&1,^O2006E*
Q(%TCHAR)/128&1,^O2010E*
Q(%TCHAR)/256,^O2040E*
::G(%SWIN)
::G(%NKP)
^L
!%$[!
[P[Q[C ^TUC
!Get!
QC-^^?"E !* Special DEC Private ANSI codes ! !?Get! ^TUC
 QC-^^;"E !* Delimiter ! ^TUQ @O"?Get"'
 QC-64"L !* A parameter ! QCUP ^TUC @O"?Get"'
 QC-^^c"E !* DA ! 2,0:W @O"END"''
QC-^^;"E !* Delimiter ! ^TUQ @O"Get"'
QC-64"L !* A parameter ! QCUP ^TUC @O"Get"'
!END! ]C]Q]P
!%VT10N!
80,1:W
24,2:W
0,17:W
14768144384,21:W
17213423616,22:W
4294967296,23:W
14810515968,24:W
14793738752,25:W
17179869184,26:W
0,27:W
14810087424,28:W
14805893120,29:W
14797504512,30:W
17179869184,31:W
0,32:W
0,6ET
[(%VT52N)](%VT52)
[(%VT10N)](%VT100)
[(%ANSIN)](%ANSI)
[(%VT52D)](%DPYA)
7^U(%ALARM)
0:U(%DPYN)
@^U(%GRAPH)/F/
@^U(%NOGRA)/G/
@^U(%SCFWD)/Y7 
Y6 K/
@^U(%SCREV)/HI/
@^U(%EOL)/K/
@^U(%EOS)/J/
@^U(%CAD)/Y/
0:U(%SWIN)
14870585398,33:W
-28454158336,34:W
0,35:W
0,36:W
14870585398,37:W
-28874852544,38:W
0,39:W
0,40:W
0,41:W
7095032716,42:W
-17064296448,43:W
0,44:W
0,45:W
0,46:W
0,47:W
0,48:W
0,50:W
0,54:W
((-1)&511)#^O30000000,7:^T!LC TAB!
1,^O2010^D!NO CRLF!
1,^O2006^D!FORM!
!*Now put into VT52 mode !1ET [?2l

6ET !LC & DPY in software!
0:U(%INSLD)
0:U(%DELLU)
@^U(%TNUM)/:=/
!%CNZ!
^TUX
QX-26"E 0U# @O"END"'
!ERROR! ::G(%ALARM)
!END!