Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/emacs.elib
There are no other files named emacs.elib in the archive.
x
W
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   E7bQ`jfmy<	R~jv$F--|5TAFCKVTte]QvjWw6SV8	yTz(K3 ai,\7\BDcPHYa b`	lzwuD|\J[sx+2#2+,.3Q-@TjIMgS>ZbBen>ydl
iQ5u'go23p=
JWXVPaJ^kKJrN|/- F& =2 !@] 0C[ :C GE Rqo [Fa eU< rd2!f!?!!<G!*F!4;!<!E\e!P]!]J%!ep!qr!~I"
(|"^5"!"!"*6"382":"C
p"M#"Y`"b"h'Q"n
Z"x
#Q#
&[#,#	#,f5#2r#7;#Ar#J6#UU#],#hoI#q#{$,$	$x[$xL$%
$+c$5aS$91$BS$I(8$Q	$XzV$?&[$f{$oq${%)%5%xY%qvc%(q%2c%9%AbD%Nxm%UO%awj%lc,%u
'E'%')Z'1"'<K'E}_'Mp
'U'\"7'a"
'i$J'u
N'zw{'}0(}I(
}y(=( Y(
~(#%(*$?(3j(: (@=(J=(R(Y(c&(o#_({#)_)M)!i)!) +5),</)7v*)B5r)L)P)YTK)gMA)tPO*K/*
T~*RP*#KM*-K{*8P*B&;*RLH*YE-*ls*uY+X++Q,Dm,q),&`P,2)(,?K],G'J,QL
,[3#,j~,vt-t-
t[-E9-x*-&K -/Tl-;Qs-GK>-PKl-[P-e;-mC)-wBe.B.AS..:.(.X./k.8Wi.EoX.T_+.c]
.pa[.{jM/p/ob/m/)iQ/4m}/>g/Gk[/QE/Vx/fWm/pqV/z,0MU0
*E0T+0M.0%A602P;0:QQ0FPx0PO-0W.o0bLX0j.s0r0,0zV:1S:1M%1.x1"P11*Ob13>u1@1I1N11]>A1f/j1n7]1w72hG2;14Hz4T&4awx4lxl4w(p5'5.5Eb5{5)n=54G5AGY5LIl5XGF5cG35nd5w,S5~-6n%6[ 6Yh6)565aJ6@)D6L(&6UH
6_Q6kQ.6vPd7DQ7	d7c7o7+x7527>V\7J!i7Q|37\.7nWd7~VP8
~>8.{8%Ad81bG8<'8Ksy8X8d8p}c9+9h#9U9(893%9>w:9H*]9W%9e%s9uo:':x:\:):5q:?'r:L&^:[2X:fe:re$:}b;zp;(;$;1m4;Co#;Rl;`Q*;nN;y
T<	gH<.]<(f<6SX<Fc<U<<cvA<px<zzV=cY=sb=$ko=5nk=Gp`=To\=ds=rx=~tB>|>-k>0.>AnO>SjY>_r>lW>wLK?&U?'
?!u9?,0?;!I?K:0@T|@hG@O>@(Id@5Og@DNV@PZ$@Y]@bI5@oHi@}9DA\^AGjA!G.A2-A;N{ACYWAPN{A\7AjPIAuT[B9FB6HBT-B&GjB07yB=DBKCjBUHiB^>:Bk*BruB~XPC^CG.CC'\^C1MC=.CLC[jChP0Ct3!C}\DRDQbDN$D*+ZD:yDDH$DS1,Da+nDmJ:Dx8EE0E!aSE0aE:4ED8|EOH$EV<pEb3pEl9$EuFAF'@N3N>CGNJoNV[NeBNtOqObO|}O&8O3OCzORiOboHOppOz
oPzP;P(*5P:'2PJ,*PX1Pe<5Pw;0Q5)Q/#Q 7Q-.3Q94QFuQN#Qa fQn= Q{j+RwRg`RR*YR53RERP,R_{RlRvp\S%SppSr$S%fS26S?@SJqSYSdSpfTs?Ts(T#ST/q~T:{yTF{OTV
TbTnhT}P:UUC|NUQ{eUd}rUo3U}V
{;VO}V(jV6pVEuVTH%Vg3VtL"W7W>tW'XCW2%WBtuWPs?W^s(Wn*SW}[qX
YnY%IY3	NYA	0YMkdYWl^Yc8Yr$Z"tZy$Z+oZ+fZ:dZF
LZSHZbZp/Z~B[		[QQ[#
[42[Atu[M=[\&C[f&?[m:[&cAlters..D&aAlternatesLispCPROGlHook&eAuto SaveMAllhBuffers& Auto Save Setup& Autoload& Bit Prefix Describe& Case Replace& Charprint& Check Redefinition& Check Top Level& Count Lines& Create Buffer& Default FS Superior& End of Screen Address& Error Handler& Exit EMACS& Find Buffer& Find File& F^K Hook& Get Library Pointer& Indent with Tabs& Indent without Tabs& Init Buffer Locals& Insert Buffer& Isearch Help& Isearch Rubout& Kill Buffer& Kill Text& List One File& List Some Functions& Load BARE& Macro Execute& Macro Get& Macro Name& Make Dispatch String& Make Variable& Matching Paren& Maybe Display Directory& Maybe Flush Output& Maybe Push Point& Mini Initialized& Minibuffer& Multi-window Refresh& Prefix Character Driver& Prefix Describe& Prepare for Input& Process File Options& Process Init Vars& Read Command Name& Read Filename& Read Line& Read Line Help& Read Q-reg Name& Real-time Interrupt& Recursive ^R Set Mode& Rotated Directory Listing& Save for Undo& Save Region and Query& Secretary Macro& Select Buffer& Set Mode Line& Set Variable Comment$& Standard Lisp Indentation Hook& Standard Lisp PROG Hook& Subset Directory Listing& Toplevel ^R& Transpose Subr& View Buffer& Word Search& Xindent with Tabs& Xindent without Tabs& Yes or No& ^R Briefly Describe&& Variable Name ListAbort Recursive EditAppend to FileAproposAtom Word ModeAuto Fill ModeAuto Save Mode
Describe	DIREDDissociatedaPressEditDirectoryEditdIndentednTextEdit OptionsEdit Syntax TableEdit Tab StopsEdit Tabular Text
HowlManyIndentLTabsrModeInfoInsertgBufferInsertcDateInsertFileKeepfLinesKillVBuffersList Matching LinesList RedefinitionsList VariablesLoad LibraryMacsyma ModeMake Local Q-registerMake Local VariableMake Prefix CharacterMake SpaceMIDAS ModeMUDDLE Mode	OccurOverwrite Mode
PL1dModePrependotofFileQueryReplaceReplaceFStringRevert File	RMAILRun LibrarySAIL Character ModeSave All FilesScribe ModeSelect Buffer
Tabify
Tecdocde
TEXtModeUndo
UntabifyViewwBufferViewDirectorybleVisit FileVisit Tag TableWhat Available SpaceWhat Cursor Position
Where IsWord Abbrev ModeWrite FileWrite Region^R Append Next Kill^R Append to Buffer^R Auto-Fill Space^R Autoargument^R Back to Indentation^R Backward Kill Sentence^R Backward Kill Sexp^R Backward Kill Word^R Backward List^R Backward Paragraph^R Backward Sentence^R Backward Sexp^R Backward Up List^R Backward Word ^R Backwards Kill Characters^R Beginning of Defun^R Buffer Not Modified^R Center Line^R Change Font Region^R Change Font Word^R Character Search^R Copy Region^R Correct Word Spelling^R Count Lines Page^R Count Lines Region^R CRLF^R Delete Blank Lines^R Delete Horizontal Space^R Delete Indentation^R Describe^R Directory Display
^R Dired^R Display Date and Time^R Documentation^R Down Comment Line^R Down Indented Line^R Down List^R Down Real Line^R End of Defun^R Exchange Point and Mark^R Execute Minibuffer^R Extended Command^R Fill Paragraph^R Fill Region^R Find Tag^R Format Code^R Forward List^R Forward Paragraph^R Forward Sentence^R Forward Sexp^R Forward Up List^R Forward Word^R Get Q-reg^R Go to AC Field^R Go to Address Field^R Go to Next Label^R Go to Previous Label^R Goto Beginning^R Goto End^R Grow Window^R Incremental Search^R Indent According to Mode^R Indent Comment Relative^R Indent for Comment^R Indent for LISP^R Indent Nested^R Indent New Comment Line^R Indent New Line^R Indent Region^R Indent Relative^R Indent Rigidly^R Indent SEXP^R Indent Under^R Info^R Instant Extended Command^R Just One Space^R Kill Comment^R Kill Line^R Kill List^R Kill Region^R Kill Sentence^R Kill Sexp^R Kill Terminated Word^R Kill Word^R Lowercase Region^R Lowercase Word^R Make ()^R Mark Beginning^R Mark Defun^R Mark End^R Mark Page^R Mark Paragraph^R Mark Sentence^R Mark Sexp^R Mark Whole Buffer^R Mark Word^R Move Over )^R Move to Screen Edge^R Narrow Bounds to Page^R Narrow Bounds to Region^R New Window^R Next Page^R Next Screen^R Next Several Screens^R One Window^R Other Window^R Point into Q-reg^R Pop Minibuffer Ring^R Prefix Control^R Prefix Control-Meta^R Prefix Meta^R Previous Page^R Previous Screen^R Previous Several Screens^R Put Q-reg^R Q-reg into Point^R Query Replace^R Quoted Insert^R Re-execute Minibuffer^R Replace String^R Reposition Window^R Return to Superior^R Reverse Character Search^R Reverse Search^R Reverse String Search^R Reverse Zap to Character^R Right Adjust Line^R Save File^R Scroll Other Window^R Set Bounds Full^R Set Bounds Page~^R Set Bounds Region~^R Set Comment Column^R Set File Read-Only^R Set Fill Column^R Set Fill Prefix^R Set Goal Column^R Set/Pop Mark^R Split Line^R Start Kbd Macro^R String Search^R Tab to Tab Stop^R Transpose Characters^R Transpose Lines^R Transpose Regions^R Transpose Sexps^R Transpose Words^R Two Windows^R Un-kill^R Un-kill Pop^R Uncomment Region^R Underline Region^R Underline Word^R Universal Argument^R Up Comment Line^R Up Indented Line^R Up Real Line^R Upcase Digit^R Uppercase Initial^R Uppercase Region^R Uppercase Word^R View Q-reg^R View Two Windows^R Visit File^R Visit in Other Window^R What Lossage^R Widen Bounds^R Zap to Character~DIRECTORY~~DOC~ & Alter ..D$~DOC~ & Alternate Lisp PROG Hook!~DOC~ & Auto Save All Buffers~DOC~ & Auto Save Setup~DOC~ & Autoload~DOC~ & Bit Prefix Describe~DOC~ & Case Replace~DOC~ & Charprint~DOC~ & Check Redefinition~DOC~ & Check Top Level~DOC~ & Count Lines~DOC~ & Create Buffer~DOC~ & Default FS Superior!~DOC~ & End of Screen Address~DOC~ & Error Handler~DOC~ & Exit EMACS~DOC~ & Find Buffer~DOC~ & Find File~DOC~ & F^K Hook~DOC~ & Get Library Pointer~DOC~ & Indent with Tabs~DOC~ & Indent without Tabs~DOC~ & Init Buffer Locals~DOC~ & Insert Buffer~DOC~ & Isearch Help~DOC~ & Isearch Rubout~DOC~ & Kill Buffer~DOC~ & Kill Text~DOC~ & List One File~DOC~ & List Some Functions~DOC~ & Load BARE~DOC~ & Macro Execute~DOC~ & Macro Get~DOC~ & Macro Name ~DOC~ & Make Dispatch String~DOC~ & Make Variable~DOC~ & Matching Paren#~DOC~ & Maybe Display Directory~DOC~ & Maybe Flush Output~DOC~ & Maybe Push Point~DOC~ & Mini Initialized~DOC~ & Minibuffer ~DOC~ & Multi-window Refresh#~DOC~ & Prefix Character Driver~DOC~ & Prefix Describe~DOC~ & Prepare for Input ~DOC~ & Process File Options~DOC~ & Process Init Vars~DOC~ & Read Command Name~DOC~ & Read Filename~DOC~ & Read Line~DOC~ & Read Line Help~DOC~ & Read Q-reg Name~DOC~ & Real-time Interrupt!~DOC~ & Recursive ^R Set Mode%~DOC~ & Rotated Directory Listing~DOC~ & Save for Undo!~DOC~ & Save Region and Query~DOC~ & Secretary Macro~DOC~ & Select Buffer~DOC~ & Set Mode Line ~DOC~ & Set Variable Comment*~DOC~ & Standard Lisp Indentation Hook#~DOC~ & Standard Lisp PROG Hook$~DOC~ & Subset Directory Listing~DOC~ & Toplevel ^R~DOC~ & Transpose Subr~DOC~ & View Buffer~DOC~ & Word Search~DOC~ & Xindent with Tabs ~DOC~ & Xindent without Tabs~DOC~ & Yes or No~DOC~ & ^R Briefly Describe~DOC~ && Variable Name List~DOC~ Abort Recursive Edit~DOC~ Append to File~DOC~ Apropos~DOC~ Atom Word Mode~DOC~ Auto Fill Mode~DOC~ Auto Save Mode~DOC~ Backtrace~DOC~ Clean Directory~DOC~ Command to Spell~DOC~ Compare Directories~DOC~ Compare Windows~DOC~ Compile~DOC~ Copy File~DOC~ Correct Spelling~DOC~ Count Occurrences~DOC~ Debug Mode~DOC~ Delete File~DOC~ Delete Matching Lines#~DOC~ Delete Non-Matching Lines~DOC~ Describe~DOC~ DIRED~DOC~ Dissociated Press~DOC~ Edit Directory~DOC~ Edit Indented Text~DOC~ Edit Options~DOC~ Edit Syntax Table~DOC~ Edit Tab Stops~DOC~ Edit Tabular Text~DOC~ Find File~DOC~ Flush Lines~DOC~ Fundamental Mode~DOC~ Grind MACSYMA Code~DOC~ Grind Sexp~DOC~ How Many~DOC~ Indent Tabs Mode~DOC~ Info~DOC~ Insert Buffer~DOC~ Insert Date~DOC~ Insert File~DOC~ Keep Lines~DOC~ Kill Buffer~DOC~ Kill File~DOC~ Kill Libraries~DOC~ Kill Local Q-register~DOC~ Kill Local Variable~DOC~ Kill Some Buffers~DOC~ Kill Variable~DOC~ LISP Mode~DOC~ List Buffers~DOC~ List Directories~DOC~ List Files~DOC~ List Library~DOC~ List Loaded Libraries~DOC~ List Locals~DOC~ List Matching Lines~DOC~ List Redefinitions~DOC~ List Variables~DOC~ Load Library~DOC~ Macsyma Mode~DOC~ Make Local Q-register~DOC~ Make Local Variable~DOC~ Make Prefix Character~DOC~ Make Space~DOC~ MIDAS Mode~DOC~ MUDDLE Mode~DOC~ Occur~DOC~ Overwrite Mode~DOC~ PALX Mode~DOC~ PL1 Mode~DOC~ Prepend to File~DOC~ Query Replace~DOC~ Read Mail~DOC~ Read Word Abbrev File~DOC~ Reap File~DOC~ Rename Buffer~DOC~ Rename File~DOC~ Replace String~DOC~ Revert File~DOC~ RMAIL~DOC~ Run Library~DOC~ SAIL Character Mode~DOC~ Save All Files~DOC~ Scribe Mode~DOC~ Select Buffer~DOC~ Send Mail~DOC~ Set Key~DOC~ Set Variable~DOC~ Set Visited Filename~DOC~ Tabify~DOC~ Tecdoc~DOC~ TECO Mode~DOC~ TEX Mode~DOC~ Text Mode~DOC~ Top Level~DOC~ Undo~DOC~ Untabify~DOC~ View Buffer~DOC~ View Directory~DOC~ View File~DOC~ View Mail~DOC~ View Q-Register~DOC~ View Variable~DOC~ Visit File~DOC~ Visit Tag Table~DOC~ What Available Space~DOC~ What Cursor Position~DOC~ What Page~DOC~ Where Is~DOC~ Word Abbrev Mode~DOC~ Write File~DOC~ Write Region~DOC~ ^R Append Next Kill~DOC~ ^R Append to Buffer~DOC~ ^R Auto-Fill Space~DOC~ ^R Autoargument ~DOC~ ^R Back to Indentation#~DOC~ ^R Backward Kill Sentence~DOC~ ^R Backward Kill Sexp~DOC~ ^R Backward Kill Word~DOC~ ^R Backward List~DOC~ ^R Backward Paragraph~DOC~ ^R Backward Sentence~DOC~ ^R Backward Sexp~DOC~ ^R Backward Up List~DOC~ ^R Backward Word&~DOC~ ^R Backwards Kill Characters~DOC~ ^R Beginning of Defun ~DOC~ ^R Buffer Not Modified~DOC~ ^R Center Line~DOC~ ^R Change Font Region~DOC~ ^R Change Font Word~DOC~ ^R Character Search~DOC~ ^R Copy Region"~DOC~ ^R Correct Word Spelling~DOC~ ^R Count Lines Page~DOC~ ^R Count Lines Region~DOC~ ^R CRLF~DOC~ ^R Delete Blank Lines$~DOC~ ^R Delete Horizontal Space~DOC~ ^R Delete Indentation~DOC~ ^R Describe~DOC~ ^R Directory Display~DOC~ ^R Dired"~DOC~ ^R Display Date and Time~DOC~ ^R Documentation~DOC~ ^R Down Comment Line~DOC~ ^R Down Indented Line~DOC~ ^R Down List~DOC~ ^R Down Real Line~DOC~ ^R End of Defun$~DOC~ ^R Exchange Point and Mark~DOC~ ^R Execute Minibuffer~DOC~ ^R Extended Command~DOC~ ^R Fill Paragraph~DOC~ ^R Fill Region~DOC~ ^R Find Tag~DOC~ ^R Format Code~DOC~ ^R Forward List~DOC~ ^R Forward Paragraph~DOC~ ^R Forward Sentence~DOC~ ^R Forward Sexp~DOC~ ^R Forward Up List~DOC~ ^R Forward Word~DOC~ ^R Get Q-reg~DOC~ ^R Go to AC Field ~DOC~ ^R Go to Address Field~DOC~ ^R Go to Next Label!~DOC~ ^R Go to Previous Label~DOC~ ^R Goto Beginning~DOC~ ^R Goto End~DOC~ ^R Grow Window~DOC~ ^R Incremental Search%~DOC~ ^R Indent According to Mode$~DOC~ ^R Indent Comment Relative~DOC~ ^R Indent for Comment~DOC~ ^R Indent for LISP~DOC~ ^R Indent Nested$~DOC~ ^R Indent New Comment Line~DOC~ ^R Indent New Line~DOC~ ^R Indent Region~DOC~ ^R Indent Relative~DOC~ ^R Indent Rigidly~DOC~ ^R Indent SEXP~DOC~ ^R Indent Under~DOC~ ^R Info%~DOC~ ^R Instant Extended Command~DOC~ ^R Just One Space~DOC~ ^R Kill Comment~DOC~ ^R Kill Line~DOC~ ^R Kill List~DOC~ ^R Kill Region~DOC~ ^R Kill Sentence~DOC~ ^R Kill Sexp!~DOC~ ^R Kill Terminated Word~DOC~ ^R Kill Word~DOC~ ^R Lowercase Region~DOC~ ^R Lowercase Word~DOC~ ^R Make ()~DOC~ ^R Mark Beginning~DOC~ ^R Mark Defun~DOC~ ^R Mark End~DOC~ ^R Mark Page~DOC~ ^R Mark Paragraph~DOC~ ^R Mark Sentence~DOC~ ^R Mark Sexp~DOC~ ^R Mark Whole Buffer~DOC~ ^R Mark Word~DOC~ ^R Move Over ) ~DOC~ ^R Move to Screen Edge"~DOC~ ^R Narrow Bounds to Page$~DOC~ ^R Narrow Bounds to Region~DOC~ ^R New Window~DOC~ ^R Next Page~DOC~ ^R Next Screen!~DOC~ ^R Next Several Screens~DOC~ ^R One Window~DOC~ ^R Other Window~DOC~ ^R Point into Q-reg ~DOC~ ^R Pop Minibuffer Ring~DOC~ ^R Prefix Control ~DOC~ ^R Prefix Control-Meta~DOC~ ^R Prefix Meta~DOC~ ^R Previous Page~DOC~ ^R Previous Screen%~DOC~ ^R Previous Several Screens~DOC~ ^R Put Q-reg~DOC~ ^R Q-reg into Point~DOC~ ^R Query Replace~DOC~ ^R Quoted Insert"~DOC~ ^R Re-execute Minibuffer~DOC~ ^R Replace String~DOC~ ^R Reposition Window~DOC~ ^R Return to Superior%~DOC~ ^R Reverse Character Search~DOC~ ^R Reverse Search"~DOC~ ^R Reverse String Search%~DOC~ ^R Reverse Zap to Character~DOC~ ^R Right Adjust Line~DOC~ ^R Save File ~DOC~ ^R Scroll Other Window~DOC~ ^R Set Bounds Full~DOC~ ^R Set Bounds Page~~DOC~ ^R Set Bounds Region~~DOC~ ^R Set Comment Column~DOC~ ^R Set File Read-Only~DOC~ ^R Set Fill Column~DOC~ ^R Set Fill Prefix~DOC~ ^R Set Goal Column~DOC~ ^R Set/Pop Mark~DOC~ ^R Split Line~DOC~ ^R Start Kbd Macro~DOC~ ^R String Search~DOC~ ^R Tab to Tab Stop!~DOC~ ^R Transpose Characters~DOC~ ^R Transpose Lines~DOC~ ^R Transpose Regions~DOC~ ^R Transpose Sexps~DOC~ ^R Transpose Words~DOC~ ^R Two Windows~DOC~ ^R Un-kill~DOC~ ^R Un-kill Pop~DOC~ ^R Uncomment Region~DOC~ ^R Underline Region~DOC~ ^R Underline Word~DOC~ ^R Universal Argument~DOC~ ^R Up Comment Line~DOC~ ^R Up Indented Line~DOC~ ^R Up Real Line~DOC~ ^R Upcase Digit~DOC~ ^R Uppercase Initial~DOC~ ^R Uppercase Region~DOC~ ^R Uppercase Word~DOC~ ^R View Q-reg~DOC~ ^R View Two Windows~DOC~ ^R Visit File"~DOC~ ^R Visit in Other Window~DOC~ ^R What Lossage~DOC~ ^R Widen Bounds~DOC~ ^R Zap to Character~DOC~ ~Filename~~Filename~
~INVERT~.m(m.m& Load BARE)
[7:i7
[8[9:i9
fs:ejpage*5120+400000000000.u8
<-fq8;
m(m.m& Maybe Flush)
,q8m(m.m& List One File)79
q8+fq8+4u8>
"nftDone
'
V[9[8:i8:i9
[0[1[2[6[7
m.m& Maybe Flush
f[bbind
f[sstringf[window
g(1,m.m~Filename~)
hf=0"ehki((Anonymous))'
j<:s
;-2d>
:i6In library ..O:


hk
fswidth-60"l-1f[truncate'
g(m.m~DIRECTORY~)j
<.-z;
:f@:fb/8/"ek!<!>'
0l:x2m.m~DOC~ 2u0
f=9*"ef~0S -2"gk!<!>''
"#f~09-fq9:"gk!<!>''
maw0;
ft6:i6
:l24-.f"g, i'w i
g0.-z(
fkc:@f kd
j:@l0t
ft

)+zjb,.kk
"n1,(m.m2)m(m.mWhere Is)'
>
fq6"g'
ft
Kf[bbindg(1,FSubstring: )
j@f kzj-@f k
hx*[.1
[.2:i.2*
ff"e:i.2'
1,m(m.m& List Some Functions).1.2
m(m.m& Maybe Flush)
ff"e
1,1m(m.mList Variables).1
'
ft
Done

rFF&1"N[1'
"#9,FFunction: M.M1U1'
Q1:"LM(M.M& Load BARE)'
-[2
"E
FTThe function 
Q1M(M.M& Macro Name)[3
FT3'
-[0
-2"E
400.,Q1:FU0
Q0"L0,Q1:FU0'
Q0:"LQ0M(M.M& Charprint)-1''
"#
<%0,Q1:FU0Q0:;
Q2-4"GFT, etc.
'
%2"E"NFT  which'
FT can be invoked via: '
"#FT, '
Q0M(M.M& Charprint)
>'
F[BBINDGPrefix Char ListJ
[3[4
<.-Z;
.,(FB  2R.)X3
M(:X*)U4L
-1U0
<%0,Q1F4U0Q0:;
Q2-4"GFT, etc.
'
-2"N%2"E"NFT  which'
FT can be invoked via: '
"#FT, ''
FT3 
2,Q0M(M.M& Charprint)
-2"E-1'
>>
Q2"L-2"E0'"N'
FT cannot be invoked except with MM.'
FT

+m(m.mRun Library)INFO& Info Enter6[8[9[7"e:i7'
fs:ejpage*5120+400000000000.u8
<-fq8;
1,q8m.m~filename~u9
q9"lf~97~~~-fq7-1@;'
q8+fq8+4u8>
fq8"l"N0'
:I*NSL	No such library loadedFSERR'
q8P[0[1[4
FTLoaded libraries are:


fs:ejpage*5120+400000000000.u0
<-fq0;1,q0m.m~filename~u4
Q4+1"GOLOSE'
ft4

q0m.m~DOC~ ~FILENAME~u4
ft4

fq4-2:g4-
'
!LOSE!
q0+fq0+4u0>
0[0[1[2[3[4-1[9
M.M& Maybe FlushUF
FP"NF[BBIND'
"#[..OF[VBF[VZ
.,.FSBOUND'
1,fSubstring: 
"E:FTDefined variables 
FQS"GFTcontaining "S" !''!'
FTare:

'
FQ..Q-5/15<
Q:..Q(%0)U1
"NF~(0,3:G1)MM "N%0OLose''
.U2
FQ1"L:I1<Garbage Name>'
G1I 
25-(0F)F"G,32I'
"N
q2j3d.,z-1x1zj
%0
g(1,m.m~DOC~ 1)z-.u1
fkc:@f k1k
:@l.,z-q1ki
'
"#
Q:..Q(%0)U1
Q1FP-1"E:I1<Q-vector>'
Q1FP+1"E:I1<Dead Buffer>'
Q1FP"E:I1<Buffer>'
Q1FP-100"E
Q1M(M.M& MACRO NAME)U1'
Q1FP"LQ1\I
'
"#
.U3G1
Q3J<.-z;@f:@;2d>
ZJ<q3-.;0@f:@;-2d>
:L.-Q3-30"GQ3+30j'
.-Z"NZKI ...'
I
''
FQS"GQ2J:SS"EZKOLose''
ZJ
"N%9"E
FTFunctions defined by temporary definitions (MM variables)

''
-Q..O"NMFHTHK'
!Lose!
%0>
"EFT
Done
'
"#'tm(m.m& Load BARE)
[1[2ff"NU1'
"#8,fFunction: u2
1,M.M2U1
Q1"E:FO..Q2"G
M(M.MView Q-register)2'
1,M.M^R 2U1
Q1"EM.M2'''
Q1M(M.M& Macro Name)U1
Q1"EFTA nameless impure function.

'
FT1:

M.M~DOC~ 1U1
F[BBIND
G1J:@F KD[0
<:S;
B,.-1TB,.K
.,(S-D).FX1
0:G1-"EFM1'
"#2,M(M.MWhere Is)1"E
FT1''
>
FT..O
M(M.M& Load BARE)
[0[1[2[3[4
FF"E1,M.I@FIU0'
Q0"GQ0FS^RINDIRECTU0
Q0U1'
Q1FP-101"NONOTPREFIX'
F=1!PREFIX!-9"N
!NOTPREFIX!
Q0M(M.M& CHARPRINT)
FT is not an escape-prefix character.
'
M.M& Maybe Flush
F[SSTRING
F[BBIND
G1
JSQ0KSM.P3R.,ZK
hx4q4u3
F]BBIND
FF"EFTHere is info on the prefix command 
Q0M(M.M& CHARPRINT)FT.
'
FSLISTEN"EFTType a subcommand to document (or "*" for all):
!''!'
M.I@:FIU1FIU2
Q0"GQ0M(M.M& CHARPRINT)FT '
Q2-*"N
FQ3/5-Q2"GQ:3(Q2)'"#0'"E
Q2:FCU2'
Q1M(M.M& CHARPRINT)FT 
Q2*5-FQ3+1"GFTis not defined.
'
Q:3(Q2)"EFTis not defined.
'
:i*:4(2),Q:3(Q2):M(M.M^R DESCRIBE)'
FThas these subcommands:

-1U1FQ3/5<
Q:3(%1)"N
MAFT   
Q1,Q:3(Q1)M(M.M& ^R Briefly Describe)'
>
z[0[1[2[3
M.M& Maybe Flush
M(M.M& Load BARE)
12,13:G1U22*200.U2
Q0:"L
Q0,Q1M(M.MDescribe)
FTType a subcommand to document (or "*" for all):
!''!'
,M1U3
FT

Q3&177.-*"N
Q3M(M.M& CHARPRINT)FT 
Q3,Q3:M(M.M^R DESCRIBE)'
FTThese 
Q2&200."NFTControl-'
Q2&400."NFTMeta-'
FT commands are available:

200.@FS^RINITU0
101.@FS^RINITU1
341.@FS^RINITU3
200.<
Q2#Q3&777777."N
Q2#Q0"N
Q2#Q1"N
MAFT   
Q2,Q2M(M.M& ^R Briefly Describe)''''
%2>
KM(M.M& Load BARE)
[0[1[2U0U1
M.M& Charprint
FF"E
1,M.I@FIU0Q0U1
FTThe command Q0MCFT '
Q1FP-99"G
F~1!BIT-PREFIX--13"E
FTis a bit prefix character.
0:"EFT
It runs the function '
"#-U0'
Q0,Q1:M(M.M& Bit Prefix Describe)'
F~1!PREFIX!-9"E
0:"E
FTis an escape-prefix for more commands.
It reads a character (subcommand) and dispatches on it.
'
"#-U0'
Q0,Q1:M(M.M& Prefix Describe)
''
Q1FP-100:"L
Q1M(M.M& Macro Name)"E
FTis a nameless impure string
'
FTruns the function 
Q0,Q1:M(M.MDescribe)'
Q0U2
Q0-(Q0:f"lFS^RINDIR'U0Q0)"N
Q2:FC-Q0"N
FTis an alias of Q0MCFT.

Q0MCFT '
Q0,Q0:M(M.M^R DESCRIBE)'
0FS^RINIT-Q1"E
FTis undefined
'
Q1FP+4"E
Q1M(M.M& Macro Name)U2
Q2"NFTis the built-in TECO command 
Q0,Q1:M(M.MDescribe)''
FThas an unrecognizable definition.
![0[1U0U1
0F[SAIL
Q0M(M.M& CHARPRINT)
F]SAIL
FT 
Q1FP-101"E
F~1!PREFIX!-9"E
FTis an escape-prefix for more commands.
''
Q1M(M.M& MACRO NAME)[2
Q2"NQ2U1
FTruns the function 
FT1:
M.M~DOC~ 1U1
F[BBIND
G1JFWKD:@L.,ZK
FT
	HTFT
'
F:M(M.M^R DESCRIBE)
:I*CFSECHODIS
!Prompt!@:FTDoc (? for help): 
!NoPrompt!
0F[HELPMACFI:FCUBQB-4110."E?UB'F]HELPMAC
QB-127"EQUB'
@:FTB:OB@FG@:FT is meaningless here.  OPrompt
!A!:IBAproposOXX
!C!:I*CCharacter: FSECHODIS
:M(M.M^R Describe)
!D!:IBDescribe8UAOXX
!H!ONoPrompt
!I!:M(M.M^R Info)
!L!:M(M.M^R What Lossage)
!M!.*100/(FSZ):\UB:FT..J--B%--FSMODIF"NFT *'FT

!N!F[DFILEM(M.MView File)EMACS;EMACS NEWS
!Q!!!
!R!0[D1,M(M.M& Read Line Help)
!T!:IBTecdocOXX
!V!:IBList VariablesOXX
!W!:IBWhere Is8UAOXX
!?!2,M(M.M& Read Line Help)
!"!FT
Type a Help option to say which kind of help you want:
C   says what a certain Command (character) does.  You type the character.
D   Describes a function.  You type the name.
A   lists all functions Apropos a keyword.  You type the keyword.
L   tells you the Last 60 characters you typed.
R   describes current Recursive editing level.
N   prints a file of EMACS news.
I   runs the INFO program for detailed documentation.
Q or Rubout  Quits -- you don't really want help.
More advanced options:
  T - run TECDOC; V - run List Variables; W - run Where Is;
  M - print the contents of the mode line (for printing ttys).
  SPACE repeats previous A, D, T, V or W request.

For a basic introduction to EMACS, run the program 
fsosteco"eftTEACHEMACS.'"#ftTEACH-EMACS.'ft

0U..H@ft

OPrompt
! !0FO..QPrevious Doc Command
0FO..QPrevious Doc Arg
QA"E@FGOPrompt'
@FT B: A
OEXECUTE
!XX!
QA+1,M(M.M& Read Line)B: UA
QA"E'
QAM.VPrevious Doc Arg
QBM.VPrevious Doc Command
!EXECUTE!
F~BApropos"E1'M(M.MB)A
":m(m.aAUXList Redefinitions):m(m.aPURIFYTECDOC)Hfs.tyipt[1
m.m& Charprint[2
<fs.tyinxtm2ft fs.tyipt-q1@;>
0[F[:EJPAGE
F[DFILE
1,m(m.m& Get Library)BARE"e
:ejdsk:emacs;bare elib'
F]DFILEoM(M.M& Init Buffer Locals)
M.M^R Indent for LispM.QI
1,1M.LSpace Indent Flag
1,Q(1,Q.M.QW)M.Q.
1,56M.LComment Column
1,(:I*;)M.LComment Start
1,(:I*)M.LParagraph Delimiter
QPermit Unmatched Paren"L
1,0M.LPermit Unmatched Paren'
1,(:I*COMPLR)M.LCompiler Filename
M.Q..D
0FO..QLisp ..DF"NU..D'
"#W:G..DU..D
Q..DM.VLisp ..D
-1[132<%1*5+1:F..DA>
9*5+1:F..D 
!"""""!1M(M.M& Alter ..D)||"|//''`','@'#'[A]A{A}A
  '
1M(M.M& Set Mode Line)LISP:I*PALX,:M(M.MMIDAS Mode)!M(M.M& Init Buffer Locals)
[2FQ2:"G:I2MIDAS'
1,1M.LSpace Indent Flag
1,32M.LComment Column
1,(:I*;)M.LComment Start
1,(:I*)M.LParagraph Delimiter
F~2MIDAS"'E+(F~2PALX"'E)"N
1,(:I*/E)M.LCompiler Switches'
0fo..qMIDAS Vector[1
q1"e5*5fsqvectoru1q1m.vMIDAS Vector
m.m^R Go to AC Fieldu:1(0)
m.m^R Kill Terminated Wordu:1(1)
m.m^R Go to Address Fieldu:1(2)
m.m^R Go to Next Labelu:1(3)
m.m^R Go to Previous Labelu:1(4)'
1,Q:1(0)M.Q...A
1,Q:1(1)M.Q...D
1,Q:1(2)M.Q...E
1,Q:1(3)M.Q...N
1,Q:1(4)M.Q...P
M.Q..D
0FO..QMIDAS ..DF"NU..D'
"#W:G..DU..D
Q..DM.VMIDAS ..D
1m(m.m& Alter ..D)<(>)'
1M(M.M& Set Mode Line)21M(M.MLoad Library)PURIFY
:M(M.MTECO Mode)-M(M.MLoad Library)TEX
:M(M.MTEX Mode)3m(m.mLoad Library)SCRIBE
:m(m.mScribe Mode)%M(M.M& Init Buffer Locals)
M.Q..D
1,(:I*RR)M.LCompiler Filename
0FO..QText ..DF"NU..D'
"#W:G..DU..D
Q..DM.VText ..D
5*.:F..D  
!"!5*':F..DAA
5*8:F..DAA
5*_:F..DAA
'
1,(M.M^R Tab to Tab Stop)M.QI
1,0M.LDisplay Matching Paren
1M(M.M& Set Mode Line)TextU1[Space Indent Flag
M.M^R Tab to Tab Stop[I
:I*Tabular Text[Submode
0BM.M^R Indent Relative[I
127FS^RINIT[.
377.@FS^RINIT[
1[Space Indent Flag
[Fill Prefix
:I*[Paragraph Delimiter
:I*
[Page Delimiter
:I*Indented Text[Submode
0EM(M.M& Init Buffer Locals)
1M(M.M& Set Mode Line)FundamentalPM(M.M& Init Buffer Locals)
M.M^R Indent NestedM.QI
1,1M.LSpace Indent Flag
1,Q(1,Q.M.QW)M.Q.
40M.LComment Column
:I*/* M.LComment Begin
:I*/*M.LComment Start
:I**/M.LComment End
M.Q..D
0FO..QMACSYMA ..DF"NU..D'
"#W:G..DU..D
Q..DM.VMACSYMA ..D
1M(M.M& Alter ..D)\/"|$ ; : = - + * / ^ < > @ ! # & | . , ` ~ _ !'!
5*?:F..DAA'
1000000.[2Q2-1&(aFS^RINIT)[1
]-)*Q2+Q1M.Q]
]1]2
1M(M.M& Set Mode Line)Macsyma3M(M.MLoad Library)MUDDLE
:M(M.MMuddle Mode)-M(M.MLoad Library)PL1
:M(M.MPL1 Mode)^1,M.M& File TDEBUG Loaded"E
M(M.MLoad Library)DSK:EMACS;TDEBUG'
F:M(M.MDebug Mode)BQAuto Fill Mode"'E[0
FF"N"'GU0'
Q0UAuto Fill Mode
0BQAtom Word Mode"'E[0
FF"N"'GU0'
Q0UAtom Word Mode
0BQOverwrite Mode"'E[0
FF"N"'GU0'
Q0UOverwrite Mode
0~QIndent Tabs Mode"'E[0
FF"N"'GU0'
Q0UIndent Tabs Mode
Q0"E
@FTNot using tabs'
"#@FTUsing tabs'
0FSECHOACTVQSAIL Character Mode"'E[0
FF"N"'GU0'
Q0USAIL Character Mode
0FSECHOACT:m(m.mLoad Library)WORDAB
f:m(m.mWord Abbrev Mode)?m(m.mLoad Library)WORDAB
f:m(m.mRead Word Abbrev File)y1,fReplace: [..9
1,fReplace ..9 with: ,q..9(]..9)[0[1
!fsreread
.[9fnq9j
fm(m.mQuery Replace)01fk(.(fkc:fwl
0,1au40,2au2)j
)dg1
q4-100.f"g-27"l
q2-100.f"g-27"l
fk@fcOAllcaps''
.(fkc:fwl1@fc)j
!Allcaps!
''
-fq1
1,fReplace: [..9
fq..9"e:i*String to replace is emptyfserr'
1,fReplace ..9 with: [1
q..9(]..9)[0
10f[%center
[..j:i..jQuery Replace.  0[..f
[2[4[5
q1[3"e
:i31fk
0u2-1u4
fq0<%4:g0"u0;'q4:g0"a%2'>
Q2"G%4-fq0"e
0fo..qCase Replace"n
m.m& Case Replaceu3''''
"n:i33'
F0:"L
f[bbindg0
j<:s;i>
hx0f]bbind'
fsreread-!"efiwOExcl'
<:s0"e-1'
ff&1"N
0,FKA"C!<!>'
0,1A"C!<!>''
0@v
.+fku5
fsrgetty"e0tt'
0f[Helpmac@fi:fcu4f]helpmac
q4-!"em3
!Excl!
<:s0;
ff&1"N
0,FKA"C!<!>'
0,1A"C!<!>''
m3>f-1'
q4-,"em3@V
!Pause!0@V@fi:fcu4
q4-.@;
q4-!"eoExcl'
q4fx ,"g127u4''
q4-."em3f0;'
q4-f.L"ef+fkc!<!>'
q4-^"ewOPause'
q4-(33.fs^rinit)@;
q4-@;
q4-f.W"efkd0!<!>'
q4-f.R"e0!<!>'
q4-4110."e?u4'
q4-?"nq5:'
q4-32"em3f!<!>'
q4-127"e!<!>'
q4-?"e
!<<<"!
ftSpace => replace, Rubout => don't, Comma => replace and show,
Period replaces once and exits, ! replaces all the rest,
C-R enters editor recursively, C-W does so after killing FOO,
^ returns to previous locus, ? gets help, C-L redisplays,
Altmode exits, anything else exits and is reread.

fsrgetty"nftType a space to see buffer again.

:fi-32"efiw'0u..h@v'
fkc!<!>'
q4fsrereadw0>
-1fsrereadw0G1,fPattern: f[sstring
.(.[1
<:s;0l
q1,.k
l.u1>
q1,zk)j.,zF1,fPattern: f[sstring
fq(fssstring)"e0'
.(<:s;
0kk>)j.,zm1,fPattern: f[sstring
.[0FNQ0J
[1FF"E0U1'
<:S;-Q1TQ1+1T
Q1"NFT--------
'
L>
FTDone

01,fPattern: f[sstring
0[0.[2
fnFTQUIT!  q0:=ft occurrences as of location .:=FT
q2j
<:s;%0>
q0:=FT occurrences.

q2j]..n0f:m(m.aAUXTabify)+f:m(m.aAUX& Correct Buffer Spelling)f:m(m.aAUX& Spell JCL)bf"nf[tabwidth'
fstabwid[1
.[0fnq0j
0s	
<:s;-dq1-(fsshpos-(fsshpos/q1*q1)),32i>
U1,fLibrary: [2
[0[.1f[dfile
ff&2"ne[fne]0[8'
etDSK:fshsnamefsdsname
1f[fnamsynet ELIB
fsdfn1:f6[.2
f[:ejpage
fs:ejpageu0
1:<:ej2u.1
ff&2"nerfsIFileu8ec'
>"L
F~(0,3:G(FSERROR))OPN"NFSERRORFSERR'
1:<f[dfile
:ejEMACS;u.1
ff&2"nerfsIFileu8ec'
f]dfile>"L
F~(0,3:G(FSERROR))OPN"NFSERRORFSERR'
:ej''
q.1fp-100"e
q.1+fq.1+4-(q0*5120+400000000000.)"e
]*wq.1[.6
ff&3-1"n1,q.1m.m~Filename~u.2fq.2"g
ff&2"nq8m.v.2 Library Filename'
ff&1"e1,q.1m.m& Setup .2 Libraryu.1
fq.1"gm.1''''
Q.6''
:i*LIB	FILE NOT IN LIBRARY FORMATfserrB1,fLibrary: (
1,fFunction: [.9
)[.8
f:m(m.a.8.9)4:ft[0[4[5
<
fs:ejpage*5120+400000000000.u0
fq0-1:;
1,q0m.m~filename~u4
q4"nf~4EMACS@;'
q4+1"GftKill Anonymous Library'
"#ftKill 4 Library
q0m.m~DOC~ ~FILENAME~u5
ft (5)'
m(m.m& Yes or No)@;
q4"l1,q0m.m& Kill 4 Libraryu5'
q5"nq0m5'
fs:ejpage+(fq0+4/5120)fs:ejpage'
>
0u..hF[:EJPAGEF[DFILE
1,FLibrary: [0[1
1,q0m(m.m& Get Library Pointer)[2
q2"nq2U1'
"#1M(M.MLoad Library)0U1'
Q2,Q1M(M.M& LIST ONE FILE)$f@:m(m.aAUX& Compare Windows)!F:M(M.ADIRED& DIRED Enter)F:M(M.ADIREDReap File)#F:M(M.ADIREDClean Directory)%:M(M.ADIREDCompare Directories)?1,fVariable: [0
:fo..q0[0
q0"l'
q..q[..oq0*5j15d0:m(m.aAUXEdit Options):M(M.ADIREDList Files)":M(M.ADIREDList Directories):[2-1"n:i2<entry>'
"#:i2& Mail Message'
:f"l:i*'"#:i*'[1
0fo..qMail Reader Library[0
-1"e0fo..qMail Sender Libraryf"nu0''
q0"efsosteco"e:i0RMAIL''
fq0:"lfm(m.a02)1'
0FO..qMail Reader Programu0
q0"e:i0MM'
0fo..qMail Fork[2
"eff&1"n"nq2"n-q2fz
0uMail Fork'0'''
0[3"nf=0MM"e:i3SEND''
m(m.m& Exit EMACS)
0fo..qExit to Inferior Hook[1
q1"nm1'
q3f"nfsforkjcl'
q2"n
q2fz
oclean-up'
fsOSTeco-1"efzSYS:0.EXEu1'
"#fz<SUBSYS>0.SAVu1'
q1m.vMail Fork
!clean-up!
0fo..QReturn From Inferior Hooku1
q1"nm1'
01,(f):m(m.mRead Mail)!:m(m.aAUXEdit Syntax Table)Pf[BBindg(1,fQ-register: )
J1AF(.:"LZ-.-1"N
J27IZJ27I''
Q..O[1[2[3
J1A-33."E
DZJ-D:FO..Q..OU3
Q:..Q(Q3)U2FTQ2
Q:..Q(Q3+2)U2
FQ2"GHKG2
J1A-!"E
DS!R.,ZK'
FT  HT''
"#:FTQ..O'
FT

[A
0U3
0U2
@:IA|
Q2-Q3<FT >
Q1FP-1"EFTQ-vector
Q1[..O-1[0Q2+2[2
Z/5<Q2<FT >FT(%0:=FT)
Q0-10"LFT '
Q2+2[3q2+3[2Q:1(Q0)[1
MA]1]2]3>
'
Q1FP+1"EFTDead Buffer
'
Q1FP"LQ1='
Q2"NFQ1-2000."GFTLong String
''
FT1

|
:MA,1,FBuffer: [1
Q1:M(M.m& View Buffer)_[1
0[2
fq1"eqBuffer Nameu1'
"#Q1M(M.M& Find Buffer)U2
Q:.B(Q2+4)[..O'
[..J:I..JViewing Buffer 1  
.[PFNQPJ:I*[..A
q2"e:FFSWINDOW+BJ'
"#q:.b(q2+6)+bjf[window'
1,M(M.MView File)
FSREREAD"L'
:FI-
FIW
FSRGETTY"E.UP.'
FSWINDOW+BJ
Q2"N.-BU:.B(Q2+6)'
FSLINESF"EWFSHEIGHT-(FSECHOLINES+1)-(FSTOPLINE)'/2L.UP.'
R"E
FNEC
5,4FView File[11,ER1
FSDFILE[0
:I*Viewing 0 [..JFR
F[BBINDF[WINDOW'
FSRGETTY"E[H
:<F+
1:<0,0@FM>W
FSHEIGHT-1,34F:1UH
.,(1:<QH,0FM>W.)T
.-Z@;
FT--More--
:FI-40."NFT FLUSHED0;'FI>
FSREREAD-127."EFIW'
F+'
0[1
.[2
[3
1F[^RMORE
FSLINESF"EWFSHEIGHT-(FSTOPLINE)-(FSECHOLINES+1)'[H
<"E
Q2+6000-Z-Q1"G
ZJQ1+ZFSIFACCESS
Q2+6000-Z-Q1/5*5FY'
Q2+6000-Z-Q1"G
-@FK'
Q1"GQ1-Q2+6000"G
Q1-Q2+6000/5*5U3
Q3-Q1"GQ1U3'
JQ1-Q3FSIFACCES
Q3FYQ1-Q3U1''
Q1+Z-Q2-10000"G
ZJ-(Q1+Z-Q2-8000)D'
Q2-Q1-14000"G
J(Q2-Q1-8000)U3
Q3DQ3+Q1U1''
Q2-Q1J.FSWINDOW
.,Z@V
:FIU3
Q3-127"EFI'
Q3-32"NQ3-8"N0;''
FI
Q3-32"E1:<QH,0:FM>
.-Z;'
Q3-8"E1:<-QH,0@FM>'
.+Q1U2
>
0U..H
][1[2.f[vbfsz-.f[vz
ff"n'"#fsdate'fsfdconvertw.-3fam 
8r\u1-2d
q1-11"gq1-12u1.+3fp'
.,(q1f"ew12'\)zfx2-d
jegj5ki cfwf(fc)li, 3k
\-1*10u1-2dd1a-0"edr'
2cf cq1,q1+10g(:i*January   February  March     April     May       June      July      August    September October   November  December  )
.,(-s 2c).fki19
jg2z:jhr1,M.M& Setup TAGS Library"E
M(M.MLoad Library)TAGS'
FF"NM.VTags Find File'
:M(M.M& Visit Tag Table)D[2"e1u2'
[1[3[4-1F[^MPRINT
:i3-(*(/))
<fsFlushed"n0;'
q2"g.u41:<,20m3+4fwr>"lj!<!>'q4,.t
-q2fwx1
,zm3j:s1"Ejs'r'
"#.,(1:<,20m3+4c>w).t
q2x1
,zm3j:s1"Ejs''
>
oFF"EM(M.MSave All Files)'
Qbuffer filenames[1
FSOSTECO"N(fq1-1:G1-0)(fq1-2:G1-.)"E
0,fq1-2:G1U1''
Q1F[DFILE
0FO..QCompiler Switches[4
FQ4"L:I4'
0FO..QCompile Command[2
Q2"Nf:M2'
QModeU2
0FO..QCompiler Filename[3
FSOSTECO"EQ3"G0U3''
Q3"EQ2U3''
FSOSTECO"E
:3  14
'
"#Q3"GF+0FZexecute  1 4
'
"#:F3"L<F3"L!>!
:I3SYS:3''
.F3"L:I33.EXE'
:FT-(FZ3  1 4
)FZ'
0U..H-1FSPJATY
'
0FO..QAfter Compilation HookU2
Q2"NM2'
	1,fUser: [0
fsosteco"e
fq0"efsuname'"#f60'fsumail
'
"#fq0"efshsname'"#q0'fsdsname
etdsk:mail.txt'
m(m.mView File)0fq:..u(0)-q..o"n
:i*Not in buffer that was changedfserr'
fsz-q:..u(2)-q:..u(3)"l
:i*Things have changed too much to undo that.fserr'
q:..u(4)[0
"e
@ftUndo the last 0
1m(m.m& Yes or No)"e0''
q:..u(1)u0
b-q:..u(2)"g0fsvb'
fsvz-q:..u(3)"g0fsvz'
q:..u(2)j
.,fsz-q:..u(3)x:..u(1)
.,fsz-q:..u(3)k
g0
.:
fkc
:i:..u(4)Undo
fQ0W1,FVariable: (
FF"E1,FValue: '"#'[1
)[0
:FO..Q0:"G
0M.V0'
Q1U00:m(m.m& Load Bare)
8,FFunction Name: [0
m.m0m(m.m& Macro Name)u0
@ftPut 0 on key: 
m(m.m& Read Q-reg)[1
@ft  Go ahead1m(m.m& Yes or No)"e0'
m.m0u1
1fsmodech0F[VB.[0FNQ0J1[1
QPage Delimiter[2
J<.,Q0:FB2;FKC0@F"E%1'W-FKC>
@FT  Page Q1@:=
1U1
<.,Q0:FB
;%1>
@FT  Line Q1@:=
0FSECHOACT@:i*CFSECHODIS
@ftX=fsshpos@:=
@ft Y=fs^rvpos@:=
.-z"n@ft CH=8[..e1a@:=]..e'
@ft .=.@:=@ft(.*100/fsz@:=@ft% of fsz@:=@ft)
fsvz+b"n
@ft H=<h@:=@ft>'
@ft 0fsechoact@5,FDirectory[0
[..J:I..JViewing Directory 0  
EY0
GqMM & Yes or No[.Q
0[0[1[..O
<q0*5-fq.b;
q:.b(q0+4)u..o
20.f?
q:.b(q0)+q0u0>
]..O
FTFlush the kill ring
m.q"l-1u0
fq..k/5<0u:..k(%0)>'
FTFlush the Undo memory
m.q"l-1u0
fq.u/5<0u:.u(%0)>'
0u0
<q0*5-fq.b;
q:.b(q0+1)u1
0:g1-*"e
FTKill buffer 1
m.q"lm(m.mKill Buffer)1!<!>''
q:.b(q0)+q0u0>
2f?
qF[BBIND
FS:EJPAGE-(FSREALAD+5119/5120)[0
FSOSTECO"NQ0*2u0'
Q0:@=@FT pages available.
0FSECHOACT
0*-[9[1.[2
.-Z[3
"G
<"N
0,0A-9"ER
FSSHPOSU1.U2
8-(Q1-(Q1/8*8)),32ID''
-2F=
"ER'
R>'
"L-<2F=
"EC'C>'
.,Q3+ZFM(M.M& Kill Text)
Q2-."LQ2,.'
0uFF"E.:
0fo..qPush Point NotificationF"N[1@ft 1
0fsechoactive''
-4"E.:WW1:<>'
-15"G.(1:<>W)J'
07FS^RPREV-1002"N
Q.H-777777."L
FS^RHPOSU.H''
1002FS^RLAST
FF"E@:L
.-Z"EI
-2'
L'
"#@L'
1:<0,Q.H&777777.:FM>
FSI&DLINE"NFSOSPEEDF"N-1200:"G99F[%CENTER@0V'''
0FS^RPREV-1002"N
Q.H-777777."L
FS^RHPOSU.H''
1002FS^RLAST
@-L
1:<0,Q.H&777777.:FM>
FSI&DLINE"NFSOSPEEDF"N-1200:"G0F[%CENTER@0V'''
0o-1"n0u.h@ft
No Goal Column'
"#fs^rhpos+1000000.u.h
q.h&7777.:\[0@ft
Goal Column = 0'
0fsechoact8FF"E:L
.-Z"EI
-2'
L'
"#@L'
@F 	R
0'-@L
@F 	R
0'@0L
@F 	R
0'SFF&1"N<I
>-*2'
"E0M F'
QComment End[2
FQ2"G:@FF~2"E
FQ2-1:G2*5+1:G..D-)"N
:@L'''
.[03@L
.[1Q0J.,Q1@F 	
R.-Q1"E
Q0J:K
.-Z"N
@L:KQ0,.''
Q0JI

@F 	R
:@F"E0K'0L
Q0,.U.[0W.-Q0[9
Q:..K(0)[1FQ1:"L
-Q9F~1"E
-Q9D0''
.,Q0F:M(M.M& Kill Text)[1[0
FS^RPREV-1001"E
:-."L
:,.X1Q:..K(0)U0
:I:..K(0)101'
:,.F@X:..K(0)1'
Q..K[..OZJ-5D
J5,0I]..O
:,.FX:..K(0)
11001fs^rlastw0.[0fnq0j@L
0A-
"n0'
-@f
 	l
@:f-q0"l@l'
.-q0"l.u0'.[1
<.-Z;@f 	-(:@f):@;
l>
.-Q1"e0'
q1-2,.f=

"e-2d0'
q1,.ki
-2"G.-Z"EFG0''
"#.-B"EFG0''
FF"N[9
"L0@F"N%9''
Q9(
Q9"E-1U9''
"#1[9.[0
@F 	R
.[2@:LQ2-."EL'
Q0,.('
):M(M.M& Kill Text)Q..OU:..U(0):I:..U(1)
.U:..U(2)FSZ-.U:..U(3)
:I:..U(4)un-kill
FS^RARGP[1
Q1-1"G-1+'0[0
.:WG(Q:..K(Q0)F"EW:I*')
Q1-1"E.(W):'
:,.xq:..k(0)[0
fq0"l:i0'
fs^rprev-1003"N
.,:ff=0"n
fg0'
q..k[..o
<
q:..k(0)(j5dzj5,0i),z-5fsword>
-<
z-5fsword(zj-5dj5,0i),0fsword>
]..o'
.[1w.[2q1,q2fk
"e0'
G(Q:..K(0)F"EW:I*')
FK(
Q1-Q2"L.:FK+.J'
"#FK+.:'
)A@F 	R
FSSHPOS(<I
>
0,)M(M.M& XIndent)
.,(:1-L.)=.:FF"EJ0'
FS^RARGP&6"EZJ0'
*Z/10J0L.-BFSWINDOW-.:ZJFF"E0'
Z-(*Z/10)JL.-BFSWINDOW	B:0	Z:0:Z[0B[1
FF"NBU0ZU1'
Q1-."E:-Q0"E0''
.:Q0:Q1J0*"l-:m(m.m^R Next Page)'
f[sstring
QPage Delimiter[0
.[10@l:s0w.-q1:"l0l'
f[vz
<
b,.fsbound
<-:s0;
0@L:s0"nfkcfk:;'
.-b@;>>
:s0f]vz
0"l-:m(m.m^R Previous Page)'
f[sstring[1
QPage Delimiter[0
0@f"n:@l'
q1<
<:s0:;
-2(fkr)f~
@;
.+fk-b@;>>
0WQPage Delimiter[0
[1ff"e0u1'
0@f"n:@l'
q1"gq1<
<:s0:;
-2(fkr)f~
@;
.+fk-b@;>>'
"#
1-q1<
<-:s0;
0@l:s0"l
fkcfk:;'
b-.;>>
:s0'
.(<:s0:;
-2(fkr)f~
@;.+fk-b@;>
.:
)j
0cB[0:,.FFSBOUND
1FSMODECH
FSWINDOWF"LW'+Q0-BFSWINDOW
FSWINDOW"L0FSWINDOWW'
Z,FSZ"b[0fsvz[1.[2
0f[vb0f[vz
ff"n'"#q0+q1"e0'"#1''m(m.m^R Mark Page)
]0]0
m(m.m^R Narrow Bounds to Region)
fsvz"nzj:0lfsz-.fsvz'
jq2:jw
q0"ez,z'FSWINDOW+1"GFSWINDOW+BFSWINDOW'
Z[1
1FSMODECH
0,FSZFSBOUNDW
.[0FNQ0J
FSWINDOW+1"G
FSWINDOWJ
.(0L.FSWINDOWW
)-."N.,Z''
Q1,ZFM(M.M& Exit EMACS)
0FO..QExit to Superior Hook[1
Q1"NM1'
100000.FSEXIT
0FO..QReturn from Superior Hook[1
Q1"NM1'0z!BIT-PREFIX-1!
[0:I*C-M.I@:FI&400.+(FI)U0
:I*C-0FSECHOCHAR
Q0+200.U0"NQ0'
Q0FS^RLASTWQ0U..0]0F@:M..0)!BIT-PREFIX-2!
[0:I*M-M.IFIU0
:I*M-0FSECHOCHAR
Q0-32"LQ0-27"NQ0+300.U0
F"EWFS^RLAST'-27"NQ0-200.U0'''
Q0+400.U0"NQ0'
Q0FS^RLASTWQ0U..0]0F@:M..0
[0:I*C-M-M.IFIU0
Q0-32"LQ0-27"NQ0+100.U0''
:I*C-M-0FSECHOCHAR
Q0+600.U0"NQ0'
Q0FS^RLASTWQ0U..0]0F@:M..0a[0:i0s^rlast
0[1
<4,m.i
:fi--"efq0-1;
1u1fs^Rargp#4fs^Rargp
fi
!<!>'
:fif0123456789-:;
fiu1:i001>
fs^rargp1fs^rargp
fq0q1"e
fs^rexpt+1fs^rexpt'
m0fs^rarg
fq0"Nfs^Rargp3fs^rargp'
0c[0[1[2
Q..0U2
Q2&127:i0
<4,m.i
:fif0123456789:;
fiu1:i001>
@:fiu1
q2q1&600."e
q1-33."n
Afs^rinitu2
-1u1
fq0<%1:g0u..0@m2>
0''
0fs^rlast
f~0-"e
5u0'
"#
0fs^rarg
3u0'
fs^rargpq0fs^rargp
0^0F[^RREPLACE1F[NOQUIT
FSOSTECO"N-1F[HELPCHAR'
0F[^RPAREN
M.IFIU..0M(AFS^RINIT)J"L-:M(M.M^R Previous Several Screens)'
<@M(M.M^R Next Screen)>0J"L-:M(M.M^R Next Several Screens)'
<@M(M.M^R Previous Screen)>0kFSRGETTY"E0'
FS^RARGP-5"E
:@M(M.M^R Previous Screen)'
"L-:M(M.M^R Previous Screen)'
FSJRNOUT"NFN:M(M.M& Journal Point)'
[0[1[2.U2
:F
FF"N
FSWINDOW+BJFSTOPLINFS^RVPOS
,0:FM
0@:F
FSWINDOW+B,Q2FJ0'
.-Z"EFG0'
FSLINESF"EWFSHEIGHT-(fsTopLine)-(FSECHOLINES+1)'U0
FSWINDOWU1Q1+BJ
2FO..QNext Screen Context Lines[4
:<Q0-Q4,0:FM>
.-B[3
.(Z-300-."L1:<Q4,0:FM>
.-Z"EFGQ2J0''
)JQ3FSWINDOW
1:<FS%TOP*Q0/100F"G,0:FM'>
Q2-."GQ2J'
FSWINDOW-Q1"E0'FSRGETTY"E0'
-1"L-:M(M.M^R Next Screen)'
FSJRNOUT"NFN:M(M.M& Journal Point)'
:F
FSLINESF"EWFSHEIGHT-(fsTopLine)-(FSECHOLINES+1)'[0
FF"N
1:<Q0+(FSTOPLIN)-(
FS^RVPOS)--1F"L,0@:FM0L'>
.(FSWINDOW+BJFSTOPLINFS^RVPOS
@:F
)J
0'
FSWINDOW[1
Q1"EFG0'
Q1+BJ
2FO..QNext Screen Context Lines[4
1:<-1,0@FM>
-1-Q4:F
FSWINDOW+BJ
FS%TOP"E0'
1:<FS%TOP*Q0/100,0:FM>
0-"N'M(M.M& READ Q-REG NAME)U..1
Q..1FP-1"EM.IFI[1:I..1:..1(1)'
.,.m(m.m& Save for Undo)Get Q-reg
.(G..1.:)J
FF&1"GM(M.M^R EXCHANGE POINT)'
:,.Fu"N'M(M.M& READ Q-REG NAME)U..1
Q..1FP-1"EM.IFI[1:I..1:..1(1)'
:,.FX..1
FF&1"G:,.FK.,.'
0F1,M(M.M& Read Line)Buffer: [1
FQ1-1"L0'
1,Q1M(M.M& Find Buffer)[2
q2"l@ft(New Buffer)

0fsechoact
q1m(M.M& Create Buffer)u2'
:,.F(
Q:.B(Q2+4)[..O
)G(-FSQPSLOT)
FF"NFKC'
0,:,.fm(m.m& Count lines)@=0fsechoact2.[0fnq0j
ff"nb[1z[2@ft Buffer: '
"#0m(m.m^R Mark Page)
.[1w.[2
0@l
q2-z"e
QPage Delimiter[3
:s3
.-q2"e0@l'
"#q2j''
.u2
@ft Page has '
m.m& Count Lines[3
q0,q1f[4
q1,q4m3[5q4,q2m3[6
q5+q6[7
q0jq0-q1"n0@f"nq7-1u7''
q7@:=
@ft Lines (q5@:=@ft+
q6@:=@ft) 
0fsechoacthFF"E
F+'
FSRGETTY"E
M(
FS^RINIT)'
FS^RARGP&6"E
-1,(FS^RVPOS)FSTYOHASHWH'
@:F
0FSJRNOUT"NFN:M(M.M& Journal Point)'
:F
FSLINESF"EFSHEIGHT-(FSTOPLIN)-1-(FSECHOLINES)'[2
[3
"LQ2+U3'
FF"EFS%CENTER*Q2/100U3'
FS^RVPOS-(FSTOPLIN)-Q3F"G-Q3"L
1:<Q3-(FS^RVPOS),0@FM>0''
FSTOPLIN+Q3-(FS^RVPOS)F"GU3'
"#WFSWINDOW+BJ'
1:<Q3,0:FM>
0n.[2fnq2j
fsLinesF"N[0'
"#wfsHeight-(fsEchoLines)-(fsTopLine)-1[0'
0L
QMODE~6LISP"N
 ,1AF 	"L
<B-.;-L1AF 	;>
'
"#<B-.;-L1AF 
"#:L
-S
(L
.[3FLL@:L
.-Q2:"LQ3J'
"#Q2J''
QComment Start[1
Q1"N<B-.;
-L@F 	R
:@F"NFQ1F~1"NL0;''>'
@F
 	R
[email protected]"GQ2J'
.U1
.F[VBQ2J
1:<-q0,0:@FM>"EFG0'
F]VB
0:@F9[9
.,(.WFWL"G:@F"NC''
.)F:M(M.M& Kill Text).[.0qComment Start[.1
"l-:m(m.m^R Go to Next Label)'
<<b-.;0l32,1af* 	
"g:0l!<!>'
fq.1f~.1"n
@:f 	
l
.-q.0:;'
:0l>>
0.[.0qComment Start[.1
"l-:m(m.m^R Go to Previous Label)'
<<.-z;0l1af* 	
"gl!<!>'
fq.1f~.1"n
@:f 	
l
q.0-.:;'
l>>
00L.[0
FWL1AF:=_"L0L'
:FWL@:F 
.[1@F 	L
1A-;"EQ1J'
0AF 	"L32I-1'
.U1@:F ,;/
1A-,"NQ1J'"#C'
0b0L.[0
FWL1AF:=_"L0L'
:FWL@:F 
.[1@F 	L
1A-;"EQ1J'
0AF 	"L32I-1'
0(M(M.M& READ Q-REG NAME)U..0.U..0.+M(M.M& READ Q-REG NAME)U..0.:Q..0J.KFF"N:\'"#:I*'[0
M(M.M& MINI INIT)0 MMReplace StringReplaceQFF"N:\'"#:I*'[1
M(M.M& MINI INIT)1 MM Query ReplaceQuery Replace8M(M.M& READ Q-REG NAME)U..0
M(M.MVIEW Q-REG)..0LF[BBIND
FSWIDTH/8-5,11.I
M(M.MInsert Date)
@FT
..O0FSECHOACT3M(M.MRun Library)DSK:EMACS;INFO& INFO Enter0fsxmod
0fsmodifR1,m.m& Setup TAGS Library"E
m(m.mLoad Library)TAGS'
f:m(m.m^R Find Tag)]1,m.m& Setup KBDMAC Library"E
m(m.mLoad Library)KBDMAC'
f:m(m.m^R Start Kbd Macro)v[5[2[3[4
"G15R-25L.[015R
<.u315R-15fx4z-.u2
q3j-15fx3g4z-q2jg3>
q0,.'
"L-15L15R.[0
-<z-.u3-25L15fx4.u2
z-q3j-15fx3g4q2jg3>
q2,q0'
.,(w).fu2j
15R-15L.u0
q2j15R-15fx4z-.u2
q0j15fx3g4z-q2j.u2g3
q0q0,.(q2j)Off"e
@:f"e
0@f"nr''
0a(-dc)i-2'
:i*,:m(m.m& Transpose Subr)':i*.wfw,:m(m.m& Transpose Subr)%:i*@fl,:m(m.m& Transpose Subr)b:i*[1.[2
q1"l-q1<r0@l>'
q1"gq1@l0@f"n13i10i''
q2,.(q2j)f(
),:m(m.m& Transpose Subr)q.[0fnq0j
0fo..qDigit Shift Table[1
q1"e1,fType the digits 1, 2, ... 9, 0, holding down Shift: u1
fq1-10"n:i*Not ten digitsfserr'
q1m.vDigit Shift Table'
.,.-(-@f):fb1234567890"efg0'
1a-1f"l+10':g1u1f1
1T-fsbackstr-(m.m& Toplevel ^R)"E
:i*Already at top levelfserr'
QAbort Resumption Message[0
q0"e@ftAbort this recursive edit
1m(m.m& Yes or No)"e0''
q0"n@ft
0'
1f[noquit
-1fsquit
fs^rexit>[8[9.[0:[1[2[3
q0,q1f[5[4q4,q2f[6u4
q4,q3f[7u4q5,q6fu6u5
q5,q7fu7u5q6,q7fu7u6
q6,q7x8q4,q5x9
1F[NOQUIT
q6,q7kq4,q5k
q4jg8((q7+q4)-q5)jg9
q7+q4-q6u8
q0-q5"eq8u0'
q1-q5"eq8u1'
q2-q5"eq8u2'
q3-q5"eq8u3'
q7+q4-q5u8
q0-q6"eq8u0'
q1-q6"eq8u1'
q2-q6"eq8u2'
q3-q6"eq8u3'
q3:q2:q1:q0j
q4,q7)f:m(m.aAUX& Correct Word Spelling)f"LW-':<"L-'flr>"nfg'0f"LW-':<"g-'flr>"nfg'0f"LW-':<"l-'@flr>"nfg'0f"LW-':<"g-'@flr>"nfg'0f"LW-':<"l-'fdl>"nfg'0f"LW-':<"l-'ful>"nfg'0f"LW-':<"g-'ful>"nfg'0|.:.[1
-1:S
(
FLLL
"L1+'.-Q1"GONofwd'
:0L:S
("L0LFLLL'
!Nofwd!
-1F"GFLLL'
"L-1:S
("LFLLL'"#J''
0 .:
-:S
(()"L"L0'L'0.:
.[1
:-S
("LL'
"#1-.+BA-("EJ'
"#JOBufbeg''
FL+.-Q1"L
!Bufbeg!
:S
("L0L''
.(FLLL.:)J
<B-.;-L-(:F);
@F	 R1A-;"NL0;'
>
0.(@flr.:)j0&[9.,(@flr).F:M(M.M& Kill Text)(-[9.,(-@flr).F:m(m.m& Kill Text)%[9.,(flr).F:M(M.M& Kill Text)
FSRGETTY"E0'Q..F"E0'
0:"N0'
QDisplay Matching Paren[1
Q1"E0'
.[0FNQ0J
R
<B-.;0A*5+1:G..D-/:@;R>
Q0-1-.&1"N0'
Q0J
0F[%TOP
0,0A*5+2:G..D[3
QPermit Unmatched Paren[2
F[VB
Q2"NQ1"LFSWINDOW+BFSVB''
1:<-FLL>"LQ2"EFG'0'
F]VB
Q1"LFSWINDOW+B-."G
0x1:x2
fsEchoDis
CfsEchoDis
:@ft1|2
1fsechoactive
0''
Q3-32"N1A-Q3"NFG''
0@V
Q1*30:
q0J0@V
0i.[0
9,0Af	 
:"l
!"!0,0A*5+1:G..DF('"L
I ''
I(FF"NF"G@FLL''WI).[1
Q0J1a-32"ec'CQ0,Q1\F[SSTRING
S)R
@-F
 	K
.[0
C-1F"GS)'
MM
@M(M.M^R Indent for LISP)
Q0,.!f"LW-':<"L-'.wfwl>"nfg'0!f"LW-':<"g-'.wfwl>"nfg'0.(.wfwr.:)j0([9.,(.wfwr).F:M(M.M& Kill Text)*-[9.,(-.wfwr).F:M(M.M& Kill Text)(.,(:<"L-'.wfwl>w.)ff(@fc)f(j)'.,(:<"L-'.wfwl>w.)ff(fc)f(j)E.(
:<
"L-.wfwl'
:fwl.wfwfc1@fc
"G.wfwl'>
),.ff(j)F:I*case convertm(m.m& Save Region and Query)f"e'
:,.ff(@fc)E:I*case convertm(m.m& Save Region and Query)f"e'
:,.ff(fc):"L-:M(M.M^R Backward Sentence)'
0[0[1M.M^R Backward ParagraphU2
<@F
R
.-Q0:"L.[1-M2W
0@f"e2r'
.u0Q1J'
<.,Q0:FB

.?!+1@;;
@F)]"'R
:S
   
+3;>
>FKC0T"L-:M(M.M^R Forward Sentence)'
Z[0[1M.M^R Backward ParagraphU2
<@-F
 )]"'R
.-Q0:"G.U11M2W
:@f"el'
.U0Q1J'
<@-F
 )]"'RR
.,Q0:FB

.?!(:)+1;
@F)]"'R
:S
   
+3;>
>
@F R0b0@F"N:@F"E
QPage Delimiter[1
FQ1:"G:I1
QParagraph Delimiter[2
@L.-(S.(:@0L))"N
.:
1M(M.M^R Backward Sentence)'''
1M(M.M^R Forward Sentence)
@F R@:F"EL'
.:
:1M(M.M^R Backward Sentence)@[9
.,(M(M.M^R Forward Sentence)
.)f:M(M.M& Kill Text)B-[9
.,(m(m.m^R Backward Sentence)
.)f:m(m.m& Kill Text)#-:m(m.m^R Backward Paragraph)xqParagraph Delimiter[0
qPage Delimiter[1
0fo..qFill Prefix[2
0s10
"l0@l'
"#0@f"n@l''
[3[4[5
<
1u30u5
<q3u4
0u3:@f"e1u3'
fq2:"g
!"!0,1af
.@-\':"l
.-(s.(0l))"l1u3'''
q3"nq4"eq5-1"g0;':;''
%5
"g:rw0@lb-.;'
"[email protected];q3"n!<!>''
fq2"g
:@f"nfq2f~2:@;''
"#.-(s.(0l))"l
!"!0,1af
.@-\':;''
>>
"gq3"nq4"e@L''
-@F-2"E-@L''
0Dm.m^R Backward Paragraph[0
0l
-m0
.[1
m0
.,q1fu1jq1:0^[1[2
.[p
ff"E1U11U2'"#f(U1)/Q1U2'
M.IFIf([d)f"A#40.'[c
Qc-"E
1F[NOQUIT
FSOSTECO"N-1F[HELPCHAR'
M.IFIf(Uc)Ud'
Q2[9
Q1<Q2CQ2@:fcdL>
.-z"E:i*NotFound@fgQpJ'
"#Qp,.FM(M.M& Kill Text)'
.,.&-1*(F):M(M.M^R Zap to Character)@-f 	k
@f 	k
01@m(m.m^R Delete Horizontal Space)f
f@:m FF"N+1"G
Z-.[0.W-FWL.[1I\.WFWLI*Z-Q0JQ1,.''
.[0:CW:-S"E0'
.[22FX*[1
"L
[4
-2:.WFWL.[3
Q2,.-2:FB"L
2F=*"E2FX4
:i141'
"#F=1*"E2D.,Q2'
2D''
Q3-."LQ3J'
G1.-FQ1,Q2+2'
Q0-2J.WFWL.U0
Q2,.+2:FB"L
0A-*"E-2DQ2,.'
-2DQ0-2U0'
Q0JG1
Q2,.([0[1.,(W.)fu1u0
+1"g
q0ji\
q1+2ji*
.u1'
"l
q1j0,1a-"e2d'
q0j0,0a-"e%0'
q0j0,-1a-"e-2d.u0q1-2u1'
q0j<.,q1:fb;
-ddq1-2u1>q1j'
q0:
q0,q1o0FO..QUnderline BeginQB"EUB'
0FO..QUnderline EndQE"EUE'
.[0
Z-.[9FF"EFNZ-Q9-.F"GC''
:FWL.,(1:<-2:FWL>"LJ'
.):FBBE"E
Q0J
FF"N'"#-1'[1
Q1"LQ1FWL.U0IB-Q1FWLIE'
"#IBQ1FWLIE'
Q0,.'
FKFX*[1.[2
.,(1:<"L-'1+:FWR>"L"LJ'"#ZJ''
.):FBBE"L
FKF=1KD
Q3"NQ2,.''
Q2J"L:-1+'FWLI1
"L.+FK,Q2-FK'
Q2,.K0FO..QUnderline BeginQB"EUB'
0FO..QUnderline EndQE"EUE'
[0[1.,(W.)fu1u0
+1"g
q0jiB
q1jfkriE
.u1'
"l
q1j:fwlz-.u1
q0j-:fwl<.,z-q1:fbBE;fkd>z-q1u1q1j'
q0:
q0,q1z[0[2fstabwid[1
@f 	k
@-f 	k
0,0:fm
fs^rhposu0
.(/q1-(q0/q1)f"g,9i
-(/q1*q1),32i'
"#-q0,32i'
),.F[0[2
@f 	k
@-f 	k
0,0:fm
fs^rhposu0
.(-q0,32i
),.Cfstabwid[1
/q1-(/q1)f"g,9i
-(/q1*q1),32i'
"#-,32i'
-,32i=f[sstring
qComment Start[0
q0"e:i0;'
q0[B
0fo..qComment Beginf"nuB'
qComment Column
m.m& Xindent
[R[H[1
[.1[.2[.3
ff"n
m(m.m^R Indent For Commentu.1
<0l@:f:fb0"nm.1'
l>
-f'
0l@:f:fb0"e
:lgB-1u.1
0fo..qComment Endu1
q1"ng1fkc'fqBr'
"#
0@f+fk"e0'
fq0-1"e0a-(0,1a)"e
0a-(0,2a)"e2c0'
0lmI
0l:f(s0c)''
fkc
fsshposu.1'
.u.3@-f	 l
qCu1fsshposuH
qC"n1+'qH-q1"g
0fo..qComment RoundinguR
qR"eqH+1u1'
"#qH-q1R+q1u1''
.u.2
q1-q.1"n.,q.3k
qH,q1mI'
"#q.3j'
.,zf=Bf"efqB+1'-1c
q1-q.1"e0'
q.2,.0FO..QComment Start[0
Q0"E:I0;'
.[1FNQ1J
0L
<B-.;-L:FB0:;>
.-B"NFKC
FSSHPOSM.LComment Column'
-2FSQPUNWIND
F@:M(M.M^R Indent For Comment)+ff"Nfs^rargp-1"e
m(m.m^R Indent Comment Relative)f
OFoo'
'"#fsshpos'm.lComment Column
!FOO!
qComment Column:\[0
@ft
Comment Column = 0 0fsechoactu1000000.[.H
QComment Start[0
Q0"E:I0;'
0L:FB0"L.[3
QComment End[1
FQ1"G.,(@L.+FQ1):FB1"E
Q3J:@LG1FKF''
Q3J@F 	R.[2
:@L.-FQ1-Q2:"G
Q3-FQ0J@:K
@-F 	K0F''
:@[email protected]"EI
-2F'
@:M(M.M^R Indent For Comment)"-:M(M.M^R Down Comment Line).ff&1"n
f[vzf[vb0lffsbound
jf]vb
1,m(m.m^R Indent Sexp)("gzj')'
Z-.[zfnz-qzj
0l.[00[10[20[3
qLisp Indent Language
0[4
-:s
(
<.-q0;0,q0fu2>
!Retry!
q2&777777.u2
q2-777777."e"n0,'0'
q2"nq..1u1q..2u2q1+1j
q2-q1+1"g
q2j0l.-q1"g
@f 	r
.-q2"n
.u310000,q2f-10000"eq3j'
"#q1j0,q2fu2
oretry''
oSpecial'
"#
qL Indent Offsetf"n+(q1j)fsshposu1oFoo'
q1+1j@flr
.-q2"gq1+1j'
"#:-1,q0fw
<r!"!0a*5+1:g..d-':@;>
'
!Special!
q1,q0mL Indentation Hook+0u1+0u4
q1"noFoo'
'''
fsshposu1
!Foo!
"nq4,q1'
q0j@f 	r
z-.-2"g1a-(2a)"e1a-(3a)"e
1a*5+1:g..d-;"e0''''
z-.-qz"lz-.uz'
fsshpos-q1"e0'
0k0,q1m(m.m& Xindent)0fK[1[2[3
2fo..QL Special Indent Offsetu1
.u2
+1j
1a*5+1:g..D-A"nq2j0'
@flx4
@fll
-3fo..QL 4 Indentu3
fq3:"lq2j:fm3'
q3:"loSpec'
q3+1"eoDef'
q3+2"eq2j0'
qL Indent DEFanything"n
f~4DEF -4"eoDef''
q2j0
!Spec!
.(+q1jfsshposu4)j
:<:@fll1a-;:@;l>
fsshpos-q4:"gq2j0'
q3:<<:@fll1a-;:@;l>@fll>"n
q2j,0'
.-"gq2j,0'
1:<<:@fll1a-;:@;l>@fll>"n
+q1j0'
.-"g+q1j0'
q2j0
!Def!
l.-q..2"g
+q1j,0'
"#q2j'
0*[0[1.[2
+1j
1:<<:@fll1a-;:@;l>
0,1a*5+1:g..d-("n@fll!<!@>'
@fll>"nq2j,0'
.-"gq2j,0'
2u0
Z-qZj0l@f 	l
 ,1a*5+1:g..D-A"e
+q0-1j'
"#+q0j'
,0XZ-qZj0l@f 	l
0,1a*5+1:g..D-A"e+1j'
"#+5j@f 	l
0,1af+1j''
,0pFF"N[LISP Indent Offset'
m.m& XIndent
20*5fsqvec
fnqafsbkill
m.m^R Indent for Comment
m.m^R Indent for LISP
"e:fllfl'
.[.Pfnq.Pj
[1
0[U
[T
0[S
[V
[2
F[VBB[B
QLisp Indent Language
!Restrt!
"nmLw1,mL+1u:A(1)
1uS1uU'
<qUuT
!Vbar-CR!.-z;:fu2
qS,q2fuSqS&777777.uU
qS&100000000."n@mCw:l.u2
qUuS'
qS/4000000."gloVbar-cr'
-qU;
qT-qU"gqBFSVB'
qT-qU<0u:A(qT)qT-1uT>
l.-z;
1a*5+1:g..df;
q:A(qU)-1u1
q1"l
-q:A(qU)f"nj
0l.fsvb'
q2jl
1,mLu1u2
q2"eq1+1u:A(qU)'
"#-q2u:A(qU)''
@f 	L
q1-fsshpos"n
0k0,q1mI'
>
"n.-z"n@f 
	loRestrt''
Q.P,.x[1:I1@:M(M.M^R Tab to Tab Stop)
FF"N:M1'
.[PFSHPOS[0
@-f 	L
.[QFSHPOS[2
0L<B-."EQPJ:M1'
-L1A-15.:@;>
Q0"G1:<0,Q0+1:FM>"ER'
"#0L1:<0,Q2+1:FM>"ER'
"#QPJ:M1'''
F:FB	 "E:L'"#R'
@F 	R
FSHPOS(QQ,QPK
):M(M.M& INDENT)[.4.[.2
100000[.3
QComment Start[.5
:f"gw1'<
<
0@l@-f
lb-.;
0@l@f 	r
fq.5f"gf~.5"e!<!>''
fsshposu.4
q.4"e!<!>'
q.4-q.3:;
>
q.4u.3>
fshposu.4
"l0fo..qIndent Incrementu.3
q.3:"g1u.3'
q.4-(*q.3)u.4'
q.2jz-.u.2@0l
q.4m(m.m& indent)(
z-q.2,.fj)J[.1[.4[.6
.[.2
fshpos[.3
0[.5
1,m(m.m& Read Line)Under: u.1
q.1"EFGw1'
m.vString Underw
fq.1"EqString Underu.1'
"#q.1uString Under'
f<!FOUND!
-l
.-b"E
q.5"Nq.2jFGw1'
1u.5'
<:fb.1;
.(
fkcfshposu.4
)j
q.4-q.3"G1f;FOUND'
>
>
.-(fswindow)"L
:i*Cfsechodis
0@t@t'
q.2j
q.4:m(m.m& Indent)z[I:IIL
FF"EFQ(0FO..QComment Start)"GM.M^R Indent for CommentUI''
M.M& Indent
QI[JFF&1"NQKUJ'
9U..0
F"NUJ'
[0[1.[2
.,(W.)FU1U0
.-Q2U2
Q1J:R"LL'
FSZ-Q1F[VZ
Q0J:R"LL'
<.-Z;FF&1"N'MJW1MIW>
Q2"GQ0JZ:'
"#ZJQ0:'
Q0,ZQ@:I*|
@F	 R
@:F"E0K'
"#FSHPOS+F"LW0'MK'|,:M(M.M^R Indent Region)0M.M^R Kill Comment,:M(M.M^R Indent Region)Q..O[O
[3
FN9U..0Q3<M(9FS^RINIT)>
FSSHPOS[0
F[BBIND
GTab Stop Definitions
I

150F[WIDTH
J1:<0,Q0+1:FM<:S.:;Q3-1U3>>"L'
RFSSHPOS[2
1A-."E
JL0,Q0+1:FMR
.,(0,Q2:FM.)X2
QO[..O
G2-FQ2'
QO[..O
-@F [1
-Q1DQ0-Q1U0
.,(Q0,Q2M(M.M& XIndent)
).:m(m.aAUXEdit Tab Stops)fm(9fs^rinit)^@-F 	K
.(@MM
0fo..qFill Prefix[3
fq3"gg3'
"#0fF@MIF'
fsrgetty"e:0t'
),.@-F 	K
.[0
@MM
0fo..qComment Start
QC"n.[20:@l
0:fbc"l
0fo..qComment End
0fo..qComment Begin
qb"eqcub'
fkcfsshpos[1
fqc-1"e@fc-1xc'
"#:ic'
:@l
qe"n-fqef~e"nge''
2:@l-@f 	k
qe"n-fqef~e"nge''
0@l0,q1mMM & Xindentgcgb
.u2:@lq0,.(q2j)'
q2j'
0fo..qFill Prefix[3
fq3"gg3'
"#0fo..qSpace Indent Flag"n
0ff@mIf''
fsrgetty"e:0t'
q0,.7ff"n
<m(m.m^R Kill Comment)fwl>0'
f[sstring0fs^RPrev
0fo..qComment Start[0
fq0"l:i0;'
.[1fnq1j
0l:fb0"e0'
fkc@-f 	l
.,(:l).(
]..n
):m(m.m& Kill Text)&ff"nl'
0l:0k
m(m.m^R Delete Horizontal Space)
.-b"e0'
(,0a*5[1
1+q1,2+q1:g..du1
1f ('"g0'
0,1a*5u1
1+q1,2+q1:g..du1
1-)"e0'
32i
-1:qFill Column[1
[3z-.[20l
f"lw-'<
"l-l'
@f 	k
z-q2u2q2-."l.u2'
:l@-f 	k
z-q2u2
fsshposu3
0lq3"nq1-q3/2,32i0l'
ff"n"gl''
>
ff"n-'"#:'f(
ff"ez-q2j')jFF"E0L'@F 	L
FSSHPOS[0
.[1:@L
QFILL COLUMN-FSSHPOS+Q0[2
Q1JQ2"LFG0'
Q2M(M.M& INDENT)	.[0
@m(m.m^R Mark Paragraph)
:-Z[1
f@m(m.m^R Fill Region)(
Q1+Z-Q0"LQ1+ZU0'
Q0:J"L
0,1A-10"EC'
Q1+Z-Q0"E0@F"E:@0L'''
):I*fillm(m.m& Save Region and Query)f"e'
f[vbf[vz
0fo..qFill Prefix[1
qFill Extra Space List[20[3
qFill Columnf[adline
.,(w.)ffsbound
fq1"g
j<.-z;
fq1f=1"e
fq1cfsshposu3
-fq1d'l>
fsadline-q3fsadline'
fnb:zj
j<:l-@f 	k.-z;
0,-(-@f)]"')af2+1"Gi 'l>
j<:s  ;2r
0@f"e@f r!<!>'
0,-(-@f)]"')af2+1"nc'c
@f k>
FF"e@'hfa
fq1"gj<.-z;@:f"ng1'l>'
zjhf"gm(32fs^rinit)'
-1"g0'
qFill Column[1
fshpos-q1-:"g0'
z-.[0fnz-q0j
<.-1,(0l.):fb "e0'
q1-fshpos;>
@f l
@-f k
QComment Start[2
Q2"N0fo..qComment Multi Line(
fqFill Prefix)"n
0U20[Comment Start''
:fx1
.-z(
@m(m.m^R Indent New Comment Line)f
)+z-.+q0u0
:0@L.,(
@l
q2"n:fb2"n
:@lqComment Endu2
q2"n-fq2f~2"e
-fq2dq0-fq2u0'''''
:@lg1
FSRGETTY"E:0T'
).dff"n'"#fsshpos'f(uFill Column
):\[0
:I*Cfsechodis
@ftFill Column = 0
0fsechoactDf:m(f~ModeMACSYMA"Em.mGrind MACSYMA Code'"#m.mGrind Sexp')F:M(M.AGRINDGrind Sexp)!F:M(M.AGRINDMACSYMA Grind)e@FTFill Prefix now 
0f"E@FTempty'
"#@FT"0@T@FT"
!''!'
0fsechoact
0X*M.LFill Prefix0`[0[1[20[3[9
!RDCH!M.I@:FIU0
FIU9
Q0-(FS^RLAST)"E323.U0'
Q0:FCU0
Q0-301."E
Q1:M(M.M^R String Search)'
Q0-306."E1u3oRDCH'
Q0-321."EM.IFIU9'
Q0-322."E-Q1U1ORDCH'
Q0-323."EF[SSTRING
QSearch Default Ring[..O
.FSWORDFSSSTRING]..O
OSEARCH'
Q0-324."N
F[SSTRING0S9'
QSearch Default Ring[..O
FQ(.FSWORD)-1"G5C.-Z"EJ''
FSSSTRING,.FSWORD]..O
!SEARCH!
.U0Q1:S"EFG1'
Q0M(M.M& Maybe Push Point)
q3"N:f
2fo..QNext Screen Context Lines:@f'
1!-:M(m.m^R Character Search)b[0[8[90[3
[1
0[5.[6
0[.30[.40[.5
Q..O[4
fsBCons[2@fn/Q2fsBKill/[..O
0[7
F<!EXIT!
F<!SEARCH!
Q7"Gfsrgetty"E0u7''
Q7"EfsEchoDis
CfsEchoDis
Q5"L@ftBJ 'Q5"G@ftZJ '
Q.3"N@ftTop Line '
Q1"L@ftReverse '
q.5"N@ftDelimited '"#
q.4"N@ftWord ''
@ftSearch: 
[email protected]'
"#Q7<fsEchoDis
XfsEchoDis>0U7'
<Q4U..OfsListen"E0@v'q2U..O
@:fi:fcu0fiu9
q0-33."Eq9fsEchoOut
q3"nf;EXIT'
f;SEARCH'
q0-177."Lq9iq9fsEchoOut
0u3q0-
i'!<!>'
q0-302."E-1u50u31u10;'
q0-304."EHK0U3
QSearch Default Ring[..O
.FSWORDu0."EZJ'5R
]..Og00;'
q0-305."E1u50u3-1u10;'
q0-306."E1-q.3u.30;'
q0-314.@;
q0-321."E@ftFIU9'
q0-322."E-q1u10u30;'
q0-323."E@ft1u32u7
f;SEARCH'
q0-324."EHK0U3
g(fsSString)0;'
q0-325."EHK0;'
q0-326."E1-q.5u.50;'
q0-327."E1-q.4u.40;'
q0-331."E0u3
QSearch Default Ring[..O
.FSWORDu0]..Og00;'
q0-177."E0u3
Z"Nfsrgetty"E0afsEchoOutw-D!<!>'
0A-37."G0a-177"N1U7''
-D'0;'
0u3q9iq9fsEchoOut'
>>
Z"N0S..O'
Z(QSearch Default Ringu..O
)"N
FQ(.FSWORD)-1"G5C.-Z"EJ''
FSSSTRING,.FSWORD'
"#.FSWORDFSSSTRING'
Q4U..O.U8FNQ8J
Q5"LBJ'Q5"GZJ'
q.5"nq1"l-q1<-:s2"eoSFL'0a(fk-1c)"c@'>fk-1r'
"#q1<:s2"eoSFL'fk+1c-1a"c@'>fk+2r''
"#Q.4"NQ1,Q2M(M.M& Word Search)'"#Q1:S'"E
!SFL!-1FSQPUNFG
q3"N@ft FAIL 0fsechoactive'
1'']..N
q.3"N:f
2fo..QNext Screen Context Lines:@f'
Q5"N0u50u7'
-q3;Q1"L-'1u1>
Q4U..O
Q6M(M.M& Maybe Push Point)
q.3"N:f
2fo..QNext Screen Context Lines:@f'
0fsEchoActivew1-:M(m.m^R String Search)[0[3[5
"L-'1[1
<
<[..oj1:<fwr>"N0'
-fwx0]..o
Q1:S0F"E'
"Gfkc'.u5
:<fwr
[..ofwr-fwx3]..o
:fwrfq3f~3"N0;'
>"N0;'>
"Lq5j'>
1#0[..F
[.G[
@:I.G`
FGFF"N0'
H"EFS^REXIT'
HK
FSRGETTY"EFT Flushed
'
`
@:I`
FF"N
!I!1033.FS^RLAST
!J!FM(9@FS^RINIT)'
0,0A-35."EOI'
FS^RPREV-33."N
OJ'
1FS^RRUB
ZJH"N-2@F=//"N
2,33.I''
FSRGETTY"E@FT'
FS^REXIT`
FSRGETTY"N
@:I*|1:<
FSTOPLIN+(FSLINES)F[TOPLIN
FSPJATY+1"G:FT------------------------------0U..H'
F]TOPLINE>W
0FS^RDISP|(
)FO..qMini Re-displayU..0
Q..0F[^RDISPLAY
FSREFRESHF"NM.VMini Outer Refresh
@:I..0|MMini Outer RefreshW..0|'
Q..0F[REFRESH'
[..JQ..J"E:I..J'
F=..J(((((((((((((((((((((
:I..J()
)F"L*(-1)'-1<:I..J(..J)>
1033.FS^RLAST
FSCASEF"G@'"NHFC'
:"l
f"ew3'f[lines'
0F[WINDOW
-1F[CTLMTA
0F[^RSTAR
0F[^RNORM

1033.FS^RLAST
FSRGETTY"EFT
'
FSTopLine,(FSLines+1)@f
0Jm.m^R Pop Minibuffer Ring[...Y
q..o,(f[bbind
ff"ng:.n(0)'
)m(m.m& minibuffer)Minibuffer'
h"e0'
f=(q:.n(0)f"ew:i*')..o"n
q.n[..ozj-5d
j5,0i]..o
hx:.n(0)'
f]bbind]...Ym:.n(0)w^0,30:G:.N(f"g-1')[1
@FTRe-execute command 1
1m(m.m& Yes or No)"e0'
M:.N(f"g-1')%Q..F"NFG0'
[0
z"n
<
q.n[..oq:.n(0)u0
j5dzj5,0i
q0,z-5fsword]..o
>
-<
q.n[..o
z-5fsword(zj-5dj5,0i),0fsword
]..o>'
hk
q:.n(0)"efg0'
g:.n(0)h~m.m^R Pop Minibuffer Ring[...Y
q..o,(f[bbind
"niET g(-1"efsdfile'"#qBuffer Filenamesf"ewfsdfile'')
i  ET '
i
.(i)j
)m(m.m& minibuffer)
h"e0'
f=:.n(0)..o"n
q.n[..ozj-5d
j5,0i]..o
hx:.n(0)'
f]bbind]...Ym:.n(0)w9QBuffer FilenamesF"NFSDFILE'
f:m(m.mVisit File))MMM & Check Top Levelfiles
"L:I..0Read'"#:I..0Visit'
5,f..0 Filefsdfile
0UInhibit Write
[0[1[20[4
QBuffer Index[3
QVisit File Save OldU0
"NQ0"E1U0''
FSModif"N
Q0"N
Q0"LODoSave'
@FT
Write out changes in 
QBuffer FilenamesU0
Q0"E@FTbuffer'
"#@FTfile 0'
1M(M.M& Yes or No)"N
!DoSave!
1,M(M.M^R Save File)'''
0FSReadOnly
0,FSZFSBOUND
0U:.B(Q3+8)
F[DFILE
0FO..QJournal Visit VersionF"GFSDVERSIO'
1:<ER>U2
Q2"L0,7:G2U1
F~1OPN004 "N
F~1OPN0076"N
F~1OPN0077"N
F~1OPN0100"N
F~1OPN0104"N
Q2FSERR'''''
HK@FT(New File)
0FSECHOACT'
"#0[21:<FSIFCDATEU2>
FSIFLINK"NFSIFILEU4@FT(Link to 4)
0FSECHOACT'
@YQ2U:.B(Q3+8)]2'
Q4"N20.EREC'
F]DFILE
0FSModif
0FSXModif
FF&1*U:.B(Q3+12)
"L-1FSREADONLY'
FSDFILEU1Q1UBuffer Filenames
Q1U:.B(Q3+2)
Q2"EFSIFVERSF"LWFSIFFN2:F6''"#0'U:.B(Q3+9)
0U:.B(Q3+10)
QAuto Save DefaultUAuto Save Mode
FSZU:.B(Q3+11)
FS^RMDLYFS^RMCNT
JM(M.M& Process File Options)
0FO..QVisit File HookU1Q1"NM1'
1:M(M.M& Maybe Display Directory)
[0[1[2[3[4.[PfnqPj
0[5
0[6
1@:<J
FSOSTECO"N
:FBEDIT BY "L
<L1A-;"N1;'>''
@F	 
R
:FB-*-"L
.U11:FB:-*-+2"EFKCQ1,.X1'
"#Q1J:FBMode:"L
.,(FB;-*-FKC.)X1''
FQ1"GM(M.M1 Mode)1U5''
FSOSTECO"NQ5"E
QBuffer FilenamesF[DFILE
FSDFN2U1FQ1"E:I1<Null>'1,M.M& 1 ModeU0
Q0"NM0W1U5'
"#J@F 
L
12F~(FILECREATED"E
M(M.MInterlisp Mode)W1U5''''
ZJ:Z,Z-10000FB

"EZ-10000"LJ''
.-Z"N
:SLocal Modes"L
Q5"E1M(M.M& Init Buffer Locals)
:IModeFundamental'
.(FKC0X0)J
1A-:"EC':X1
128*5,32:i2
*5:f2 /
"*5:f2 |!'!
<L.-Z;
FQ0F~0"N!<!>'
FQ0C1A-15."E!<!>'
4F~END:@;
.,(S:.-2,.+1F=::"EC'
).-1X3
.u6@f	 l
1a-34"eq2[..d
.+1,(@fll).-1x4
]..d
@:i4"4"!''!'
"#.(:\u4)-."eq6-1j'
.,(:s1
:w.)@f 	"n
q6,.x4''
F~3Mode"E
-[Initial Local Count
M(M.M4 Mode)
-1FSQPUNW
!<!>'
FQ3-2:G3-"E
M4M(M.MMake Local Q)3!<!>'
Q4M.L3
>
-1U5''
>(
Q5:"GM(M.M& Set Mode Line)'
)"EJ'
!"!@FT
Error processing file's mode or local variables
0FSECHOACT
J:mMM & Check Top Levelfiles
qBuffer Filenamesf"ew'f[DFile
5,fFind Filet0]0
FSDFN1:F6(FSDFILE(
F]DFILE)[3)[4
Q3M(M.M& Find File)[1
FQ1"G
Q1M(M.MSelect Buffer)
QBuffer FilenamesF[DFILE
1:<ER>"L'
FSIFCDATEU1EC
Q1-Q:.B(QBuffer Index+8)"E'
FSModif"N!"!
FTWhile you've been editing this file, it has changed on disk!
You may lose some work if you are not careful.
I will leave you what you have edited, not what is on disk.
I suggest that you file this out under a different name and
then SRCCOM the two files.
'
!"!
FTSince EMACS last visited or saved this file,
it has been changed on disk.
Luckily, you haven't edited the buffer since then.
Should I read in the version from disk
M(M.M& Yes or No)"L1,M(M.MRevert File)'
0U..H'
Q4U1[2
!Retry!
1,Q1M(M.M& Find Buffer)U2
Q2+1"G
M.MList BuffersF[HelpMac
3,M(M.M& Read Line)A buffer named 1 already exists.
Type buffer name to use, or CR to reuse 1: U1
F]HelpMac
FQ1"L0U..H'
FQ1"GQ1U4ORetry''
Q4M(M.MSelect Buffer)
ET3
FF&1"N'M(M.MVisit File)
&1fsmodech
qbuffer index[1
ff"eq:.b(q1+10)"'e[0'
"#"'g[0'
0F[VARMAC
Q0UAuto Save Mode
F]VARMAC
q0"e0u:.b(q1+10)0'
1,m(m.m& Auto Save Setup)
0wQBuffer Filenames3F"NF[DFILE'
FSCLKINTF"E+4*60*60'FSCLKINT
-1[0
QBuffer Index[1
[2[4
Q3"NFSDVERS"E
Q:.B(Q1+12)"E
FSDDFAST"N
QAuto Save Visited File"N
1U0
'''''
Q0-1"N
qAuto Save Filenamesf[dfile
fsOSTeco"e
1:<4,6:g(fsDFN1:f6)u2
f~200"e
0,4:g(fsDFN1:f6)u2
q:.b(q1+7):\u4
fq4-2,fq4:g4u4
f624fsDFN1'>'
"#
fq(fsdfn2)"e
q:.b(Q1+1)fsDFN2''
fsdfileu0'
"NQ0-1"N
Q:.B(Q1+10)U2
FQ2"GF~20"E''''
Q0U:.B(Q1+10)
0UAuto Save Count
Q0-1"E
'
FSDVERSION"E
0U2
1:<-2FSDVERSWER
FSIFVERSU2
0FSDVERSWER
FSIFVERS+1-Q2U2>
ECQ2-QAuto Save MaxU2
Q2<-2FSDVERSW@ED>
'
nMMM & Check Top Levelfiles
QBuffer Filenames[0
.[1
QBuffer Index[2[3
FF&1"E
Q:.B(Q2+10)U3FQ3"G
QAuto Save Count"N
Q3U0'''
Q0"E:I*No file to revert fromfserr'
"E
@ftRestore file from disk
1m(m.m& Yes or No)"e0''
B[B0,FSZFSBOUND
ER0
QBuffer Index[2
FSIFCDATEU:.B(Q2+8)
FSIFVERSF"LWFSIFFN2:F6'U:.B(Q2+9)
@Y0FSMODIFW0FSXMODIF
FSWINDOW+QB:J"L0L.FSWINDOW'
Q1:J
FS^RMDLYFS^RMCNT
M(M.M& Process File Options)
0FO..QVisit File HookU1
Q1"NM1'$Q..F-Q.F"N0'
FQ.B/5[00[1[..O
QBuffer Name[2
[3
0[4
[5
FNQ4"NQ2M(M.MSelect Buffer)'
<Q1-Q0;
Q:.B(Q1+10)"N
"'EF"EWF~:.B(Q1+1)2'"N
Q:.B(Q1+4)[..O
FSZ*(FSXMODIF)(]..O)"N
Q:.B(Q1+1)M(M.MSelect Buffer)
1U4
Q3"E
FSRGETTY"N@FT (Auto Save)'
"#@FT''
1U3
F[DFILE
1:<2,1M(M.M^R Save File)>"L
QBuffer FilenamesU5
FG@FT (Auto Save error for 5!)600FSECHOACT'
'''
Q:.B(Q1)+Q1U1>

Q..F-Q.F"N0'
QBuffer Index[5
FF&1"EFSMODIF"N1FSXMODIF''
Q:.B(Q5+10)[1
QBuffer Filenames[0
1[2
FQ1"GFF&1"N
Q1U0-1U2''
Q0"NQ0'F[DFILE
Q2"G
Q:.B(Q5+12)"N
"N0'
@FTFile is read only.  Save anyway
1M(M.M& Yes or No)"E0''
Q0"N
FSDDFAST"L
1:<ERFSIFCDATEC
Q:.B(Q5+8)[3
Q4"NQ3"NQ4-Q3"N
:I*AFSECHODIS
@FTThe file now on disk is not what you last visited or saved!

FQ1"L0UAuto Save Count'
-2"E@FTNot auto saving 0.
600FSECHOACT'
FSXMODIF"N@FTShould I write the file anyway
1M(M.M& Yes or No)"E0''
"#@FTLuckily you have not edited the buffer since then.
Use Revert File to read the version off disk.
0FSECHOACT'
'''>'''
FSXMODIFIED"E
@FT
(No changes need to be written)
FQ1"LFF&1"E
0UAuto Save Count''
0FSECHOACT'
Q2"G
Q0"E"N'
@M(M.MWrite File)'
FSOSTECO"N
fsxjname
f~jSNDMSG*(f~jHERMES)"n
0FSDVERS"N
FSDFILEU0
Q0U:.B(Q5+2)
1FSMODECH
Q0UBuffer Filenames''''
"N3*FSZ-(2*Q:.B(Q5+11))"L
-2"E@FT
(File has shrunk -- not auto-saving 0)600FSECHOACT'
0F[TYISOURCE
@FT
File has shrunk a lot.  Save anyway
@FG1M(M.M& Yes or No)"E0FSERR'''
Q1"NFQ1"L
QAuto Save Max-1"E
QAuto Save Count"G
Q:.B(Q5+9)FSDVERS
1,M(M.MWrite File)
FF&1"E
0UAuto Save Count'
0''''
Q2,M(M.MWrite File)
Q1"E0'
%Auto Save Count
FQ1"G
FF&1"N
1FSMODIF
ODelAutoSave''
"#QAuto Save Count-QAuto Save Max"G
!DelAutoSave!
1:<0FSDVERSWER>"E
FSIFVERS(EC)-QAuto Save MaxF"GFSDVERS
1:<@ED>''''
FF&1"E0UAuto Save Count'
0#5,1FWrite Region to FileT1
EIFF"NF'"#:,.'FPEF
FSOFILESRGETTY"E:FT'
:I*CFSECHODIS
@FTWritten: 1FSECHOLINES-1"N@FT
'
0FSECHOACTBQBuffer Index[2[4
0F[VBW0F[VZW
:F"LQ.F-Q..F"E
Q:.B(Q2+2)F"NFSDFILE'''
5,1FWrite FileT1
F[DFILEET[TECO] OUTPUT0FSDVERSW
<1:<EI>F"E0;'U4
F~(0,7:G4)OPN0130"N
F~(0,7:G4)OPN0750"N
Q4FSERR''
&77777.FSDVERS>
F]DFILE
FSOFCDATE[3
HP
-1"E:'1<EF>+0U4
Q4"LF~(0,7:G4)OPN0750"E
0FSDVERSEF'
"#Q4FSERR''
0FSMODIF
0FSXMODIF
+1"EFSRGETTY"EONoPrint''
FSOFILESRGETTY"E:FT'
:I*CFSECHODIS
@FTWritten: 1FSECHOLINES-1"N@FT
'
0FSECHOACT
!NoPrint!
Q..F-Q.F"NQ3'
FSZU:.B(Q2+11)
FS^RMDLYFS^RMCNT
:"L
Q3U:.B(Q2+8)
FSOFVERSF"L
FSOFILEF[DFILEFSDFN2:F6(
F]DFILE)'U:.B(Q2+9)
1FSMODECH'
"N0'
FSDFILEU1
M(M.MSet Visited Filename)1
0 MMM & Check Top LevelFiles
QBuffer FilenamesF"EW'F[DFILE
5,1FVisited FilenameT1
FSDFILEU1Q1UBuffer Filenames
Q1U:.B(QBuffer Index+2)
0[2
0U11:<ER
FSIFVERSF"LWFSIFFN2:F6'U1
FSIFCDATU2
EC>
Q1U:.B(QBuffer Index+9)
Q2U:.B(QBuffer Index+8)
0FO..QVisit File HookU1
Q1"N1M1'
Q:.B(QBuffer Index+10)"N
1,M(M.M& Auto Save Setup)'
1FSMODECH
M(M.M& Maybe Display Directory)0QBuffer Index[1
FF&1F"NW'[2
Q2U:.B(Q1+12)
Q2"'LFSREADONLY
Q:.B(Q1+10)"N
1,M(M.M& Auto Save Setup)'
1FSMODECH
0m5,4FDelete File[1
FSOSTECO"E20.'ER1
FSIFILE[1
FSOSTECO"E
@FTDelete 1
1M(M.M& Yes or no)"E0''
ECED
FSOSTECO"N
fsechoact"n:i*Cfsechodis'
@FTDeleted: 1

0fsechoactive'
M(M.M& Maybe Display Directory)
0g5,4FCopy FileFSDFILE
F[DFILE
5,1Fto File[1
:E_1
M(M.M& Maybe Display Directory)
0f5,4FRename FileFSDFILE
F[DFILE
5,1Fto File[1
EN1
M(M.M& Maybe Display Directory)
05,4FInsert File[1
ER1
.,.m(m.m& Save for Undo)Insert File
.F[VBWFSZ-.F[VZ
@Y
1M(M.M& Maybe Display Directory)
JZ:H5,FAppend to File[1
ET1
Q..O[0FF"E:-B,.-B'"#-B,-B'F(
F[BBIND
EW
1:<ER>"E
5FY
<ZJ51200FY
Z-51200-5:;
B,51200PB,51200K>
ZJ5<0,0A-3"N1,0A:@;'-D>
'
)G0
HPEFEC
fsOFileu1@ftWritten: 1
0fsEchoAct
M(M.M& Maybe Display Directory)
0/5,FAppend to File[1
ET1
Q..O[0FF"E:-B,.-B'"#-B,-B'F(
)F("E'
F[BBIND
EW
)G0
1:<ER>"E
<ZJ.U0Z+4/5*5-Z,0I
51200FY
Q0J.+4/5*5-.D
Z-51200-Q0:;
B,51200PB,51200K>
ZJ5<0,0A-3"N1,0A"N0;''-D>
'
HPEFEC
fsOFileu1@ftWritten: 1
0fsEchoAct
M(M.M& Maybe Display Directory)
0tff"eQBuffer Filenamesf"nf[dfile'
mDirectory Lister'
1,FDirectory: U..0
ET..0mDirectory Lister'jQBuffer Filenamesf"nfsDFile
-4"LFm(m.mDIRED)''
1,FDirectory; f"e'[..0
m(m.mDIRED)..0P:I*[0
Q0"EF"E+96'*5FSQVECTORU0'
@:I0/!PREFIX!F@:M(Q0M.P)/
Q0[2[3[4
fp-101"e
q:..q(0)u2
:fo..qMM u3
:fo..qMM!u4
<q3,f..qu3
q3:;q3-q4;
q3/3*3+2-q3"e-69u40;'
%3>
q4+69"n0'
3,10000:g:..q(q3-1)'
fp+4"e
0,m(m.m& Get Library Pointer)BAREu2
q2"n,q2m(q2m.m~Invert~)u2'
q2'
fp-100"n@feQNSfserr'
fs:ejpage*5120+400000000000.u2
400.*5120+400000000000.u4
<q2-q4;q2-;
q2+fq2+4-;
q2+fq2+4u2>
q4-q2"e0'
:i4~INVERT~q4,q2m(Q2+4)u4
,q2m4c[1:I1&1"N:I1@'
-4110."EM1FTHelp'
&4"N
&200."NM1FTC-'
&400."NM1FTM-''
"#
&200."NM1FTControl-'
&400."NM1FTMeta-''
[0&177.U0
Q0-127"EM1FTRubout'
Q0-27"EM1FTAltmode'
&2"E
Q0-8"EM1FTBackspace'
Q0-9"EM1FTTab'
Q0-10"EM1FTLinefeed'
Q0-13"EM1FTReturn'
Q0-32"EM1FTSpace''
&2"NQ0-32"LM1FT^Q0+100.U0'''
M1FT0E[0[1:I1
:@I*/M(M.MDescribe)& Read Q-reg Name/F[HELPMAC
[2
<Q2"GQ2U00U2'
"#M.IFIU0'
Q0-*:.N(0)'
Q0-"E
1,M(M.M& READ LINE)Variable Name:U2
FQ2:"G0FSERR'
:I12
:FO..Q2"L
FF&2"N'
@FTDefine Variable "2"!''!
1M(M.M& Yes or No)"E
0FSERR'
M.V2'
Q1'
Q0-("E1,M(M.M& READ LINE)Value of expression: F"E:I*'U0
:I*(0)'
Q0-?"E4110.FSREREAD!<!>'
Q0-"E
1,M.I@FI+(200.*FQ1)FS^RINDIRU0
Q0/200.,.:I2
Q0&177.U0
:I020
FQ1"NQ0'
Q0U1
Q1FP-101"E
F=1!PREFIX!-9"E
f[bbindg1
JS@:M(Q
.,(SM.P3R.)X1
f]bbind
M.IFIU0
[2:I2Q:1(0)
2"Eq0:FCu0']2
0<
M.IFI:FCU0
>
:I1:1(0)''
Q1'
:I110
Q0-.:@;>
Q1':F"L@'F:M(M.M)*:I*[0
"E0FO..QMM 0F"N''
FS:EJPAGE*12000.+400000000000.[1
"NU1'
Q0,Q1M(Q1+4)U1
"EQ1F"N'W"NQ1''
"#Q1"L+FQ()+4-Q1"L0U1''
Q1F"L'"NQ1''
"EF[DFILE
FQ0-5,FQ0:G0U1
F~1 Mode"E
0,FQ0-5:G0U1
E?EMACS:1.ELIB"E
1,Q1M(M.M& Get Library Pointer)"E
M(M.MLoad Library)1
M.M0'''
F[:EJPAGE
1:<1,(:EJEMACS:BARE.ELIB)M.M0F"N'>
F]:EJPAGE'
:I*0  Undefined or ambiguous function nameFSERR	[0[1
FSHELPMAC-(M.M^R Documentation)"E
M.M& Read Line HelpF[HELPMAC'
0[D
FSOLDFLUS"EFSTYPEOU"L0@V''
&2"NOMETIZE'
FSECHOACTIVE"E
20:"E
FSTYICOUNT-(FSTYIBEG)U0
Q0<FS.TYIBACK>
@FT 
Q0<FS.TYINXTU1
Q0-1U0"NQ0@;'
5,Q1M(M.M& Charprint)
@FT >
FF&1"NU1@FT1'''
FSECHOACTIVE"N
FSRGETTY"N@FT '
&5"N@':FIU1
&4"N:FIF 0123456789"G:FIU1''
5,Q1M(M.M& Charprint)
@FT '
!METIZE!
:FIW
&1"E'
@:FIFS^RINDIRECTU0
FQ0"G
F~0!BIT-PREFIX-12"E
FIWQ0,M0FSREREAD''
<[00F[HELPM
M.IFIU0
F]HELPM
Q0-4110."N
Q0U..1
FQ()/5-Q0"GQ:()(Q0)F"N''
Q:()(Q0:FC)F"N(Q0:FCU..1)'
Q0-?"N:I*FG''
FS^RLASTU0
Q0,Q0M(M.M& Prefix Describe)
:I*0 >:?fserrorf"n@:fg
fserror-(@feURK)"e
FT
 executing Make Space...

mMM Make Space''
"#0fo..qDebug"e
fserrorfserrthr''
q..h"e@v'
@:fi-?"efiw
1fsverbof(f"e
fserrorfg')fsverbo
fserror-(@feqrp)"e
:ft
Unwinding partially to make room for error handler
-9-9fsqpun
2m(m.mBacktrace)
m(m.mTop Level)'
f[error
2m(m.mBacktrace)+0"nF)'
f]error'
"#fsechoerr"e
@:fi- "efiw0u..h0fserrflg'''
fserrorfserrthrow*1f[ctlmta
0F[HelpMac
8f[i.base
0u..h1fserrflg
[..j0[..f
[Backtrace temp
f[bbind
2[01:<-2fsbacktrace>"e
-7f~M:.N(0)"e%0''
ff"nu0'
fsbackdepth-q0uBacktrace temp]0
!LP!
qBacktrace temp:\[0:i..jBacktrace  Depth 0  ]0
hk1:<qBacktrace tempf"lw99999999.'f(fsbacktrace
)fsbackstrm(m.m& Macro Name)[0
:i..j..j0 ]0>
z"e:i..j..jOut of range. '
0fswindow
0fsmodif
fsrgetty"ef+'
:@<
fstyicountfstyibeg
fsechoact"n:i*Cfsechodis'
0fsechoact
@v
:fi:fc[1q1-4110."e?u1fi'
"#@fi@fs^rcmac-(33.fs^rinit)"eQu1''
q1u..0]1
q..0fD
:"lqBacktrace temp-1uBacktrace temp0;'
q..0fU^:"l%Backtrace temp0;'
q..0-C"e1'
q..0fQ:"l'
q..0f
BV?X."LFG'
q..0-
"Ef+'
q..0-"e'
q..0-"em(m.m^R Execute Mini)'
q..0-B"e-1fsqpslot[..o]..o'
q..0-V"em(m.m^R View Q-reg)'
q..0-?"eFTYou are inside a break loop, running 
m(m.mDescribe)Backtrace'
q..0-X"em(m.m^R Extended Command)'
q..0-."e:i..jSet PC to return to
qBacktrace Tempf((
-2fsqpun
.,)fsbackpc
)fsbackret'
>
olpFSTTYMAC"NM(FSTTYMAC)'
<1F<!TOPLEVEL ^R!
>"EM(M.M^R Return to Superior)!<!>'
FG@FT
Back to Top Level
0FSECHOACTIVE>UFF"N
@FT
Type :M..L to return to real-time editing.
'
1F;TOPLEVEL ^RN@:I*`
f=..j(-1"g0'!)!
[..J:I..J[..J] 0:
`F[^RENTER
F~Editor Name..J*+fqEditor Name+1"N
:m(fs^renter)'
0fo..q*Initialization*f"nu..0
0u*Initialization*
m(:@I*|1:@<m..0>|)'
0:qAuto Push Point OptionF"G-(,.F)"L
:
FSTYISOURCE"N'
QAuto Push Point Notification[0
@FT00FSECHOACTIVE''
WY"nqAuto Directory Display"g''
qAuto Directory Display"N
mDirectory Lister'-fsListen"N'
[1[30f[casef[bbindf[sstringf[window
FSddevF6I: FSdsnameF6I; 
FSdfn1f6i FSdfn2f615.I12.I:FTHT
HKFSdfn1f6hf=TS"Ehkfsdfn2f6'hfx3
EM
JL0[40[20[5
:<FB#\-13"Ec\+q5u5'"#c\+q2u2'%4w>
f=(fsdfn1:f6)*"eht'
q4"ej2t'
J2K0S 3 <:S;0TTL
fsFlushed"N'fsListen"N'>
q4"e'
FTFree: Q2:=Q5"NFT+Q5:='FT, Used: 
J0u2:<3a-L"N20c\+q2u2'L>
J0u5:<2c2f=13"E18c\+q5u5'L>
Q2-Q5:=Q5"Nft+Q5:='m.m& Maybe Flush Output
f[bbind0f[case[30[4
f[sstringf[window
fsddevf6hf=TTY"e'
hf=XGP"e'
hf=D"e'
hkfsdfn1f66-.,32ihfx3
ezma
[..j:i..jDirectory Listing  fr
:ftj:t:k
ft   --   g(fsdfile)
j2t:2kma
z-2"e'
:s
   3"n
<0ltk%4
6:c;6f=3:@;>'
"#<l.-z;6c6f=3"g0;'>
FT<< File not present in dir >>
'
FT==MORE==
:fi-32"efiw'
"#:fi-127"efiw0u..h'
"#-'1fsflushed
'
fstopline+q4+2f[topline
:ftf]topline
0L.,ztma
ft---------------------------------------------
b,.t;fsflushed"n'
fslisten"n:fi-32"n:fi-127"n'''
f*11003fs^rlast
[1
FQ1"G
:,.F-qRegion Query Size"G
@FT
Do you really want to 1 such a large region
1M(M.M& Yes or No)"E0'''
:,.M(M.M& Save for Undo)1
-1W:I:..U(4)
FF[1[0
Q..OU:..U(0)
FFX:..U(1)
Q0U:..U(2)
FSZ-Q1U:..U(3)
0'1001fs^RLast
[1FX1
fs^RPrev-1001"E
Q:..K(0)[0
Q9"L:I:..K(0)10'
"#:I:..K(0)01'
Q:..K(0)U:..U(1)
Q9"LQ:..U(2)-FQ1U:..U(2)'
"#Q:..U(3)-FQ1U:..U(3)''
"#Q..K[..OZJ-5D
J5,0I]..O
Q1U:..K(0)
Q1U:..U(1)
FFU1U:..U(2)
FSZ-Q1U:..U(3)'
Q..OU:..U(0)
:I:..U(4)kill
FK.,.QBuffer Index[10[2
Q:.B(Q1+4)[..O
FSXMODIF"N
Q:.B(Q1+10)"N
FSZ"N
1U2
FSRGETTY"N@FT (Auto Save)'
"#@FT'
F[DFILE
1:<2,1M(M.M^R Save File)>"L
FG@FT (Auto Save Failed!)600FSECHOACT'
'''
QAuto Save All Buffers"N
1,Q2M(M.M& Auto Save All Buffers)'
090fsincount"n0'
q.f-q..f"n0'q..f"e0'
m..f
0@v0=Q.F-Q..F"EF*'
:I*Not top level; can't hack FSERR-(FSQPPTR*2)FSMODECH
Q..O[9
FSVZ+B[4
QEditor Name[0
QMode[1
QBuffer Index[3
"N:I1Q1UMode
0FO..Q1 Mode Hook[2
Q2"NM2''
0[.1q..J[.2
<fq.2@;0:g.2-[:@;%.1
1,fq.2:g.2u.2>
F~.20-1-FQ0"N0'
F[BBindG0I 
0FO..QEditor Type[2
Q2"NG2I '
I(G1
QSubmodeU2FQ2"G
I[2]'
QAuto Fill Mode"N
I Fill'
Q:.B(Q3+10)"N
I Save'
"#QAuto Save Default"N
I Save(off)''
FS^RREPLACE"NI Ovwrt'
FSTYISINK"NI Def'
Q4"NI Narrow'
MSet Mode Line Hook+0U2
FQ2"GG2'
I)  
QBuffer NameU2
QBuffer FilenamesU1
Q1"NQ1F[DFILE
F~(FSDFN1:F6)2"E0U2''
Q2"NI2:  '
FQ1"GG1
FSOSTECO"N
FQ1RFSHSNAME:F6U2
FSOSTECO-1"E
FQ2F~2"EFQ2D''
"#4F~DSK:"E4D
FQ2+2F~<2>"EFQ2+2D'''
ZJFSDVERS"E-2D''
FSDVERS"'E+(FSDVERS+2"'E)"L
Q:.B(Q3+9)U1
I (G1I)'
Q:.B(Q3+12)"GI (R-O)'
Q:.B(Q3+12)"LI (Buf R-O)'
I '
ZJQ.1<I] >JQ.1,[I
hf=..j"nhx..j'
0s!Retry!
+1"g"g@'ft (Y or N)? '
fi:fc[1
+1"g"g@'ft1
'
q1fYN"l"Nq1'
@fgoRetry'
q1-Y"e-1'0):I*[1
QBuffer Filenames[2
FSDFILE[0
FSRGETTY"EFSLISTEN"E
:FTDefault is 0''
"#Q2"NF=02"N0U2''
Q2"E:I11 (Default 0)''
1,M(M.M& Read Line)1: .FM(M.M& Read Line)F"N'
-3FSBACKRET$&8"nfm(m.m& Read Command Name)q1'
&4"nf:m(m.m& Read Filename)'
:I*[3
Q..O[BF[BBINDFQ()"GG()'[0
QRead Line Delay[5
FSHelpMac
M.M& Read Line HelpF[HELPMAC
FS^RMODE"EOSLOW'
<Q5:"E-1U00;'
QB[..OFIU0]..O
Q0F
;
Q0I>
Q0-15."E
HX*'
Q0FSREREAD
!SLOW!
FN@FT

&1"NORedisp'
@HT
!LOOP!
QB[..OFIU0
&2"NQ0-?"EM(FSHELPMAC)]..OOLOOP''
]..O
Q0F
"L
Q0I
FS^RMODE"N-1@T'
OLOOP'
Q0F:"L@FTXXX?
HK
U0'
Q0-
"E
!Redisp!
FSRGETTY"N:I*CFSECHODIS'
"#:FT'
@FT3@HT
OLOOP'
Q0-177."EZ"E0'
ZJ0AU0-D
FSRGETTY"E@FT0'
"#Q0-40."L:I*CFSECHODIS@FT3@HT'
"#:I*XFSECHODIS''
OLOOP'
HX*"QDF"N-(M.M^R Documentation)"N:MD''
0[0"N1U0'[2[4
M.M& Macro Name[1
:<-%0FSBACKSTRINGU2
1:<Q2M1U4>
Q4"N0:G4-&:@;'
>[3
"NQ3"L:FTYou are at top level.0'
:FTYou are in a recursive editing level inside 
-2"EFT4.'
"#Q2M(M.MDescribe)'
FT
To abort the command, type C-].  To proceed with it, type C-M-
FSOSTECO"EFTC'"#FTZ'FT.

-2"E
FTFor more information about this command, use Help option R.
'
1'
QD"N
FTYou are entering an argument to a command.
Terminate it with a Return.  Rubout cancels one character.
C-U cancels the argument.  C-L retypes the argument.'
"#FTYou are typing a character as an argument to a command.'
FT

FSNOQUIT:"GFTC-G aborts the command.  '
Q3"L0'
FTThe command is 
Q2M(M.MDescribe)
FT
Now type the argument.
0U..HfgF[BBIND[0[1[2
I5-ZF"G,32I'5,ZK
HFX1128<G1>
<:I0
-FQ0;
0:G0U11,5:G0U2
Q1*5F2>
HX*+[2<u2q2-33.@;
q2*5+:f..d>
:"L,0I100100.FSEXIT'
FSOSTECO"EFS%OPLSP"N1,M.MLISPT Command"E
M(M.MLoad Library)DSK:EMACS;LISPT'''
"L[10[2F[BBINDFJ
J:S,"L\U2'
J:S,"LR:K'HX1
F]BBIND
0fo..qTags Find File"e
1,M(M.MVisit File)1'
"#m(m.mFind File)1'
Q2J]2]1'
100100.FSEXIT0f[:ejpagefsqpptr(
:i*(:i*[3)[1
)[4
f~3<entry>"e:i3'
f[dfile1f[fnamsyntax
fshsnamefsdsname
etDSK: ELIB
et1
fsdfn1@f6[2
1,q2M(M.M& Get Library Pointer)u2
q2"E
m(m.mLoad Library)1u2'
fq3"eq2M.M<entry>'"#M.M3'(
q4fsqpunwind
f[:ejpage
fn]*-(fs:ejpage)"n]*'
))[1
q1[0
fq0+1"g
f~(0,6:g0)!Temp!"n
!lose!!"!:I*Can't clobber specified character 1fserr''
"#Afs^rinit-q0"n
200.@fs^rinit-q0"n
q0"n
olose''''
$:i*[0
<0:G0-32:@;1,FQ0:G0U0>
Q..Q[..OQ..Q[2
@:FO20[1
Q1"L-Q1U1Q1*5J
1F[NOQUIT
Q:2(0)*5,0IQ0U:2(Q1)0U:2(1+Q1)0U:2(2+Q1)'
FF"NU0'
Q:2(Q1+1)2:I*(:I*[3)[0
<0:G0-32:@;1,FQ0:G0U0>
Q..Q[..OQ..Q[2
@:FO20[1
Q1"L-Q1U1Q1*5J
1F[NOQUIT
Q:2(0)*5,0IQ0U:2(Q1)U:2(1+Q1)'
FQ3"E0U3'
Q3,Q1*5+10FSWORD
Q:2(Q1+1)F[00U0
[1.U1FNQ1J
FF"NF[VBWF[VZWFFSBOUND'
J<.-Z;L%0>
Q00FO..QExit HookF"N[0FM0'
Q.F-Q..F"E
FF"NM(M.M^R Save File)'
FQ..F"GM..F''
:FR
FSOSTECO"N:I*ZFSECHODIS'
"#:I*ZFSMPDIS'
0FSECHOCHAR
#FSLines"NFSLines[2'
"#FSEchoLines[2
q2"L-1*q2-1u2'
FSHeight-q2-(FSTopLine)-1u2'
.[1FNq1j
FSWindow"l:f'
FSWindow+bj
1:<q2-1,(FSWidth-1)FM>
.#:m(m.aAUX& Process Init Vars)[D
0[L
10.[R
[Q@:iQ`
q4+1*5-fq3"e
q3[..ozj
200,0i]..o'
.u:3(%4)
qLu:3(%4)
q2u:3(%4)
q0u:3(%4)
qDu:3(%4)
`
[T
fstyisourc"e
@:iT`
Q9-Q.9"N2[R'Q9U.9
fsrgetty"n2&qR"n
qcfsechodis
@ft9: q2u8''
@ft8:i8
`'
"#:iT'
[C:ICTL
[0
[2:i2
[8:i8
[9
0[.9
1fo..qSearch Exit Option
200fsqvector[3
-1[4
[5
.[P
[S:ISM.M& Isearch RuboutUS:MS
:I*M(M.M& Isearch Help)F[HelpMac
1f[noquit
[6[7
qD"g:i6I-Search:i7Failing I-Search'
qD"l:i6Reverse I-Search:i7Failing Reverse I-Search'
q6u9
0[I
fsrgetty"e
fstyisourc"e@ft S: '
1fstypeo''
!Restart!
1:<1uI-2f[noquit
<qL"eq6'"#q7'u9q9-q.9"nmt'
0@V1uI:fiu00uI@fiu5
q5fs^rindir-qSearch Exit Char"efq2:@;
!<!0;>0fsnoquitwqD:m(m.m^R String Search)'
q5-8"eoFunny'
q5-176."goFunny'
q5-"eoControl'
q5-
FSREREAD'
!Normal!
4uR
mQ
:i220
fstyisource"e
fq8"nmt'
@ft0
"#
!Try!
mt
''
qL"n!<!>'
.u5
40.&qR"e
qD"gfq2-1r'
"#fsz-qPf[vz
fq2-1"gfq2:c"ezj''
f]vz''
qD:s2"l!<!>'
q5j1uLfg!<!>
!Funny!
q5-177."eoRubout'
q5&537.-S"eoForward'
q5&537.-R"eoBackward'
q5&537.-Q"eoQuote'
q5&537.-L"efsrgetty"eoReprint'oControl'
qE"eonormal'
oControl
!Reprint!
0tft..at
ft S: 2
!<!>
!Quote!
1f[noquit
fsosteco"n-1f[helpch'
fiu0
fsosteco"nf]helpch'
0fsquitwf]noquit
onormal
!Forward!
qD"l:i6I-Search:i7Failing I-Search'
q4"LqD"goDefault'
"#1uD!<!>''
mQ
qD"L0uL'
1uD
40.uR
otry
!Backward!
qD"g:i6Reverse I-Search:i7Failing Reverse I-Search'
q4"LqD"loDefault'
"#-1uD!<!>''
mQ
qD"g0uL'
-1uD
40.uR
otry
!Default!
mQ
qSearch Default Ring[..o
.fswordu2]..o
fq2"l:i2'
q2u8
40.uR
otry
!Rubout!
q4"lfg!<!>'
ms
qL"eq6'"#q7'u9
mt!<!>
!Control!
q5fsreread
0;
>
f]noquit
>u0@feqit-q0"e@fg
qL"'gqI"N:i*:'"#:i* 'fsjrnwr
QL"g<ms-ql;>mt
oRestart'
qI"emsmtoRestart'
QPJ0fsnoquit
-1fsquit'
q0f"nfserr'
fq2"g
qSearch Default Ring[..o
fq(.fsword)-1"G5c.-z"ej''
q2,.fsword
]..o'
fstyisource"e@ft'
qPmMM & Maybe Push Point
0$-@:M(M.M^R Incremental Search).qD(
q:3(q4)uD
)-qD"N
qD"g:i6I-Search:i7Failing I-Search'
qD"l:i6Reverse I-Search:i7Failing Reverse I-Search''
q:3(q4-1)u0
q:3(q4-2)u2
q:3(q4-3)uL
q:3(q4-4)j
q4-5u4
3uR
fstyisource"e
fsrgetty"eq0:i8'
"#Q0- :"LQ0-"L
1uR:I*XFSECHODISP''''
q0-12."eq4"gq:3(q4-1)-15."e
:ms'''2m(m.mDescribe)^R Incremental Search
0u..hf00FO..QWindow 2 Buffer"E
:I*O1B	Only One WindowFSERR'
MMM & Check Top Levelwindows
[Previous Buffer
Q..OUOther Window Buffer
0FO..QWindow 2 Size"E
.(QBuffer Name(FSWINDOW(
QWindow 2 BufferM(M.MSelect Buffer)
QWindow 2 Point:J
QWindow 2 WindowFSWINDOW
)UWindow 2 Window
)UWindow 2 Buffer
)UWindow 2 Point
'
[1[2
FSTOPLINE"E
:I21:I12
QWindow 1 Size+1FSTopLin
QWindow 2 SizeFSLines'
"#
:I22:I11
0FSTopLin
QWindow 1 SizeFSLines'
QBuffer NameUWindow 2 Buffer
.UWindow 2 Pointer
FSWINDOWUWindow 2 Window
FF"EQWindow 1 BufferM(M.MSelect Buffer)
QWindow 1 Pointer:J
QWindow 1 WindowFSWINDOW'
1,M(M.M^R Two Windows)O0FO..QWindow 2 Size"N
:I*A2W	Already Two WindowsFSERR'
fsrgetty"e
:I*TTY	You are on a printing terminalFSERR'
MMM & Check Top Levelwindows
[Previous Buffer
QBuffer NameM.VWindow 1 Buffer
Q..OM.VOther Window Buffer
FSWINDOWM.VWindow 1 Window
.M.VWindow 1 Pointer
FSLINESM.VDefault Size
FSLINESF"E
FSHEIGHT-(fsTopLine)-(FSECHOLINES)-1'M.VTotal Size
0FO..QWindow 2 Buffer"E
QTotal Size/2M.VWindow 1 Size
0FO..QTags Find File"NoSame'
-1"NoSame'
"N:I*W2m(m.m& Create Buffer)'
:I*W2M.VWindow 2 BufferoW2'
-1"N
!Same!
QBuffer NameM.VWindow 2 Buffer
!W2!
.M.VWindow 2 Pointer
FSWindowM.VWindow 2 Window'
QWindow 1 Size[0
QTotal Size-1-Q0:"G
QTotal Size/2U0Q0UWindow 1 Size'
1F[NOQUIT
QTotal Size-1-Q0M.VWindow 2 Size
FSREFRESHM.VWindow 1 Refresh
M.M& Multi-window RefreshFSREFRESH
"NQ0FSLINESW
Q:.B(QWindow 2 BufferM(M.M& Find Buffer)+4)M.VOther Window Buffer
F]NOQUIT
M(FSREFRESH)W'
Q0FSTOPLINE
:FTFSWIDTH/10<FT---------->0U..H
-1FSTYPEOUT
0FSTOPLINE
F]NOQUIT
:M(M.M^R Other Window)0FO..QWindow 2 Size"E
:I*O1B	Only One WindowFSERR'
MMM & Check Top Levelwindows
[Previous Buffer
FSTOPLIN"N
M(M.M^R Other Window)'
0UWindow 2 Size
0FSTopLine
QDefault SizeFSLINES
QWindow 1 RefreshFSREFRESH
FF"N
:M(M.M^R Other Window)'
QWindow 1 RefreshF"N[1M(Q1(]1))'
FSQPPTR
0F[REFRESH
.[1FNq1j[1[2
FSTOPLINE"N
QWindow 1 SizeF[LINES0F[TOPLINE
:I21'
"#QWindow 2 SizeF[LINESQWindow 1 Size+1F[TOPLINE
:I22'
QWindow 2 WindowF[WINDOW
QWindow 2 Point:J
QOther Window Buffer[..O
-1F[DFORCE
0U..H@V
0FSLINES
QWindow 1 SizeFSTOPLIN
:FTFSWIDTH/10<FT---------->
-FSTYPEOUTW0U..H
QPFSQPUNWINDW\Q..F-Q.F"NFSLINES"EFG0'
FSLINES+FSLINES
M(FSREFRESH)W'
0FO..QWindow 2 Size"E
:I*O1B	Only One WindowFSERR'
[1FSTOPLIN[0
Q0"E-Q1U1'
QWindow 1 Size-Q1-1"LOLOSE'
QWindow 2 Size+Q1F"GUWindow 2 Size'
"#!LOSE!
:I*Windows need at least one lineFSERR'
QWindow 1 Size-Q1UWindow 1 Size
Q0"E
QOther Window Buffer[..O
QWindow 2 WindowF[Window
.[PFNQPJ
QWindow 2 Point:J'
.(1:<FSWINDOW+BJ
-Q1F"G:'"#@',0FM
.-BFSWINDOW>W)J
Q0"EFSWINDOWUWindow 2 Window
-4FSQPUNWIND'
Q0"EFSLINES+FSLINES'
"#FSTOPLINE-FSTOPLINE
FSLINES+FSLINES'
:M(FSREFRESH)'0FO..QWindow 2 Size"E
:I*O1B	Only One WindowFSERR'
.[1FNq1j[1[2
QOther Window Buffer[..O
FSTOPLINE"N
QWindow 1 SizeF[LINES0F[TOPLINE
:I21'
"#QWindow 2 SizeF[LINESQWindow 1 Size+1F[TOPLINE
:I22'
QWindow 2 WindowF[WINDOW
QWindow 2 Point:J
-1F[DFORCE
FS^RARGP-5"E
@M(M.M^R Previous Screen)'
"#F@M(M.M^R Next Screen)'
0@V
.UWindow 2 Point
FSWINDOWUWindow 2 Window
\0fo..QWindow 2 Size"e
2m(m.m^R Two Windows)'
"#2m(m.m^R Other Window)'
1fstypeoutwm.ifi:fc[1
-1fstypeout
q1f*B"g:m(m.mSelect Buffer)'
q1f*F"g:m(m.mFind File)'
q1f*T."g:m(m.m^R Find Tag)'
:fg0EMMM & Check Top Levelbuffers
[40[3
FF&1"NU3'
"#"E:F"G:i3''
Q3"EM.MList BuffersF[HELPMAC
"Nu4'
"#:i4Select Buffer'
QPrevious Bufferu3
1,Q3M(M.M& Find Buffer)"LQ:.B(1)U3'
3,m(m.m& Read Line)4 (3): u3
Q..H"NF'0U..H
FQ3"L0'
F]HELPMAC''
Q3[5
FQ3"EQPrevious BufferU3'
1,Q3M(M.M& Find Buffer)[1
Q1U4
Q1"L
FQ3"L:I*No such bufferFSERR'
FQ5"E0U10U4'
"#Q3M(M.M& Create Buffer)U1''
Q1:M(M.M& Select Buffer)l[4[5
[1
QBuffer Index[3
Q1-Q3"E0'
1F[Noquit
0FO..QBuffer Deselection HookU5
Q5"NM5'
Q.B[..OZJ0K]..O
Q3,14F.B
QBuffer FilenamesU:.B(Q3+2)
QModeU:.B(Q3+3)
FSNewCng
Q:.B(Q1+6)FSWINDOWU:.B(Q3+6)
Q:.B(Q1+5)F"EW'FSDFILEU:.B(Q3+5)
Q:.B(Q1+13)FSCNGBUF
Q:.B(Q1+2)UBuffer Filenames
Q:.B(Q1+1)UBuffer Name
Q:.B(Q1+3)UMode
0F[VARMAC
Q:.B(Q1+10)UAuto Save Mode
F]VARMAC
Q1UBuffer Index
Q:.B(Q3+1)UPrevious Buffer
Q:.B(Q1+3)U3
Q1,14F.B
1FSMODECHANGE
Q:.B(Q1+4)U..O
Q..OFSTopBuf
ZFSOldZ
0FO..QBuffer Selection HookF"N[..N'
Q:.B(Q1+5)"N'
Q:.B(Q1+1)U4
FSOSTECO"EF64'"#Q4'FSDFN1
QDefault Major ModeU4
FQ4"GM(M.M4 Mode)'
0UAuto Save Count
0FO..QBuffer Creation HookU4
Q4"NM4'
|1F[NOQUIT
FQ.B/5[2[1
Q.B[..O
ZJ14*5,0I
]..O
14U:.B(Q2)
Q2[4
U:.B(%4)
0U:.B(%4)
QModeU:.B(%4)
FSBCONSU:.B(%4)
0U:.B(%4)
0U:.B(%4)
%Next Bfr NumberU:.B(%4)
0U:.B(%4)
0U:.B(%4)
0U:.B(%4)
0U:.B(%4)
0U:.B(%4)
[email protected] Buffer Size*5FSBConsU:.B(%4)
QBuffer IndexU1
Q:.B(Q1)-Q:.B(Q2)/2U4
FQDefault Major Mode"G
:I*FundamentalU:.B(Q2+3)
QInitial Local CountU4'
Q.B[..OQ2+Q:.B(Q2)*5J
Q1+Q:.B(Q2)*5,(Q4*2+Q1+Q:.B(Q2)*5)G.B
Q4*2+Q:.B(Q2)U:.B(Q2)
Q2,(14+2)@F.B
Q2FT
  #  Buffer   (Mode)        Filenames
  (* means buffer needs saving)


F[DFILE
FQ.B/5[10[2[3[..O
<Q2-Q1;
Q:.B(Q2+4)U..O
FSMODIF"NFT* '"#FT  '
Q:.B(Q2+7):=
5-(FSTYOHPOS)<FT >
Q:.B(Q2+1)U3
FT3
Q:.B(Q2+3)U3
QBuffer Index-Q2"EQModeU3'
FT  FQ3-7"L11-(FSTYOHPOS)<FT >'
FT(3)
FT  28-(FSTYOHPOS)<FT >
Q:.B(Q2+2)U3Q3"N
FT3
ET3
Q:.B(Q2+9)U3
FSDVERS:"GFSDVERS+1"N
FT (
FQ3"LQ3:='"#FT3'
FT)'''
"#FSZ:=FT Characters'
Q:.B(Q2+12)"N
FT  Read-Only'
FT

Q:.B(Q2)+Q2U2>
O:I*Q0"EQBuffer NameU0'
Q0M(M.M& Find Buffer)[9
14-Q:.B(Q9)/2-1[1
Q9+14-1[2
[3[4
FTLocal variables of buffer 0:

<%1;
Q:.B(%2)U3%2
FQ3"LQ3@FSQPHOMEU3'
Q1+1"EFT3.
'"#FT3,
'>
(FQ.B/5[10[2[3[4
FP"L:\U3
:I4Q:.B(Q2+7)-'
"#:I4F~:.B(Q2+1)3'
<Q2-Q1;
M4@;
Q:.B(Q2)+Q2U2>
Q2-Q1"LQ2'
"N-1'
:I*NSB	No such buffer: 3FSERR\FQ.B/5[10[2[3[4
<Q2-Q1;
Q:.B(Q2+2)U4
Q4"NF~43"E
Q:.B(Q2+1)''
Q:.B(Q2)+Q2U2>
0BFF&1"N[1'
"#1,FKill Buffer: [1'
Q1:M(M.m& Kill Buffer)U[1
FQ1"EMMM & Check Top Levelbuffers
QBuffer NameU1'
[2[3
Q1M(M.M& Find Buffer)U1
Q:.B(Q1+2)"N
Q:.B(Q1+4)[..O
FSMODIF"N
Q:.B(Q1+12)"E
Q:.B(Q1+1)U2
FSTYPEOUT"L@'FT
Buffer 2 contains changes.  Write them out
FSTYPEOUT"L1'M(M.M& Yes or No)"N
Q:.B(Q1+2)F[DFILE
FSOSTECO"N0FSDVERS'
0[..FM(M.MWrite File)]..F
F]DFILE'''
]..O'
Q:.B(Q1)U2
Q1-QBuffer Index"E
0U:.B(Q1+10)
:I*Killing current buffer;  Select which other buffer,M(M.MSelect Buffer)'
1F[NOQUIT
Q:.B(Q1+4)FSBKILL
10.F?
Q.B[..OQ1*5JQ2*5D
QBuffer Index-Q1F"G+Q1-Q2UBuffer Index'
0U..H):I*[0
QBuffer Index[9
Q9+14-1[2
Q:.B(Q9)-14/2[1
:FO..Q0[3
Q3"GF~:..Q(Q3)0"N-Q3U3''
Q3"L0M.V0
:FO..Q0U3'
Q:..Q(Q3)U0
&1"NOFast'
Q1<Q:.B(%2)U3
FQ3"GF~30"E
FF&1"N
U0'
''
%2>
!Fast!
Q.B[..O
(Q:.B(Q9)+Q9)*5J
&2"NQ9+14*5J'
1F[NOQUIT
10,0I
Q0,.-10FSWORD
Q0,.-5FSWORD
Q:.B(Q9)+2U:.B(Q9)
&2"N2,M.LInitial Local Count
%Initial Local Count'
F]NOQUIT
FF&1"NU0'
>:I*[0
F~0FS-3"E1:F0[M0'
"#[0'
FSQPPTR-1[4
Q4:FSQPHOME[3
QBuffer Index[9
Q9+14-1[2
"E
Q:.B(Q9)-14/2[1
Q1<Q:.B(%2)-Q3"E
FF&1"N,Q4FSQPSLOT'
'
%2>'
Q.B[..O
1F[NOQUIT
(Q:.B(Q9)+Q9)*5J10,0I
Q3,.-10FSWORD
Q4FSQPSLOT,.-5FSWORD
Q:.B(Q9)+2U:.B(Q9)
F]NOQUIT
FF&1"N,Q4FSQPSLOT'7:I*[0
QBuffer Index[9
Q9+14-1[2
Q:.B(Q9)-14/2[1
[3
Q1<Q:.B(%2)U3
FQ3"GF~30@;'
%2>
F~30"N'
Q.B[..O
Q2*5J
.+5FSWORDU0
1F[NOQUIT
10DQ:.B(Q9)-2U:.B(Q9)
d:I*[0
F~0FS-3"E1:F0[M0'
"#[0'
FSQPPTR-1[4
Q4:FSQPHOME[3
QBuffer Index[9
Q9+14-1[2
-Q:.B(Q9)+14/2[1
<%1"G'
Q:.B(%2)-Q3@;
%2>
Q:.B(q2+1),Q4FSQPSLOT
Q.B[..O
1F[NOQUIT
Q2*5J10D
Q:.B(Q9)-2U:.B(Q9)
P"EM.MMake Local Q-reg[.Q'
QInitial Local CountF"L:'[2
FSQPPTR[3
QBuffer Index[1
Q.B[..O
Q1,Q2+Q2+14F.B
1F[NOQUIT
(Q1+14+Q2+Q2)*5J
(Q:.B(Q1)-14-Q2-Q2)*5D
Q2+Q2+14U:.B(Q1)'
Q3FSQPUNWIND<0[1[2[3-1[4
[..OF[DFILE
<Q1*5-FQ.B;
Q:.B(Q1+1)U2
Q:.B(Q1+4)U..O
FSMODIF"EOLP'
Q:.B(Q1+12)"NOLP'
Q:.B(Q1+2)F"EOLP'U3ET3
ET3
FSOSTECO"N
0FSDVERSWFSDFILEU3'
FF&1"E
<FTSave buffer 2 in 3
1,M(M.M& Yes or No)U4
-Q4;>'
Q4"L
Q3U:.B(Q1+2)
Q1-QBuffer Index"E
FSOSTECO"N
1FSMODECH
Q3UBuffer Filenames''
Q1[Buffer Index
Q.F[..F
1,M(M.MWrite File)
]..F
]Buffer Index'
!LP!
Q1+Q:.B(Q1)U1>
0U..H!:m(m.aAUXKill Some Buffers)p1,FRename Buffer: [1
QBuffer FilenamesF"NF[DFILE'
fq1:"gfsdfn1@f6u1'
f~Buffer Name1"e'
1,Q1M(M.M& Find Buffer):"l
:i*Name 1 already in useFSERR'
Q1UBuffer Name
Q1U:.B(QBuffer Index+1)
:M(M.M& Set Mode Line).1,FBuffer: [1
Q1:M(M.m& Insert Buffer)W[1
fq1"eqPrevious Bufferu1'
Q1M(M.M& Find Buffer)[2
G:.B(Q2+4)
.:FK(FKC)fsQPPtr[7
[0[1[2[5[6
:i0ff"n
ff&1"N:\u0'
ff&2"N:\u1:i01,0'
:i00 '
:i*M-X fo..qRead Command Promptu2
:i1
<4,q1m(m.m& Read Command Name)02u1u6
fq1-1"l'
q6&2"n:i61;'
@:i*|:ftm(m.mDescribe)1|f[HelpMac
q6"n@ft'
1#q6&1,m(m.m& Read Line)021u6
-1fsQPUnwind
fq6;
>
:i10M(M.M 1)6
f1:"l
1fo..qQuote Execute Command"n
f[BBindg1
j<:s;i>
hx1f]BBind''
f=(q:.n(0)f"ew:i*')1"n
q.n[..ozj-5d
j5,0i]..o
q1u:.n(0)'
:m(q1(q7fsqpunwind))1fsQPPtr[7[0[1
:i0ff"n
ff&1"N:\u0'
ff&2"N:\u1:i01,0'
:i00 '
:i*C-M-X fo..qInstant Command Promptu1
9,f01u1
fq1:"g0'
f:m(m.m1(q7fsQPUnwind))C [0[1[2[3[4[5[6[7
1F[^PCASE
:I6
0[8
0[9
q..q[.1:i*MM [.2
0[.0
&20."n2fo..QCRL Non-match Methodu.0
q.0&8"nq.0&777777777775.u.0''
&2"nqCRL Listu.1
0fo..qCRL Prefixu.2
q.2"e:i.2''
0[.3
0[.4
0f[HelpMacro
f[BBindfq()"gg()'
q..ou5
oRead
!Redisp!
1u8
:i*CfsEchoDis
fsrgetty"e@ft
'
@ft6@ht
zu.4
oRead
!BarfCR!
fg
fsrgetty"n@ft '
q8"n@ft'
Q.0&8"N
:FI-
q8"N@FT
'
q8+6,(hx*)''
oRedisp
!Barf!
fg
fsrgetty"n@ft '
oRead
!Changed!
q8"n
fsrgetty"n
q.4-q.3<:i*Xfsechodis>
q.3,z@t'
"#q.4,z@t'
zu.4'
zu.3
q9"n&4"n
q8,q3'
q8"n@ft0u9
:fi-13"noRedisp'''
!Read!
q8"e0:"eoRedisp''
@:fiu0q0-4110."eoHELP'
q0-(200.+
q.0&8"n
q8"n@FT
'
q8+4,(HX*)''
fiu0
q0-32"e."eoRead''
q0f
 ?"l
q0-
"eQ.0&4"n
q8+4,(HX*)''
q0-"efiu0'
q0i
q8"nfs^RMode"n-1@t%.4''
oRead'
q0-"e
i^R
q8"nfs^RMode"n-2@t%.4%.4''
oRead'
q0-177."e
q8"eq0fsReReadoRedisp'
z"eq8,0'
zj0au0-d
fsrgetty"e@ft0'
"#q0-40."loRedisp'
:i*Xfsechodis
Q.4-1u.4
q.4-q.3"lq.4u.3'
oRead''
q0-
"eoRedisp'
q0f:"lhk0u.3oRedisp'
q0-?"e
&2"e
f=(0,2:g5)^R"e
m(m.m& Load Bare)''
f[BBind:ft
&2"e
fs:ejpage*5120+400000000000.u7
<fq7:;
g(q7m.m~DIRECTORY~)
q7+4+fq7u7
>
j.u3i

<2r:s
5;0lq3,.kl
.-z;.u30:l
>q3,zk'
:fo.1.25,0fu3
:fo.1.25,0fu4
q4-q3/q:.1(0)<
0fo..qCRL Name Listeru7
q7"nq3m7'
"#
q:.1(q3)u7
fq.2,fq7g7i
'
q3+q:.1(0)u3
>
j
&2"e<:s~;0lk>'
0fo..qCRL Name Listeru7
q7"n1,m7'
"#
l
j<.-z;x1l<.-z;1f=1"N1;'k>>
'
ftHere are the possible completions of what you have typed:

ht0fsflushedwf]BBind
0u..hfoRedisp'
!Retry!
q0-
(Q.0&2"'n)(
)((z"'e)&(&40."'n))"n
q8"n@FT
'
Q8+6,(HX*)''
&2"ez-1"e0a:fcfLVKEIW:"l
h@fc
f~5L"eiist '
f~5V"eiiew '
f~5K"eiill '
f~5E"eidit '
f~5I"einsert '
f~5W"eihat '
oChanged'''
:i3:i4
:fo.1.25,0fu1
fq.1/5-q1"gq:.1(q1)u2
f~2.2,0f-fq.2"gfq.2,fq2:g2u4''
:fo.1.25,0fu1
q1-1"gq:.1(q1-q:.1(0))u2
f~2.2,0f-fq.2"gfq.2,fq2:g2u3''
&2"e
f=(0,2:g5)^R"e
m(m.m& Load Bare)'
fs:ejpage*5120+400000000000.u7
f[BBind
<fq7:;
q7+8+fq(q7+4)u2
:fo25,0f*5u1
fq2-q1"g
q1,q1+5g2
.-5fsword+q2u1
f~14"lq1u4''
:fo25,0f*5u1
q1-14"g
q1-10,q1-5g2
.-5fsword+q2u1
f~13"gq1u3''
hkq7+4+fq7u7
>f]BBind'
f~34u1
q1"l
(&20."'e)(q0-32"'n)"n
q0-arfCR'"#oBarf''
:i7q7u2'
"#q3u7q1"n0,q1-1:g3u7'
z,fq7:g7u2'
q0-4-fq7"eq4u30u1''
q0-32"e
fq2"eq1"n
0,0a-32"eoBarf'
32iq8"n@ft %.4'oRead''
32f2+1u2q2"g
0,z+q2:g7u7''
"#fq2"eq1"n
fq4-z"n
q0-arfCR'
"#oBarf''
q4u3'''
f~34"efq3-fq7"e
q0-"n@ft
'2+q8,(:i*3)'
1u9''
hkg7oChanged
!HELP!
fiw:ftYou are typing in 
&2"eftthe name of an EMACS extended command
:i7 command'
"#0fo..qCRL Name Typeu7
fq7"g:I7 7'
"#:I7'
fta7 name'
ft.
Use Rubout to delete previous characters; use  to delete the whole thing.
Typing Space or Altmode causes as much of the name as possible to be
filled in for you (this is called completion).
Type ? to list all the7 names which match what you have typed.
&6-4"eft
If completion fills in the entire7 name an Altmode () appears.
  You can then start typing the arguments to the command.
  Terminate them with a Return.  If there are no arguments,
  you can use just Return after a sufficient abbreviation.'
"#ft
If completion fills in the entire7 name, 
&4"e
ftan Altmode () appears.'
"#
ftit will be chosen.'
Q.0&2"eft
Typing Return will complete the7 name and terminate.
&40."nft
  You may also type Return if there are no other characters,
  to enter a null7 name''
Q.0&8"nft
If completion is not possible after typing Return, typing a second
Return will terminate the7 name, without completion.(An altmode
will appear after you type the first Return, as a reminder.)'
"#ft
Typing Return will terminate the7 name, without completion.'
Q.0&4"nft
Typing Linefeed will terminate the7 name, without completion.'
0fo..qCRL HelpU7
q7"nFT
7''
FT

0u..hfoRedispVareListtNameMBodyeAtom Word ModeAuto Directory Display4* 1 => display dir after writes, -1 => reads tooAuto Fill Mode Auto Push Point Notification%* Searches setting mark type thisAuto Push Point Option4* Searches moving this far set mark at old pointAuto Save All Buffers;* non-0 => auto save all buffers, not just selected oneAuto Save CountAuto Save DefaultAuto Save Filenames"* Filename for Auto Save filesAuto Save IntervalAuto Save Max* # of saves to keepAuto Save ModeAuto Save Visited FileAutoarg ModeBacktrace TempBottom Display MarginBuffer FilenamesBuffer IndexBuffer NameCase Replace)* 1 => Replace commands preserve caseCase SearchComment Begin'* String for beginning new commentsComment Column!* Column to start comments inComment End* String that ends commentsComment Rounding0* Hairy - see code for ^R Indent for CommentComment Start2* String that indicates the start of a comment
CRL Help
CRL ListCRL Name ListerCRL Name TypeCRL PrefixCursor Centering PointDefault Major Mode** Major Mode for newly created buffersDirectory Lister$Macro to use to list directoriesDisplay Matching ParenDisplay Mode Line InverseDisplay OverprintingEcho Area HeightEditor NameEditor Type End of Buffer Display MarginError Messages in Echo AreaFill ColumnFill Extra Space List%* punctuations that need 2 spacesFill Prefix1* String to put before each line when fillingIndent Tabs ModeInitial Local CountLisp *CATCH IndentLisp *THROW IndentLisp CASE IndentLisp CASEQ IndentLisp COMPILER-LET IndentLisp DO IndentLisp DOLIST IndentLisp DOTIMES IndentLisp EVAL-WHEN IndentLisp Indent DEFanythingLisp Indent LanguageLisp Indent Offset* See ^R Indent for LispLisp Indentation HookLisp IOTA IndentLisp LAMBDA IndentLisp LET IndentLisp LET* IndentLisp LET-CLOSED IndentLisp LET-GLOBALLY Indent#Lisp MULTIPLE-VALUE-BIND IndentLisp PROG IndentLisp PROG1 IndentLisp PROG2 IndentLisp PROGN IndentLisp SELECT IndentLisp SELECTQ IndentLisp UNWIND-PROTECT Indent"Lisp WITHOUT-INTERRUPTS IndentMM & Check Top LevelMM & IndentMM & Find BufferMM & Find FileMM & Get Library PointerMM & Kill TextMM & Matching ParenMM & Maybe Push Point MM & Maybe Display DirectoryMM & Process File OptionsMM & Read LineMM & Set Mode LineMM & XindentMM Load LibraryMode Do MM FOO to enter FOO modeNext Bfr NumberOverwrite ModePage Delimiter/* Search string for finding page boundariesParagraph Delimiter6* Lines starting with these chars start paragraphsPermit Unmatched Paren9* 1 => allow unmatched ), -1 => only in Lispish modesPrefix Char ListPrevious BufferRead Line Delay-Pausing this many 1/30 sec causes echoingRegion Query Size8* Some commands need confirmation if region this bigSAIL Character ModeSearch Default RingSearch Exit CharSet Mode Line HookSpace Indent Flag.* If nonzero, Auto Fill indents new linesSubmode!!1FSMODECHTab Stop Definitions&* Tab stops for ^R Tab to Tab StopTemp File FN2 List"* Reap File deletes these FN2sTop Display Margin	EMACS6This file contains EMACS's normally used functions'S List all loaded functions of a given class.
Takes two string arguments: name substring, and doc prefix
(function class).  "*" as the doc prefix means list everything
except subroutines.
Nonzero precomma arg means do Where Is on each function listed
and do not print "Done" at the end.cS List some of the functions in a specific library.
Takes string pointer to library as numeric arg, plus two string args
just like & List Some Functions.  Nonzero precomma arg says to do Where Is
on each function listed.C M-X AproposFOO<cr> lists functions with names containing FOO.
If you supply a numeric argument, subroutines and
MM ... variables are not mentioned.[C List the commands that run a given function.
M-X Where Is^R Forward Word<cr> will tell which character
moves forward one word.  You can supply the function as a
numeric arg instead of the name as a string arg.}C Read documentation files using INFO.
Non-null string arg is pathname made out of Menu item names
separated by spaces.zS Returns pointer to already loaded library.
Takes libary name as a string argument, or as string object as prefix argument.
Abbreviations are allowed.
A nonzero pre-comma argument means return 0 instead of error
if the library is not loaded.'C List all loaded libraries' names.OC List names and values of all or some variables.
A suffix string argument is a substring to filter variable names with.
Given a buffer as a prefix argument, we insert the list into it.
Any postcomma arg inhibits the initial header and final "Done".
A nonzero precomma arg says consider only vars whose names start
with "MM ".C M-X DescribeFOO<cr> documents function FOO.
Prints the full name and full documentation
of the specified function or variable name.
The function to be described can also be given as a prefix arg
in TECO code, as in M.MFOO MMDescribe, and if a character is being
described, it can be specified by the pre-comma prefix arg, either
as a 9-bit number or a string giving a q-register name.<S Describes the subcommands of an escape-prefix command.@S Describes one or several commands with a certain meta-bit.p^R Prints the documentation of a command (not a function).
The command character is read from the terminal.
Alternatively, the command char and definition may be fed as
numeric args, in which case the character's name is not printed.& Briefly describes a command.
The command character and command definition should be
given as prefix numeric args.  We don't handle indirect
definitions; the caller should do that.  (This is so we
win when dealing with subcommands of prefix characters).-^R General source of helpful information.C Describe how current mode differs from fundamental.
All variables and commands which are redefined locally
in this buffer are described briefly.=C Document TECO command.
g(m.aPURIFY~DOC~ Tecdoc)jk^R What commands did I type to cause this lossage?
Prints out descriptions of the last sixty characters typed on the keyboard.S Load the BARE library if not loaded.
Leaves FS :EJ PAGE pushed on the stack on return,
so that BARE will go away when the caller returns.C Set things up for editing LISP code.
Puts ^R Indent for LISP on Tab, puts tab-hacking rubout on Rubout.
Paragraphs are delimited only by blank lines.CC Set things up for editing PALX code.
The same as MIDAS mode.{C Set things up for editing MIDAS code.
C-M-N and C-M-P go to next and previous label.
C-M-A and C-M-E go to AC and EA fields, respectively.
C-M-D deletes next word and its terminator (eg, "FOO:").
Paragraphs are delimited only by blank lines.NC Set things up for editing TECO code.
g(m.aPURIFY~DOC~ TECO Mode)jkIC Set up for editing TEX input files.
g(m.aTEX~DOC~ TEX Mode)jkRC Set up for editing Scribe source text.
g(m.aSCRIBE~DOC~ Scribe Mode)jk	C Set things up for editing English text.
Tab does ^R Tab to Tab Stop.  There are no comments.
Auto Fill does not indent new lines.vC Temporarily set up for editing a table.
Makes Auto Fill indent the next line,
makes Tab be ^R Tab to Tab Stop.lC Temporarily set up for editing indented text.
Good when body of text is indented, but topics appear at the margin.
Tab is ^R Indent Relative;  auto fill indents lines.
Paragraphs start only with blank lines.  Rubouts hack tabs.%C Return to EMACS's initial mode.aC Enter a mode for editing Macsyma code.
Modifies the delimiter dispatch, ..D, appropriate for Macsyma syntax,
puts special rubout on rubout, sets parameters for comment hackery,
and defines Tab to be ^R Indent Nested.QC Enter a mode for editing MUDDLE code.
g(m.aMUDDLE~DOC~ Muddle Mode)jk?C Set up to edit PL/1 code.
g(m.aPL1~DOC~ PL1 Mode)jkYC Invoke TDEBUG for debugging TECO code.
Show two windows with buffer in window 1, and current function code
in window 2.  Meta-D gets minibuffer which is stepped through.
Arg is line number to split screen at.]C Break lines between words at the right margin.
A positive argument turns Auto Fill mode on;
zero or negative, turns it off.  With no argument, the mode is toggled.
When Auto Fill mode is on, lines are broken at spaces
to fit the right margin (position controlled by Fill Column).
You can set the Fill Column with the ^R Set Fill Column."C Make word commands deal with LISP atoms.
A positive argument turns Atom Word mode on;
zero or negative, turns it off.  With no argument, the mode is toggled.
When Atom Word mode is on, word commands define a word to mean
a Lisp atom.  This affects which characters are delimiters.C Make printing characters overwrite existing text.
A positive argument turns Overwrite Mode mode on; a zero or negative,
argument turns it off.  With no argument, the mode is toggled.
In overwrite mode, printing characters replace a character
instead of pushing the following characters over to the right.
Rubout replaces the preceding character with a space.
To insert use ^R Quoted Insert.)C Enables or disables use of tabs as indentation.
A positive argument turns use of tabs on;
zero or negative, turns it off.
With no argument, the mode is toggled.rC Enables or disables display of SAIL graphics.
They are single-column graphics for characters 0 through 37.
A positive argument turns display of SAIL graphics on;
zero or negative, turns it off.
With no argument, the mode is toggled.XC Turns word abbreviation mode on or off.
g(m.aWORDAB~DOC~ Word Abbrev Mode)jkYC Load in file of word abbreviations.
g(m.aWORDAB~DOC~ Read Word Abbrev File)jk	C Replace one string with another, globally.
M-X ReplaceFOOBAR replaces each FOO after point with a BAR.
A numeric argument means replace only FOOs which are
surrounded by delimiter characters.  Works by calling Query Replace
and pretending you typed a !.5S Like TECO ^F1 FK commands but preserve case._
C Replace string, asking about each occurrence.
M-X Query replaceFOOBAR displays each occurrence of FOO;
  you then type a character to say what to do.
Space => replace it with BAR and show next FOO.
Rubout => don't replace, but show next FOO.
Comma => replace this FOO and show result, waiting for next command.
^ => return to site of previous FOO (actually, jump to mark).
^W => kill this FOO and enter recursive editing level.
^R => enter recursive editing level.  ^L => redisplay screen.
Exclamation mark => replace all remaining FOOs without asking.

Period => replace this FOO and exit.  Altmode => just exit.
Any other character exits and is read again.
To restart Query Replace after exit,
use ^R Re-execute Mini or run the minibuffer with an argument.

Numeric arg means only replace FOO when bounded on both sides
by delimiter characters (according to syntax table).

If Case Replace is nonzero, BAR will be capitalized or all caps 
if the FOO found was (but only if FOO is typed all lower case).

The TECO expression 1,MM Query ReplaceFOOCommands executes Commands
as TECO commands to perform the replacement.  The commands should return
a pair of values which delimit the range of the buffer changed.  "H" is
safe.  To include Altmodes in the commands, quote them with ^]'s.
The commands can use Q2 and Q4 without saving them.xC Delete all lines not containing specified string.
Give the TECO search string to search for as a string argument.tC Delete all lines containing specified string.
Give the TECO search string to search for as a string argument.
C Displays text lines after point which contain a given string arg.
An arg <n> means type <n> lines before and after each occurrence.QC Counts occurrences of a pattern, after point.
Takes pattern as string arg.GC Convert spaces after point to tabs.
g(m.aAUX~DOC~ Tabify)jk^C Correct spelling over the whole buffer.
g(m.aAUX~DOC~ & Correct Buffer Spelling)jkUC Give command line (string arg) to SPELL job.
g(m.aAUX~DOC~ & Spell JCL)jkWC Converts all tabs after point to spaces.
Numeric arg specifies tab stop spacing.VC Load a library of functions.
Takes filename as string arg; default FN2 is ELIB.
Tries both the specified (or home) directory and EMACS.
An argument means don't run the library's & Setup function.
Pre-comma argument means create variable <libname> Library Filename
for Dump Environment's use.
Returns a pointer to the file in core.XC Run a specific function from a specific library file.
M-X Run Library<Lib name><Function name> runs the function
named <Function name> out of the library <Library name>,
which is loaded temporarily (unless it is already in core).
If <Function name> is null, "<ENTRY>" is used.
TECO programs should use M.A instead of this function.%C Delete some loaded libraries from core.
Offers to kill each library, one by one, most recently loaded first.
Keeps asking until the first time you say no.
Before killing a library, we call its & Kill <libname> Library
function (if any) with string-pointer to the library as argument.dC List contents of a library not necessarily loaded.
M-X List Library<filename> is the format.KC Compare text in two windows.
g(m.aAUX~DOC~ & Compare Windows)jk>C Edit a directory.
g(m.aDIRED~DOC~ & DIRED Enter)jkGC Delete old versions of a file.
g(m.aDIRED~DOC~ Reap File)jkRC Delete old versions in a directory.
g(m.aDIRED~DOC~ Clean Directory)jkC Compare directories on different ITS machines.
fsosteco"n iNot implemented on Twenex.'
   "# g(m.aDIRED~DOC~ Compare Directories)jk'2C Eliminates definition of specified variable.1C Edit values of permanent options.
Displays a table of the variables which are options,
and their values, and lets you edit the values.
A variable is an option if its comment starts with "*" or "!*".
When you exit the recursive edit with ^R Exit, the values are updated.
To abort, use Abort.BC Brief directory listing.
g(m.aDIRED~DOC~ List Files)jk)C List names of all disk directories.QC Read mail using your favorite mail-reader.
Passes a string argument to the mail-reader.
If the variable Mail Reader Library exists,
it is the name of the mail-reader library.
Otherwise, on Twenex, if Mail Reader Program exists,
run that program in a subfork; and an argument means
kill the subfork.  The default is RMAIL on ITS, MM on Twenex.

A precomma arg of 1 means just mail one message.
A precomma arg of 2 tells RMAIL to exit to DDT when done.6C Mail a message, using your favorite mail-reading program.
If you abort the message, you can resume by giving this
command a nonzero argument.
Refer to the Read Mail command.MC Delimiter syntax table editor.
g(m.aAUX~DOC~ Edit Syntax Table)jk_C Type out contents of q-register or variable.
M-X View Var<variable name> is the format.>C View a buffer moving by screenfulls.
Buffer name is string argument; null arg means selected buffer.
Space moves to next screen, Backspace moves back a screen.
Return exits leaving point in current screen.
Anything else exits and restores point to where it was before;
and if it isn't Rubout, it is executed as a command.

Also useful on fast storage scopes like the Tektronix.
However, Backspace is only available on real displays. S Implements M-X View BufferaC View a file sequentially on the screen.
Type Space to see the next screenful, or Backspace to back up.
Anything else exits.  Spacing past last screenful exits.
On non-displays, Backspace is not available.
Does not set the file's reference date.

Pre-comma argument means view the current buffer contents
and don't change the buffer or Q..J.EC Insert the current time and date after point.
A date in FS IF CDATE format can be given as a numeric
argument, to use instead of the current date.
The mark is put after the inserted text.HC Select a tag table file.
g(m.aTAGS~DOC~ & Visit Tag Table)jkC Print interesting random text based on text in buffer.
Arg is number of words of continuity at jumps,
or minus number of characters of continuity.$C Recompile the file you are visiting.
We first offer to save any changed files, unless there is a numeric arg.
A string argument is used to specify compiler switches.

If nothing seems to be happening before your compile, just be patient.
If nothing seems to be happening after your compile, first type a Space,
then type POP (on TNX) or P (on ITS).

Refer to the source code for customization information.tC Read your own or other user's mail file.
User name is string argument;  null means your own.
Uses View File.fC Undo last major change, kill, or undo.
Point is left before the undone change and the mark is left after.
Insertion cannot be undone, nor deletion (as opposed to killing).
If you change the buffer by insertion or deletion before you undo,
you will get slightly wrong results, but probably still useful.
A nonzero arg means don't query, just do it.C Set the value of a named variable.
The name of the variable is a string argument.
If you supply a numeric argument, that is the new value.
Otherwise, a second string is the new value.
You may abbreviate the name of the variable
if you are sure it already exists.@C Put a function on a key.
The function name is a string argument.
The key is always read from the terminal (not a string argument).
It may contain metizers and other prefix characters.9C Print the current page and line number in the file.i^R Print various things about where cursor is.
Print the X position, the Y position,
the octal code for the following character,
point absolutely and as a percentage of the total file size,
and the virtual boundaries, if any.kC Print file directory.
Takes directory name as string arg.
Uses and sets the TECO default filenames.#C Delete things to make space.
Offers to delete the kill ring, buffers, etc.
Even if you answer "no" to all offers,
some internal wasted space is reclaimed..C Print amount of free address space left..^R Kills characters forward or back.
A nonzero precomma argument means hack tabs if going backwards.
A positive arg means go backwards.  This is the default FS RUBMAC.}^R Sets or pops the mark.
With no ^U's, pushes . as the mark.
With one ^U, pops the mark into .
With two ^U's, pops the mark and throws it away.

If the variable Push Point Notification exists, it is printed in
the echo area in the no ^U case.^R Move down vertically to next real line.
Continuation lines are skipped.  If given after the
last LF in the buffer, makes a new one at the end.M^R Move up vertically to next real line.
Continuation lines are skipped..^R Set (or flush) a permanent goal for vertical motion.
With no argument, makes the current column the goal for vertical
motion commands.  They will always try to go to that column.
With argument, clears out any previously set goal.  Only
^R Up Real Line and ^R Down Real Line are affected.t^R Move down a line, and past any indentation.
If no arg, and done on the last line, makes a new line to go to.6^R Move up a line, and past any indentation on it..^R Move to end of this line's indentation.6^R Insert CRLF, or move onto blank line.
A blank line is one containing only spaces and tabs
(which are killed if we move onto it).  Single blank lines
(followed by nonblank lines) are not eaten up this way.
In auto-fill mode, we may break the line before the last word.
A pre-comma arg inhibits this.V^R Kill from point to mark.
Use ^R Un-Kill and ^R Un-Kill Pop to get it back.x^R Stick region into kill-ring without killing it.
Like killing and getting back, but doesn't mark buffer modified..^R Make following kill commands append to last batch.
Thus, C-K C-K, cursor motion, this command, and C-K C-K,
generate one block of killed stuff, containing two lines.^R Kill all blank lines around this line's end.
If done on a non-blank line, kills all spaces and tabs
at the end of it, and all following blank lines
(Lines are blank if they contain only spaces and tabs).
If done on a blank line, deletes all preceding blank lines as well.s^R Kill to end of line, or kill an end of line.
At the end of a line (only blanks following) kill through the CRLF.
Otherwise, kill the rest of the line but not the CRLF.
With argument (positive or negative), kill specified number of lines.
An argument of zero means kill to beg of line, nothing if at beg.
Killed text is pushed onto the kill ring for retrieval.s^R Re-insert the last stuff killed.
Puts point after it and the mark before it.
An argument n says un-kill the n'th most recent
string of killed stuff (1 = most recent).  A null
argument (just C-U) means leave point before, mark after.^R Correct after ^R Un-kill to use an earlier kill.
Requires that the region contain the most recent killed stuff,
as it does immediately after using ^R Un-kill.
It is deleted and replaced with the previous killed stuff,
which is rotated to the front of the ring buffer in ..K.
With 0 as argument, just deletes the region with no replacement,
but the region must still match the last killed stuff.=^R Move rest of this line vertically down.
Inserts a CRLF, and then enough tabs/spaces so that
what had been the rest of the current line is indented as much as
it had been.  Point does not move, except to skip over indentation
that originally followed it. 
With argument, makes extra blank lines in between.-^R Go to beginning of buffer (leaving mark behind).
With arg from 0 to 10, goes that many tenths of the file
down from the beginning.  Just C-U as arg means go to end.|^R Go to end of buffer (leaving mark behind).
With arg from 0 to 10, goes up that many tenths of the file from the end.'^R Set mark at beginning of buffer.!^R Set mark at end of buffer.-^R Set point at beginning and mark at end of buffer.
Pushes the old point on the mark first, so two pops restore it.
With arg, puts point at end and mark at beginning.O^R Move to previous page delimiter.
See the description of ^R Mark Page.K^R Move to next page delimiter.
See the description of ^R Mark Page.^R Put point at top of page, mark at end.
A numeric arg specifies the page: 0 for current, 1 for next,
-1 for previous, larger numbers to move many pages.
Page Delimiter contains the string used to
separate pages (or several alternatives, separated by ^O)..^R Narrow buffer bounds to point and mark.l^R Narrow buffer bounds to display one page.
Numeric arg specifies which page:  0 means this one,
1 means the next one, -1 means the previous one.
No arg means next page, or current page if bounds are wide open.
Args larger than one move several pages.
Page Delimiter contains the string used to
separate pages (or several alternatives, separated by ^O).4^R Widen virtual bounds to display whole buffer.U^R Go back to EMACS's superior job.
With argument, saves visited file first.
Otherwise, does auto save if auto save mode is on.
Runs Exit Hook (if any) going out,
and Return from Superior Hook coming back.,^R Exchange positions of point and mark.M^R Sets Control-bit of following character.
This command followed by an = is equivalent to a Control-=.
A precomma argument means return the modified character;
otherwise,Mweaexecute itsldefinition.ter. 
Turns a following A into a Meta-A.
If the Metizer character is Altmode, it turns ^A
into Control-Meta-A.  Otherwise, it turns ^A into plain Meta-A.
A precomma argument means return the modified character;
otherwise, we execute its definition.
The value of the arg should be the metizer character itself
so we can tell whether it was an altmode.P^R Sets Control- and Meta-bits of following character.
Turns a following A (or C-A) into a Control-Meta-A.
A precomma argument means return the modified character;
otherwise, we execute its definition.E^R Sets argument or multiplies it by four.
Followed by digits, uses them to specify the
argument for the command after the digits.
If not followed by digits, multiplies the argument by four.i^R Digit or "-" starts numeric argument.
Place this function on the digits or Minus (with or without meta bits)
to make them start arguments.  If the digit or Minus has control or meta,
it always starts an argument.  Otherwise, it starts an argument
only if the terminator has control or meta or is Altmode;
other terminators insert the digits instead.(^R Reads a character and inserts it.+^R move down one or several screenfuls.)^R move up one or several screenfuls.)^R Move down to display next screenful of text.
With argument, moves window down <arg> lines (negative moves up).
Just minus as an argument moves up a full screen.^^R Move up to display previous screenful of text.
With arg, move window back <arg> lines.k^R Get contents of Q-reg (reads name from tty).
Usually leaves the pointer before, and the mark after, the text.
With argument, puts point after and mark before.
A precomma argument becomes the first character of the q-reg name.+^R Put point to mark into q-reg (reads name from tty).
With an argument, the text is also deleted.
A precomma argument becomes the first character of the q-reg name. ^R Append region to specified buffer.
The buffer's name is read from the tty;  it is created if nonexistent.
A numeric argument causes us to "prepend" instead.
We always insert the text at that buffer's pointer, but when
"prepending" we leave the pointer before the inserted text./^R Type number of lines from point to mark.H^R Count lines on this page (or whole buffer).
Print total lines on page, then (before+after) indicating how
the page is split by point.
With argument, we do the same thing to the whole buffer.%^R Choose new window putting point at center, top or bottom.
With no argument, chooses a window to put point at the center
(FS %CENTER says where).  An argument gives the line to put
point on;  negative args count from the bottom.
C-U as argument redisplays the line containing point.^R Jump to top or bottom of screen.
Like ^R New Window except that point is changed instead of the window.
With no argument, jumps to the center, according to FS %CENTER.
An argument specifies the number of lines from the top,
(negative args count from the bottom).^R Reposition screen window appropriately.
Tries to get all of current paragraph, defun, etc. on screen.
Never moves the pointer.k^R Kill a word and the following character.
If the word is followed by a CRLF, the CRLF is not killed."^R Put point after last label."^R Put point after next label.[^R Put point before the address field.
If there is none, put point where it should go._^R Put point before the accumulator field.
If there is none, put point where it should go.^R Move the value of point into a Q-register.
This is used with ^R Q-Reg into Point
for jumping back to a position remembered in a Q-register.n^R Jump to a position specified by q-register.
The old position is pushed on the ring buffer of the mark.d^R Replace string with another.  Reads args with minibuffer.
Calls the Replace String command. M^R Query Replace using the minibuffer.
Calls the Query Replace command. 3^R View the contents of a specified Q-register.2^R Display the Date and Time in the echo area.^R Invoke INFO.4^R Pretend that this buffer hasn't been altered._^R Jump to the definition of a tag.
This version loads the TAGS package and then calls it.T^R Begin defining a keyboard macro.
g(m.aKBDMAC~DOC~ ^R Start Kbd Macro)jkQS Subroutine used by transpose functions.
arg1 is a string which is "fw" for the appropriate chunk-type.  It will
always get an arg.  arg2 is the ^R-arg, see the documentation of ^R Transpose Characters.h^R Transpose the characters before and after the cursor.
For more details, see ^R Transpose Word, reading "character" for "word".
However: at the end of a line, with no argument, the preceding
two characters are transposed.v^R Transpose the words before and after the cursor.
With a positive argument it transposes the words before and
after the cursor, moves right, and repeats the specified number of
times, dragging the word to the left of the cursor right.  With a
negative argument, it transposes the two words to the left of
the cursor, moves between them, and repeats the specified number of
times, exactly undoing the positive argument form.  With a zero
argument, it transposes the words at point and mark.^R Transpose the S-expressions before and after the cursor.
For more details, see ^R Transpose Words, reading "Sexp" for "Word".^R Transpose the lines before and after the cursor.
For more details, see ^R Transpose Words, reading "Line" for "Word".^R Convert last digit to shifted character.
Looks on current line back from point, and previous line.
The first time you use this command, it asks you to type
the row of digits from 1 to 9 and then 0, holding down Shift,
to determine how your keyboard is set up.6C Abnormal exit from recursive editing command.
The recursive edit is exited and the command that invoked it is aborted.
For a normal exit, you should use ^R Exit, NOT this command.
The command can put a string in Abort Resumption Message
to tell the user how to resume the command after aborting it. ^R Transpose regions defined by cursor and last 3 marks.
To transpose two non-overlapping regions, set the mark successively at three
of the four boundaries, put point at the fourth, and call this function.
On return, the cursor and saved marks retain their original order, but are
adjusted to delineate the interchanged regions.  Thus two consecutive
calls to this function will leave the buffer unchanged.b^R Check and correct spelling of previous word.
g(m.aAUX~DOC~ & Correct Word Spelling)jk/^R Move forward past one list (or several).0^R Move backward past one list (or several).7^R Move forward past one S-expression (or several).8^R Move backward past one S-expression (or several).6^R Move down one level of list structure, forward.4^R Move up one level of list structure, forward.5^R Move up one level of list structure, backward."^R Move to end of this or next defun.
Leaves the mark behind, in case typed by accident.
With argument of 2, finds end of following defun.
With argument of -1, finds end of previous defun, etc.
A defun is a list whose ( falls in column 0.
Its end is after the CRLF following its ).]^R Move to beginning of this or previous defun.
Leaves the mark behind, in case typed by accident.
With a negative argument, moves forward to the beginning of a defun.
The beginning of a defun is any ( in column 0.6^R Put point and mark around this defun (or next).2^R Set mark 1 (or n) s-expressions from point.^R Kill next s-expression.^R Kill last s-expression.^R Kill next list.8S After a ) has been inserted, shows the matching (.^R Insert () putting point between them.
Also make a space before them if appropriate.
With argument, put the ) after the specified number
of already existing s-expressions.  Thus, with argument 1,
puts extra parens around the following s-expression.^R Move over a ), updating indentation.
Any indentation before the ) is deleted.
LISP-style indentation is inserted after the ).!^R Move forward over one word"^R Move backward over one word*^R Set mark 1 (or n) words from point.^R Kill next word.^R Kill last word.^R Convert one word to upper case, moving past it.
With arg, applies to that many words backward or forward.
If backward, the cursor does not move.^R Convert one word to lower case, moving past it.
With arg, applies to that many words backward or forward.
If backward, the cursor does not move.^R Put next word in lower case, but capitalize initial.
With arg, applies to that many words backward or forward.
If backward, the cursor does not move.+^R Convert point to mark to upper case.+^R Convert point to mark to lower case.r^R Move to end of this sentence.
A sentence is ended by a ., ? or ! followed by
two spaces or a CRLF (with optional space), with
any number of "closing characters" ", ', ) and ] between.
A sentence also ends at the end of a paragraph.w^R Move to beginning of sentence.
A sentence is ended by a ., ? or ! followed by
two spaces or a CRLF (with optional space), with
any number of "closing characters" ", ', ) and ] between.
A sentence also starts at the start of a paragraph.#^R Put point at beginning and mark at end of sentence.
If you are between sentences, the following sentence is used
unless you are at the end of a paragraph.Q^R Kill forward to end of sentence.
Accepts numeric argument of either sign.U^R Kills back to beginning of sentence.
Accepts numeric argument of either sign.W^R Move forward to end of paragraph.
See documentation on ^R Backward Paragraph.@^R Move backward to start of paragraph.
Paragraphs are delimited by blank lines or by lines which
start with a delimiter in Paragraph Delimiter or in Page Delimiter.
If there is a fill prefix, any line that doesn't start with it
starts a paragraph.
Lines which start with ".", "\", "-", "@" or "'", if that
first character is matched by Paragraph Delimiter, count as
blank lines in that they separate paragraphs and are not part of them..^R Put point and mark around this paragraph.
In between paragraphs, puts it around the next one.  See documentation
on ^R Backward Paragraph for paragraph definition.s^R Kills text up to a target character.
Does not find immediate next char.  Does not kill target char.
Argument means kill up (or back for neg arg) to nth char.
Quote key () works for kill to , help key, or , and it 
preserves case./^R Calls ^R Zap to Character with neg. arg./^R Delete all spaces and tabs around point.f^R Delete whitespace, then insert ARG spaces.
Uses the current definition of the space character.j^R Puts the previous word in a different font (R).
The font to change to is specified with a numeric argument.
No arg means move last font change forward past next word.
A negative arg means move last font change back one word.L^R Puts the region in a different font (R).
The font to change to is specified with a numeric argument.
Inserts ^F<n> before and ^F* after.
A negative arg removes font changes in or next to region.V^R Puts underlines around the previous word (R).
If there is an underline begin or end near that word,
it is moved forward one word.
An argument specifies the number of words, and the direction:
positive means forward.
Underline Begin and Underline End may be set to the strings
or characters to be used to begin and end underlines.b^R Puts underlines a la R around the region.
A negative argument removes underlines in or next to region.
Underline Begin and Underline End may be set to the strings
or characters to be used to begin and end underlines.GS Indent to specified column.
The argument should be the desired column.
Uses tabs and spaces;  deletes all tabs and spaces around
point before indenting.  Returns the range of buffer changed.CS Indent to specified column.
The argument should be the desired column.
Uses spaces only;  deletes all tabs and spaces around
point before indenting.  Returns the range of buffer changed.kS Fast indent subroutine.
Args are current column and column to indent to.
Uses both tabs and spaces.OS Fast indent subroutine.
Args are current column and column to indent to.^R Move to or create comment.
Moves to start of existing comment or creates new one,
and indents it to start in Comment Column.
An existing double semicolon comment
is aligned like a line of code.  
An existing triple semicolon comment is not moved.
An existing comment starting in column 0 is not moved.
With argument <n>, aligns the existing comments in the
next <n> lines, but does not create comments.
Comment Begin holds the string inserted to start a comment.
Comment Start holds the string recognized as starting an old one.
Comment End holds the string inserted to end a comment.
Comment Rounding holds the macro used when the code goes
past the comment column, to compute a new (larger) comment column
from the width of the code (default is "+1").=^R Indent for comment, set comment col from last comment.C^R Set comment column to num arg or current hpos.
Just C-U as argument sets comment column from position of previous comment
and then makes or moves a comment to that position on this line.t^R Move to start of next line's comment.
Equivalent to ^R Down Real Line followed by ^R Indent For Comment.v^R Move to start of previous line's comment.
Equivalent to ^R Up Real Line followed by ^R Indent For Comment.^R Indent this line for a Lisp-like language.
With arg, moves over and indents that many lines.
The variable Lisp Indent Language (default "Lisp") controls the dialect.
Handlers may be defined per-dialect to make this function win for other
Lisp-like languages.  With a pre-comma arg, return indentation level instead
of changing anything and don't treat ;;; comments specially.,& Internal hook to help Lisp indentation2& Hook indents PROGS with tags right justified1& Hook indents PROGs with tags left justifieda^R Lisp Indent each line contained in the next s-expr.
A numeric argument temporarily sets LISP Indent Offset.
A pre-comma argument means indent this line and all
remaining lines up to Z (used by <n>Tab as subroutine).d^R Indent Relative to the previous line.
With non-null argument, calls ^R Tab to Tab Stop.  Otherwise,
Add spaces or tabs until underneath an indentation point
in the previous non-null line.  Successive calls find successive
indentation points.  An indentation point is the end
of a sequence of spaces and tabs.  The end of the line counts;
after that, we cycle back to the first suitable indentation.
If there is no suitable indentation point, ^R Tab to Tab Stop
is done.{^R Indent line for specified nesting level.
With no argument (or argument 1) indents the line at the same nesting
level as the last nonblank line (ie, directly under it).
A negative argument means indent that many extra levels
(Indent Increment, or 1, is the size of a level).
An argument > 1 means that this line is that many levels
closer to the surface, and should indent under the last line
above it whose level is the same.  The previous lines are scanned
under the assumption that any line less indented than its successors
is one level higher than they.
However, unindented lines and comment lines are ignored.
If the cursor is not at the beginning of a line, the whole line
is indented, but the cursor stays fixed with respect to the text.-^R Tab to align under STRING (read from tty).
Searches back, line by line, forward in each line, for a string
that matches the one read and that is more to the right than the
caller's cursor already is.  Indents to align with string found,
removing any previous indentation around point first.M^R Indent all lines between point and mark.
With argument, indents each line to exactly that column.
Otherwise, does Tab on each line.
A line is processed if its first character is in the region.
The mark is left after the last line processed.
May be given a subroutine to use on each line instead of
indenting by making the subroutine a prefix arg before a
comma.  The subroutine should not move down a line.  It can
expect MM & Indent to be in QK.^R Shift text in region sideways as a unit.
All the lines in the region (first character between point and mark)
have their indentation incremented by the numeric argument
of this command (which may be negative).
Exception: lines containing just spaces and tabs become empty.k^R Kill all comments on lines in region.
A line is "included" if its first character is in the region.g^R Insert filling till next tab stop.
Filling may be whitespace, or an arbitrary pattern of characters,
as controlled by the tab stop definitions.  See Edit Tab Stops,
which is used to define the tab stops for this function.C Edit the tab stops used by ^R Tab to Tab Stop.
The bottom two lines just number the columns for your benefit.
The first two lines, stored in Tab Stop Definitions, are meaningful.
Periods or colons in the first line mark the tab stop columns.
A colon means tab out with whitespace;  a period means tab out by
copying text from the second line (you must put the text there).U^R Indents suitably for the major mode.
In Fundamental mode, just inserts a Tab.	^R Inserts CRLF, then indents the second line.
Any spaces before the inserted CRLF are deleted.
Uses the definitions of CR and Tab to do the work,
except that if there is a Fill Prefix it is used to indent.
An argument is passed on to the definition of Tab.W^R Inserts CRLF, then starts new comment.
The indentation and the number of comment-start characters
are copied from the previous line's comment.
If done when not in a comment, acts like ^R Indent New Line.^R Kills the comment (if any) on the current line.
With argument, applies to specified number of lines, and moves past them.$^R Kill CRLF and indentation at front of line.
Leaves one space in place of them.  With argument,
moves down one line first (killing CRLF after current line).^R Center this line's text within the line.
With argument, centers that many lines and moves past.
The width is Fill Column.m^R Adjust the current line to the right margin.
Argument means adjust from point to the end of the line..^R Fill (or adjust) this (or next) paragraph.
Point stays the same (but text may move past it due to filling).
A positive numeric argument says adjust rather than fill.|^R Fill text from point to mark.
Fill Column specifies the desired text width.
Fill Prefix if nonzero is a string that goes
at the front of each line and is not included in the filling.
See ^R Set Fill Column and ^R Set Fill Prefix.
An explicit positive argument causes adjusting instead of filling.
Fill Extra Space List lists the punctuations which get two spaces.^R Insert space, but CRLF at margin.
Fill Column controls where the margin is considered to be.
Space Indent Flag, if 0, inhibits indenting new lines.
With arg of 0, inserts no space, but may break line.
With arg > 1, inserts several spaces and doesn't break line.^R Set fill column to numeric arg or current column.
If there is an argument, that is used.
Otherwise, the current position of the cursor is used.
The Fill Column variable controls where Auto Fill mode
and ^R Fill Paragraph put the right margin.G^R Calls Grind Sexp or MACSYMA Grind depending on the current MODE.KC Grind the sexp after the pointer.
g(m.aGRIND~DOC~ Grind Sexp)jkKC Format (indent) MACYSMA code. 
g(m.aGRIND~DOC~ MACSYMA Grind)jkw^R Defines Fill Prefix from current line.
All of the current line up to point becomes the value
of Fill Prefix.  Auto Fill Mode and Linefeed insert the
prefix on each line;  ^R Fill Region assumes that each
non-blank line starts with the prefix (which is ignored
for filling purposes).
To stop using a Fill Prefix, do ^R Set Fill Prefix
at the front of a line.i^R Search for a single character.
Special Characters:
   ^A	Call ^R String Search; use M-X Describe to see what that does.
   ^F	Position window so search object is near top
   ^Q	Quote following character
   ^R	Reverse search direction and read another char
   ^S	Search for default
        Also done if character the macro was called by is typed again,
	overides any other function of that character shown here.
   ^T	Search for Teco default
If ^S is not used, the character typed becomes the default
for future searches.  The previous default is saved on a "ring",
unless it was only one character.V^R Search backwards for a single character.
g(m.m~DOC~ ^R Character Search)jk#^R Search for a character string.
Reads string in echo area.  Special characters:
   ^B	Start search from beginning of buffer.
   ^D	Yank in a default off of search default ring,
	popping it.  Flushes any previous type-in.
   ^E   Start from end of buffer.
   ^F	Position window so search object is near top
   ^L	Redisplay.
   ^Q	Quote next character.
   ^R	Reverse direction.
   ^S	Search then return to read in loop.
   ^T	Yank in the Teco default.
   ^U	Flush string so far.
   ^V   Find string only if surrounded by delimiters.
   ^W	Word search (ignore any white space between words)
   ^Y	^D with no pop and no flush.
   	Search then exit to ^R mode, whether succeed or fail
 Rubout	Delete last character of search string.

If you search for the null string, the default is used.
Otherwise, the new string becomes the default and the old
default is saved on a ring, unless it is only one character.S^R Search backwards for a character string.
g(m.m~DOC~ ^R String Search)jk'S Subroutine for Word Search (still experimental)
You can search for a sequence of words, separated by any delimiters.
Case is ignored.  You specify any substring of the first word,
and prefixes of the rest of the words.  Supposed to feel like
the completing reader.

First numeric arg, search count and direction.
Second numeric arg, string to search for (which is in a buffer).
Returns non-zero if successful.]S Invoke recursive editing using a small window.
See the source for calling information._^R Read and run TECO commands.
Uses the minibuffer to read them.  Pushes the command string
onto a ring buffer in Q.N.  An explicit argument initializes
the minibuffer with the command from the top of that ring buffer.
Once inside the minibuffer, ^R Prefix Control-Meta C-Y pops to previous saved
minibuffer commands, going around the ring.z^R Re-execute the last minibuffered commands.
With a numeric argument N, re-executes the N'th most recent minibuffer.a^R Gets back earlier command, in minibuffer.
Repeated use goes through all the remembered minibuffer commands
and eventually returns to the most recent one.  An argument serves as
a repeat count, which can be negative.NS Convenient interface to minibuffer.
See source for calling conventions.D^R Visit new file in selected buffer.
Nonzero numeric argument means file is read-only.
Nonzero precomma argument means always at least offer to save old file.
File name is string argument.IC Visit new file in selected buffer.
File name is string argument.
Nonzero numeric argument makes file read-only;
negative makes buffer read-only too.
Nonzero precomma argument means always at least offer to save old file.
We execute Visit File Hook if it is nonzero.
All visiting of files is by means of this function.*S Set mode and local vars from file.
Select the mode specified at the front of the loaded file,
and if it's last page specifies local variable values,
set them up.C Visit a file in its own buffer.
If the file is already in some buffer, select that buffer.
Otherwise, visit the file in a buffer named after the file.(C Turn Auto Save on or off.
Zero or negative argument => Auto Save mode is turned off.
Positive argument => it is turned on.  No arg => toggle mode on or off.
We save under the filenames you visited, if possible,
when Auto Save Visited File is nonzero.  Otherwise, we save
under the filenames in Auto Save Filename.
When you visit a file, Auto Save is turned on or off according to
the value of Auto Save Default.2S Turn on Auto Saving, initializing variables.vC Undo changes to a file.
Reads back the file being edited from disk
(or the most recent auto save file, if that isn't the same thing).
A numeric argument means ignore the Auto Save files.
A nonzero pre-comma argument waives confirmation.?S Auto save all buffers.
We don't need to select a buffer unless we save it.
Argument is nonzero if have already auto-saved anything.
Nonzero precomma arg means ignore selected buffer.P^R Save visited file on disk if modified.
An argument means do an auto-save type save.
"1," as argument indicates that this call was not explicitly
requested, and the user should be asked to confirm if
the file has become a lot smaller.  "2," means an Auto Save,
which should abort rather than query if anything might be wrong./C Write region to file.
Specify filenames with a suffix string argument.
Two numeric arguments may be used to specify the region,
which otherwise is from point to mark.,C Store buffer in specified file.
This file becomes the one being visited.
Specify filename as string argument.
Precomma arguments have hairy meanings; see the code.1C Change visited filename, without writing file.
What EMACS believes to be the name of the visited file
is set from a string argument.  No file's name is actually changed.Z^R Make file read-only, or not.
The argument or lack of one is interpreted just as by Visit File:
no argument makes file writable, positive arg makes file read-only,
negative arg makes file and buffer read-only.kC Delete a file.  Filename is argument.
Invoke with ^R Instant Extended Command to see the defaults.pC Copy a file.
Arguments are old filename and new filename.
The defaults are left set to the old filename.rC Rename a file.
Arguments are old filename and new filename.
The defaults are left set to the old filename.5C Insert contents of file into existing text.
File name is string argument.  Example:  M-X Insert FileFOO BAR.
The pointer is left at the beginning, and the mark at the end.jC Append region to end of specified file.
The range to write can also be specified with numeric args.lC Append region to start of specified file.
The range to write can also be specified with numeric args.J^R Display current buffer's file's directory.
Uses whatever directory display macro the user has
selected (value of Directory Lister).  With non-zero argument,
reads directory name from terminal.H^R Run Dired for the directory of the current visited file.
With no argument, edits that directory.
With an argument of 1, shows only the versions of the file in the buffer.
With an argument of 4, asks for input, which may contain device colon,
directory semicolon, and a file name, only versions of that file are shown._C Make definition for a ^R command prefix.
For usage conventions, look at the source code.	S Given an object, returns its full name.
The object should be given as a prefix arg, and
the name is returned as a string pointer.#S Print pretty descrpition of 9-bit character.
Example:  415.MMCharprint prints "Meta-CR".
The 1 bit in the precomma arg means print in the echo area.
The 2 bit means say "^M" instead of "CR", etc, and
^B instead of an alpha on TV's.
The 4 bit means use "C-" instead of "Control-".YS Read name of qreg from terminal, return as string.
 refers to most recent mini-buffer string.
 is followed by a variable name.
( is followed by an expression to evaluate.
 followed by command refers to its definition.
Prefix argument serves as first character of input.
If non-zero pre-comma argument, undefined symbols return it.>S Standard MM: runs function with given name (string arg).sS Standard M.M: returns function for given name (string arg).
The second argument, if nonzero, is the file to load from.
The first argument, if nonzero, means return 0 for an
undefined or ambiguous name, instead of causing a TECO error.TS Standard M.I: prepares for an FI,
by prompting and/or finishing redisplay.
A post-comma argument is used for prompting instead
of the most recent character typed in.
The pre-comma argument is bit-decoded;
   1 => Check for metizer characters.  Echo meta bits.
   2 => Don't prompt or echo.
   4 => Echo meta bits on non-digits.6S Standard M.P: handles a prefix character.
Given a q-vector as argument, it reads a character
and returns the q-vector element it selects.
The character read is left in Q..1.HS Standard Q..P: handles TECO errors.
See the source for more info.%C View the functions which are active on the stack.
Displays one invoked function, copied into a buffer,
with point at the PC.  Then reads a command character:
 Linefeed or D goes down the stack (to earlier invocations),
 ^ or U goes up to more recent invocations,
 ^R calls ^R on what you see,  ^L clears the screen,
 B calls ^R on the buffer that was being edited,
 V displays a q-register's contents,
  runs a minibuffer, X starts an extended command, Q exits.
 C continues erring function.  Period lets you move PC, then continues.S Enter a loop entering ^R mode within a catch.  Default ..L.
The function MM Top Level will then effectively return to this ^R.&C Return to the top level EMACS command loop or to TECO.
With no arg, returns to the top level EMACS command loop.
With an arg, returns to TECO's command level.KS Standard FS ^R ENTER.
This is hairy; look at the code and comments.>S Implements Auto Push Point Option.
Functions which move the pointer by an unpredictable amount call
this subroutine, with the old pointer as an argument.  If
Auto Push Point Option is non-zero, and less than the distance
moved, the old pointer is pushed onto the mark pdl and "^@"
is typed in the echo area.7S Implements Auto Directory Display option.
Functions which do file operations call this function.  If the
Auto Directory Display is nonzero, it does a directory display.
Read operations (not changing directory) should give an argument of 1.
Write operations should give an argument of 0 or no argument.8S Lists subset of current directory, selected by FN1oS Lists current directory rotated.
The files with FN1 matching the current default are rotated to the top.rS For typeout commands, see if should stop typing.
Do M(M.M &_Maybe_Flush) ^\ to return if typeout flushed.	S Save the region for undo, and maybe query.
Given a string pointer as arg, we ask "Do you really want to <string>
such a large region?" if the region is bigger than Region Query Size.
We return 0 if the user says No, or -1, having saved the region, for Yes.aS Save part of buffer for Undo.
Takes args like K; also a string arg for the operation name.zS Subroutine for killing text.
Give arguments as for TECO K command, to kill text and save
on the kill ring.  Also, Q9 must be >= 0 for deleting forwards
and < 0 for deleting backwards.
If the previous ^R command also killed (FS ^R PREV = 1001),
the kill ring is appended- (if deleting forward) or
prepended- (if deleting backwards) to instead of pushed.
The only significance of the "direction of deleting"
is to choose between appending or prepending.
We return two values to pass on to ^R.)S Standard ..F:  Auto-save for use in ^R mode editing.
If Auto Save Mode is  non-zero, the buffer is saved
(as by ^R Save File) after every FS ^R MDLY characters.-S Save file after 5 minutes of idle time.S Error if not OK to switch buffers, files, etc.
Switching is OK if Q..F equals Q.F.
Follow by what it is you want to hack, such as "files".oS Set the ..J Mode to display options.
When setting the major mode, call this with a nonzero argument
and the major mode name as a string argument.  It will change the mode
and run the <modename> Mode Hook variable, if there is one.S Read in a yes or no answer.
Returns -1 for yes, 0 for no.
Types " (Y or N)? " first.  Echoes the answer and then a CRLF.
An arg of 1 means use the echo area.  -1 means don't echo.
An arg of 1, means any character other than Y or N should be
returned as itself.rS Read a filename from the tty.
Return it as a TECO string object.
Numeric args are ignored, but supply one for Twenex compatibility.
The prompt should be supplied as a string argument;
it should not contain a trailing colon or space.S The command normally called by F^K.
We call & Read Line;  if that returns 0, we make our caller exit.
Otherwise, we pass along the value.(S Read in and return a line of text with simple editing.
Takes a prompt-string as a string argument, and types it
when necessary.  A numeric argument is the initial
contents of the string to be accumulated.
The prompt string and initial contents are assumed to be
on the screen already, unless an argument of "1," is given,
in which case they are typed out at the beginning.
An arg of "2," means treat "?" like the Help character
(run FS HELP MAC).  "3," combines "1," and "2,".
"4,", the bit, means call & Read Filename, passing args to it.
"8,", the bit, means call & Read Command Name, passing args to it.
An attempt to rub out when the line is empty returns 0.4S FS Help Mac while inside & Read Line and M.I.S Create a dispatch string for ..D, F^A, etc.
First string arg is the default syntax for most characters.
Following string args contain a character and the syntax for it.
A null argument ends the call.  Example:
MM & Make DispatchAA:  ,   makes each entry "AA   "
except those for Colon and Comma, which are made "     ".
The resulting dispatch string is returned as a value.`S Alters specified entries in ..D delimiter dispatch.
Followed by string arg made up of pairs of characters.
The first of a pair is the character to change;  the second
is the syntax for it.  The numeric arg should be 0
for modifying the word syntax, 1 for modifying the LISP syntax.
Example:  1M(M.M & Alter ..D)<(>) makes <,> act like (,).5S A Default FS SUPERIOR function to allow autoloading
of various libraries, independent of where the editor is started or
what its JNAME is (primarily for LISPT, LEDIT, etc).SS Load a library temporarily and return ptr to function.
Do <args>M(M.A<library><function name>)<args to function>.
This leaves several things pushed on the q-register pdl,
so be sure to do a ^\ later.S Verify that a certain command can be redefined.
Do not allow a command to be redefined unless it is undefined,
self-inserting, or a string starting with !Temp!.
The command is specified with a q-register name in a string
passed as a string pointer.'S Creates a variable (standard M.V).
After M.VFoo, you can use qFoo.
A numeric arg sets the variable;  
otherwise, it is set to 0 if it didn't already exist.S Puts a comment on a variable (standard M.C).
Format:  M.CFOOThis variable is a test.
The comment string goes in the third word
of the three words in ..Q used by each variable.
A numeric argument, if any, is used to initialize the variable
if it didn't already exist.S Returns the number of lines in part of the buffer.
<m>,<n> M(M.M& Count Lines) returns the number of lines
between character <m> and character <n>.,S Prepare for exiting EMACS.
An argument means save the visited file.
We always do an auto save and run the user's Exit Hook;
also clear the mode line and home down.oS Return the address of the last char on the screen.
Chooses a window position if there isn't one already..S Process EVARS file; auto-loads from AUX.r^R Search for character string as you type it.
C-Q quotes special characters.  Rubout cancels last character.
C-S repeats the search, forward, and C-R repeats it backward.
C-R or C-S with search string empty changes the direction of search
or brings back search string from previous search.
QSearch Exit Charm(m.m& Charprint) exits the search; with search string empty
it switches to non-incremental ^R String Search.
Other Control and Meta chars exit the search and then are executed.
If not all the input string can be found, the rest is not discarded.
You can rub it out, discard it all with C-G, exit,
or use C-R or C-S to search the other way.
Quitting a successful search aborts the search and moves point back;
quitting a failing search just discards whatever input wasn't found.
On printing terminals, C-L types line found but doesn't exit the search.R^R Incremental Search Backwards.
Like ^R Incremental Search but in reverse.8S Rubout-handling subroutine for incremental search./S FS Help Mac calls this, inside I-search.^R Switch to the other window.
In two-window mode, moves cursor to other window.
In one-window mode, exchanges contents of visible window
with remembered contents of (invisible) window two.
An argument means switch windows but select the same
buffer in the other window.*^R Show two windows but stay in first.,^R Show two windows and select window two.
An argument > 1 means give window 2 the same buffer as in Window 1.
A pre-comma argument means keep the cursor in window 1.^R Display only one window.
Normally, we display what used to be in the top window,
but a numeric argument says to display what was in the bottom one.6S Redisplay the screen when there are two windows.m^R Make this window (or minibuffer) use more lines.
Argument is number of extra lines (can be negative).S^R Scroll other window up several lines.
Specify the number as a numeric argument, negative for down.
The default is a whole screenful up.  Just Meta-Minus as argument
means scroll a whole screenful down.x^R Find buffer, tag or file in other window.
Follow this command by B or C-B and a buffer name,
F or C-F and a file name, or T or . and a tag name.
We find the buffer, tag or file in the other window,
creating the other window if necessary.[C Select or create buffer with specified name.
Can accept the buffer name as a string arg, or the buffer number
as a numeric arg, or a string pointer as arg (when used as a subroutine).
If there is a buffer with that name, it is selected.
Otherwise, a buffer with that name is created and selected.
When a new buffer is selected the first time, if Buffer Creation Hook
is nonzero, it is run after the buffer is selected.
A precomma arg is the prompt string to use.8S Selects buffer with index given in post-comma arg.S Make a new buffer at end of buffer table.
The buffer's name should be specified as a string pointer.
The new buffer's index is returned.:C List numbers, names, files and modes of all buffers.~C List a specific buffer's local variables' names.
Takes name of buffer as a string argument.
Default is current buffer.ZS Find buffer index from buffer name or number.
Takes name as string, or number, as a prefix argument.  Given a
commaed argument ("1,"), if the buffer name is not found
-1 is returned;  otherwise it is an error.LS Find buffer name from visited file name.
Takes filename, as string, as a prefix argument.
Returns the buffer name as a string object.
If there is no buffer visiting the specified file, returns 0.C Kill the buffer with specified name.
Takes name as a string (suffix) argument, or reads it from terminal.
Alternatively, the name (as string pointer) or the buffer
number may be given as a prefix argument.
If the buffer has changes in it, we offer to write it out.8S Takes buffer name or index as numeric arg & kills.5C Make a variable local to the current buffer.
Example:  M.LFoo Variable (since this function lives in .L).
The variable name must be given in full, not abbreviated.
Its local value starts off the same as its global value.
However, a numeric argument to this function sets the local value.
"1," as arg means assume that the local doesn't exist yet.
"2," means make a permanent local that won't go away when major mode changes.qC Make a q-register local to the current buffer.
String argument should be name of q-register, as in "A" or ".^RA".
It can also be "FS" followed by the name of a TECO FS flag.
"1," as arg means assume that the local doesn't exist yet.VC Kill one of the current buffer's local variables.
The global value is restored.C Kill one of the current buffer's local q-registers.
The global value is restored.  See Make Local Q-register for more info.#S When about to switch modes, flush locals of old mode.
We delete from the buffer's list of local variables
all locals except those put on initially when the buffer was made.
Also, unless we have a nonzero argument, we leave .Q bound locally
when we exit to MM Make Local Q-register.SC Offer to write back each buffer which may need it.
For each buffer which is visiting a file and which
has been written, you are asked whether to save it.
A numeric arg means don't ask;  save everything. C Offer to kill each buffer, one by one.
If the buffer contains a modified file and you say to kill it,
you are asked whether to write the file out first.uC Change the name of the current buffer.
New name is suffix string arg;  null arg means use FN1 of visited file.dC Insert contents of another buffer into existing text.
Specify buffer name as string argument.;S Inserts buffer passed in numeric.  Can be string ptr.>^R Read an extended command from the terminal with completion.
This command reads the name of a function, with completion,
followed by the string arguments for the function.  Then the
function is called.  Completion is done as the function name is typed
(for more information type the HELP key while entering the name).
Follow the function name with a  and then the arguments; end with <cr>.
For customization info see the source code.2^R Run extended command; let it read its own arguments.
This command is the same as ^R Extended Command except that
it does not read any string arguments; the function itself does so.
This allows special processing such as completion to be done
on arguments which are function names or filenames.S Read in an command name, with completion.
Rubout, ^D, ^U and ^L perform editing.  Space and Altmode do completion.
? lists choices.

Takes a prompt-string as a following string argument.
A numeric argument is the initial contents of the string to be accumulated.
A pre-comma arg containing the "4" bit means don't wait for a confirming CR;
the "2" bit means complete over the symbol table in CRL List using the prefix
string in CRL Prefix.  The "8" bit is deliberately ignored.
The "16" bit permits names that don't match.
The "32" bit means CR is allowed with an empty name.

The F^K command with the "8" bit set in its precomma arg
calls & Read Command Name, passing along its arguments.

Two values are returned, the second being the completed string
(or 0 if exit was due to over-rubout).
The first is bit-decoded; 1 means we displayed the string,
2 means the terminating character was Return, 4 means we terminated
without doing completion so the string might not match any alternative.

See Source code for more info.?Q List of strings containing all built-in variables' names.e1& List Some Functions
& List One File
Apropos
Where Is
Info
& Get Library Pointer
List Loaded Libraries
List Variables
Describe
& Prefix Describe
& Bit Prefix Describe
^R Describe
& ^R Briefly Describe
^R Documentation
List Redefinitions
Tecdoc
^R What Lossage
& Load BARE
LISP Mode
PALX Mode
MIDAS Mode
TECO Mode
TEX Mode
Scribe Mode
Text Mode
Edit Tabular Text
Edit Indented Text
Fundamental Mode
Macsyma Mode
MUDDLE Mode
PL1 Mode
Debug Mode
Auto Fill Mode
Atom Word Mode
Overwrite Mode
Indent Tabs Mode
SAIL Character Mode
Word Abbrev Mode
Read Word Abbrev File
Replace String
& Case Replace
Query Replace
Keep Lines
Delete Non-Matching Lines
Flush Lines
Delete Matching Lines
Occur
List Matching Lines
How Many
Count Occurrences
Tabify
Correct Spelling
Command to Spell
Untabify
Load Library
Run Library
Kill Libraries
List Library
Compare Windows
DIRED
Edit Directory
Reap File
Clean Directory
Compare Directories
Kill Variable
Edit Options
List Files
List Directories
RMAIL
Read Mail
Send Mail
Edit Syntax Table
View Variable
View Q-Register
View Buffer
& View Buffer
View File
Insert Date
Visit Tag Table
Dissociated Press
Compile
View Mail
Undo
Set Variable
Set Key
What Page
What Cursor Position
View Directory
Make Space
What Available Space
^R Backwards Kill Characters
^R Set/Pop Mark
^R Down Real Line
^R Up Real Line
^R Set Goal Column
^R Down Indented Line
^R Up Indented Line
^R Back to Indentation
^R CRLF
^R Kill Region
^R Copy Region
^R Append Next Kill
^R Delete Blank Lines
^R Kill Line
^R Un-kill
^R Un-kill Pop
^R Split Line
^R Goto Beginning
^R Goto End
^R Mark Beginning
^R Mark End
^R Mark Whole Buffer
^R Previous Page
^R Next Page
^R Mark Page
^R Narrow Bounds to Region
^R Narrow Bounds to Page
^R Set Bounds Full
^R Widen Bounds
^R Return to Superior
^R Exchange Point and Mark
^R Prefix Control
^R Prefix Meta
^R Prefix Control-Meta
^R Universal Argument
^R Autoargument
^R Quoted Insert
^R Next Several Screens
^R Previous Several Screens
^R Next Screen
^R Previous Screen
^R Get Q-reg
^R Put Q-reg
^R Append to Buffer
^R Count Lines Region
^R Count Lines Page
^R New Window
^R Move to Screen Edge
^R Reposition Window
^R Kill Terminated Word
^R Go to Previous Label
^R Go to Next Label
^R Go to Address Field
^R Go to AC Field
^R Point into Q-reg
^R Q-reg into Point
^R Replace String
^R Query Replace
^R View Q-reg
^R Display Date and Time
^R Info
^R Buffer Not Modified
^R Find Tag
^R Start Kbd Macro
& Transpose Subr
^R Transpose Characters
^R Transpose Words
^R Transpose Sexps
^R Transpose Lines
^R Upcase Digit
Abort Recursive Edit
^R Transpose Regions
^R Correct Word Spelling
^R Forward List
^R Backward List
^R Forward Sexp
^R Backward Sexp
^R Down List
^R Forward Up List
^R Backward Up List
^R End of Defun
^R Beginning of Defun
^R Mark Defun
^R Mark Sexp
^R Kill Sexp
^R Backward Kill Sexp
^R Kill List
& Matching Paren
^R Make ()
^R Move Over )
^R Forward Word
^R Backward Word
^R Mark Word
^R Kill Word
^R Backward Kill Word
^R Uppercase Word
^R Lowercase Word
^R Uppercase Initial
^R Uppercase Region
^R Lowercase Region
^R Forward Sentence
^R Backward Sentence
^R Mark Sentence
^R Kill Sentence
^R Backward Kill Sentence
^R Forward Paragraph
^R Backward Paragraph
^R Mark Paragraph
^R Zap to Character
^R Reverse Zap to Character
^R Delete Horizontal Space
^R Just One Space
^R Change Font Word
^R Change Font Region
^R Underline Word
^R Underline Region
& Indent with Tabs
& Indent without Tabs
& Xindent with Tabs
& Xindent without Tabs
^R Indent for Comment
^R Indent Comment Relative
^R Set Comment Column
^R Down Comment Line
^R Up Comment Line
^R Indent for LISP
& Standard Lisp Indentation Hook
& Standard Lisp PROG Hook
& Alternate Lisp PROG Hook
^R Indent SEXP
^R Indent Relative
^R Indent Nested
^R Indent Under
^R Indent Region
^R Indent Rigidly
^R Uncomment Region
^R Tab to Tab Stop
Edit Tab Stops
^R Indent According to Mode
^R Indent New Line
^R Indent New Comment Line
^R Kill Comment
^R Delete Indentation
^R Center Line
^R Right Adjust Line
^R Fill Paragraph
^R Fill Region
^R Auto-Fill Space
^R Set Fill Column
^R Format Code
Grind Sexp
Grind MACSYMA Code
^R Set Fill Prefix
^R Character Search
^R Reverse Character Search
^R String Search
^R Reverse String Search
& Word Search
& Minibuffer
^R Execute Minibuffer
^R Re-execute Minibuffer
^R Pop Minibuffer Ring
& Mini Initialized
^R Visit File
Visit File
& Process File Options
Find File
Auto Save Mode
& Auto Save Setup
Revert File
& Auto Save All Buffers
^R Save File
Write Region
Write File
Set Visited Filename
^R Set File Read-Only
Delete File
Kill File
Copy File
Rename File
Insert File
Append to File
Prepend to File
^R Directory Display
^R Dired
Make Prefix Character
& Macro Name
& Charprint
& Read Q-reg Name
& Macro Execute
& Macro Get
& Prepare for Input
& Prefix Character Driver
& Error Handler
Backtrace
& Toplevel ^R
Top Level
& Recursive ^R Set Mode
& Maybe Push Point
& Maybe Display Directory
& Subset Directory Listing
& Rotated Directory Listing
& Maybe Flush Output
& Save Region and Query
& Save for Undo
& Kill Text
& Secretary Macro
& Real-time Interrupt
& Check Top Level
& Set Mode Line
& Yes or No
& Read Filename
& F^K Hook
& Read Line
& Read Line Help
& Make Dispatch String
& Alter ..D
& Default FS Superior
& Autoload
& Check Redefinition
& Make Variable
& Set Variable Comment
& Count Lines
& Exit EMACS
& End of Screen Address
& Process Init Vars
^R Incremental Search
^R Reverse Search
& Isearch Rubout
& Isearch Help
^R Other Window
^R View Two Windows
^R Two Windows
^R One Window
& Multi-window Refresh
^R Grow Window
^R Scroll Other Window
^R Visit in Other Window
Select Buffer
& Select Buffer
& Create Buffer
List Buffers
List Locals
& Find Buffer
& Find File
Kill Buffer
& Kill Buffer
Make Local Variable
Make Local Q-register
Kill Local Variable
Kill Local Q-register
& Init Buffer Locals
Save All Files
Kill Some Buffers
Rename Buffer
Insert Buffer
& Insert Buffer
^R Extended Command
^R Instant Extended Command
& Read Command Name
&& Variable Name List
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2