File: VTEDIT.WU of Disk: V50/Source/Source-Listing-MAC-2
(Source file text)
!VTEDIT - V50.00-8! !THIS WRITEUP HAS BEEN EDITED TO READABLE CHARACTERS AND CANNOT BE USED! ^D @^U0/^TU7 ^]$/ 128,0ET ETES 0,2048+8ET @^U5/U9 283^T Q9^T/!Hack! @^U6/.U8 ZU4 -3U6 ^^GM5 1,0ET ^^HM5 ^^KM5 10^T ^^KM5 :G4 < M0 !F! Q7^T ZJ Q7I$ Q7-13"E 10I$ 10U7 Q7^T' Q7-10"E 13^T ^^KM5 -1%6' Q7-21"E Q6W 0U7 0;' Q7-127"E -D Z-Q4"N -1AU9 -D Q9-27"E 32U9' Q9-31"G ^^DM5 ^^KM5 1+' 0"E 13^T -Q6-2< ^^KM5 ^^AM5 > 10^T 13^T :G4 Q4,ZT' '' Q7-27"E M0 Q7-27"E -1U7 !F0! 27I$ Q4,ZX4 ^^HM5 13^T 0;' Q7-^^?"E M0 Q7-^^l"E -3U7 OF0$' -2U7 OF0$' OF$' > Q4,ZK Q8J Q7/ 0,0X7 0,0X2 0U2 ^^HM5 13^T ^^=M5 <!A! 0U4 0U6 !B! 1U5 !T! ^]"N -1W' M0 !V! Q7-17"E OT$' Q7-19"E OT$' Q7-127"E .-Q5"L .U5' -Q5D OA$' Q7-31"G Q7I$ 0U2 OA$' Q7-26"E 1U8 OZ$' Q7-21"E 0K OA$' Q7-11"E Q5K OA$' Q7-8"E Q5L .-1"G 2R' OA$' Q7-4"E Q5K 13I$ 10I$ 2R OA$' Q7-3"E 1U8 OZ$' Q7-27"N Q7I$ Q7-13"E 10I$' OA$' M0 Q7-^^C"E Z-.-Q5"L Z-.U5' Q5C OA$' Q7-^^D"E .-Q5"L .U5' Q5R OA$' Q7-^^?"E M0 Q7-^^M"E ISuche:$ .-6,.X4 -6D M6"F OA$' .U3 I@:S$ 0I$ .U2 G4-2D .-Q2U1 0I$ .U2 Q3J .,Q2X8 3D I@:N$ Q3,Q2X9 Q3,Q2K Q7+3"E ON$' OS$' Q7&31#32U7 Q7-^^0"E Q5L OA$' Q7-^^1"E Q5-1"E 0U5' Q5J OA$' Q7-^^2"E ZJ OA$' Q7-^^3"E 0L OA$' Q7-^^4"E -Q5L OA$' Q7-^^5"E Z-.-Q5"L Z-.U5' Q5D OA$' Q7-^^6"E .-Q2"L 0,.X3 0,.K OA$' .-Q2,.X3 .-Q2,.K OA$' Q7-^^7"E Q5< 13I$ 10I$ 2R > OA$' Q7-^^8"E Q5P OA$' Q7-^^9"E Q5-1"E M0 Q7U5' Q5I$ OA$' Q7-^^."E 0U6 !S! Q1U2 Q5M8"F 0U2' Q6"N Q6W' OA$' Q7-^^,"E 0U6 !N! Q1U2 Q5M9"F 0U2 -1U8 OZ$' Q6"N Q6W' OA$' Q7-^^-"E -25W ^^GM5 ET&1U8 Q8"E 0,1ET' Q8"N 1,0ET'' OA$ ' Q7"D 0U5 <!X! Q5*10+Q7-48U5 M0 Q7"D OX$ ' 0;> OV$' 0U8 Q7-^^A"E -1U8' Q7-^^B"E 1U8' Q8"N Q8"L -Q5U5' Q6"E 0U7 .U8 0L Q8-.%6< 0A-32"L 0A-27"N 0A-9"E 6-(Q7&7)%6$ -2U7' %7$ 1%6$'' C %7$ >' Q5L -Q6U9 0U7 Q6< .-Z; 0A-32"L 0A-13"E 0;' 0A-27"N 0A-9"E 6-(Q7&7)%9$ -2U7' %7$ 1%9$'' C %7$ 1%9"G R' Q9; > 0U4 OB$' Q7-^^Q"E IKommando:$ .-9,.X4 -9D M6"F OA$'.U3 G4 Q3,.X2 Q3,.K ^AAugenblick..^A OC$' Q7-27"E 0U6 !C! M2 ^D -1EU Q6"N Q6W' OA$' Q7-^^R"E .U4 G7 .-Q4U2 OA$' Q7-^^P"E Q4"E .+1U4' Q5L Q4-1,.X7 .-Q4+1U2 0U6 OB$' Q7-^^S"E EC 0;' > 0U8 !Z! ^^GM5 ^^>M5 ^^YM5 23+32^T 0+32^T ^^KM5 13^T ESET Q8"E ^C' Q8"L EGTE$' ! VTEDIT V50 Q-reg Text Numeric 0 read char Free! 1 length of last search string 2 last command length of last string gotten 3 deleted string temp 4 arg to M6 cut buffer start 5 prints esc seq repeat count 6 mini editor # of lines destroyed at top 7 cut buffer current char 8 S search string temp, Exit status 9 N search string arg to M5 ES holds initial ET setting Hacks: ESCAPE is sent literally to the terminal via the 27+256^T command which fakes out TECO into sending the character literally. This avoids the necessity of doing a 0,1ET command which will swap in an overlay on 16K machines. Macro M0 is used to read a character and reset the wait condition of the Watch processor. The new command ^] is proper to TECO V40 and returns a non-zero value if no input is in the Watch buffer. (it returns 0 if input is buffered) This algorithm is appropriate to both OS/8 and Multi8 environments. The read without wait was unacceptable because there was no way of telling that the program was really idle. ! ^^