Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/macro11.emacs
There are no other files named macro11.emacs in the archive.
!* -*- TECO -*- !
!* [toed.xkl.com]DXX:<EMACS>MACRO11.EMACS.1,  9-Apr-96 18:12:40, Edit by ALDERSON!
!* Source re-generated from sourceless library file.  Corrupted, so that !
!* function Renumber Region of LSBs was lost. !

!~Filename~:! !Functions for editing MACRO-11 style code!
MACRO
!& Setup MACRO Library:! !& Set me up!

f[BBind128*5,_i
$*5jdiA
.*5jdiA
%*5jdiA
0[010<q0*5jdiA%0>
Au026<q0*5jdiA%0>
au026<q0*5jdiA%0>
m.VMACRO_Symbol_..D
hxMACRO_Symbol_..D

!Renumber Local Symbol Block:! !C Renumber local symbols in block around point.
Sequentially renumbers local symbols, in the order they are defined.
With numeric argument, use it as the increment for renumbering.
Starting value for local symbols can be set by defining First Local Symbol.
Renumber can be undone with ^R Extended Command Undo.

Types notification of undefined symbols and awaits an option: ^R enters
a recursive editing level on the local symbol block; Space ignores
the undefined symbol (won't be changed); Comma inserts a tilde ("~")
so the symbol can be found easily, and then does Space; anything else aborts.!

m(m.M&_Find_Start_Of_LSB):[0f[VB
fsZ-(q0m(m.M&_Find_End_Of_LSB))f[VZ
hm(m.M&_Save_For_Undo)Renumber
fm(m.M&_Renumber_LSB_In_Buffer)wj

!Renumber Region Of LSBs:! !C Renumber local symbol blocks from point to mark.
Sequentially renumbers local symbols, in the order they are defined.
With numeric argument, use it as the increment for renumbering.
Starting value for local symbols can be set by defining First Local Symbol.
Renumber can be undone with ^R Extended Command Undo.

Types notification of undefined symbols and awaits an option: ^R enters
a recursive editing level on the local symbol block; Space ignores
the undefined symbol (won't be changed); Comma inserts a tilde ("~")
so the symbol can be found easily, and then does Space; anything else aborts.!

	
!& Find Start of LSB:! !S Finds start of local symbol block around point
Returns <flag>,<addr> where <flag> is negative if block is delimited by
.ENABL LSB and zero or positive otherwise, and <addr> is the address in the
buffer of the start of the block.!

f[SString.[1
:i*_	[2
qMACRO_Symbol_..D[..D
0[0:s.ENABL
<-:s.ENABL;
0f@f2"E
1f:fbLSB"E!<!>'
l0-.u0
<.,q1:fb.DSABL;
fkc0f@f2"E
1f:fbLSB"E!<!>'
l.u00;'l>
0;'>
q1jq0f"L,-q0'
<.,q0:fb:;
0l1a"D!<!>'
fwl
1a-(:)@;>
0,.+1(q1j)
!& Find End Of LSB:! !S Finds end of local symbol block around point
Numeric arg is negative if block started with explicit .ENABL LSB,
or zero if it started with a label. Returns address of last character to
bother looking at in block.!

f[SString.[1[5
:i*_	[2
qMACRO_Symbol_..D[..D
:i*[3"L'"#:i3:'
z[0
<:s.ENABL.DSABL3f(u5);
q5+3"G
fkc0f@f2"E
1f:fbLSB"L0l.u00;'''
"#0l1a"D'"#
fwl
1a-(:)"E0l.u00;'''l>
q1jq0
!& Renumber LSB In Buffer:! !S Renumbers local symbol block in virtual buffer bounds
Numeric arg is increment for local symbols. Initial local symbol value is 10$,
or is defined by Q$First Local Symbol$.!

f[SString
qMACRO_Symbol_..D[..D
10fo..QFirst_Local_Symbol[0
f("E10')[1
fsBCons[2[3[5[6
j<:s$:;
fkc0f@f0123456789"E
0l\f(u3)"Gq2[..Ozj
5,0iq3,.-1fsWord
q..Ou2]..O'':s$:;>
j<:s$;
fkcw-@f0123456789r
1a-$"N
0a"B
.u50,(\)f2"L
:i*CfsEchoDisp
q5,.+1x6@ftWarning:_Undefined_symbol_6
Type_^R_for_recursive_edit;_Space_to_continue;_Comma_to_insert
a_"~"_and_continue;_Anything_else_aborts.!''!
2,m.ifiu6
q6-"E:i*CfsEchoDispq5j
[0[1[2[3[4[5[60[..f
]..f]6]5]4]3]2]1]0q5j'
"#q6-,"Eq5ji~.-1,.@v'
"#q6-_"L
:i*CfsEchoDispw'
q5j''''':s$;>
j<:s$;
fkcw-@f0123456789r
1a-$"N
0a"B
.u50,(\)f2f(u3)"L
q5,.+1x6ftWarning:_Undefined_symbol_6

'
"#q5,.kq3*q1+q0\'
'':s$;>
f[BBindfq2/5f(\)"E-diWarning:_No'
i_local_symbolfq2/5-1"Nis'
i_renumbered.

:i*CfsEchoDisp
@ft
..O0fsEchoActive
q2fsBKill