x [0+8+FQ(+4)[1 0FO10F"G+Q1 'W+FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) H/SaY`IW7EO]  +Yt"c e]*b*)r) **E%%&&&I&]&&'l'v&&&z'/GY<U}*7*cULUt{+i+o& Setup VMAIL Library}1,m(m.m& Get Library Pointer)KMPTIME"e m(m.mLoad library)EMACS;TIME :EJ' 0M.VVMAIL Peruse Mode f[DFILE fshsname:f6[1 fsxuname:f6[2 etDSK: 1; 2 XMAIL FSDFILEM.VVMAIL ^O Default Filename FSDFILEM.VVMAIL ^O File Default 0 0& VMAILVMAIL^R VMail~ :i*[2 fF[0 [1 q0&2"n1M.VVMAIL Standalone Job' "#0M.VVMAIL Standalone Job' q0&1"n q1&8*(fsrgetty)"e q1&2"n M(M.MRun Library)KMP;:EJ APNEWSAP News q1&4"n'''' :i*VMAIL [..J :i*VMAIL[Editor Name M.VVMAIL Message Number M.VVMAIL Number of Messages M.VMM # RMAIL ; M.VMM # RMAIL \ M.VMM # RMAIL ? M.VMM # RMAIL ^A M.VMM # RMAIL ^F M.VMM # RMAIL ^I M.VMM # RMAIL ^K M.VMM # RMAIL ^O M.VMM # RMAIL ^Q M.VMM # RMAIL ^X M.VMM & Set Mode Line M.M# VMail ?[MM # RMAIL ? M.M# VMail ;[MM # RMAIL ; M.M# VMail \[MM # RMAIL \ M.M# VMAIL ^A[MM # RMAIL ^A M.M# VMAIL ^F[MM # RMAIL ^F M.M# VMAIL ^I[MM # RMAIL ^I M.M# VMAIL ^K[MM # RMAIL ^K M.M# VMAIL ^O[MM # RMAIL ^O M.M# VMAIL ^Q[MM # RMAIL ^Q M.M# VMAIL ^X[MM # RMAIL ^X M.M& VMail Fancy Mode Line[MM & Set Mode Line :I*f=..j(-1"g0' [..J:I..J[..j ^R]0:F[^REnter :I*M(M.M& Set Mode Line)0F[^RDisplay :i*Cfsechodisplayout 0fsechoactive 0fo..QVMAIL ^X Break"n @ftReturning to previous VMAIL invocation 0uVMAIL ^X Break M(M.MRun Library)RMAILRMAIL' "# 0M.VVMAIL ^X Break fq2:"g 0[VMAIL Peruse Mode M(M.MRun Library)TMACSSRMAIL' "# q2[VMAIL Peruse Mode M(M.MRun Library)RMAILRMAIL2''& VMail Fancy Mode LineM(M.M& VMAIL Find Message Number) [9[8 M(M.M& Get Current Time)[6 qVMAIL Peruse Mode[5 q5"e:i5' "#:i5 5 ' :I*[7 QModeu8 "N:I8Q8UMode 0FO..Q8 Mode Hooku9 Q9"NM9'' 0,5:g..J[0F~0VMAIL"n0' 0,10:g..Ju0F~0VMAIL-Shhh"e:i8Shhh' fsz"e :i..JVMAIL 6 (8 Mode) [No Messages]5 0' z-b-2"e j((1a-13)(2a-10))"e :i7 (No Text)'' fsvz"e fsvb"n (fsz-12)"e 0f[vb 0,10f=*APPEND* "e :i..JVMAIL 6 (8 Mode) [No Messages]5 0' f]vb' [0 qVMAIL Number of Messages:\u0 :i..JVMAIL 6 (8 Mode) [0 Messages - End of File]5 ]0 0'' ((fsvb)(fsvz))"e :i..JVMAIL 6 (8 Mode) [Viewing whole file7]5 0' .[1fnq1j[vb0f[vz qVMAIL Message Number[2 q2:\u2 [0 qVMAIL Number of messages:\u0 :i..JVMAIL 6 (8 Mode) [Message 2 of 07]5 ]0 q1j 0'& Mail Headerp[0[1[2 0l.u0:l.u2q0j <1:q2-.:"gq0j0' -1,1a--"n0;'> (-1,1a-:)*(-1,1a-@)"eq0j1' .u0-fwlr.,q0x1 f~1[MESSAGE"eq0j-1' q0j0'Fill Indented[0[1[2[3[4[5 m.m^R Back to Indentationu2 m.m^R Delete Horizontal Spaceu3 m.m& Mail Headerpu4 0l.u0 q0f(:\u0fn0jw)u0 zjfsshpos"n13i10i'q0j <.-z; <<.-z;m4@;l> .-z; (-1,1a-)*(-1,1a- ):@;l> @m2 fsshposu1 @m3 -l@M(M.M^R Set/Pop Mark) fswidth-2-q1[Fill Column lm(m.m^R Fill Region) ]Fill Column z-.u5 q1@M(M.M^R Indent Rigidly) z-q5j > q0j <:s:: Re: ; [1 .u1:lfsshpos-(fswidth)+2"g q1j -4d.(:l),.fx1 15.i12.iiSubject: g1 -lm2fsshpos(l)' ]1 > q0,z# VMAIL ?M.M~DOC~ # VMAIL ?T1  # VMAIL ^A(fsvb)(fsvz)"e :i*VWF Viewing Whole Filefserr0' 0,fszfsbound -:s:"l :i*NPM No Previous Messagefserr0' d@M(M.M& RMAIL Select Message)# VMAIL ^F[1[2 :i*Cfsechodisplayout 1,mm& Read LineForward to: u1 fq1:"g0' FF"N 1,mm& Read LineSubject: u2 fq2:"g:i2Forwarded Mail'' "#:i2Forwarded Mail' f[modified 1f[noquit jiTo: 1 Subject: 2 --Text follows this line--  .u2 @M(M.M^R Set/Pop Mark) ZJ4@M(M.M^R Indent Rigidly) M(M.M& Mail Buffer) -4@M(M.M^R Indent Rigidly) 0,q2KJ :i*CSent to 1 fsechodisplayout0fsechoactive 0# VMAIL ^Ij <:s ; rd fshpos[0 i q0r > j <:s;2r2d> j <:s ; ri  > j <:s;rd !* Beep <* !>!> j# VMAIL ^KxFF"n :i*NSF Not so fast. Kill one message at a timefserr0' ((fsbound)-(0,fsz))[0[1 (q0q1)"e :i*KWF Kill Whole Filefserr0' hk 0,fszfsbound d qVMAIL Number of Messages-1uVMAIL Number of Messages @M(M.M# RMAIL .) # VMAIL ^Qt1:"n m(m.mLoad library)Z;QSEND' @m(m.m^R QSEND) 0M(M.MAuto Fill) # VMAIL ^X1M.VVMAIL ^X Break qVMAIL Standalone Job"n100000.fsexitw0' "#2F;RMAIL-CATCH'# VMAIL ^OFF"e :I*FO..QVMAIL ^O DEFAULTS[0 qVMAIL ^O Default Filename[9 FTDefaults for output... [Arg= 0] 90 -----   0' [0[1[2 ((fsbound)-(0,fsz))u0u1 (q0q1)"e :i*OWF Output Whole Filefserr0' :\u0 0FO..QVMAIL ^O FILE DEFAULT 0u1 q1"e QVMAIL ^O Default Filenameu2 Q2F[DFILE 1,M(M.M& Read Line)[Default 0] Append Message to (2): u2 FQ2"L' ET2FSDFILE[4 :I*FO..QVMAIL ^O DEFAULTS[5 :I*5 [Arg= 0] 4M.VVMAIL ^O DEFAULTS ]5]4 FSDFILEM.VVMAIL ^O FILE DEFAULT 0' "# :i*C[Appending message to 1]fsechodisplayout0fsechoactive Q1F[DFILE' E[E\ FNE^E] Q..O[1F[BBIND e?"e er 1:<@a>"n !"!:i*CYF Can't Yank old File to append tofserr'' J1F=*APPEND* "EZJ' G1I .-Z"N.-(./5*5),32I' EIHPEF fsdfile[1 :i*AWritten: 1 Afsechodisplayout0fsechoactive # VMAIL ;[..J :I..JRMAIL-Shhh M(M.M& Set Mode Line) M(M.M& Read Line);U3 ]..J M(M.M& Set Mode Line) # VMAIL \JL m(m.mFill Indented) m(m.m# RMAIL .)& VMAIL Find Message Number0F[vb0f[vz .[1Q1F(:\U1FN1J)U1[2 1u2j<:s;q1-.:;%2> q2uVMAIL Message Number <:s;%2> q2uVMAIL Number of Messages ~Filename~VMAIL~DOC~ ~Filename~Macros for KMP's version of RMail ~DOC~ & Setup VMAIL LibraryS Setup our winning stuff ~DOC~ & VMAIL~DOC~ VMAIL~DOC~ ^R VMail^R VMAIL - A souped up version of RMAIL ~DOC~ & VMail Fancy Mode LineS Fancy modeline for VMail with message numbers ~DOC~ & Mail HeaderpS Check for mail headerness. Return 0 if not mail-related, 1 if a mail header, -1 if send header ~DOC~ Fill IndentedS Remove text overflow from lines by clever reformatting. ~DOC~ # VMAIL ?S This is a list of options for this RMAIL. All commands to RMail are single characters, optionally preceded by a numeric argument. Reading/Briefing A Move to next message and Brief (same as ";NB"). B Prints a brief summary of message(s). T Type out message (Needed on printing terminals.) W Widens window to view all messages at once. . Moves to the first screenful of current message. Moves to the next screenful of long message. Moves to the previous screenful. ^L Redisplays screen. Message selection F Find a message with a given text string in it. (Reads a string from the tty, terminated by .) J Jump to the Nth message (default is #1). L Lists 1st 100 chars of all messages, lets user move to a different message using ^R mode. N,Linefeed Moves to next message. P Moves to previous message. Message manipulation D Delete message, move to next. ^D Delete a message, move to previous. U Undelete (restore) last deleted message. ^A Append current message to previous message. ^K Kill message (Message cannot be undeleted). Mail/Send Commands M Send mail to other user(s). R Send mail replying to sender current message. C-M-Y yanks current message text into buffer. Saying 1R instead of R, replies to all recipients. C Re-enter mail (M or R) without clobbering what was there. (For use after accidental exit with ^G). ^Q Send a message to logged in user. ^F Forward current message to another user. Reads user name terminated by a . File manipulation G Rewrites file, and gobbles any new mail. O Adds message to file - reads file name. Message remains in RMAIL. ^O Like O except takes a numeric arg and remembers a different default for each arg. With no arg, lists current defaults. Edit commands X Run an MM command string on message. (Like EMACS M-X). S Rewrites file but does not exit. ^R Enters ^R mode. Altmode returns to option mode. Executes one TECO command string via the minibuffer. Message Format commands \ Reformat message cleaning up line overflows. Fix up current message turning stray control chars into what they were meant to be (eg, ^H=Rubout, ^J=Linefeed...) Exit commands I Rewrites file, and reads a new RMAIL file. Q Exits, rewriting file. ^X If in EMACS, running MM RMAIL, exits temporarily. Next MM VMAIL finds state unchanged. ^C,^Z Return to DDT temporarily. Other commands K "Summarize-and-kill mode". (D deletes, P previous, N or Space next, ? gives help; anything else exits and is re-read as a normal RMAIL command) ; Reads rest of line and executes without redisplay. Argument to next command (usually allow repetition) Z Sets arg to largest possible value for that command. ?,^_H Prints this text. For more help, run INFO. ~DOC~ # VMAIL ^AS Append current message to previous ~DOC~ # VMAIL ^FS Forward current message to another user. ~DOC~ # VMAIL ^IS Reformat text in current message ~DOC~ # VMAIL ^KS Kill current message ~DOC~ # VMAIL ^QS RMail hack to call RWKs QSend Macro ~DOC~ # VMAIL ^XS Temporarily exit from VMail if possible If running MM VMail then exit without filing out. Later entrance finds state exactly as left. If running an RMAIL job then abort exit to avoid killing job ~DOC~ # VMAIL ^OxS Output to a specified XMAIL file With no numeric arg, lists the current defaults. With a numeric arg, will output to the default filename associated with that arg. If no such default exists, it will be read from the tty and remember for the rest of the invocation of the RMAIL. Q$VMail ^O File Default N$ holds the default for a given arg (N = arg) Q$VMail ^O Default Filename$ holds the default creation filename for each arg Q$VMail ^O Defaults$ holds info about the defaults ~DOC~ # VMAIL ;S Accumulate a line, then execute it with no display. ~DOC~ # VMAIL \S Get rid of ugly overflowing lines ~DOC~ & VMAIL Find Message NumberS Count messages and update message number ~DIRECTORY~& Setup VMAIL Library & VMAIL VMAIL ^R VMail & VMail Fancy Mode Line & Mail Headerp Fill Indented # VMAIL ? # VMAIL ^A # VMAIL ^F # VMAIL ^I # VMAIL ^K # VMAIL ^Q # VMAIL ^X # VMAIL ^O # VMAIL ; # VMAIL \ & VMAIL Find Message Number ~INVERT~[1Q1