Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/muddle.elib
There are no other files named muddle.elib in the archive.
PW
[0+8+FQ(+4)[1
0FO10F"G+Q1'
+FQ()+4U1
FQ1"L0'
,Q1:M(Q1+4(]1]0))
)Tait|Wb7z&6"L3W%b9q?ucture Insert~DIRECTORY~ ~DOC~ & Setup Muddle Library,~DOC~ & Standard Muddle Indentation Hook~DOC~ MUDDLE Mode~DOC~ Syntax Check~DOC~ ^R Indent for Muddle$~DOC~ ^R Muddle Structure Insert~DOC~ ~Filename~~Filename~
~INVERT~K1M.VMuddle Insert Marker Strings?
:I**$M.VMuddle Marker Prefix
:@I*\I"AUX"MP\M.VMuddle Insert 
:@I*\I"DONE"MP\M.VMuddle Insert 
:@I*\I"EXTRA"MP\M.VMuddle Insert 
:I*MGM.VMuddle Insert 
:@I*\I"OPTIONAL"MP\M.VMuddle Insert 
:I*-MSMPMCM.VMuddle Insert 
:I*MSMPMCM.VMuddle Insert 
:@I*\I"TUPLE"MP\M.VMuddle Insert 
:I*M.VMuddle Insert Altmode
:@I*\MPI MC\M.VMuddle Insert
:@I*\I!MPMC\M.VMuddle Insert !
:@I*\MGI"MPI"\M.VMuddle Insert "
:@I*\I'MPMC\M.VMuddle Insert '
:@I*\MGI(MPMMelementsI)\M.VMuddle Insert (
:@I*\MGI<* MPMMexpressionsI>\M.VMuddle Insert *
:@I*\MGI<+ MPMMexpressionsI>\M.VMuddle Insert +
:@I*\MGI,MP\M.VMuddle Insert ,
:@I*\MGI<- MPMMexpressionsI>\M.VMuddle Insert -
:@I*\MGI.MP\M.VMuddle Insert .
:@I*\MGI</ MPMMexpressionsI>\M.VMuddle Insert /
:@I*\MGI;"MPI"\M.VMuddle Insert ;
:@I*\MGI<MPMMelementsI>\M.VMuddle Insert <
:@I*\MGI<==? MPMMexpressionI MMexpression
I>\M.VMuddle Insert =
:@I*\MGI<AND MPMMexpressionsI>\M.VMuddle Insert A
:@I*\MGI<COND (MPMMpredicateI MMconsequents
I)>\M.VMuddle Insert C
:@I*\MGI<DEFINE MPMMnameI (MMarglistI) #DECL ((MMargsI) 
MMdeclsI) MMexpressionsI>\M.VMuddle Insert D
:@I*\MGI(ELSE MPMMconsequentI)\M.VMuddle Insert E
:@I*\MGI<FUNCTION (MPMMarglistI) #DECL ((MMargsI) MMdecls
I) MMexpressionsI>\M.VMuddle Insert F
:@I*\MGI<GET MPMMexpressionI MMexpression
I>\M.VMuddle Insert G
:@I*\MGI<LENGTH MPMMstructureI>\M.VMuddle Insert L
:@I*\MGI<MAPF MPMMfinalfI MMfunctionI MMstructures
I>\M.VMuddle Insert M
:@I*\MGI<NTH MPMMstructureI MMindexI>\M.VMuddle Insert N
:@I*\MGI<OR MPMMexpressionsI>\M.VMuddle Insert O
:@I*\MGI<PROG (MPMMauxlistI) #DECL ((MMauxsI) MMdeclsI) 
MMexpressionsI>\M.VMuddle Insert P
:@I*\MGI<REPEAT (MPMMauxlistI) #DECL ((MMauxsI) MMdecls
I) MMexpressionsI>\M.VMuddle Insert R
:@I*\MGI<SETG MPMMatomI MMexpressionI>\M.VMuddle Insert S
:@I*\MGI<TYPE? MPMMexpressionI MMtypes
I>\M.VMuddle Insert T
:@I*\MGI<USE MPMMpackagesI>\M.VMuddle Insert U
:@I*\MGI#DECL ((MPMMargsI) MMdeclsI)\M.VMuddle Insert V
:@I*\MGI[MPMMelementsI]\M.VMuddle Insert [
:@I*\MGI{MPMMelementsI}\M.VMuddle Insert {
1m.vMuddle REPEAT Indent
1m.vMuddle PROG Indent
1m.vMuddle FUNCTION Indent
1m.vMuddle Indent DEFanything
0m.vMuddle Indent Offset
m.m& Standard Muddle Indentation Hookm.vMuddle Indentation Hook
0M(M.M& Init Buffer Locals)
M.M^R Indent for MuddleM.Q	
1,(M.M^R Indent for Muddle)M.LMM ^R Indent for Lisp
M.M^R Muddle Structure InsertM.Q...S
1,1M.LSpace Indent Flag
1,:I*Muddlem.lLisp Indent Language
1,Q(1,Q.M.QW)M.Q.
1,56M.LComment Column
QPermit Unmatched Paren"L
1,0M.LPermit Unmatched Paren'
1000000.[2Q2-1&(aFS^RINIT)[1
!<<!
>-)*Q2+Q1M.Q>
]-)*Q2+Q1M.Q]
}-)*Q2+Q1M.Q}
]1]2
1,(:I*;)M.LComment Start
1,(:I*;")M.LComment Begin
1,(:I*")M.LComment End
M.Q..D
0FO..QMUDDLE ..DF"NU..D'
"#W:G..DU..D
Q..DM.VMUDDLE ..D
!"""""""!
1M(M.M& Alter ..D)<(>)''!','.'#'%'\/"|/A|A;'
'
1M(M.M& Set Mode Line)Muddle@1:<
:I*CSyntax CheckingFSEchoDisplay
0FSEchoActive
[0[1[2[3.[4
J
1:<
!TOP!.U30U2[3[2
!AGAIN!:S{<(["])>}U1.U0
Q1"E]2]3Q2"EOWIN'OUNM'
0,-1A-\"EOAGAIN'Q1+5U1
Q1"G[0[1OAGAIN'
Q1"L]2]3Q2"EOXTRA'Q1+Q2"NOMISM'OAGAIN'
0,-1A-!"ECOAGAIN'
.U3R:S\""EOUNM'OAGAIN
!MISM!7FSIMAGE0,Q3-.A:I20,Q0-.A:I1
:I*C2 Mismatched by 1FSEchoDisplay
0FSEchoActive
Q3-1JQ0U...T0;
!UNM!7FSIMAGE0,Q3-.A:I2
:I*C2 UnmatchedFSEchoDisplay
0FSEchoActive
Q3-1JQ0U...T0;
!XTRA!7FSIMAGE0,0A:I2
:I*C2 ExtraneousFSEchoDisplay
0FSEchoActive
RQ3-1U...T0;
!WIN!
Q4J
:I*CSyntax CorrectFSEchoDisplay
0FSEchoActive
>U0Q0F"L-@FEQIT"E<FIF;>''
]4]3]2]1]0
>
d:I*CMuddle Insert: FSEchoDisplay
QMuddle Marker Prefix[0
QMuddle Insert Marker Strings[1
.[2
[C:@IC\Q2J@VFI[3
Q3-27"E:FO..QMuddle Insert AltmodeU3'"#
:@FO..QMuddle Insert 3U3'
Q3"GM:..Q(Q3+1)'"#7FSImage']3\
[G:@IG\-2-(:S0)"NQ2J@FLK'\
[M:@IM\G0[3:I3Q1"NG3']3\
[P:IP.U2
[S:@IS\FCFS0+1"GFKC'\
MCQ2J]S]P]M]G]C]2]1]0r[1[2[3
2fo..QL Special Indent Offsetu1
.u2
j
1:<-@FLL>
1a-#"E
@flx4
'
"#+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'
0Lff&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
qComment Begin
[X
-:s
(
<.-q0;0,q0fu2>
!Retry!
q2&777777.u2
q2-777777."e"n0,'0'
q2"nq..1u1q..2u2
0uX
f~Lmuddle"E
q1j
1:<-@FLL>0,1a-#"E
.uX''
q1+1j
q2-q1+1"g
q2j
<!"!0a*5+1:g..d-'@:;r>
fqCF"Gf~C"E
q1j0,q2fu2
oRetry''
q2j0l.-q1"g
@f 	r
.-q2"n
.u310000,q2f-10000"eq3j'
"#q1j0,q2fu2
oretry''
oSpecial'
"#
qL Indent Offsetf"n+(q1j)fsshposu1oFoo'
q1+1j
qX"E
@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)0f
Muddle"Macros for hacking MUDDLE code*& Set up environment for Muddle macrosdC Enter a mode for editing MUDDLE code.
Modifies the delimiter dispatch, ..D, appropriate for MUDDLE syntax,
puts special rubout on rubout, sets parameters for comment hackery,
and defines Tab to be ^R Indent for Muddle. 3C MUDDLE Syntax checker, adapted from RMODE M-SFC MUDDLE structure insertion
The next character determines what structure will be inserted.
The template for the insertion is the variable
$Muddle Insert <char>$
where <char> is the character typed in.  The template consists
of a sequence of the following, as a TECO program:
I<string>$	insert the string.
MC		continue, getting another character from user.
MG		gobble marker immediately after the point, if there
		is one.
MM<string>$	insert a marker.  The marker consists of the contents
		of $Muddle Marker Prefix$.  If
		$Muddle Insert Marker Strings?$ is nonzero, the
		specified string is also inserted.
MP		put the point here when done.
MS		put point just before marker (may take arg)..& Internal hook to help Muddle indentation^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&changinguanythingrand don't treat ;;; comments specially.
MUDDLE Mode
Syntax Check
^R Muddle Structure Insert
& Standard Muddle Indentation Hook
^R Indent for Muddle
T+8+fq(+4)[20[3
<%3,-q2f2u3q3&1@;q3"l0'>
f[BBindq3-1*5,q3*5g2q:..o(0)+q2