Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/purify.elib
There are no other files named purify.elib in the archive.
xW
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
   LWq`elDx	F

YHy(J2%C=C UHqN&+^%qn&ny%#7V'{+.!*903m?(;M)Y4a/kq0	~.6,3"4n*-"36<F6$Y6Wg5uq'K{'F8y& Compress Buffer& Compress File& Compress Var List& File PURIFY Loaded& Purify BARE File& Purify Buffer
@ TECOBARE Library GenerateDump EnvironmentGenerate LibraryList TECO FS Flags
TCompile
Tecdocde^RIBackwardTECODConditional^RfForward~TECO Conditional^RSaveCEMACSoPatch Var List~DOC~ & File PURIFY Loaded~DOC~ & Purify BARE File~DOC~ & Purify Buffer~DOC~ @ TECO~DOC~ BARE Library Generate~DOC~ Dump Environment~DOC~ Generate Library~DOC~ List TECO FS Flags~DOC~ TCompile~DOC~ Tecdoc~DOC~ TECO Mode&~DOC~ ^R Backward TECO Conditional%~DOC~ ^R Forward TECO Conditional~DOC~ ^R Save EMACS Patch~DOC~ ^R TQuote~DOC~ ~FILENAME~~FILENAME~
~INVERT~}[a[b[c0uafsruntimuc
@:ib`%a,-1*qc+(fsruntimucqc)=`
:ib
mb
[0[1[2[3[4[5[6[7[8[9f[sstring
J@F
R
:F:FB*DOCOND*"L
S{END:}L.F[VB'
J<:S

;
<@f 	
k
2f=!*:@;
.,(cs!.)k>

,1a-
"e
-k2r!<!>'
1A#!+(2S!-1A#:)"N
:I*FMT	MACRO NAME MISSINGfserr'
s!
1a-
"E:I*FMT	MACRO BODY EMPTYfserr'
>
mb
FSBCONSU9FSBCONSU7Q..OU8[..O
J<:S:!;.U2
:L0F:FB:!2C
2F~ !"N:I*Bad macro documentation beginningFSERR'
.+1U3
2CS!:@F"N!"!
:I*Macro documentation doesn't end at end of lineFSERR'
Q3,.FX4
Q2J0L.,(Q3JL.)X5
Q9U..OG5Q7U..O
ZJI


.(G5)J
<:S!;
I~DOC~ S:!>:k
ZJ.(G4)J.,(S!.)K
S-D
Q8U..OQ3J
>
mb
q7u..oj0S<:S;!>
ZJI

!~DIRECTORY~:!
.U0G9
Q0J.U4
<.U0:S!;Q0,.K
I

S:!-2D>
.,ZK
I

Q4J<:S~;0KK>
mb
Q8U..O
J<:S!*;
.-2,(S!.)K
@-F 	K>
mb
J<.-Z;@F 	KL>
mb
J0S <:S;
-1A-"N-D'>
mb
J<:S	;
-1A-"N-D'>
mb
J0S_
<:S;-1A-"N.-1F '>
mb
J0S

<:S;-2D2R>
mb
J2F=
"E2D'
fq7"nzj-2f=
"e-2d''
q9u..ojq8u..oj
<:S:!;
.(-2S!.,)K
Q9U..O:S:!;
.(-2S!.,)X1fq1c
Q8U..OG1>
q8u..ozjg7q7fsbkillQ9FSBKILLJ@I`
[0+8+FQ(+4)[1
0FO10F"G(
)+Q1U0FQ0-3"GQ0'
F0@FS^RInit'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
`
1:m(m.m& Purify Buffer)'	[a[b[c0uafsruntimuc
@:ib`%a,-1*qc+(fsruntimucqc)=`
:ib
[0[1[2[3[4[5[6[7[8[9f[sstring
mb
"e
zj-2f=
"e-2d'
zj@i|

!~INVERT~:!
+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2
|
J@I`
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
`
mb
'
.+8u1q1+4/5*5+1-q1,32i
.+4u5j177.iq5&177.iq5/200.&177.iq5/40000.&177.iq5j
0u60u7
q..ou8f[BBind[..oq..ou9q8u..o
<.-z;.u3:x2q9u..o.(g2)j
:fb:!"l
0l
<1a-32"ed'
1a-!"n0;'
d.(s:!
.u2)jQ2-.+2u2
177.iq2&177.iq2/200.&177.iq2/40000.&177.i
lq6+q2u6q3-q5\i
%7w
.-z;>
q8u..o:k'
"#.,zkq8u..oi
2r'
z-2-2u4:s

"l.-3-2-2u4'
"#zj0@f"n:i*No CRLF at end of COMPRS filefserr''
q3j2d
q4-.+4u4177.iq4&177.iq4/200.&177.iq4/40000.&177.i
q4-4c
2d.-z"n3d'>
q5jq7*10+5+4u4177.iq4&177.iq4/200.&177.iq4/40000.&177.i
q4-4,0i
.u4q6,0i.-q5u6
mb
q8u..o
Z+4+(2000.*5)-1/2000./5U2
Q2*2000.*5U2
J177.IQ2&177.I
Q2/200.&177.IQ2/40000.&177.I
ZJQ2-(Z-B),0I
q4+4u4q5+4u5
1f?
mb
q9u..o
1f[^pcase
4cll
f]^pcase
mb
q5+4/5u1
q1*5-q5-4"n@feDSIfsErr'
2u:8(q1)
j<.-z;.(4cl),.-2x2q4:f82
q4-q5u:8(%1)q4+fq2u4
\+q6u:8(%1)l>
q8u..ojet comprseihpef
Y[0:i0
f[dfile-1f[FnamSyntax
fsuread"ne[fne]'
fsuwrite"ne\fne^'
0[1
et01:<erCOMPRSfsifcdateu1>
er0
ff"efsifcdate-q1"L''
1:<ed COMPRS>
FTCompressing file 0

f[bbind@y
15f~!* Varlist File(
m(m.m& Compress Buffer)
)"e
jl
iVar List Name Body

<.-z;
1a-
"ei

0;'
i
l>'
etCOMPRSeihpef'f[vbf[vz.[1fnq1j
<-:s

;2F=
"Efkc0;'>.fsvb
:s

:fsz-.fsvz
q..O[0f[bbindg0
J
<@f
 	k
2f=!*:@;
2s!b,.k>
<:s:!;>
.[3[4[5[6
Q3-B"G
2F~ !"N:I*Bad macro documentation beginningFSERR'
2CS!:@F"N!"!
:I*Macro documentation doesn't end at end of lineFSERR'
Q3+2,.-1X5
Q3,.+2K
<.,b:fb:!;
.u4-s!
.+1,q4X4
1,m.m ~DOC~ 4u6
:f=56"n
q5m.vMM ~DOC~ 4'
>'
b,Q3fx3
ji

J<:S!*;
.-2,(S!.)K
@-F 	K>
J<.-Z;@F	 K
L>
J0S <:S;
-1A-"N-D'>
J<:S	;
0,-1A-"N-D'>
J<:S_;
0,-1A-"N.-1F '>
J<:S

;-2D2R>
ZJ-2F=
"E-2A-"N-2D''
2,ZFX*[4
HKG3J
<:S!;0,.K:S:!;-2D
B,.FX3Q4M.VMM 3>
Q41M(M.M& Init Buffer Locals)
1,1M.LSpace Indent Flag
1,36M.LComment Column
1,(:I*!* )M.LComment Start
1,(:I*!)M.LComment End
1,(:I*)M.LParagraph Delimiter
1,(M.M^R Indent Nested)M.QI
1,Q(1,Q.M.QW)M.Q.
1,0M.LDisplay Matching Paren
1,M.M& FILE PURIFY LOADED"E
F[DFILEM(M.MLoad Library)PURIFY'
m.m^R Backward TECO ConditionalM.Q.."
m.m^R Forward TECO ConditionalM.Q..'
1,(@:I*+
ET ELIB
FSDSNAME:F6U2
F~2EMACS1"EETEMACS;'
FSDFILEU2
@:I*|M(M.MGenerate Library)21|[2M2
+)M.LCompile Command
M.Q..D
0FO..QTECO ..DF"NU..D'
"#W:G..DU..D
Q..DM.VTECO ..D
1m(m.m& Alter ..D)[A]A"(')<(>);A'
1M(M.M& Set Mode Line)TECO}f[bbindf[dfile
1f[fnamsyntax
etFOO ELIBet
fsdfile[..2
[..1:I..1
[0
<]0w:i*-fq0;
fsosteco"net EMACS'
0fsdvers
er0
fsdfileu0
f~(fsdfn2:f6)COMPRS"n
m(m.m& Compress File)0'
:i..1..1et0
er COMPRS
fsifcdate-q4f"g+q4u4'
zf[vb
@aZJ14.i15.I12.I
j:f:fb*docond*"L
s{end:}l
b,.@fx3'
f]vb
>
-1fsfnamsy
fq..1"e:i*Generate Library: no source filesfserr'
0[4
[3:i3
Q..2[2
et2
m..1
0[5
1:<er2fsifcdateu5ec>
Q5"nq5-q4"g0''
FT -> 2

fq3"gjg3[..o
qBuffer Name[9
fnM(M.MSelect Buffer)9
[..om(m.mSelect Buffer)*DOCOND*]..o
m(m.aDOCONDDOCOND)
-3fsqpunwind'
J:S!~FILENAME~:!
<:S
!~FILENAME~:!;
-s
c
.,(:s
.)k
>
J:S!~DOC~ ~FILENAME~:!
<:S
!~DOC~ ~FILENAME~:!;
-s
c
.,(:s
.)k
>
0[9j<:s!~DIRECTORY~:!;
L
.,(:s
:.)@fx9
-2k>
fsbcons[8
j<:s:!;
0l2f=!~"ns
!<!>'
.,(s
L.)fx1
q8[..ozjg1]..o>
zjg8q8fsbkill]8
i!~DIRECTORY~:I!
G9i
]9
m(m.m& Purify Buffer)
et2
ei@hpef
0u..hbf[bbinder@y
m(m.m& Compress Buffer)
m(m.m& Purify BARE File)
etemacs; elibei@hpef[1[2[3
:i3
fs:ejpage*5120+400000000000.u1
<q1fp:;
q1m.m~Filename~u2
0fo..q2 Library Filenameu2
q2"efq3"n:i*Libraries to be loaded not consecutivefserr''
"#@:i3|:ej2w3|'
q1+fq1+4u1
>
qEditor Nameu1m.m& Startup 1u.3
1:<m(m.mKill Variable)MM & Startup 1>w
q..lu.1q..pu.2
@:i..l|3q.1u..l0u.1q.2u..p0u.2:m(q.3(0u.3))|
-3fsqpunwind
0fs^Rlast
0u..p
et
-f?
ei@ej*Notemacrobodiesaren'tallowedtobeempty.y	F[BBINDWF[DFILEW-1F[FNAMSYNTAX[0[1[2[3[4[5[6[7[..0[..1[..2
E\E[FNE]E^
32<IZU..2>
95*5,32I
IZU..2
15.*5F     
12.*5F     
11.*5F     
33.*5F     
HFX2
EREGJ4LS:I@R:X6
@Y
ZJI

:I1FQ1"E:I120FG'
FF"N'"#73'-3U0
J<.-Z;.,ZF2
.-3,.+2F=

"N0A(-DI)#100.I'>
J0S
<:S;R-DIM>
J0S
<:S;-DIJ>
0U20U4
FSBCONSU3
J<.-Z;%2
.,(Q0L.)FSBOUND
FSVZ"N
:-S
"EB,FSZFSBOUND
:S"LR''
B,.FSBOUND'
J<.(:S:!"N
.-2(-2S!C.,)X5
[..OQ3U..O
FQ5-Q4"GFQ5U4'
Q2\40.IG515.I12.I
]..O'
)J:S
;-DIIL>
ZJ0,FSZFSBOUNDW
0,1A-14."EC'>
Q4+2U4[..OQ3U..O0U5
J<.-Z;.U7%5
\U2C0K:L
Q4-.+Q7,56.IQ2\L>
J:LL
Q4-36"LZJ
Q4+6U4Q0-1U0
Q0*2*((Q5+Q0*2-1)/(Q0*2))-Q5<15.I12.I>
J<.-Z;
Q0<.U7Q0L:X5Q7J:L
Q4-.+Q7,40.IG5L>
Q0K14.I15.I12.I>-D'
]..OZJ14.I15.I12.IG3
Q3FSBKILL
ZJ-:S."NL.,ZK'
FSMSNAMEFSDSNAMEEWDSK:
HPEF6HK
EREGJ4K:L.,ZK
:FTListing is file ..O
Be sure to delete it when printing is finished.
Here are some commands; kill the ones you do not want executed.
fsTopLine+3f[TopLine
HX5ZJ-FWKHFX4
I:XGP ;LIST 5_1
:@ 4LREC/G
:@ 5/F[1]/1J/^/L[RANDOM]/#,4LREC/@_'
BJ0U..H
3M(M.M& Minibuffer)Menu
fsTopLine+5fsTopLine
:FT
@..O
:VP 
fsTopLine-1fsTopLine
:FTDone.	[0[1[2[3[4[5[60[..F
F[BBINDQ..OU4I
F[BBINDQ..OU3[..O
:I*Teco Doc[..J
0F[^RSTAR
F[DFileETDSK:INFO;TECORD INFO
0FSDVERSWER@YF]DFile
!ARG!
:FTQ4U..O
J<:S^ ;-DR>
J:S "NB,.-1K'
J<.-Z;1A-32"L1A-33."N1A(DI^)+100.I2R''C>
Z"EOGETARG'
H@FC
J:<1AF :@"GC!<!>'
1A-^"E2AF: +1"NCDI@!<!>''0;>
.(1:<1A-F"EC1A-S"E
.-Z"NC40.I1A-^"E2C40.I''''
"#1A-E"EC''1A-^"EC'>
:CW0A-<"E9I'
B,.X2
),.X5
0A-9"E-D'
J<:S ;-D>
Q3U..OBJS)
!SEARCHAGAIN!
:S
5"EFGFTNot found.OASK'
1A-:"E:L'"#0:L'
.U6
<:S
2
<>2
<>,<>2"EQ6J0;'
FQ2R:I0
:<
1A-40.F"L:;'"E0,0A-^"NC!<!>''
1@X0C>
0,FQ4:G0U0
F~04"E:0L0;'
>
!MORE!
.(
<LS
	FKC.,.+4F=

:@;>
),.T
!ASK!
0fsFlushedwFT
More (
.u0s
r
.,(sr).t0:l
FT)? 
@:FIU033.FS^RINIT-Q0"EFIW0U..H'
FIU0
Q0Fxqn+1"G-FSREREADW0U..H'
Q0-40."EOMORE'
Q0-12."EFT
OSEARCHAGAIN'
Q0-33."E
!GETARG!
FR1F[TYPEOUT
1,M(M.M& Read Line)Teco Command: U0
F]TYPEOUT
FQ0"GQ4U..OHKG0OARG'
OASK'
FT
Responses at this point are:
X, Q, N exit
Rubout  exit
Space   type more
Line    search again for same arg
Altmode read another arg and search
OASK?f[vbf[vz
:,.ffsbound
j<:s;
ric>
fsbound\f[BBind
:FEBJ:LL
J<
fswidth/9<
.-z;:LKI   >
.,(-s c).fkI
.-z;>
HT:FVu0[1.[3
.(:S

:FSZ-.F[VZ)J
<:S"'!*;
0A-""E%1'!'!
!"!0A-'"EQ1-1U1Q1-1"L0''
0A-*"ES!'>
Q3JFG00[1[2.[3
.(-:S

:.F[VB)J
<-:S"'!
;
1A-""EQ1-1U1Q1-1"L0''!'!
!"!1A-'"E%1'
1A-!"E.U2-S!
2A-*"NQ2J''
>
Q3JFG0[0[1[2[3
<-:s

;2F=
"Efkc0;'>.u0
:s

:L.u1
q..ou2f[dfilef[bbind
qEMACS Version:\u3
1:<erEMACS;PAT3 >@yzji
>
q0,q1g2
-2f=
"ni
'
eihpef

PURIFY`Macros for editing and debugging TECO macros,
and for maintaining libraries and dump files.S Compress a file of macros, in the buffer.
Removes spaces and comments, and makes the documentation
and directory strings.)S Purify the file BARE of names of bare TECO ^R functions.
This file is purified so as to make the definitions of those names
appear to be the bare TECO functions.RS Convert macros in buffer to :EJ'able format.
Assumes compression has been done already, if desired.
Nonzero numeric arg means leave out the ~INVERT~ macro
and the loader macro.  The caller should already have put in
an ~INVERT~ macro if desired, and inserted the loader macro
at the front of the buffer, leaving point after it.jS Compress a varlist file such as EMACS;VARS >.
Turns it into a standard COMPRS file containing one definition,
for && Variable Name List, whose value contains pure strings,
one for each of the lines present in the source file.
S Compress file of macros.
Input file taken as string argument.  Output is written
in file with FN2 of COMPRS.  If the COMPRS file already
exists and is more recent, the operation is skipped
(however an explicit numerical argument forces compilation anyway).^C Compile macro to be tried out.
Compile (compress) the buffer or the current page
as an EMACS function definition, and define the
function name(s) at the front.
The compiled definition is also returned as a value.?C Set up commands for editing TECO code.
Makes Rubout the Tab-hacking Rubout.  Tab does ^R Indent Nested.
Loads the PURIFY library.  M-' and M-" move forward and back over conditionals.SC Make one ELIB file from several source files.
Takes desired name for ELIB file as first string argument,
followed by the names of the input files.  A null string argument
(altmode-altmode) ends the argument list.
The input files are all compressed (if they haven't been)
and the COMPRS files are then purified together.
Filename defaulting is sticky;
input FN2's default to >, output FN2's to ELIB.
The defaults are restored after the macro is finished.<C Generate the BARE library.  Source file is string arg.IC Dump the current environment.
Takes filenames as suffix string argument.
The dumped environment is given a ..L which will load
the libraries which are loaded now, and then perform other
start-up actions as directed.

The filenames to use to load the libraies currently loaded are
found in variables named <name> Library Filename, where <name>
is the name of the library.  If that variable is to include a
constant version numbr, it should be set up when the library is loaded.
Libraries which are loaded at dump time but do not possess such
variables will not be loaded by the environment which is dumped.

The additional start-up actions come from the value of the variable
named "Startup", which is killed before dumping.

Note that q-registers .1, .2, and .3 are clobbered by this macro.
They will be zero'd on startup by the dumped ..L.

The file EMACS;EMACS TECO is an example of an init file that
sets up things for use with this macro.+? If this is defined, PURIFY is loaded.VC Make XGP listing of macros file.
Example: 73 MM@ TECOUSRCOM >20FG (notice that
73 is the page height with the font 20FG).
20FG and 73 are actually the defaults, so that
MM@ TECOUSRCOM is equivalent.C Look up information on Teco commands.
String arg is command, e.g. MM TecdocF^B or MM TecdocFS HPOS.
Represent a control character with a "^" not followed by a space.
Spaces elsewhere are ignored.
The format of INFO;TECORD is understood.  Type "?" for help.9^R Quote with ^] all altmodes and ^]'s in the region.&C List names of all TECO FS flags.0^R Move past the ' matching the following ".5^R Move back past the " matching the preceding '.~^R Add this function to EMACS;PATnnn >.
EMACS;PATnnn > is loaded in by & Load Essential Environment,
in the process of generating a new runnable EMACS or stand-alone
subsystem (INFO, etc).  The format of PATnnn is just like that
of a source file.G& Compress Buffer
& Purify BARE File
& Purify Buffer
& Compress Var List
& Compress File
TCompile
TECO Mode
Generate Library
BARE Library Generate
Dump Environment
& File PURIFY Loaded
@ TECO
Tecdoc
^R TQuote
List TECO FS Flags
^R Forward TECO Conditional
^R Backward TECO Conditional
^R Save EMACS Patch
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2