!~Filename~:! MMAIL !& Setup MMAIL Library:! :I*TextM.VDefault Major Mode 1,m(m.m& Get Library Pointer)MWIND"e m(m.mLoad Library)MWIND' m.m& MMAIL FS Superiorfssuperior m.m& MMAIL ..Lu..l :iEditor typeMMAIL 1f[reread m(m.mText Mode) m(m.mRename Buffer)Message f]reread -1[0m.m& Create Buffer[1[2[3 qMode[4 @:i2|m1u3q4u:.b(q3+3)| :i*Headersm2:i*Replym2 m(m.m& Set Mode Line) 1fsexit 0fo..qMMAIL Setup Hook[0 fq0"gm0' fsrgettym.vMMAIL Two Window Reply Default fsrgettym.vMMAIL Two Window Send Default 0m.vMMAIL Two Window Dired Default m.m^R MMAIL Yanku...Y m.m^R MMAIL Return to Superioru:.X() 1:<M(M.MKill Variable)MM ^R Return to Superior> M.M^R MMAIL Return to SuperiorM.VMM ^R Return To Superior 0FO..Q MMAIL C-X C-S Send"N(m.m^R MMAIL Send Mail)u:.X()' m.m^R MMAIL Dont Change Fieldu:.X() !& MMAIL ..L:! [0[1[2.,(fj-@f k-@:ffx0-d).fx1 q1m(m.mSelect Buffer) 0fs^renter m(m.m& MMAIL 0 Setup) 0FO..QReturn from Superior Hooku0q0"Nm0']2]1]0 :m(m.m& Toplevel ^R) !& MMAIL FS Superior:! [10f[ReadOnlyf[Modifiedf[XModified .,(fj-@f k).fx1 f]XModifiedf]Modifiedf]ReadOnly q1m(m.mSelect Buffer)j 0f[ReadOnly "l0'"#hk',0i 0fsexit !^R MMAIL Return to Superior:! 0fsREADONLY :I*FO..QEditor Name[A:i..JA ]A 0f[topline0f[lines0f[refresh 0FO..QExit to Superior Hook[0q0"Nm0' f+0fsexit 0FO..QReturn from Superior Hooku0q0"Nm0']0 !^R MMAIL Yank:! :i*Messagem(m.m& Find Buffer)[0 .,(g:.b(q0+4) .)fsboundaries ff"N'"#4'[A 0FO..QMMail Prune Headers[P QP"NJ<:FB; 0l 5 5 8 '"#1L' '"#1L' >' JQA"Gw<.-z;WQA,32I1@l>wJ' .: J13I10I zj0,fszfsboundaries 1,m(m.m^R Kill Windows) m(m.m& MMAIL Send Setup) :,. !^R MMAIL Send Mail:! [00FO..QExit to Superior Hookf"nu0m0' 0f[topline0f[lines0f[refresh f+-1fsexit 0FO..QReturn from Superior Hookf"nu0m0']0 !^R MMAIL Dont Change Field:! [00FO..QExit to Superior Hookf"nu0m0' 0f[topline0f[lines0f[refresh f+-2fsexit 0FO..QReturn from Superior Hookf"nu0m0']0 !& MMAIL Default Setup:! !& MMAIL Message Setup:! 1,:m(m.m^R Kill Windows) !& MMAIL Send Setup:! 1,m(m.m^R Kill Windows) 0fo..qMMAIL Two Window Send Default"g m(m.mSelect Buffer)Headers jbfsWindow m(m.m& MMAIL Redisplay) 1[0:<1,0:fm%0> jq0,m(m.m^R Split Window)' m(m.mSelect Buffer)Reply !& MMAIL Reply Setup:! 1,m(m.m^R Kill Windows) 0fo..qMMAIL Two Window Reply Default"g m(m.mSelect Buffer)Message js .-bfsWindow m(m.m& MMAIL Redisplay) m(m.m^R Split Window)' m(m.mSelect Buffer)Reply !& MMAIL Dired Setup:!!MMAIL Dired:! 1,m(m.m^R Kill Windows) j0fo..qMMAIL Two Window Dired Default"g m(m.mSelect Buffer)Messagew m(m.m& MMAIL Redisplay) m(m.m^R Split Window)' m(m.mSelect Buffer)Dired m.m& MMAIL DIRED Enterf[^Renter [..J:I..J(MMAIL DIRED) 1f[readonly 0u..h !& MMAIL Redisplay:! fsHeight-(fsEchoLines)/2f[Lines @:i*|@vfs^RExit|f[^REnter !& MMAIL DIRED Enter:! 0F[^RENTER m.m& MMAIL DIRED Helpf[HelpMac M.M& MMAIL DIRED ..F[..FWQ..F[.F 1F[^RMDLYW0F[^RMCNT M.VMMAIL DIRED Dispatch [MMAIL DIRED Dispatch 13*5FSQVECTOR[0 Q0UMMAIL DIRED Dispatch -1[1 M.M& MMAIL DIRED DeleteU:0(%1) M.M& MMAIL DIRED DeleteU:0(%1) M.M& MMAIL DIRED UndeleteU:0(%1) M.M& MMAIL DIRED Reverse UndeleteU:0(%1) FS^RINITU:0(%1) M.M& MMAIL DIRED MarkU:0(%1) M.M& MMAIL DIRED FlagU:0(%1) M.M& MMAIL DIRED ReplyU:0(%1) M.M& MMAIL DIRED ExamineU:0(%1) M.M& MMAIL DIRED TypeU:0(%1) M.M& MMAIL DIRED HelpU:0(%1) M.M& MMAIL DIRED QuitU:0(%1) M.M& MMAIL DIRED QuitU:0(%1) ]1]00 !& MMAIL DIRED ..F:! FS^RMODE"E' [0[1[20^V <2,M.I^:FI:FCU0 Q0FDKU MFRET?QXU1 Q0-200.FDKF"GU1' Q1+1"GFI FS^RARGP&2"N FS^RARG'"#1'U2 FS^REXPT<Q2*4U2> FS^RARGP"NQ2'^M:MMAIL DIRED Dispatch(Q1)( 0FS^RARGPW0FS^RARGW0FS^REXPTW -1FS^RPREVW )^V!<!>' ^:FIU0Q0&177.-137."GQ0-40.U0' Q0^FS^RCMAC-(32FS^RINIT)"E FGFI!<!>' 0;>0 !& MMAIL DIRED Delete:! 500.+4,m(m.m& MMAIL DIRED Mark Subr)D !& MMAIL DIRED Undelete:! 600.+4,m(m.m& MMAIL DIRED Mark Subr)D !& MMAIL DIRED Mark:! 1,m(m.m& MMAIL DIRED Mark Subr)U !& MMAIL DIRED Flag:! 2,m(m.m& MMAIL DIRED Mark Subr)F !& MMAIL DIRED Reverse Undelete:! -l1m(m.m& MMAIL DIRED Undelete)(-l) !& MMAIL DIRED Mark Subr:! 0l"gz-'."efg1' 0f[readonly :i*[0 "l.;-l'&77.c &300.f"n&100."n1a-32"ef0''"#1a-32"nf ''' "#w1a-32"ef0'"#f '' "gl'> &400."e-l'"#-'f !& MMAIL DIRED Help:! m(m.mdescribe)MMAIL DIRED !& MMAIL DIRED Type:! 0l.[0@fNRUFAD l\( qCurrent Window[C 1:<m(m.m^R Goto Window)>"n0uC' )+777774777777.fsExit 0fsPJATY "eht' "#0[..FQ..F[.F qEditor Name[1[..J:i..J[1 ] j' qC"g1:<qCm(m.m^R Goto Window)>' m(m.mSelect Buffer)Dired 0f[ReadOnly q0j1a-N"efR'2a-32"n.+1f ' !& MMAIL DIRED Quit:! :M(M.M^R MMAIL Return to Superior) !& MMAIL DIRED Reply:! 0l.[0@fNRUFAD l \+777773777777.fsexit !& MMAIL DIRED Examine:! 1,:m(m.m& MMAIL DIRED Type) !~DOC~ ~Filename~:! Macros for MM - EMACS interface !~DOC~ & Setup MMAIL Library:! S Set up MMAIL commands. C-M-Y is yank in current msg, C-X C-Q is don't change field (abort), and C-X C-S is send mail if q$MMAIL C-X C-S Send$ nonzero. But, if q$MMAIL Setup hook non-zero, runs it instead. !~DOC~ & MMAIL ..L:! S ..L for MMAIL. Gets what we are doing from the JCL !~DOC~ & MMAIL FS Superior:! S FS Superior for MMAIL. Gets the name of the buffer to select from the JCL as well as making room !~DOC~ ^R MMAIL Return to Superior:! ^R Return to MM and update field being editted !~DOC~ ^R MMAIL Yank:! ^R Insert the current message (one being replied to) Indents arg spaces (default 4). Leaves point and mark around inserted text. If the variable MMAIL PRUNE HEADERS is nonzero, a cleanup of the headers is performed leaving only the Date, From, and Subject fields. !~DOC~ ^R MMAIL Send Mail:! ^R Pass contents of the buffer to superior to send. !~DOC~ ^R MMAIL Dont Change Field:! ^R exit and tell MM not to make the edit change !~DOC~ & MMAIL Default Setup:! S Nothing special. !~DOC~ & MMAIL Message Setup:! S Prepare for editting an existing message. !~DOC~ & MMAIL Send Setup:! S Prepare for editting a message in send mode. !~DOC~ & MMAIL Reply Setup:! S Prepare for editting a message in reply mode. !~DOC~ & MMAIL Dired Setup:! !~DOC~ MMAIL Dired:! C Edit the message headers Enters ^R mode with the list in the buffer. D deletes the message which is on the current line. (also K,^D,^K) U undeletes the current line message. Rubout undeletes the previous line message. Space is like ^N - moves down a line. M toggles the unseen (marked) bit. F toggles the flag bit. R replies to the current line message. T types the message. E edit the message in a recursive ^R. ? types this cruft. Q or X exits The D,U commands repeat if given an argument, backwards if negative. !~DOC~ & MMAIL Redisplay:! S Fool redisplay for multiple windows !~DOC~ & MMAIL DIRED Enter:! S FS ^R ENTER for DIRED. Puts & MMAIL DIRED ..F into ..F so that this ^R becomes a DIRED command loop. !~DOC~ & MMAIL DIRED ..F:! S ..F macro to make ^R understand DIRED commands. It reads DIRED commands and executes them. When a control- or meta- character is typed, it is left for ^R to execute. !~DOC~ & MMAIL DIRED Delete:! S Delete current file. !~DOC~ & MMAIL DIRED Undelete:! S Delete current file. !~DOC~ & MMAIL DIRED Mark:! S Delete current file. !~DOC~ & MMAIL DIRED Flag:! S Delete current file. !~DOC~ & MMAIL DIRED Reverse Undelete:! S Move up one line and undo a D. !~DOC~ & MMAIL DIRED Mark Subr:! S Pre-comma is position. !~DOC~ & MMAIL DIRED Help:! S Type our help msg. !~DOC~ & MMAIL DIRED Type:! S Type out this message. !~DOC~ & MMAIL DIRED Quit:! S Exit from DIRED. !~DOC~ & MMAIL DIRED Reply:! S Reply to current message. !~DOC~ & MMAIL DIRED Examine:! S ... !~DIRECTORY~:! & Setup MMAIL Library & MMAIL ..L & MMAIL FS Superior ^R MMAIL Return to Superior ^R MMAIL Yank ^R MMAIL Send Mail ^R MMAIL Dont Change Field & MMAIL Default Setup & MMAIL Message Setup & MMAIL Send Setup & MMAIL Reply Setup & MMAIL Dired Setup MMAIL Dired & MMAIL Redisplay & MMAIL DIRED Enter & MMAIL DIRED ..F & MMAIL DIRED Delete & MMAIL DIRED Undelete & MMAIL DIRED Mark & MMAIL DIRED Flag & MMAIL DIRED Reverse Undelete & MMAIL DIRED Mark Subr & MMAIL DIRED Help & MMAIL DIRED Type & MMAIL DIRED Quit & MMAIL DIRED Reply & MMAIL DIRED Examine