$ od -c -N 50000 [phylum]<LISPUSERS>koto>MTP.TEDIT!2 0000000 X E R O X \t M T P \r 2 \r \r 4 \r \r 0000020 1 \r \r M T P \r 1 \r \r 4 \r \r B y : 0000040 D o u g C u t t i n g ( 0000060 D O U G @ C S L I . S T A N F O 0000100 R D . E D U ) \r U s e s : L A 0000120 F I T E \r I n t e r n a l \r I 0000140 N T R O D U C T I O N \r T h i s 0000160 p a c a k g e i m p l e m e 0000200 n t s t h e P U P p r o t 0000220 o c o l M T P ( M a i l T 0000240 r a n s f e r P r o t o c o l 0000260 ) a s a L a f i t e m o 0000300 d e . \r T o u s e M T P , 0000320 a f t e r l o a d i n g t h 0000340 e f i l e , g i v e t h e 0000360 c o m m a n d L A F I T E M 0000400 O D E ( M T P ) . \r M T P d i 0000420 f f e r s f r o m o t h e r 0000440 L a f i t e m o d e s i n 0000460 t h a t t h e p r o t o c 0000500 o l i s n o t w o r k s t 0000520 a t i o n o r i e n t e d . 0000540 M T P m u s t b e t o 0000560 l d t h e n a m e o f t 0000600 h e h o s t w h i c h t 0000620 h e u s e r w i s h e s 0000640 t o r e a d m a i l o n 0000660 a n d s e n d m a i l v i 0000700 a . I n t h i s r e s p 0000720 e c t u s i n g M T P i s 0000740 e q u i v a l e n t t o c 0000760 h a t t i n g t o t h a t 0001000 h o s t a n d r e a d i n g 0001020 / s e n d i n g m a i l . \r M 0001040 T P . S E R V E R \t [ V a r i a 0001060 b l e ] \r S h o u l d b e s 0001100 e t t o t h e n a m e o 0001120 f a P U P h o s t r u n 0001140 n i n g a n M T P s e r v 0001160 e r . M T P w i l l l o 0001200 o k h e r e f o r n e w 0001220 m a i l f o r t h e l o g 0001240 g e d i n u s e r a n d 0001260 d e l i v e r m a i l v i a 0001300 t h i s h o s t . \r F I L L 0001320 I N G \r T E d i t o n l y r 0001340 e q u i r e s e n d - o f - l 0001360 i n e c h a r a c t e r s a 0001400 t t h e e n d o f p a r 0001420 a g r a p h s , w h i c h w 0001440 o r k s f i n e w i t h i n 0001460 I n t e r l i s p , b u t 0001500 i s i n c o m p a t a b l e 0001520 w i t h m o s t o t h e r 0001540 s y s t e m s . T h u s o 0001560 n e ' s m a i l t o n o n 0001600 - L a f i t e - u s e r s i s 0001620 l i k e l y t o r u n o 0001640 f f t h e e d g e o f i 0001660 t ' s r e c i p i e n t s ' 0001700 s c r e e n . T o f i x 0001720 t h i s M T P p r o v i d e 0001740 s a f i l l i n g o p t i 0001760 o n . \r M T P . F I L L M S G F 0002000 L G \t [ V a r i a b l e ] \r D e 0002020 t e r m i n e s w h e t h e r 0002040 t h e t e x t o f m e s 0002060 s a g e s w i l l b e f i 0002100 l l e d p r i o r t o d e 0002120 l i v e r y . A c c e p t e 0002140 d v a l u e s a r e A L W 0002160 A Y S , A S K o r N E V E 0002200 R . I n i t i a l l y A S 0002220 K . \r M T P . L I N E L E N G T 0002240 H \t [ V a r i a b l e ] \r D e t 0002260 e r m i n e s t h e c o l u 0002300 m n a t w h i c h a n e 0002320 n d - o f - l i n e c h a r a 0002340 c t e r w i l l b e i n s 0002360 e r t e d a t o r b e f o 0002400 r e . I n i n i a l l y 7 0002420 0 . \r M T P . R I G H T M A R G 0002440 I N W I D T H \t [ V a r i a b l 0002460 e ] \r D e t e r m i n e s h o 0002500 w m a n y c o l u m n s a 0002520 f t e r M T P . L I N E L E N 0002540 G T H a l i n e c a n e 0002560 x t e n d b e f o r e i t 0002600 w i l l b e b r o k e n . 0002620 I n i t i a l l y 1 0 . 0002640 T h i s v a r i a b l e ' s 0002660 p u r p o s e s h o u l d b 0002700 e c o m e a p p a r e n t b 0002720 e l o w . \r A n s w e r I n s 0002740 e r t i o n \r W h e n a n s w 0002760 e r i n g a m e s s a g e 0003000 M T P p r o v i d e s t h e 0003020 o p t i o n o f i n s e r 0003040 t i n g t h e t e x t o f 0003060 t h a t m e s s a g e i n 0003100 t o t h e r e s p o n s e 0003120 f o r m . \r M T P . I N S E R T 0003140 A N S W E R F L G \t [ V a r i a 0003160 b l e ] \r I f n o n - N I L 0003200 t h e u s e r w i l l b e 0003220 a s k e d w h e t h e r m 0003240 e s s a g e i n s e r t i o n 0003260 i s d e s i r e d u p o n 0003300 g i v i n g t h e A n s w 0003320 e r c o m m a n d . I n i 0003340 t i a l l y T . \r M T P . I N 0003360 S E R T A N S W E R N S P A C E 0003400 S \t [ V a r i a b l e ] \r D e t 0003420 e r m i n e s h o w m a n y 0003440 s p a c e s t h e t e x t 0003460 o f t h e i n s e r t e d 0003500 m e s s a g e w i l l b e 0003520 i n d e n t e d . I n i t 0003540 i a l l y 3 . \r I f M T P . 0003560 I N S E R T A N S W E R N S P A 0003600 C E S i s n o n - z e r o , 0003620 i n s e r t e d m e s s a g 0003640 e s a r e l i k e l y t o 0003660 e x t e n d p a s t t h e 0003700 m a r g i n d e t e r m i n 0003720 e d b y M T P . L I N E L E 0003740 N G T H . W e r e n o t 0003760 M T P . R I G H T M A R G I N W 0004000 I D T H p r o v i d e d , t 0004020 h e i n s e r t e d m e s s 0004040 a g e w o u l d b e c l i 0004060 p p e d u p o n d e l i v e 0004100 r y . O n e m i s - f e a 0004120 t u r e o f t h i s s c h 0004140 e m e i s t h a t t h e 0004160 f i n a l l i n e s o f T 0004200 E d i t p a r a g r a p h s 0004220 a r e a l l o w e d t o e 0004240 x t e n d l o n g e r t h a 0004260 n t h e p r e c e d i n g 0004300 l i n e s . W i t h t h e 0004320 d e f a u l t s e t t i n g 0004340 s , t h i s w i l l b e 0004360 a p p a r e n t o n o n e 0004400 i n s e v e n p a r a g r a 0004420 p h s . \r C A V E A T S \r 377 377 \0 0004440 357 f \0 \0 377 \0 I h a v e n 0004460 o t t e s t e d t h i s w 0004500 / o t h e r t h a n t h e 0004520 S t a n f o r d P U P m t 0004540 p s e r ( J a n u a r y ' 8 0004560 5 r e l e a s e ) r u n n i 0004600 n g i n 4 . 2 B S D U N 0004620 I X . H i n t w / t h i 0004640 s s e r v e r : I f y o 0004660 u g e t b r e a k s u p o 0004700 n f e t c h i n g m a i l 0004720 i t i s l i k l y t h a t 0004740 t h e s e r v e r d o e s 0004760 n o t h a v e a c c e s s 0005000 t o y o u r m a i l b o x 0005020 . m t p s e r s e t s u 0005040 i d t o d a e m o n , s o 0005060 e i t h e r d a e m o n m 0005100 u s t b e a b l e t o r 0005120 e a d & w r i t e f i l e 0005140 s o n / u s r / s p o o l / 0005160 m a i l , o r t h e s e t 0005200 u i d m u s t b e c o m m 0005220 e n t e d o u t o f m s 0005240 p s e r . c . \r 377 377 \0 357 f 377 \0 0005260 T E d i t f o r m a t t i n 0005300 g i n m e s s a g e s i s 0005320 n o t s u p p o r t e d . 0005340 I c o u l d n o t g e t 0005360 t h e U N I X m a i l e r 0005400 t o s e n d a b i n a r 0005420 y m e s s a g e . \r 377 377 \0 357 f 0005440 377 \0 O u t g o i n g a d d 0005460 r e s s e s a r e n o t c 0005500 h e c k e d a t a l l . 0005520 W e d e p e n d o n t h e 0005540 s e r v e r t o m a i l 0005560 b a c k e r r o r m e s s a 0005600 g e s . \r \0 \0 \0 \0 \0 003 ( L I S T 0005620 ( ( P A G E N I L ( F O L 0005640 I O I N F O ( A R A B I C ) 0005660 S T A R T I N G P A G E # 1 ) 0005700 ( 0 0 1 1 4 4 1 4 3 0 ) 0005720 ( ( F O L I O N I L ( P A 0005740 R A L O O K S ( Q U A D C E 0005760 N T E R E D ) C H A R L O O K 0006000 S ( S U P E R S C R I P T 0 0006020 S I Z E 1 2 F A M I L Y 0006040 M O D E R N O V E R L I N E 0006060 O F F S T R I K E O U T O F 0006100 F U N D E R L I N E O F F 0006120 S L O P E R E G U L A R W E 0006140 I G H T M E D I U M ) F O R 0006160 M A T I N F O ( A R A B I C ) 0006200 ) ( 2 5 6 4 4 4 4 0 4 4 0006220 ) N I L ) ( H E A D I N G 0006240 N I L ( H E A D I N G T Y P E 0006260 R U N N I N G H E A D ) ( 1 0006300 2 4 1 3 5 0 6 7 4 4 4 ) 0006320 N I L ) ( T E X T N I L N 0006340 I L ( 1 2 4 1 4 0 7 1 0 0006360 1 1 3 0 ) N I L ) ) ) ( P A 0006400 G E N I L N I L ( 0 0 0006420 1 1 4 4 1 4 3 0 ) ( ( F O L 0006440 I O N I L ( P A R A L O O K 0006460 S ( Q U A D C E N T E R E D 0006500 ) C H A R L O O K S ( S U P 0006520 E R S C R I P T 0 S I Z E 0006540 1 2 F A M I L Y M O D E R N 0006560 O V E R L I N E O F F S T 0006600 R I K E O U T O F F U N D E 0006620 R L I N E O F F S L O P E 0006640 R E G U L A R W E I G H T M 0006660 E D I U M ) ) ( 4 3 2 5 2 0006700 1 1 0 4 4 ) N I L ) ( H E 0006720 A D I N G N I L ( H E A D I 0006740 N G T Y P E R U N N I N G H E 0006760 A D ) ( 1 2 4 1 3 5 0 6 7 0007000 4 4 4 ) N I L ) ( T E X T 0007020 N I L N I L ( 1 2 4 1 4 0007040 0 7 1 0 1 1 3 0 ) N I L ) 0007060 ) ) ( P A G E N I L N I L 0007100 ( 0 0 1 1 4 4 1 4 3 0 ) 0007120 ( ( F O L I O N I L ( P A 0007140 R A L O O K S ( Q U A D C E 0007160 N T E R E D ) C H A R L O O K 0007200 S ( S U P E R S C R I P T 0 0007220 S I Z E 1 2 F A M I L Y 0007240 M O D E R N O V E R L I N E 0007260 O F F S T R I K E O U T O F 0007300 F U N D E R L I N E O F F 0007320 S L O P E R E G U L A R W E 0007340 I G H T M E D I U M ) ) ( 4 0007360 3 2 5 2 1 1 0 4 4 ) N I 0007400 L ) ( H E A D I N G N I L 0007420 ( H E A D I N G T Y P E R U N 0007440 N I N G H E A D ) ( 1 2 4 1 0007460 3 5 0 6 7 4 4 4 ) N I L ) 0007500 ( T E X T N I L N I L ( 0007520 1 2 4 1 4 0 7 1 0 1 1 3 0 0007540 ) N I L ) ) ) ) ) \0 \0 \0 \0 \0 005 0007560 \0 006 \0 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 \0 004 0007600 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 \0 \0 \0 0007640 001 310 \0 \v \0 \0 \0 004 003 004 \0 \0 002 \0 \0 001 0007660 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 0007720 212 001 8 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 0007740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0007760 \0 \0 \0 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 0010000 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 0010040 212 001 8 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 0010060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010100 \0 \0 \0 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 0010120 \0 003 004 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 0010140 \v P A G E H E A D I N G \0 \v R U 0010160 N N I N G H E A D \0 \0 \0 \0 \0 \0 \0 0010200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 006 \0 0010220 027 \0 \t H E L V E T I C A \0 \n \0 \0 0010240 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O D E R N 0010260 \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O 0010300 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 0010320 \0 006 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 0010340 002 \0 \0 024 \0 006 M O D E R N \0 006 \0 \0 0010360 \0 \0 \0 \0 \0 \0 \0 022 \0 004 L O G O \0 030 0010400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 006 0010420 \0 \0 \0 005 \0 \0 \0 \0 006 \0 \0 \0 001 \0 \0 \0 0010440 \0 005 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0010460 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L E 0010500 . G E T F N 001 \0 024 \0 006 M O D E R 0010520 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0010540 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 0010560 \0 001 \0 \v H R U L E . G E T F N 001 0010600 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0010620 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0010640 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U 0010660 L E . G E T F N 001 \0 024 \0 006 M O D 0010700 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0010720 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0010740 \0 004 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 0010760 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0011000 F N 001 \0 024 \0 006 M O D E R N \0 \f \0 0011020 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0011040 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v 0011060 H R U L E . G E T F N 001 \0 024 \0 006 0011100 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 0011120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0011140 001 \0 \0 \0 + \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0011160 \0 001 \0 \0 \0 \r \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0011200 002 \0 001 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 \0 0011220 \0 002 \0 004 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 0011240 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0011260 \0 X \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 0011300 \0 \0 F \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 0011320 \0 \0 001 025 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0011340 002 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 001 \0 \0 0011360 \0 \0 001 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 \0 0011400 \0 002 \0 004 \0 \0 \0 227 \0 \0 \0 \0 003 \0 \0 \0 0011420 \0 \0 002 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 0011440 \0 \0 \0 002 \0 004 \0 \0 001 \0 \0 \0 \0 003 \0 0011460 \0 \0 \0 \0 002 \0 002 \0 \0 \0 032 \0 \0 \0 \0 003 0011500 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 205 \0 \0 \0 \0 0011520 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 032 \0 \0 \0 0011540 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 f \0 \0 0011560 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \0 0011600 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 243 0011620 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0011640 021 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0011660 \0 o \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 0011700 \0 \0 037 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 0011720 \0 \0 \0 u \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0011740 002 \0 \0 \0 # \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0011760 \0 002 \0 \0 \0 \ \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0012000 002 \0 002 \0 \0 001 254 \0 \0 \0 \0 003 \0 \0 \0 \0 0012020 \0 002 \0 002 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 0012040 \0 \0 002 \0 002 \0 \0 \0 \t \0 \0 002 \0 003 \0 \0 0012060 001 202 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 0012100 \0 \0 005 \0 \0 002 \0 003 \0 \0 \0 n \0 \0 \0 \0 0012120 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 005 \0 \0 002 0012140 \0 003 \0 \0 \0 e \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0012160 002 \0 002 \0 \0 \v 205 \0 U z 272 0012173