Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/complain.emacs
There are no other files named complain.emacs in the archive.
!*-*-teco-*- IVORY compressor!
!* [BBNG]PS:<EMACS.NEW>COMPLAIN.EMACS.3,  1-Jan-83 03:33:52, Edit by FHSU!
!~filename~:! !For sending mail to last editer of a file!
COMPLAIN
!Bitch at Last Editer of This File:! !C ... just that.
Look for a Date Edit line at beginning of file, then set up Babyl
mail sending template with last editer as primary recipient.!

[0[1[2[3[4
1u4					!* 4: no edit header yet!
.( j l -:s-*-"n 2l'			!* skip over mode line!
   -:sEd: Edit by Edit by: "e	!* look for an edit line!
       @ft
No Date Edit line found. 0fsechoac'"#
   fkc
   0u4					!* say edit header found!
   .u0					!* save beginning of name!
   :l					!* to end of name, maybe host!
   qComment Endf"nu1
    .,q0:fb1w' 			!* back up over comment end!
   q0,.fx1				!* 1: user name, maybe host!
   0l qComment Startf"nu2
    .,q0:fb2w'			!* past comment starter!
   .u0 s, r q0,.fx3			!* 3: file name!
   :l .u0 0l				!* set bounds for search!
   .,q0:fb["n				!* 2: 0 or host name!
     .u2 .,q0:fb]"e :i* Unmatched parens in edit line fg '
     q2,.-1fx2'			!* get host name, BBN style!
     "# 0u2'
   'w)j					!* leave point untouched!

q4"n '				!* nothing more to do!

   1,m.m& Mail Messagef"nu4'"#		!* see if a mail sender library!
					!* is loaded already!
     m(m.mLoad Library)BABYLM		!* if not, load one!
     m.m& Mail Messageu4'w		!* need to load to get right setup!
   m(m.m& My Push to Buffer)*Mail*	!* select right buffer for babylm!
   j iTo:  g1 q2"n i@ g2' i
Re:  g3 i
 gBabyl Header/Text Separator i
 1m4					!* continue editing!
   
!& My Push To Buffer:! !S Push-select buffer STRARG.
When caller returns, the original buffer will be re-selected.!
!* Minor assumption: caller cant use a STRARG with ^]..N (heh heh...)!
!* this taken from Babyl proper but renamed so wont conflict!

 [Previous Buffer			!* save previous buffer!
 qBuffer Name[0			!* 0: Original buffer name.!
 @:i*|m(m.mSelect Buffer)0|(]0)[..n	!* Make cleanup handler that will!
					!* select back to the original buffer.!
					!* Pop Q0 since not needed any more.!
 m(m.mSelect Buffer)		!* Select the buffer that caller wants!
 ff&1"e				!* numarg: dont clear this buffer.!
   0j					!* beginning of buffer!
   b,zdw'				!* get rid of last times!
 0fsModifiedw 0fsXModifiedw		!* but say not modified!
 :					!* Exit without popping ..N etc. so!
					!* that when caller returns, we!
					!* select back.!
!* local modes:
 * compile command: m(m.m1Generate)
 * end:
 *!