Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/view.exe
There are no other files named view.exe in the archive.
?p@`!?h?x-W	
'@.e@'7@'.
x?HZ3HJ?6l8X-LX
@X*(4x
&#yeeeeeeeeeeeeeeeeeeeeeeeeeeeeeetKb,0Rd/}JX1:pxfov2,\(6ux(( -x!
UM**U.U-x!DXXEMACSVIEWEXEDXXEMACSVIEWTECODXXEMACSVIEWEXE@D@H2C\,>,>,>+M ^ >*>\"e " ZO &J+ !>*><+O \W<1\+a W-O`We7`g`Wy? g+g+@h`,~-7@jF:+^+ + + + + + + + + + + + + + + + + + + + + + + + + + + + ?+ +a+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6 '6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 $6 '6 '6 '6 '6 '+ 7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$7`$+ + + + + fWf|n7b7\,\>@
rfPeeeeee%+,;.8<
`<(D3|2$ 
P;
P<0
P5X`2`
PP2H;$
P;@2
p0?0?xxxxxxxxxxxxxxxxx$er view.teco$ @fW\,\F :fLfW,f\fWm::::-d%Q@
tfT@Kyqb(fWox(&ror:d@Hr8#xf72@4tifr"vqHY
L@6`";6`";6`";6`";6`";6`";6`";6`";6`";6`";6`";6`";6`";6@";6@";6@";6 ";6 ";0U M e !xx&8J4@'a@)@*S@)@'l@*u@(A@
w@
0@4W@
r@
z@
r:Z~Z}m0X` Y.
xp/++O@
 c!"\$-OG  @O@ 2 R++
Internal error at 6$EMACS:TECPUR.EXE.1220@0eee@4lRRRRRRRR@-!R@,/RR@,-RRRRRRRRRRRRRRRRRR@,`RRRR@-^RRRR@.*@.
R@-tRR4444444444RR@-NR@-R@1)RRRRRR@)RRR@*SR@.[R@/.R@/3@0x@/9@/>RRRRRR@1$RRR@,GRRZZZZZZZZZZZZZZZZZZZZZZZZZZRRRR@'aRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR@,R@,/R@,GR@/9@/>RR@,`RRR@0xRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY3YY4444444444YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYYYYYYYYYZZZYYZYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYY3YY4444444444YYYYYYYYYYYYYY
Z
Z
ZYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYP7
7
7
7
77eff
ffffff"f&f)f-f0f4f7f;f>@
|@me(fB@777777fWfEJeeeeee%@
b
er view teco @y m(hfx*) 10f? ei @ejview exe..E	Bad value in q-reg ..E (output radix)32<1	The second argument was less than the)firstAFN	Ambiguous FS/flagAnameAOR	Argument outAof rangeARG	Bad argument)AVN	Ambiguous variable orAmacroAname.?BD"	Bad condition after "A-- shouldAbe G,L,N,E,B,C,D,A or UABEL	AAbuil-..E	Bad value inAq-reg ..EA(output radix)32<1	The second argument was less than theAfirstAFN	Ambiguous FSAflagAnameAOR	Argument outAof rangeARG	Bad argument)AVN	Ambiguousvariableor\macroaname.?BD"	Badrconditionvafteri"e--(shouldfbeiG,L,N,E,B,C,D,AmordUABEL	A built-in ^R command called from macro signaled an error5CMD	A char that isn't a TECO command was executed9CNM	Caller wasn't a macro (it was TECO internal code)'DCD	A disabled command was executedDSI	Damned screw infinitely3ERP	Attempted :< ... ^\ with no closing > firstESR	Empty sort recordFTL	Filename too longICB	Illegal ^] commandIEC	Illegal "E" commandIFC	Illegal "F" commandIFN	Illegal FS flag nameIQN	Invalid q-register name'ILN	Invalid local q-register number'ISK	Invalid sort key - "^P" command&KCB	Kill currently selected buffer/M^R	Attempted to macro a meaningless number,NDO	No device open for output - try "EW"$NFC	No free channels to pop into/NFI	No file open for input - try doing "ER"'NHP	Nonexistent horizontal position8NIB	You have addressed a character not in the bufferNIM	Not inside a macro7NOP	Specified type of IO channel hasn't been pushedNRA	File not random access5N^R	Not in ^R - command meaningful only inside ^RPDL	Pushdown stack full$PUR	Attempted write in pure page,RDO	Attempt to modify a read-only buffer3QIT	^G typed on TTY and FS NOQUIT$ was negativeDQNB	Q-register not buffer - attempt to select a string or numberQNN	Q-register not numeric'QNS	Q-register not string or buffer(QRF	Q-regs failed, probably TECO bug,QRP	Q-register PDL overflow or underflowSFL	Search failed"SNI	Semicolon not in iteration1SNR	There is no valid search string to repeat STL	String argument too long!STS	Dispatch string too short<TMN	Too many macro, ^]q-register, ^]^X, or ^]^Y nestings<UBP	Unbalanced parentheses found with an FL-type commandUCT	Unseen catch tag2UEB	FL-type command encountered end of buffer.!UEC	Unexpected end of commandUGT	Unseen go-tag)UJC	Undefined journal file characters)UMC	Unmatched ")" or ">" as a command/URK	Buffer space or library space exhausted UTC	Unterminated conditional7UTI	Unterminated iteration or errset (missing ">"?)(UVN	Undefined variable or macro name?WLO	FS OFACCP$ when old access pointer wasn't multiple of 5!WNA	Wrong number of arguments                                                                  

  To run it, type VIEW <filename>.  To create VIEW.EXE, run
  EMACS:TECO (without using EMACS:TECO.INIT) and type
    erVIEW.TECO @y m(hfx*) 10f? ei @ejVIEW.EXE

  Written by David Eppstein, 12-Oct-82.

  Edit history:
    [DE]  1-Apr-83   Add % command to toggle --More-- vs --nn%-- display.
    [DE]  2-Aug-83   Add L command to list viewed file names.  ^Z exits.
    [DE]  2-Oct-85   Speed up G to current page (e.g. for losing search).

  Q-Register usage:
    mC - clear echo area
    mF - find a new file.  pre-comma means look at JCL first
    mG - go to a given page in the file
    qL - list of wildcard files
    qN - page number
    mP - go forward arg pages
    mR - read a line from the terminal
    mT - attempt to ER a filename
    qX - fs IF Access for next page
  !

-1fs^IDisable				!Make tabs work right for comments!
1fs^LInsert				!Leave formfeeds in files!

:i*fsSString				!No search default yet!
1fsBothCase				!Ignore case in searches!

0fs%Bottom				!Don't complain about cursor!
0fs%Top				!being anywhere on the screen!

@:i*|1fsEchoLines|fsTTYMacro		!One line echo area!
-1fs^REcho				!Echo typed in commands!
1fsEchoErrors				!Echo errors in echo area!

1fs^RMore				!Use --More-- instead of percent!
1fsInvMode				!Mode line in reverse video!
@:i*|-(fsQPPtr*2)fsModeCh
f[BBind
i[Viewing g(fsDFile)i, page qN\]i
hx..J0|fsModeMac			!Set up mode line macro!

@:iC|:i*CfsEchoDispw|		!qC clears echo area!

@:iP|[0 1fsModeCh
f"l w'<.u0 zj a z-.f(+qXuX)"e q0j "g @fg''
0,.k <zj 0a-
@:; z-2"g z-3,z-1f=
"e -d 0;'' a z-.f(+qXuX)@;> -@f 	
ki
 j qN"n 2f=
"e 2d'' %N>|				!qP goes to the next page of file!

@:iT|[0 1:<er0>"e 0'
f=(fsError)OPN0113"l fsError' "n fsError'
qL[..o hk 1:<1,111110000001.ez0>f"n '
j<.-z@; :x*(@L1,)mTf"e '> fsError|	!qT checks a file and sets up list!

fsBConsuL				!qL is list of files!

@:iF|fsDFile[0 @fn/q0fsDFile/ 0[1
"n f[BBind hk fj j:l -@f	 L .,zk z"n fsMSNamefsDSName
q..omT"e fsDFileu1'"# @fg qN"l 0fsPJATYw fsErroru..J fr'
"# mC fsError@fg 0'''"# qN:"l 1:<er qXfsIFAccess> w0'' f]BBind'
<q1@:; mC 1:<:i*File: ,100100.:et>"e fsDFilemT"e fsDFileu1''
q1"e @fg fsErroru..J fr 1fsModeCh'>
-1fsPJATY
fsIFVersfsDVers
fsDFileu0 hk 0uN 0uX 1:mP|		!qF finds a file!

@:iG|-qN"e'
:f"g @fg0'-qNf"G:mP'
0fsIFAccess
hk 0uN 0uX :mP|			!qG goes to a given page!

@:iR|q..o[2 f[BBind [0 [1
!ReDisp! mC @ft1..o
<fiu0 (q0-)*(q0-)"e ."e mC 0' -d oReDisp'
q0-
"e -1fsPJATYw q2[..o@v]..o oReDisp'
q0-ft$ hfx*'
q0-"e oRedisp'
q0-"e hkoReDisp'
q0-"e 1:<-fwk>"n @fg' oRedisp'
q0-"e u0 @ft0 g0 !<!>'
q0-"e 1f[NoQuit fiu0 f]NoQuit'
@ft0 q0i>|			!qR reads a line w/line editing!

0fs^RInitu0 -1u1			!Set up to clear key defs!
400.<q0,(%1)@fs^RCMac>			!Clear defs of all keys!
afs^RInitu0 a-1u1
26<q0,(%1)@fs^RCMac>			!Set lower-case synonyms!

@:i.L|ff&3"e-1fsPJATY'
"# 1fsModeCh mC 0'|			!^L refreshes screen (mode line w/arg)!

:i			!^M does nothing quietly!

:i.N"l -:mP'
@L .-z"e @fg -1@L' :f 0@:f 0	!^N goes to next line!
q.Nu
				!Linefeed ditto!
@:i.P|"l -:mN'
-@L 0f[%Center 0f[%End 0@v 0|	!^P goes to previous line!
q.Pu^				!Uparrow ditto!

@:i |"l -:m'
[0 <.u0 0:f fsWindow-(zj :f fsWindow (q0j))"e
qN-(1mP qN)"e @fg 0:f ''
"# 1:<fsHeight-3,0:fm>'>
0:f |				!Space goes forward a screenful!
q u.V				!as does ^V!
@:i|"l -:m '
<."e qN-1f"e @fg 0'mG zj :f fsWindowj'
"# -1"e @'-1:f fsWindowj'>|	!Backspace goes back a screenful!

460.fs^RInitu0 57.u1
10<q0,(%1)@fs^RCmac>			!Minus autoarguments!

:i<j0				!< goes to start of page!
@:i>|zj :f fsWindowj 0|		!> goes to end of page!

@:i%|0fsModified
-(fs^RMore"'e)fs^RMorew|		!% toggles --More-- or --nn%-- display!

@:i-|."e @fg 0'
fsHeight-2/2@:f fsWindowj 0|	!- goes back half a page!
@:i+|1:<fsHeight-2/2,0:fm>
.-z"e fsWindowj @fg 0' 0@:f 0|	!+ goes forward half a page!

@:i*|fqL"e @fg 0'
[0 qL[..o ff&3"n j-1@L' <.-z@; :x*(@L1,)mT"e ]..o hk 0uN 0uX 1:mP'>
@fg 0|				!* goes to the next file in a group!

qFuF					!F finds a new file!

qGuJ					!J goes to a given page number!

@:iL|fqL"e @fg 0'
qL[..o .[1 fnq1j -l .[1 ftFiles being viewed (* is current):
 j 0[0 <.-z; fsListen@:;
.-q1"e ft* '"# ft  ' %0:= q0-10"lft  '"#ft ' tl>
0|					!L lists files being viewed!

:iNqN+:mG				!N goes to the next page!
:iPqN-:mG				!P goes to the previous page!

:iR-:mS				!R is reverse search!
qRu.R				!as is ^R!
@:iS|fsSString[0 f[BBind -1"n f"l+1"n -\ i''"#\ i''
"liReverse ' iSearch fq0"g i (0)' i:  q0,(hfx*(f]BBind))mRu0
fq0"l 0'fq0"g 0s0' qN[1 .[2 qN[3
:"l @:L <:s"e qN-(1mPqN)"e q1mG q2j 0;' !<!@>' qNu1 .u2> 0@L qN-q3"e
:f 0@:f 0'"# 0:f''
-<-:s"e qN-1"e q1mG q2j @fg 0;' qN-1mG zj !<!@>' qNu1 .u2> 0@L qN-q3"e
0f[%Center 0f[%End 0@v 0'"# 0:f'|	!S searches!
qSu.S				!as does ^S!

@:iQ|ec mC fsExit
1:<er>"n 1f[NoQuit 0fsPJATYw fsError[..J fr :mF'
qXfsIFAccessw|			!Q exits to superior, closing file!
qQu.Z				!as does ^Z!

:iZ-1:mP				!Z goes to the last page of the file!

qCu					!Delete clears echo area, arguments!

@:i?|ft		VIEW command characters

^L refreshes the screen, or with an argument the mode line.
^N goes to the next line, ^P to the previous line on the page.
Space goes to the next screen, backspace the previous screen.
Digits build up an argument for other key commands.
+ goes forward half a screen, - back half a screen.
* goes to the next file in a wildcard spec.  L lists viewed files.
< goes to the start of the current page, > the end of the page.
F finds a new file (this is done automatically on startup).
J goes to the start of the file, or to a given page.
N goes to the next page in the file, P to the previous page.
Q exits the VIEW program (it can be continued).
S is search, and R is reverse search for some string.
Z goes to the last page in the file.  % toggles --More--.
Delete clears the the echo area.  ? types this cruft.
 0|					!? lists available commands!

-1uN					!No page number yet!

@:i..L|1fsNoQuit
m(fsTTYMacro)
1,mF |				!Enter recursive edit on startup!
					!(should be no way to exit it)!
fsMSNamefsDSName
etFOO..0				!Reset default filenames!

@:i*|0fsNoQuit|fs^REnter		!Allow ^G once user is in ^R!
Local Modes:
Mode:TECO
Comment Start:!
Comment Begin:!
Comment End:!
Comment Column: 40
End:
1fsEchoLinesT-(fsQPPtr*2)fsModeCh
f[BBind
i[Viewing g(fsDFile)i, page qN\]i
hx..J0:i*CfsEchoDispw+[0 1fsModeCh
f"l w'<.u0 zj a z-.f(+qXuX)"e q0j "g @fg''
0,.k <zj 0a-
@:; z-2"g z-3,z-1f=
"e -d 0;'' a z-.f(+qXuX)@;> -@f 	
ki
 j qN"n 2f=
"e 2d'' %N>[0 1:<er0>"e 0'
f=(fsError)OPN0113"l fsError' "n fsError'
qL[..o hk 1:<1,111110000001.ez0>f"n '
j<.-z@; :x*(@L1,)mTf"e '> fsError~MfsDFile[0 @fn/q0fsDFile/ 0[1
"n f[BBind hk fj j:l -@f	 L .,zk z"n fsMSNamefsDSName
q..omT"e fsDFileu1'"# @fg qN"l 0fsPJATYw fsErroru..J fr'
"# mC fsError@fg 0'''"# qN:"l 1:<er qXfsIFAccess> w0'' f]BBind'
<q1@:; mC 1:<:i*File: ,100100.:et>"e fsDFilemT"e fsDFileu1''
q1"e @fg fsErroru..J fr 1fsModeCh'>
-1fsPJATY
fsIFVersfsDVers
fsDFileu0 hk 0uN 0uX 1:mPC-qN"e'
:f"g @fg0'-qNf"G:mP'
0fsIFAccess
hk 0uN 0uX :mPCq..o[2 f[BBind [0 [1
!ReDisp! mC @ft1..o
<fiu0 (q0-)*(q0-)"e ."e mC 0' -d oReDisp'
q0-
"e -1fsPJATYw q2[..o@v]..o oReDisp'
q0-ft$ hfx*'
q0-"e oRedisp'
q0-"e hkoReDisp'
q0-"e 1:<-fwk>"n @fg' oRedisp'
q0-"e u0 @ft0 g0 !<!>'
q0-"e 1f[NoQuit fiu0 f]NoQuit'
@ft0 q0i>-ff&3"e-1fsPJATY'
"# 1fsModeCh mC 0'1"l -:mP'
@L .-z"e @fg -1@L' :f 0@:f 01"l -:mN'
-@L 0f[%Center 0f[%End 0@v 0"l -:m'
[0 <.u0 0:f fsWindow-(zj :f fsWindow (q0j))"e
qN-(1mP qN)"e @fg 0:f ''
"# 1:<fsHeight-3,0:fm>'>
0:f ["l -:m '
<."e qN-1f"e @fg 0'mG zj :f fsWindowj'
"# -1"e @'-1:f fsWindowj'>j0zj :f fsWindowj 0,0fsModified
-(fs^RMore"'e)fs^RMorew0."e @fg 0'
fsHeight-2/2@:f fsWindowj 0=1:<fsHeight-2/2,0:fm>
.-z"e fsWindowj @fg 0' 0@:f 0afqL"e @fg 0'
[0 qL[..o ff&3"n j-1@L' <.-z@; :x*(@L1,)mT"e ]..o hk 0uN 0uX 1:mP'>
@fg 0&fqL"e @fg 0'
qL[..o .[1 fnq1j -l .[1 ftFiles being viewed (* is current):
 j 0[0 <.-z; fsListen@:;
.-q1"e ft* '"# ft  ' %0:= q0-10"lft  '"#ft ' tl>
0qN+:mGqN-:mG
-:mSufsSString[0 f[BBind -1"n f"l+1"n -\ i''"#\ i''
"liReverse ' iSearch fq0"g i (0)' i:  q0,(hfx*(f]BBind))mRu0
fq0"l 0'fq0"g 0s0' qN[1 .[2 qN[3
:"l @:L <:s"e qN-(1mPqN)"e q1mG q2j 0;' !<!@>' qNu1 .u2> 0@L qN-q3"e
:f 0@:f 0'"# 0:f''
-<-:s"e qN-1"e q1mG q2j @fg 0;' qN-1mG zj !<!@>' qNu1 .u2> 0@L qN-q3"e
0f[%Center 0f[%End 0@v 0'"# 0:f'Xec mC fsExit
1:<er>"n 1f[NoQuit 0fsPJATYw fsError[..J fr :mF'
qXfsIFAccessw	-1:mP]ft		VIEW command characters

^L refreshes the screen, or with an argument the mode line.
^N goes to the next line, ^P to the previous line on the page.
Space goes to the next screen, backspace the previous screen.
Digits build up an argument for other key commands.
+ goes forward half a screen, - back half a screen.
* goes to the next file in a wildcard spec.  L lists viewed files.
< goes to the start of the current page, > the end of the page.
F finds a new file (this is done automatically on startup).
J goes to the start of the file, or to a given page.
N goes to the next page in the file, P to the previous page.
Q exits the VIEW program (it can be continued).
S is search, and R is reverse search for some string.
Z goes to the last page in the file.  % toggles --More--.
Delete clears the the echo area.  ? types this cruft.
 0&1fsNoQuit
m(fsTTYMacro)
1,mF 0fsNoQuitY
L@Y
L@it@+&@! This is a TECO program to view files (sort of like the TYPE command).

  To run it, type VIEW <filename>.  To create VIEW.EXE, run
  EMACS:TECO (without using EMACS:TECO.INIT) and type
    erVIEW.TECO @y m(hfx*) 10f? ei @ejVIEW.EXE

  Written by David Eppstein, 12-Oct-82.

  Edit history:
    [DE]  1-Apr-83   Add % command to toggle --More-- vs --nn%-- display.
    [DE]  2-Aug-83   Add L command to list viewed file names.  ^Z exits.
    [DE]  2-Oct-85   Speed up G to current page (e.g. for losing search).

  Q-Register usage:
    mC - clear echo area
    mF - find a new file.  pre-comma means look at JCL first
    mG - go to a given page in the file
    qL - list of wildcard files
    qN - page number
    mP - go forward arg pages
    mR - read a line from the terminal
    mT - attempt to ER a filename
    qX - fs IF Access for next page
  !

-1fs^IDisable				!Make tabs work right for comments!
1fs^LInsert				!Leave formfeeds in files!

:i*fsSString				!No search default yet!
1fsBothCase				!Ignore case in searches!

0fs%Bottom				!Don't complain about cursor!
0fs%Top				!being anywhere on the screen!

@:i*|1fsEchoLines|fsTTYMacro		!One line echo area!
-1fs^REcho				!Echo typed in commands!
1fsEchoErrors				!Echo errors in echo area!

1fs^RMore				!Use --More-- instead of percent!
1fsInvMode				!Mode line in reverse video!
@:i*|-(fsQPPtr*2)fsModeCh
f[BBind
i[Viewing g(fsDFile)i, page qN\]i
hx..J0|fsModeMac			!Set up mode line macro!

@:iC|:i*CfsEchoDispw|		!qC clears echo area!

@:iP|[0 1fsModeCh
f"l w'<.u0 zj a z-.f(+qXuX)"e q0j "g @fg''
0,.k <zj 0a-
@:; z-2"g z-3,z-1f=
"e -d 0;'' a z-.f(+qXuX)@;> -@f 	
ki
 j qN"n 2f=
"e 2d'' %N>|				!qP goes to the next page of file!

@:iT|[0 1:<er0>"e 0'
f=(fsError)OPN0113"l fsError' "n fsError'
qL[..o hk 1:<1,111110000001.ez0>f"n '
j<.-z@; :x*(@L1,)mTf"e '> fsError|	!qT checks a file and sets up list!

fsBConsuL				!qL is list of files!

@:iF|fsDFile[0 @fn/q0fsDFile/ 0[1
"n f[BBind hk fj j:l -@f	 L .,zk z"n fsMSNamefsDSName
q..omT"e fsDFileu1'"# @fg qN"l 0fsPJATYw fsErroru..J fr'
"# mC fsError@fg 0'''"# qN:"l 1:<er qXfsIFAccess> w0'' f]BBind'
<q1@:; mC 1:<:i*File: ,100100.:et>"e fsDFilemT"e fsDFileu1''
q1"e @fg fsErroru..J fr 1fsModeCh'>
-1fsPJATY
fsIFVersfsDVers
fsDFileu0 hk 0uN 0uX 1:mP|		!qF finds a file!

@:iG|-qN"e'
:f"g @fg0'-qNf"G:mP'
0fsIFAccess
hk 0uN 0uX :mP|			!qG goes to a given page!

@:iR|q..o[2 f[BBind [0 [1
!ReDisp! mC @ft1..o
<fiu0 (q0-)*(q0-)"e ."e mC 0' -d oReDisp'
q0-
"e -1fsPJATYw q2[..o@v]..o oReDisp'
q0-ft$ hfx*'
q0-"e oRedisp'
q0-"e hkoReDisp'
q0-"e 1:<-fwk>"n @fg' oRedisp'
q0-"e u0 @ft0 g0 !<!>'
q0-"e 1f[NoQuit fiu0 f]NoQuit'
@ft0 q0i>|			!qR reads a line w/line editing!

0fs^RInitu0 -1u1			!Set up to clear key defs!
400.<q0,(%1)@fs^RCMac>			!Clear defs of all keys!
afs^RInitu0 a-1u1
26<q0,(%1)@fs^RCMac>			!Set lower-case synonyms!

@:i.L|ff&3"e-1fsPJATY'
"# 1fsModeCh mC 0'|			!^L refreshes screen (mode line w/arg)!

:i			!^M does nothing quietly!

:i.N"l -:mP'
@L .-z"e @fg -1@L' :f 0@:f 0	!^N goes to next line!
q.Nu
				!Linefeed ditto!
@:i.P|"l -:mN'
-@L 0f[%Center 0f[%End 0@v 0|	!^P goes to previous line!
q.Pu^				!Uparrow ditto!

@:i |"l -:m'
[0 <.u0 0:f fsWindow-(zj :f fsWindow (q0j))"e
qN-(1mP qN)"e @fg 0:f ''
"# 1:<fsHeight-3,0:fm>'>
0:f |				!Space goes forward a screenful!
q u.V				!as does ^V!
@:i|"l -:m '
<."e qN-1f"e @fg 0'mG zj :f fsWindowj'
"# -1"e @'-1:f fsWindowj'>|	!Backspace goes back a screenful!

460.fs^RInitu0 57.u1
10<q0,(%1)@fs^RCmac>			!Minus autoarguments!

:i<j0				!< goes to start of page!
@:i>|zj :f fsWindowj 0|		!> goes to end of page!

@:i%|0fsModified
-(fs^RMore"'e)fs^RMorew|		!% toggles --More-- or --nn%-- display!

@:i-|."e @fg 0'
fsHeight-2/2@:f fsWindowj 0|	!- goes back half a page!
@:i+|1:<fsHeight-2/2,0:fm>
.-z"e fsWindowj @fg 0' 0@:f 0|	!+ goes forward half a page!

@:i*|fqL"e @fg 0'
[0 qL[..o ff&3"n j-1@L' <.-z@; :x*(@L1,)mT"e ]..o hk 0uN 0uX 1:mP'>
@fg 0|				!* goes to the next file in a group!

qFuF					!F finds a new file!

qGuJ					!J goes to a given page number!

@:iL|fqL"e @fg 0'
qL[..o .[1 fnq1j -l .[1 ftFiles being viewed (* is current):
 j 0[0 <.-z; fsListen@:;
.-q1"e ft* '"# ft  ' %0:= q0-10"lft  '"#ft ' tl>
0|					!L lists files being viewed!

:iNqN+:mG				!N goes to the next page!
:iPqN-:mG				!P goes to the previous page!

:iR-:mS				!R is reverse search!
qRu.R				!as is ^R!
@:iS|fsSString[0 f[BBind -1"n f"l+1"n -\ i''"#\ i''
"liReverse ' iSearch fq0"g i (0)' i:  q0,(hfx*(f]BBind))mRu0
fq0"l 0'fq0"g 0s0' qN[1 .[2 qN[3
:"l @:L <:s"e qN-(1mPqN)"e q1mG q2j 0;' !<!@>' qNu1 .u2> 0@L qN-q3"e
:f 0@:f 0'"# 0:f''
-<-:s"e qN-1"e q1mG q2j @fg 0;' qN-1mG zj !<!@>' qNu1 .u2> 0@L qN-q3"e
0f[%Center 0f[%End 0@v 0'"# 0:f'|	!S searches!
qSu.S				!as does ^S!

@:iQ|ec mC fsExit
1:<er>"n 1f[NoQuit 0fsPJATYw fsError[..J fr :mF'
qXfsIFAccessw|			!Q exits to superior, closing file!
qQu.Z				!as does ^Z!

:iZ-1:mP				!Z goes to the last page of the file!

qCu					!Delete clears echo area, arguments!

@:i?|ft		VIEW command characters

^L refreshes the screen, or with an argument the mode line.
^N goes to the next line, ^P to the previous line on the page.
Space goes to the next screen, backspace the previous screen.
Digits build up an argument for other key commands.
+ goes forward half a screen, - back half a screen.
* goes to the next file in a wildcard spec.  L lists viewed files.
< goes to the start of the current page, > the end of the page.
F finds a new file (this is done automatically on startup).
J goes to the start of the file, or to a given page.
N goes to the next page in the file, P to the previous page.
Q exits the VIEW program (it can be continued).
S is search, and R is reverse search for some string.
Z goes to the last page in the file.  % toggles --More--.
Delete clears the the echo area.  ? types this cruft.
 0|					!? lists available commands!

-1uN					!No page number yet!

@:i..L|1fsNoQuit
m(fsTTYMacro)
1,mF |				!Enter recursive edit on startup!
					!(should be no way to exit it)!
fsMSNamefsDSName
etFOO..0				!Reset default filenames!

@:i*|0fsNoQuit|fs^REnter		!Allow ^G once user is in ^R!
Local Modes:
Mode:TECO
Comment Start:!
Comment Begin:!
Comment End:!
Comment Column: 40
End:
t
m1,mF EXEfGjfF*K*%G*Oz,*Ogxd?*Zzh2+0{4+|zH0+~z-+~d0d#-BdPd%-Bz .-czx3/l`df/`hd/lpdg/`Pd/6mdh/6epd//Nbd/Nm0dk0`@d0=c`d0@cpd0Lb(d0bbhd0zbXd1bPd1Id`d&2dpd'2"ed(2'ed)2'mdi2,mdi2,ed)3gmPdm3ged(4ePd-4cxd7FT7b7