Trailing-Edge
-
PDP-10 Archives
-
mit_emacs_170_teco_1220
-
emacs/billw.teco
There are no other files named billw.teco in the archive.
!* -*-TECO-*- *!
!^R Find Label2:! ! Looks for the label referenced in this line !
:I*Cfs echo display
M(M.M^R_Go_to_address_field)
1M(M.M^R_Mark_Word)
1a-13"E 0A-32"E @FT?No_Label
-D''"#
[2 .,:X2 .[3 ! * Put into Q-register!
.,.+2000f :fb2:"Ew .,.-2000f :fb2:2="E @FTFurther_
w.+1990,.+7000f :fb2:"Ew .-1990,.-7000f :fb2:2="E @FT._
w.+6990,.+12000f :fb2:"Ew .-6990,.-12000f :fb2:2="E @FT._
w.+11990,.+22000f :fb2:"Ew .-11990,.-22000f :fb2:2="E @FT._
w.+21990, Z f :fb2:"Ew.-21990,B f :fb2:2="E
:I*Cfs echo display @FTNot_Found'''''''''''
.-q3"L @FTBackward'
.-Q3"G @FTFoward'
]3]2'
1FSECHO ACTIVE
!^R Find Label:! ! Looks for the label referenced in this line !
:I*Cfs echo display
M(M.M^R_Go_to_address_field)
1M(M.M^R_Mark_Word)
(1a-13)*(1a-9)*(1a-[)"E (0A-32)*(0a-44)"E w@FT ?No_Label
0a-32"E-D' oABORT''
[2 .,:X2 .[3 ! * Put into Q-register!
1f<!DONE!
1:< .,.+2000:fb2:"N f;DONE'>
1:< .,.-2000:fb2:2="N f;DONE'>
1:< @FTFurther_ .+1990,.+7000:fb2:"N f;DONE'>
1:< .-1990,.-7000:fb2:2="N f;DONE'>
1:< @FT._ .+6990,.+12000:fb2:"N f;DONE'>
1:< .-6990,.-12000:fb2:2="N f;DONE'>
1:< @FT._ .+11990,.+22000:fb2:"N f;DONE'>
1:< .-11990,.-22000:fb2:2="N f;DONE'>
1:< @FT._ .+21990,.+45000:fb2:"N f;DONE'>
1:< .-21990,.-45000:fb2:2="N f;DONE'>
1:< @FT._ .+44990, Z :fb2:"N f;DONE'>
1:< .-44990, B :fb2:2="N f;DONE'>
>"E :I*Cfs echo display @FTNot_Found '
.-q3"L @FTBackwardws:='
.-Q3"G @FTFoward'
]3]2
!ABORT! 1FSECHO ACTIVE
!& Create Bounds:! !& returns MIN(.+ARG,Z) or MAX(.-ARG,B) !
F[1
q1"L .+q1,Bf u1w'"#
.+q1,Zf *0: u1'
q1+(]1w0)
!Jsys:! ! runs JSYS on the previous or current word !
f[1
@FT_ 1M(M.M^R_Backward_word)
1M(M.M^R_Mark_word)
q1-4"n
0F[ LINES 0F[TOP_LINE F+
[2 .,:X2 -1FO..Q JSYS Fork [3 q3"L
@FZSYS:JSYS.EXE_2
M.V JSYS Fork '
"# 0,q3@FZJSYS_2
'
]3]2ww :FI-32"E FIW'
F+ F]TOP_Line F]Lines
'"#
[2 .,:X2 -1FO..Q JSYS Fork [3 q3"L
@FZSYS:JSYS.EXE_2_-JSYS-.TMP.-1;T
M.V JSYS Fork '
"# 0,q3@FZJSYS_2_-JSYS-.TMP.-1;T
'
]3]2ww M(M.M Select_Buffer)-JSYS-.TMP
1M(M.M ^R_Visit_File)-JSYS-.TMP''
]1
!DDT:! ! runs SDDT in a subfork !
@ft_ -1FO..QSDDT Fork [3 q3"L
FZSYS:SDDT.EXEM.V SDDT fork '
"# @ft[DDT_Continues]
q3FZ'
]3w :FI-32"E FIW' F+
!Run Compiler:! ! runs SYS:<modename>.EXE!
qmode[2
@ft[2] -1FO..Q2 Fork [3 q3"L
FZSYS:2.EXEM.V 2 fork '
"# 0,q3FZ'
]3]2 F+
!Finger:! ! Find a user !
:I*Cfs echo display
1,FUser:_[1
:I*Cfs echo display
-1FO..Q Find_ Fork [3 q3"L
@FZSYS:FINGER.EXE_1/terse
M.V Find_ Fork '
"# 0,q3@FZF_1/terse'
1FS Echo Active ]3]1
!Print file:! ! print the file in the current buffer!
qBuffer_Filename[1
1,0M(M.M ^R_Save_File)
0fzprint 1
w]1
!Extract Keywords:! !C extracts the terminal symbols from some BNF
Terminal symbols begin with an upper case letter, and end
end with a seperator character (^B in search string). The
rest of the buffer is destroyed. !
. 0f[ Bothcase !* exact searches !
<:sABCDEFGHIJKLMNOPQRSTUVWXYZ; !* Find a keyword !
-c . !* Save beginning address !
sw !* End of the keyword !
:,.@x1 !* Add it to the q register !
>
hk g1 !* Move in the keywords !
bj<:s; -di
>
!Position Buffer:! ! takes a percentage of file to position the buffer at !
F*z/100j
!Code table:! ! generate code conversion tables!
[1
< fiu1 q1-27"E0;' i movei C,"q1ii"
@V W q1fsecho out>
!^R Previous Narrow Page:! ! back up a page in narrow mode!
-1m(m.m^R_narrow_bounds_to_page)
!Expand Diagram:! ! expand a digram to make it bigger!
[1[2 M(M.M ^R_Narrow_Bounds_to_Region)
bjz M(M.M Untabify)
!* first we un-ident the whole thing as much as possible !
B+1j.u199u2<.-z; :s ;((0a-13)*(0a-10))"N(.-q1)-q2"L .-q1u2 q2='' l .u1>
bjz
-q2M(M.M ^R_Indent_Rigidly)
< .-z;
1a"A 32u2 '"# 1a"D 32u2'"# 1au2'' !* letters and digits are expanded with!
!* spaces, other chars with themselves!
c q2-13"N q2-10"E13i' q2i' !* insert the new character (except CR)!
>
!* bjz M(M.M Tabify) Doesnt Work !
M(M.M ^R_Set_Bounds_Full)
]1]2
!BillWs Write File:! ! write a file with defaults!
31F[:ET MODE !* save old GTJFN bits, and use defaults!
@M(M.M Write_File) !* call ordinary write file routine!
F]:ET MODE !* restore old BITS!
!Monitor Mode:! ! set up for editing DEC standard Macro !
M(M.M Make_Local_q-Reg)_ !* Space is localy defined !
M(M.M Make_Local_q-Reg) !* Tab is localy defined !
M(M.M Make_Local_q-Reg), !* Comma is localy defined !
M(M.M Make_Local_q-Reg)/ !* Slash is localy defined !
M(M.M Make_Local_q-Reg)..; !* M-; is localy defined !
M.M^R_MonitorMode_Space U_ !* runs fancy space definition !
M.M^R_MonitorMode_Space U !* runs fancy space definition !
M.M^R_MonitorMode_Space U, !* runs fancy space definition !
M.M^R_MonitorMode_Space U/ !* runs fancy space definition !
M.M^R_Monitor_Comment U..; !* M-; locally defined !
:i*MonitorM.LSubMode !* Set SubMode name for buffer !
!^R MonitorMode Space:! ! maybe uppercase macro code!
.,.-80@:F;/\ !* See if we are in a comment or string !
: a-31*(0a-10)"L !* and not at the beginning of a line !
-fwf(@fc) w-fwF' !* uppercase the previous word !
FS^R LAST[1q1-13"nq1I.-1,.@V]1' !* Insert the char invoked with !
!^R Monitor Comment:! ! indent for comment after doing capitaliaztion !
13fs^R LAST !* prevent from inserting command!
M(M.M^R_MonitorMode_Space) !* do capitalization!
M(M.M^R_Indent_for_Comment) !* call commend macro and return !
!Cray Mode:! ! Set up for editing Cray assembly language !
M.M^R_Tab_to_Tab_StopM(M.M Make_Local_q-Reg)I !* Tab is localy defined !
0 M.LIndent_Tabs_Mode !* Indent using Spaces !
35 M.LComment_Column
:I*_________:_________:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:_______:M.LTab_Stop_Definitions
!STANSW:! ! Add a STANSW conditional block to code. !
!* Puts IFE STANSW,< and >;IFE STANSW at point and mark. !
!* Adds IFN STANSW,< >;IFN STANSW with same code duplicated. !
!* with an ARG of 4, only adds empty IFN STANSW pair. !
!* with and arg of 16, puts IFE STANSWs, but no IFN STANSW. !
f-4"EiIFN_STANSW,<;;;_
>;IFN_STANSW
w-l-2c'"#
:[1[2.[3 Q1-Q3"GM(M.M^R_Exchange_Point_And_Mark) q3[1 ]3 '
q1,q3x2 i>;IFE_STANSW
wF-16"NiIFN_STANSW,<;;;_
2>;IFN_STANSW
'
q1jiIFE_STANSW,<
wF-16"Ns;;;_'
]3]2]1'
!& Digestify:! !& Take a TENEX MAIL FILE and make it into a digest !
!* A Digest has the following format : !
!* Mailer info !
!* Digest name Date Volume n : Issue m !
!* This weeks editor: !
!* Today's Topics: !
!* (subject lines from each message) !
!* (line of 70 dashes) !
!* Messages, each containing Date:, From:, Subject:, and To: !
!* Each message ends with a line of 30 dashes !
!* End of digest !
!* ************* (24?) !
!* 7 dashes !
!* EOF !
BJ [s[1 0[2 1,FList_Name:_[N 1,FEditor:_[E 1,FDestination:_[D
1,FVolume:_[V 1,FIssue:_[I !* Issue !
!* M(M.M Find_File) !
:iS !* Initialize Subject collection Qregister !
< !* For each message !
.U1 S
w 1a-13"N -L' !* Find the blank line at end of headers !
Q1,.FS BOUNDARIESw BJ !* Narrow bound to just the header !
M(M.MKeep_Lines)Date:Subject:To:From: !* Only keep interesting !
BJ :Ssubject: "L 1@XS %2 ' !* collect the subject of the message !
0,FS ZFS BOUNDARIESw !* restore boundaries !
:S;00000000000"E ZJ' 0L !* Find the next TENEX message header !
!DTL! -l1:fb"Ew1K ODTL' !* delete trailing blank lines !
L I
------------------------------
!* insert message seperator !
.-z; > !* All messages done. !
!* Do global stuff - trailer, header !
IEnd_of_N_Digest
**************************
-------
BJw I
=DELIVERY-OPTIONS:MAIL
_Score.Stanford.EDU.#Internet
N-Request
Score.Stanford.EDU
D
Date:_ 202021000000.,-1FS FD CONVW-4CWDI_3C !* Date magic ! I
Subject:_N_Digest_VV_#I
From:_N_Digest_<[email protected]>
To:_N_Distribution_List:_;
Reply-to:_[email protected]
N_Digest___336400000000.,-1FS FD CONV !* More date magic !
I___Volume_V_:_Issue_I
This_weeks_Editor:_E
Today's_Topics:
.U1 gS Q1J Q2M(M.M^R_Center_Line)w I
----------------------------------------------------------------------
BJ
!Digestify:! !C Take a TENEX MAIL FILE and make it into a digest !
@M(M.M&_Digestify)