$ od -c -N 50000 [phylum]<LISP>Lyric>Lispusers>IRM>CHAPUSERIO.TEDIT!1 0000000 C o p y r i g h t ( c ) 1 9 0000020 8 6 X e r o x C o r p o r a 0000040 t i o n . A l l r i g h t 0000060 s r e s e r v e d . \r \r 2 6 . 0000100 5 . 4 \t S p e c i a l P r 0000120 e t t y p r i n t C o n t r o 0000140 l s \r 1 \r \r P R E T T Y T A B F 0000160 L G \t [ V a r i a b l e ] \r 0000200 1 \r \r I n o r d e r t o s 0000220 a v e s p a c e o n f i l 0000240 e s , t a b s a r e u s e 0000260 d i n s t e a d o f s p a 0000300 c e s f o r t h e i n i t 0000320 a l s p a c e s o n e a c 0000340 h l i n e , a s s u m i n g 0000360 t h a t e a c h t a b c 0000400 o r r e s p o n d s t o 8 0000420 s p a c e s . T h i s r e 0000440 s u l t s i n a r e d u c 0000460 t i o n o f f i l e s i z 0000500 e b y a b o u t 3 0 % . 0000520 T a b s a r e n o t u s 0000540 e d i f P R E T T Y T A B F 0000560 L G i s s e t t o N I L 0000600 ( i n i t i a l l y T ) . \r 0000620 1 \r \r # R P A R S \t [ V a r 0000640 i a b l e ] \r 1 \r \r C o n t r o 0000660 l s t h e n u m b e r o f 0000700 r i g h t p a r e n t h e s 0000720 e s n e c e s s a r y f o r 0000740 s q u a r e b r a c k e t i 0000760 n g t o o c c u r . I f 0001000 # R P A R S = N I L , n o 0001020 b r a c k e t s a r e u s e 0001040 d . # R P A R S i s i n 0001060 i t i a l i z e d t o 4 . \r 0001100 1 \r \r F I R S T C O L \t [ V 0001120 a r i a b l e ] \r 1 \r \r T h e 0001140 s t a r t i n g c o l u m n 0001160 f o r c o m m e n t s . C 0001200 o m m e n t s r u n b e t w 0001220 e e n F I R S T C O L a n d 0001240 t h e l i n e l e n g t h 0001260 s e t b y L I N E L E N G 0001300 T H ( ( " L I N E L E N G T H 0001320 " . F u n c t i o n ) ) . 0001340 I f a w o r d i n a 0001360 c o m m e n t e n d s w i t 0001400 h a " . " a n d i s n 0001420 o t o n t h e l i s t A 0001440 B B R E V L S T , a n d t h 0001460 e p o s i t i o n i s g r 0001500 e a t e r t h a n h a l f w 0001520 a y b e t w e e n F I R S T 0001540 C O L a n d L I N E L E N G 0001560 T H , t h e n e x t w o r 0001600 d i n t h e c o m m e n t 0001620 b e g i n s o n a n e w 0001640 l i n e . A l s o , i f 0001660 a l i s t i s e n c o u 0001700 n t e r e d i n a c o m m 0001720 e n t , a n d t h e p o s 0001740 i t i o n i s g r e a t e r 0001760 t h a n h a l f w a y , t 0002000 h e l i s t b e g i n s o 0002020 n a n e w l i n e . \r 1 \r 0002040 \r P R E T T Y L C O M \t [ V 0002060 a r i a b l e ] \r 1 \r \r I f a 0002100 c o m m e n t h a s m o r 0002120 e t h a n P R E T T Y L C O 0002140 M e l e m e n t s ( u s i n 0002160 g C O U N T ) , i t i s 0002200 p r i n t e d s t a r t i n g 0002220 a t c o l u m n 1 0 , i 0002240 n s t e a d o f F I R S T C 0002260 O L . C o m m e n t s a r 0002300 e a l s o p r i n t e d s 0002320 t a r t i n g a t c o l u m 0002340 n 1 0 i f t h e i r s e 0002360 c o n d e l e m e n t i s 0002400 a l s o a * , i . e . , 0002420 c o m m e n t s o f t h e 0002440 f o r m ( * * - - ) . \r 1 0002460 \r \r # C A R E F U L C O L U M N 0002500 S \t [ V a r i a b l e ] \r 1 0002520 \r \r I n t h e i n t e r e s 0002540 t s o f e f f i c i e n c y 0002560 , P R E T T Y P R I N T a p 0002600 p r o x i m a t e s t h e n 0002620 u m b e r o f c h a r a c t 0002640 e r s i n e a c h a t o m 0002660 , r a t h e r t h a n c a 0002700 l l i n g N C H A R S , w h 0002720 e n c o m p u t i n g h o w 0002740 m u c h w i l l f i t o 0002760 n a l i n e . T h i s 0003000 p r o c e d u r e w o r k s 0003020 s a t i s f a c t o r i l y i 0003040 n m o s t c a s e s . H 0003060 o w e v e r , u s e r s w i 0003100 t h u n u s u a l l y l o n 0003120 g a t o m s i n t h e i r 0003140 p r o g r a m s , e . g . , 0003160 s u c h a s p r o d u c e 0003200 d b y C L I S P I F Y , m 0003220 a y o c c a s i o n l l y e 0003240 n c o u n t e r s o m e g l 0003260 i t c h e s i n t h e o u 0003300 t p u t p r o d u c e d b y 0003320 P R E T T Y P R I N T . T 0003340 h e v a l u e o f # C A R 0003360 E F U L C O L U M N S t e l l 0003400 s P R E T T Y P R I N T h o 0003420 w m a n y c o l u m n s ( 0003440 c o u n t i n g f r o m t h 0003460 e r i g h t h a n d m a r 0003500 g i n ) i n w h i c h t o 0003520 a c t u a l l y c o m p u t 0003540 e N C H A R S i n s t e a d 0003560 o f a p p r o x i m a t i n 0003600 g . S e t t i n g # C A R 0003620 E F U L C O L U M N S t o 2 0003640 0 o r 3 0 w i l l e l i 0003660 m i n a t e t h e g l i t c 0003700 h e s , a l t h o u g h i t 0003720 w i l l s l o w d o w n 0003740 P R E T T Y P R I N T s l i g 0003760 h t l y . # C A R E F U L C 0004000 O L U M N S i s i n i t i a 0004020 l l y 0 . \r 1 \r \r ( W I D E P 0004040 A P E R F L G ) \t [ F u n 0004060 c t i o n ] \r 1 \r \r ( W I D E P 0004100 A P E R T ) s e t s F I L 0004120 E L I N E L E N G T H ( ( " F 0004140 I L E L I N E L E N G T H " . 0004160 V a r i a b l e ) ) , F I R 0004200 S T C O L , a n d P R E T T 0004220 Y L C O M t o l a r g e v 0004240 a l u e s a p p r o p r i a t 0004260 e f o r p r e t t y p r i 0004300 n t i n g f i l e s t o b 0004320 e l i s t e d o n w i d e 0004340 p a p e r . ( W I D E P A 0004360 P E R ) r e s t o r e s t h 0004400 e s e p a r a m e t e r s t 0004420 o t h e i r i n i t i a l 0004440 v a l u e s . W I D E P A P 0004460 E R r e t u r n s t h e p 0004500 r e v i o u s s e t t i n g 0004520 o f F L G . \r 1 \r \r P R E T T 0004540 Y F L G \t [ V a r i a b l e 0004560 ] \r 1 \r \r I f P R E T T Y F L 0004600 G i s N I L , P R I N T D 0004620 E F u s e s P R I N 2 i n 0004640 s t e a d o f p r e t t y p 0004660 r i n t i n g . T h i s i 0004700 s u s e f u l f o r p r o 0004720 d u c i n g a f a s t s y 0004740 m b o l i c d u m p ( s e e 0004760 t h e F A S T o p t i o n 0005000 o f M A K E F I L E , ( " 0005020 M A K E F I L E " . F u n c 0005040 t i o n ) ) . N o t e t h 0005060 a t t h e f i l e l o a d 0005100 s t h e s a m e a s i f 0005120 i t w e r e p r e t t y p 0005140 r i n t e d . P R E T T Y F 0005160 L G i s i n i t i a l l y 0005200 s e t t o T . P R E T T 0005220 Y F L G s h o u l d n o t 0005240 b e s e t t o N I L i f 0005260 c o m m e n t p o i n t e r 0005300 s ( ( " C o m m e n t P o i n 0005320 t e r " . T A G ) ) a r e 0005340 b e i n g u s e d . \r 1 \r \r 0005360 C L I S P I F Y P R E T T Y F L 0005400 G \t [ V a r i a b l e ] \r 1 0005420 \r \r U s e d t o i n f o r m 0005440 P R E T T Y P R I N T t o 0005460 c a l l C L I S P I F Y o n 0005500 s e l e c t e d f u n c t i 0005520 o n d e f i n i t i o n s b 0005540 e f o r e p r i n t i n g t 0005560 h e m ( s e e ( " C L I S P 0005600 I F Y P R E T T Y F L G " . 0005620 V a r i a b l e ) ) . \r 1 \r \r P 0005640 R E T T Y P R I N T M A C R O S 0005660 \t [ V a r i a b l e ] \r 1 \r 0005700 \r A n a s s o c i a t i o n - 0005720 l i s t t h a t e n a b l e 0005740 s t h e u s e r t o c o 0005760 n t r o l t h e f o r m a t 0006000 t i n g o f s e l e c t e d 0006020 e x p r e s s i o n s . C 0006040 A R o f e a c h e x p r e 0006060 s s i o n b e i n g P R E T 0006100 T Y P R I N T e d i s l o o 0006120 k e d u p o n P R E T T Y 0006140 P R I N T M A C R O S , a n d 0006160 i f f o u n d , C D R o 0006200 f t h e c o r r e s p o n d 0006220 i n g e n t r y i s a p p 0006240 l i e d t o t h e e x p r 0006260 e s s i o n . I f t h e 0006300 r e s u l t o f t h i s a 0006320 p p l i c a t i o n i s N I 0006340 L , P R E T T Y P R I N T i 0006360 g n o r e s t h e e x p r e 0006400 s s i o n ; i . e . , i t 0006420 p r i n t s n o t h i n g , 0006440 a s s u m i n g t h a t t h 0006460 e p r e t t y p r i n t m a c 0006500 r o h a s d o n e a n y 0006520 d e s i r e d p r i n t i n g 0006540 . I f t h e r e s u l t 0006560 o f a p p l y i n g t h e 0006600 p r e t t y p r i n t m a c 0006620 r o i s n o n - N I L , t 0006640 h e r e s u l t i s p r e 0006660 t t y p r i n t e d i n t h 0006700 e n o r m a l f a s h i o n 0006720 . T h i s g i v e s t h 0006740 e u s e r t h e o p t i o 0006760 n o f c o m p u t i n g s 0007000 o m e o t h e r e x p r e s 0007020 s i o n t o b e p r e t t 0007040 y p r i n t e d i n i t s 0007060 p l a c e . \r N o t e : " p 0007100 r e t t y p r i n t e d i n 0007120 t h e n o r m a l f a s h i 0007140 o n " i n c l u d e s p r o 0007160 c e s s i n g p r e t t y p r 0007200 i n t m a c r o s , u n l e 0007220 s s t h e p r e t t y p r i 0007240 n t m a c r o r e t u r n s 0007260 a s t r u c t u r e E Q 0007300 t o t h e o n e i t w a 0007320 s h a n d e d , i n w h i 0007340 c h c a s e t h e p o t e 0007360 n t i a l r e c u r s i o n 0007400 i s b r o k e n . \r 1 \r \r P R 0007420 E T T Y P R I N T Y P E M A C R 0007440 O S \t [ V a r i a b l e ] \r 0007460 1 \r \r A l i s t o f e l e 0007500 m e n t s o f t h e f o r 0007520 m ( T Y P E N A M E . F N 0007540 ) . F o r t y p e s o t 0007560 h e r t h a n l i s t s a 0007600 n d a t o m s , t h e t y 0007620 p e n a m e o f e a c h 0007640 d a t u m t o b e p r e t 0007660 t y p r i n t e d i s l o o 0007700 k e d u p o n P R E T T Y 0007720 P R I N T Y P E M A C R O S , 0007740 a n d i f f o u n d , t h 0007760 e c o r r e s p o n d i n g 0010000 f u n c t i o n i s a p p l 0010020 i e d t o t h e d a t u m 0010040 a b o u t t o b e p r i 0010060 n t e d , i n s t e a d o f 0010100 s i m p l y p r i n t i n g 0010120 i t w i t h P R I N 2 . \r 0010140 1 \r \r P R E T T Y E Q U I V L S 0010160 T \t [ V a r i a b l e ] \r 1 0010200 \r \r A n a s s o c i a t i o n 0010220 - l i s t t h a t t e l l s 0010240 P R E T T Y P R I N T t o 0010260 t r e a t a C A R - o f - f 0010300 o r m t h e s a m e a s 0010320 s o m e o t h e r C A R - o 0010340 f - f o r m . F o r e x a 0010360 m p l e , i f ( Q L A M B D 0010400 A . L A M B D A ) a p p e 0010420 a r s o n P R E T T Y E Q U 0010440 I V L S T , t h e n e x p r 0010460 e s s i o n s b e g i n n i n 0010500 g w i t h Q L A M B D A a 0010520 r e p r e t t y p r i n t e d 0010540 t h e s a m e a s L A M 0010560 B D A s . C u r r e n t l y 0010600 , P R E T T Y E Q U I V L S T 0010620 o n l y a l l o w s ( i . 0010640 e . , s u p p o r t s i n 0010660 a n i n t e r e s t i n g w 0010700 a y ) e q u i v a l e n c e s 0010720 t o f o r m s t h a t P 0010740 R E T T Y P R I N T i n t e r 0010760 n a l l y h a n d l e s . 0011000 E q u i v a l e n c e t o f 0011020 o r m s f o r w h i c h t 0011040 h e u s e r h a s s p e c 0011060 i f i e d a p r e t t y p r 0011100 i n t m a c r o s h o u l d 0011120 b e m a d e b y a d d i 0011140 n g f u r t h e r e n t r i 0011160 e s t o P R E T T Y P R I N 0011200 T M A C R O S \r 1 \r \r C H A N G 0011220 E C H A R \t [ V a r i a b l 0011240 e ] \r 1 \r \r I f n o n - N I L 0011260 , a n d P R E T T Y P R I N 0011300 T i s p r i n t i n g t o 0011320 a f i l e o r d i s p l 0011340 a y t e r m i n a l , P R E 0011360 T T Y P R I N T p r i n t s 0011400 C H A N G E C H A R i n t h 0011420 e r i g h t h a n d m a r 0011440 g i n w h i l e p r i n t i 0011460 n g t h o s e e x p r e s s 0011500 i o n s m a r k e d b y t 0011520 h e e d i t o r a s h a v 0011540 i n g b e e n c h a n g e d 0011560 ( s e e ( " E d i t o r C h 0011600 a n g e M a r k s " . T A G 0011620 ) ) . C H A N G E C H A R 0011640 i s i n i t i a l l y | . \r 0011660 1 \r \r \0 \0 \0 \0 \0 005 \0 \a \0 ( \0 314 \0 0011700 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 0011720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011740 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 \0 \0 \0 0011760 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012000 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 / \0 K 0012020 \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 001 001 001 0012040 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012060 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 \0 \0 0012100 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0012120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012140 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 \0 \0 0012160 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 0012200 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012220 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 0012240 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 0012300 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0012320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012340 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 M O D 0012360 E R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 0012400 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 002 0012420 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 0012440 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0 0012460 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E 0012500 F A U L T F O N T 1 ( G A C 0012520 H A 1 0 ) ( G A C H A 8 ) 0012540 ( T E R M I N A L 8 ) ) \0 \n 0012560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 006 0012600 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0012620 005 \0 \0 \0 & \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0012640 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0012660 G E T F N 001 \0 024 \0 006 M O D E R N 0012700 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0012720 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \f \0 0012740 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 0012760 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U 0013000 L E . G E T F N 001 \0 024 \0 006 M O D 0013020 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0013040 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0013060 \0 343 \0 \0 \0 \0 004 \0 \0 \0 \f \0 \0 \0 \0 002 0013100 \0 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0013120 \0 002 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 001 \0 0013140 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 0013160 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U 0013200 L E . G E T F N 001 \0 024 \0 006 M O D 0013220 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0013240 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0013260 \0 006 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 0013300 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v 0013320 H R U L E . G E T F N 001 \0 024 \0 006 0013340 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0013360 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0013400 006 \0 \0 \0 W \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 0013420 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 003 0013440 \0 \0 \0 \0 002 \0 \0 \0 031 \0 \0 \0 \0 004 \0 \0 0013460 \0 006 \0 \0 \0 \0 002 \0 \0 \0 026 \0 \0 \0 \0 004 0013500 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v 0013520 H R U L E . G E T F N 001 \0 024 \0 006 0013540 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0013560 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0013600 003 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 0013620 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 0013640 001 \0 \v H R U L E . G E T F N 001 \0 0013660 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0013700 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0013720 \0 002 \0 006 \0 \0 \0 8 \0 \0 \0 \0 004 \0 \0 \0 0013740 \b \0 \0 \0 \0 002 \0 \0 \0 034 \0 \0 \0 \0 004 \0 0013760 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 0014000 004 \0 \0 \0 031 \0 001 \0 \f I R M . G E T 0014020 . C R E F \0 \0 \0 \0 ( \0 \0 \0 \0 004 \0 0014040 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 031 \0 \0 \0 \0 0014060 004 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 3 \0 \0 0014100 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 005 0014120 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 0014140 \0 254 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 0014160 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0014200 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0014220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0014240 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \n \0 \0 \0 \0 0014260 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0014300 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0014320 G E T F N 001 \0 024 \0 006 M O D E R N 0014340 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0014360 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 033 \0 0014400 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 0014420 021 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 0014440 \0 \0 3 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 0014460 002 \0 \0 \0 U \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0014500 \0 \0 002 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 \b 0014520 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 0014540 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R 0014560 U L E . G E T F N 001 \0 024 \0 006 M O 0014600 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0014620 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 0014640 \0 \0 017 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0014660 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 0014700 \v H R U L E . G E T F N 001 \0 024 \0 0014720 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0014740 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0014760 \0 006 \0 \0 \0 \0 \0 \0 \0 004 \0 \0 \0 \v \0 0015000 \0 \0 \0 002 \0 \0 \0 I \0 \0 \0 \0 004 \0 \0 \0 0015020 006 \0 \0 \0 \0 002 \0 \0 \0 271 \0 \0 \0 \0 004 \0 0015040 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 D \0 \0 \0 \0 0015060 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 0015100 \0 \0 004 \0 \0 \0 017 \0 \0 \0 \0 002 \0 \0 \0 \a 0015120 \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 0015140 \0 U \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 0015160 \0 \0 \0 $ \0 \0 \0 \0 004 \0 \0 \0 017 \0 \0 \0 0015200 \0 002 \0 \0 \0 E \0 \0 \0 \0 004 \0 \0 \0 \v \0 0015220 \0 \0 \0 002 \0 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 0015240 017 \0 \0 \0 \0 002 \0 \0 \0 021 \0 \0 \0 \0 004 \0 0015260 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H 0015300 R U L E . G E T F N 001 \0 024 \0 006 M 0015320 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0015340 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 0015360 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 \0 0015400 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 016 \0 0015420 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 0015440 \0 001 \0 \v H R U L E . G E T F N 001 0015460 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0015500 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0015520 \0 \0 002 \0 006 \0 \0 \0 \r \0 \0 \0 \0 002 \0 \0 0015540 \0 006 \0 \0 \0 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 0015560 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 035 \0 001 \0 0015600 \f I R M . G E T . C R E F \0 \0 \0 0015620 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 0015640 \0 \0 \0 006 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 0015660 \0 002 \0 \0 \0 T \0 \0 \0 \0 004 \0 \0 \0 \v \0 0015700 \0 \0 \0 002 \0 \0 \0 5 \0 \0 \0 \0 004 \0 \0 \0 0015720 \t \0 \0 \0 \0 002 \0 \0 \0 ! \0 \0 \0 \0 004 \0 0015740 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 0015760 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 0016000 \v H R U L E . G E T F N 001 \0 024 \0 0016020 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0016040 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0016060 \0 003 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 016 \0 0016100 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 0016120 \0 001 \0 \v H R U L E . G E T F N 001 0016140 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0016160 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0016200 \0 \0 002 \0 006 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 0016220 \0 \t \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 0016240 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 0016260 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 006 \0 0016300 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 0016320 X \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 0016340 \0 \0 \v \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 0016360 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 027 \0 001 0016400 \0 \f I R M . G E T . C R E F \0 \0 0016420 \0 \0 D \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 0016440 002 \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0016460 \0 \0 002 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \t 0016500 \0 \0 \0 \0 002 \0 \0 \0 026 \0 \0 \0 \0 004 \0 \0 0016520 \0 003 \0 \0 \0 \0 002 \0 \0 \0 026 \0 \0 \0 \0 004 0016540 \0 \0 \0 030 \0 001 \0 \f I R M . G E T . 0016560 C R E F \0 \0 \0 \0 022 \0 \0 \0 \0 004 \0 \0 0016600 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R 0016620 U L E . G E T F N 001 \0 024 \0 006 M O 0016640 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0016660 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 0016700 \0 \0 021 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 0016720 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 0016740 \v H R U L E . G E T F N 001 \0 024 \0 0016760 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0017000 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0017020 \0 006 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 \v \0 0017040 \0 \0 \0 002 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 0017060 \b \0 \0 \0 \0 002 \0 \0 \0 < \0 \0 \0 \0 004 \0 0017100 \0 \0 \0 001 \0 \f I R M . G E T . C 0017120 R E F \0 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 0017140 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U 0017160 L E . G E T F N 001 \0 024 \0 006 M O D 0017200 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0017220 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0017240 \0 021 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 0017260 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v 0017300 H R U L E . G E T F N 001 \0 024 \0 006 0017320 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0017340 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0017360 006 \0 \0 \0 ^ \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 0017400 \0 \0 002 \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 \v 0017420 \0 \0 \0 \0 002 \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 0017440 \0 021 \0 \0 \0 \0 002 \0 \0 \0 020 \0 \0 \0 \0 004 0017460 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 ` \0 \0 \0 0017500 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 \0 0017520 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 0017540 254 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 0017560 \0 \0 232 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 0017600 \0 \0 \0 206 \0 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 0017620 \0 002 \0 \0 \0 L \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0017640 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L E 0017660 . G E T F N 001 \0 024 \0 006 M O D E R 0017700 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0017720 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 024 0017740 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 0017760 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R 0020000 U L E . G E T F N 001 \0 024 \0 006 M O 0020020 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0020040 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 0020060 \0 \0 037 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0020100 002 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 0020120 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 001 0020140 \0 \0 \0 \0 002 \0 \0 \0 i \0 \0 \0 \0 004 \0 \0 0020160 \0 024 \0 \0 \0 \0 002 \0 \0 \0 { \0 \0 \0 \0 004 0020200 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 0020220 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 001 0020240 \0 \v H R U L E . G E T F N 001 \0 024 0020260 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0020300 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0020320 002 \0 003 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 016 0020340 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0020360 002 \0 001 \0 \v H R U L E . G E T F N 0020400 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0020420 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0020440 \0 \0 \0 002 \0 006 \0 \0 \0 037 \0 \0 \0 \0 004 \0 0020460 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 \f \0 \0 \0 \0 0020500 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0020520 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 033 0020540 \0 \0 \0 \0 004 \0 \0 \0 022 \0 \0 \0 \0 002 \0 \0 0020560 \0 \f \0 \0 \0 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 0020600 \0 \0 \0 " \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 0020620 \0 002 \0 \0 \0 037 \0 \0 \0 \0 004 \0 \0 \0 006 \0 0020640 \0 \0 \0 002 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 0020660 016 \0 \0 \0 \0 002 \0 \0 \0 O \0 \0 \0 \0 004 \0 0020700 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 214 \0 \0 \0 \0 0020720 004 \0 \0 \0 021 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 0020740 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 002 \0 0020760 001 \0 \v H R U L E . G E T F N 001 \0 0021000 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0021020 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0021040 \0 002 \0 003 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 0021060 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0021100 \0 002 \0 001 \0 \v H R U L E . G E T F 0021120 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0021140 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0021160 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \a \0 \0 \0 \0 004 0021200 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 0021220 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 , \0 0021240 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 0021260 \b \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 0021300 \0 \0 l \0 \0 \0 \0 004 \0 \0 \0 033 \0 001 \0 \f 0021320 I R M . G E T . C R E F \0 \0 \0 \0 0021340 004 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 0021360 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0021400 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0021420 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0021440 G E T F N 001 \0 024 \0 006 M O D E R N 0021460 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0021500 \0 \0 004 \0 \0 023 263 001 0 z 272 \r 2 6 . 5 0021520 . 3 \t C o n v e r t i n g 0021540 C o m m e n t s t o L o w e 0021560 r C a s e \r 1 \r \r T h i s s 0021600 e c t i o n i s f o r u s 0021620 e r s u s i n g t e r m i n 0021640 a l s w i t h o u t l o w e 0021660 r c a s e , w h o n e v e 0021700 r t h e l e s s w o u l d l 0021720 i k e t h e i r c o m m e n 0021740 t s t o b e c o n v e r t 0021760 e d t o l o w e r c a s e 0022000 f o r m o r e r e a d a b 0022020 l e l i s t i n g s . I f 0022040 t h e s e c o n d a t o m 0022060 i n a c o m m e n t i s 0022100 % % , t h e t e x t o f 0022120 t h e c o m m e n t i s 0022140 c o n v e r t e d t o l o w 0022160 e r c a s e s o t h a t 0022200 i t l o o k s l i k e E n 0022220 g l i s h i n s t e a d o f 0022240 L i s p . N o t e t h a 0022260 t c o m m e n t s a r e c 0022300 o n v e r t e d o n l y w h 0022320 e n t h e y a r e a c t u 0022340 a l l y w r i t t e n t o 0022360 a f i l e b y P R E T T Y 0022400 P R I N T . \r T h e a l g o r 0022420 i t h m f o r c o n v e r s 0022440 i o n t o l o w e r c a s 0022460 e i s t h e f o l l o w i 0022500 n g : I f t h e f i r s 0022520 t c h a r a c t e r i n a 0022540 n a t o m i s ^ , d o 0022560 n o t c h a n g e t h e a 0022600 t o m ( b u t r e m o v e 0022620 t h e ^ ) . I f t h e 0022640 f i r s t c h a r a c t e r 0022660 i s % , c o n v e r t t h 0022700 e a t o m t o l o w e r 0022720 c a s e . N o t e t h a t 0022740 t h e u s e r m u s t t 0022760 y p e % % a s % i s t 0023000 h e e s c a p e c h a r a c 0023020 t e r . I f t h e a t o 0023040 m ( m i n u s a n y t r a 0023060 i l i n g p u n c t u a t i o 0023100 n m a r k s ) i s a n I 0023120 n t e r l i s p w o r d ( i 0023140 . e . , i s a b o u n d 0023160 o r f r e e v a r i a b l e 0023200 f o r t h e f u n c t i o 0023220 n c o n t a i n i n g t h e 0023240 c o m m e n t , o r h a s 0023260 a t o p l e v e l v a l 0023300 u e , o r i s a d e f i 0023320 n e d f u n c t i o n , o r 0023340 h a s a n o n - N I L p 0023360 r o p e r t y l i s t ) , d 0023400 o n o t c h a n g e i t . 0023420 O t h e r w i s e , c o n 0023440 v e r t t h e a t o m t o 0023460 l o w e r c a s e . C o 0023500 n v e r s i o n o n l y a f 0023520 f e c t s t h e u p p e r 0023540 c a s e a l p h a b e t , i 0023560 . e . , a t o m s a l r e a 0023600 d y c o n v e r t e d t o 0023620 l o w e r c a s e a r e n 0023640 o t c h a n g e d i f t h 0023660 e c o m m e n t i s c o n 0023700 v e r t e d a g a i n . W h 0023720 e n c o n v e r t i n g , t 0023740 h e f i r s t c h a r a c t 0023760 e r i n t h e c o m m e n 0024000 t a n d t h e f i r s t 0024020 c h a r a c t e r f o l l o w 0024040 i n g e a c h p e r i o d 0024060 a r e l e f t c a p i t a l 0024100 i z e d . A f t e r c o n 0024120 v e r s i o n , t h e c o m 0024140 m e n t i s p h y s i c a l 0024160 l y m o d i f i e d t o b 0024200 e t h e l o w e r c a s e 0024220 t e x t m i n u s t h e 0024240 % % f l a g , s o t h a t 0024260 c o n v e r s i o n i s t 0024300 h u s o n l y p e r f o r m 0024320 e d o n c e ( u n l e s s 0024340 t h e u s e r e d i t s t 0024360 h e c o m m e n t i n s e r 0024400 t i n g a d d i t i o n a l 0024420 u p p e r c a s e t e x t 0024440 a n d a n o t h e r % % f 0024460 l a g ) . \r L C A S E L S T 0024500 \t [ V a r i a b l e ] \r 1 \r \r W 0024520 o r d s o n L C A S E L S T 0024540 w i l l a l w a y s b e 0024560 c o n v e r t e d t o l o w 0024600 e r c a s e . L C A S E L 0024620 S T i s i n i t i a l i z e 0024640 d t o c o n t a i n w o r 0024660 d s w h i c h a r e I n t 0024700 e r l i s p f u n c t i o n s 0024720 b u t a l s o a p p e a r 0024740 f r e q u e n t l y i n c 0024760 o m m e n t s a s E n g l i 0025000 s h w o r d s ( A N D , E 0025020 V E R Y , G E T , G O , L 0025040 A S T , L E N G T H , L I 0025060 S T , e t c . ) . T h e r 0025100 e f o r e , i f o n e w i 0025120 s h e d t o t y p e a c 0025140 o m m e n t i n c l u d i n g 0025160 t h e l i s p f u c t i o 0025200 n G O , i t w o u l d b 0025220 e n e c e s s a r y t o t 0025240 y p e ^ G O i n o r d e r 0025260 t h a t i t m i g h t b 0025300 e l e f t i n u p p e r 0025320 c a s e . \r 1 \r \r U C A S E L S 0025340 T \t [ V a r i a b l e ] \r 1 0025360 \r \r W o r d s o n U C A S E 0025400 L S T ( t h a t d o n o t 0025420 a p p e a r o n L C A S E 0025440 L S T ) w i l l b e l e f 0025460 t i n u p p e r c a s e . 0025500 U C A S E L S T i s i n 0025520 i t i a l i z e d t o N I L 0025540 . \r 1 \r \r A B B R E V L S T 0025560 \t [ V a r i a b l e ] \r 1 \r \r A 0025600 B B R E V L S T i s u s e d 0025620 t o d i s t i n g u i s h 0025640 b e t w e e n a b b r e v i a 0025660 t i o n s a n d w o r d s 0025700 t h a t e n d i n p e r i 0025720 o d s . N o r m a l l y , 0025740 w o r d s t h a t e n d i 0025760 n p e r i o d s a n d o c 0026000 c u r m o r e t h a n h a 0026020 l f w a y t o t h e r i g 0026040 h t m a r g i n c a u s e 0026060 c a r r i a g e - r e t u r n s 0026100 . F u r t h e r m o r e , 0026120 d u r i n g c o n v e r s i o 0026140 n t o l o w e r c a s e , 0026160 w o r d s e n d i n g i n 0026200 p e r i o d s , e x c e p t 0026220 f o r t h o s e o n A B B 0026240 R E V L S T , c a u s e t h 0026260 e f i r s t c h a r a c t e 0026300 r i n t h e n e x t w o 0026320 r d t o b e c a p i t a l 0026340 i z e d . A B B R E V L S T 0026360 i s i n i t i a l i z e d 0026400 t o t h e u p p e r a n d 0026420 l o w e r c a s e f o r m 0026440 s o f E T C . , I . E . , 0026460 a n d E . G . . \r 1 \r \r \0 \0 0026500 \0 \0 \0 005 \0 \a \0 ( \0 314 \0 314 001 370 \0 \0 0026520 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0026540 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ) 0026560 \0 K \0 K 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0026600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0026620 \0 001 T \0 \0 \0 \0 \0 / \0 K \0 314 001 370 \0 0026640 022 \0 \0 \0 \0 003 001 \0 001 001 001 370 001 \0 \0 \0 0026660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0026700 001 T \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 \0 \0 0026720 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0026740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . 0026760 \0 \0 \0 \0 001 370 \0 \f \0 \0 \0 \0 003 001 \0 022 0027000 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 0027040 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 \0 0027060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027100 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027120 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0027160 \0 004 \0 005 \0 024 \0 006 M O D E R N \0 \n 0027200 \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 006 M O D E 0027220 R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0027240 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 0027260 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0027300 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U L T 0027320 F O N T 1 ( G A C H A 1 0 0027340 ) ( G A C H A 8 ) ( T E R 0027360 M I N A L 8 ) ) \0 \n \0 \0 \0 \0 \0 0027400 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 001 \0 0027420 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 + 0027440 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0027460 002 \0 001 \0 \v H R U L E . G E T F N 0027500 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0027520 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0027540 \0 \0 \0 002 \0 006 \0 \0 \0 307 \0 \0 \0 \0 004 \0 0027560 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 206 \0 \0 \0 \0 0027600 004 \0 \0 \0 004 \0 \0 \0 \0 001 \0 \0 \0 - \0 \0 0027620 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 002 0027640 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0027660 c \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 0027700 \0 \0 ) \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0027720 002 \0 \0 \0 036 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0027740 \0 \0 002 \0 \0 \0 @ \0 \0 \0 \0 004 \0 \0 \0 002 0027760 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 0030000 \0 001 \0 \0 \0 \0 002 \0 \0 \0 360 \0 \0 \0 \0 004 0030020 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 001 262 \0 \0 \0 0030040 \0 004 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 212 \0 0030060 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 0030100 \b \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0030120 \0 \b \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 0030140 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v 0030160 H R U L E . G E T F N 001 \0 024 \0 006 0030200 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0030220 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0030240 001 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 0030260 \0 \0 002 \0 \0 \0 * \0 \0 \0 \0 004 \0 \0 \0 \b 0030300 \0 \0 \0 \0 002 \0 \0 \0 x \0 \0 \0 \0 004 \0 \0 0030320 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 0030340 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 0030360 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 \0 0030400 \0 \0 \0 004 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 0030420 002 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 0030440 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 0030460 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0030500 \0 \0 002 \0 \0 \0 P \0 \0 \0 \0 004 \0 \0 \0 002 0030520 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 \0 \0 004 \0 \0 0030540 \0 003 \0 \0 \0 \0 002 \0 \0 \0 / \0 \0 \0 \0 004 0030560 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 002 \0 001 \0 \v 0030600 H R U L E . G E T F N 001 \0 024 \0 006 0030620 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0030640 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0030660 003 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 0030700 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 0030720 001 \0 \v H R U L E . G E T F N 001 \0 0030740 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0030760 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0031000 \0 002 \0 001 \0 \0 \0 \t \0 \0 \0 \0 004 \0 \0 \0 0031020 \b \0 \0 \0 \0 002 \0 \0 \0 030 \0 \0 \0 \0 004 \0 0031040 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 037 \0 \0 \0 \0 0031060 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 023 \0 \0 0031100 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 002 0031120 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0031140 002 \0 001 \0 \v H R U L E . G E T F N 0031160 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0031200 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 0031220 \0 \0 \0 002 \0 003 \0 \0 \0 \t \0 \0 \0 \0 002 \0 0031240 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 0031260 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0031300 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0031320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0031340 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 \t \0 \0 \0 0031360 \0 002 \0 \0 001 025 \0 \0 \0 \0 004 \0 \0 \0 \t \0 0031400 \0 \0 \0 002 \0 \0 \0 # \0 \0 \0 \0 004 \0 \0 \0 0031420 004 \0 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 004 \0 0031440 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 5 \0 \0 \0 \0 0031460 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 0031500 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 006 0031520 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 0031540 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 0031560 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0031600 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0031620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0031640 \0 \0 - > \0 m z 272 \r 2 6 . 5 . 2 0031660 \t C o m m e n t P o i n t e 0031700 r s \r 1 \r \r F o r a w e l l 0031720 - c o m m e n t e d c o l l e 0031740 c t i o n o f p r o g r a m 0031760 s , t h e l i s t s t r u 0032000 c t u r e , a t o m , a n d 0032020 p r i n t n a m e s t o r 0032040 a g e r e q u i r e d t o 0032060 r e p r e s e n t t h e c o 0032100 m m e n t s i n c o r e c 0032120 a n b e s i g n i f i c a n 0032140 t . I f t h e c o m m e 0032160 n t s a l r e a d y a p p e 0032200 a r o n a f i l e a n d 0032220 a r e n o t n e e d e d 0032240 f o r e d i t i n g , a s 0032260 i g n i f i c a n t s a v i n 0032300 g s i n s t o r a g e c a 0032320 n b e a c h i e v e d b y 0032340 s i m p l y l e a v i n g 0032360 t h e t e x t o f t h e 0032400 c o m m e n t o n t h e f 0032420 i l e w h e n t h e f i l 0032440 e i s l o a d e d , a n d 0032460 i n s t e a d r e t a i n i 0032500 n g i n c o r e o n l y 0032520 a p o i n t e r t o t h e 0032540 c o m m e n t . W h e n 0032560 t h i s f e a t u r e i s 0032600 e n a b l e d , * i s d e 0032620 f i n e d a s a r e a d 0032640 m a c r o ( ( " R e a d M a c 0032660 r o s " . T A G ) ) i n 0032700 F I L E R D T B L w h i c h , 0032720 i n s t e a d o f r e a d 0032740 i n g i n t h e e n t i r 0032760 e t e x t o f t h e c o 0033000 m m e n t , c o n s t r u c t 0033020 s a n e x p r e s s i o n 0033040 c o n t a i n i n g ( 1 ) t 0033060 h e n a m e o f t h e f 0033100 i l e i n w h i c h t h e 0033120 t e x t o f t h e c o m 0033140 m e n t i s c o n t a i n e 0033160 d , ( 2 ) t h e a d d r e 0033200 s s o f t h e f i r s t 0033220 c h a r a c t e r o f t h e 0033240 c o m m e n t , ( 3 ) t h 0033260 e n u m b e r o f c h a r 0033300 a c t e r s i n t h e c o 0033320 m m e n t , a n d ( 4 ) 0033340 a f l a g i n d i c a t i n 0033360 g w h e t h e r t h e c o 0033400 m m e n t a p p e a r e d a 0033420 t t h e r i g h t h a n d 0033440 m a r g i n o r c e n t e 0033460 r e d o n t h e p a g e . 0033500 F o r o u t p u t p u r 0033520 p o s e s , * i s d e f i 0033540 n e d o n P R E T T Y P R I 0033560 N T M A C R O S ( ( " P R E T 0033600 T Y P R I N T M A C R O S " . 0033620 V a r i a b l e ) ) s o t 0033640 h a t i t p r i n t s t h 0033660 e c o m m e n t s r e p r e 0033700 s e n t e d b y s u c h p 0033720 o i n t e r s b y s i m p l 0033740 y c o p y i n g t h e c o 0033760 r r e s p o n d i n g c h a r 0034000 a c t e r s f r o m o n e 0034020 f i l e t o a n o t h e r , 0034040 o r t o t h e t e r m i 0034060 n a l . N o r m a l c o m 0034100 m e n t s a r e p r o c e s 0034120 s e d t h e s a m e a s 0034140 b e f o r e , a n d c a n 0034160 b e i n t e r m i x e d f r 0034200 e e l y w i t h c o m m e n 0034220 t p o i n t e r s . \r T h e 0034240 c o m m e n t p o i n t e r 0034260 f e a t u r e i s c o n t r 0034300 o l l e d b y t h e f u n 0034320 c t i o n N O R M A L C O M M 0034340 E N T S . \r ( N O R M A L C O M 0034360 M E N T S F L G ) \t [ F u 0034400 n c t i o n ] \r 1 \r \r I f F L 0034420 G i s N I L , t h e c o 0034440 m m e n t p o i n t e r f e 0034460 a t u r e i s e n a b l e d 0034500 . I f F L G i s T , 0034520 t h e c o m m e n t p o i n 0034540 t e r f e a t u r e i s d 0034560 i s a b l e d ( t h e d e f 0034600 a u l t ) . \r N O R M A L C O M 0034620 M E N T S c a n b e c h a 0034640 n g e d a s o f t e n a s 0034660 d e s i r e d . T h u s , 0034700 s o m e f i l e s c a n 0034720 b e l o a d e d n o r m a l 0034740 l y , a n d o t h e r s w 0034760 i t h t h e i r c o m m e n 0035000 t s c o n v e r t e d t o 0035020 c o m m e n t p o i n t e r s 0035040 . \r 1 \r 377 377 \0 \0 \r \0 F \0 o \0 r \0 0035060 \0 c \0 o \0 n \0 v \0 e \0 n \0 i \0 0035100 e \0 n \0 c \0 e \0 \0 o \0 f \0 \0 0035120 e \0 d \0 i \0 t \0 i \0 n \0 g \0 \0 0035140 s \0 e \0 l \0 e \0 c \0 t \0 e \0 d \0 0035160 \0 c \0 o \0 m \0 m \0 e \0 n \0 t \0 0035200 s \0 , \0 \0 a \0 n \0 \0 e \0 d \0 0035220 i \0 t \0 \0 m \0 a \0 c \0 r \0 o \0 0035240 , \0 \0 G \0 E \0 T \0 * \0 , \0 \0 0035260 i \0 s \0 \0 i \0 n \0 c \0 l \0 u \0 0035300 d \0 e \0 d \0 , \0 \0 w \0 h \0 i \0 0035320 c \0 h \0 \0 l \0 o \0 a \0 d \0 s \0 0035340 \0 i \0 n \0 \0 t \0 h \0 e \0 \0 0035360 t \0 e \0 x \0 t \0 \0 o \0 f \0 \0 0035400 t \0 h \0 e \0 \0 c \0 o \0 r \0 r \0 0035420 e \0 s \0 p \0 o \0 n \0 d \0 i \0 n \0 0035440 g \0 \0 c \0 o \0 m \0 m \0 e \0 n \0 0035460 t \0 . \0 \0 \0 T \0 h \0 e \0 \0 0035500 e \0 d \0 i \0 t \0 o \0 r \0 ' \0 s \0 0035520 \0 P \0 P \0 * \0 \0 c \0 o \0 m \0 0035540 m \0 a \0 n \0 d \0 , \0 \0 i \0 n \0 0035560 \0 c \0 o \0 n \0 t \0 r \0 a \0 s \0 0035600 t \0 , \0 \0 p \0 r \0 i \0 n \0 t \0 0035620 s \0 \0 t \0 h \0 e \0 \0 c \0 o \0 0035640 m \0 m \0 e \0 n \0 t \0 \0 w \0 i \0 0035660 t \0 h \0 o \0 u \0 t \0 \0 r \0 e \0 0035700 a \0 d \0 i \0 n \0 g \0 \0 i \0 t \0 0035720 \0 b \0 y \0 \0 s \0 i \0 m \0 p \0 0035740 l \0 y \0 \0 c \0 o \0 p \0 y \0 i \0 0035760 n \0 g \0 \0 t \0 h \0 e \0 \0 c \0 0036000 o \0 r \0 r \0 e \0 s \0 p \0 o \0 n \0 0036020 d \0 i \0 n \0 g \0 \0 c \0 h \0 a \0 0036040 r \0 a \0 c \0 t \0 e \0 r \0 s \0 \0 0036060 t \0 o \0 \0 t \0 h \0 e \0 \0 t \0 0036100 e \0 r \0 m \0 i \0 n \0 a \0 l \0 . \0 0036120 \0 \0 G \0 E \0 T \0 * \0 \0 i \0 0036140 s \0 \0 d \0 e \0 f \0 i \0 n \0 e \0 0036160 d \0 \0 i \0 n \0 \0 t \0 e \0 r \0 0036200 m \0 s \0 \0 o \0 f \0 \0 G \0 E \0 0036220 T \0 C \0 O \0 M \0 M \0 E \0 N \0 T \0 0036240 : \0 \r \0 ( \0 G \0 E \0 T \0 C \0 O \0 0036260 M \0 M \0 E \0 N \0 T \0 \0 X \0 \0 0036300 D \0 E \0 S \0 T \0 F \0 L \0 357 % \0 0036320 ) \0 \0 \0 \t \0 [ \0 F \0 u \0 n \0 0036340 c \0 t \0 i \0 o \0 n \0 ] \0 \r 1 \r \r 0036360 377 \0 I f X i s a c o m m 0036400 e n t p o i n t e r , r e p 0036420 l a c e s X w i t h t h e 0036440 a c t u a l t e x t o f 0036460 t h e c o m m e n t , w h i 0036500 c h i t r e a d s f r o m 0036520 i t s f i l e . R e t u 0036540 r n s X i n a l l c a s 0036560 e s . I f D E S T F L i 0036600 s n o n - N I L , i t i s 0036620 t h e n a m e o f a n 0036640 o p e n f i l e , t o w h 0036660 i c h G E T C O M M E N T c 0036700 o p i e s t h e c o m m e n 0036720 t ; i n t h i s c a s e , 0036740 X r e m a i n s a c o m 0036760 m e n t p o i n t e r , b u 0037000 t i t h a s b e e n c h 0037020 a n g e d t o p o i n t t 0037040 o t h e n e w f i l e ( 0037060 u n l e s s N O R M A L C O M 0037100 M E N T S h a s b e e n s 0037120 e t t o D O N T U P D A T E 0037140 ) . \r 1 \r \r ( P R I N T C O M M 0037160 E N T X ) \t [ F u n c t i 0037200 o n ] \r 1 \r \r D e f i n e d a 0037220 s t h e p r e t t y p r i n 0037240 t m a c r o f o r * : c 0037260 o p i e s t h e c o m m e n 0037300 t t o t h e p r i m a r y 0037320 o u t p u t f i l e b y 0037340 u s i n g G E T C O M M E N T 0037360 . \r 1 \r \r ( R E A D C O M M E N 0037400 T F L R D T B L L S T ) 0037420 \t [ F u n c t i o n ] \r 1 \r \r 0037440 D e f i n e d a s t h e r 0037460 e a d m a c r o f o r * 0037500 i n F I L E R D T B L : i f 0037520 N O R M A L C O M M E N T S F 0037540 L G i s N I L , i t c o 0037560 n s t r u c t s a c o m m e 0037600 n t p o i n t e r , u n l e 0037620 s s i t b e l i e v e s t 0037640 h e e x p r e s s i o n b e 0037660 g i n n i n g w i t h * i 0037700 s n o t a c t u a l l y a 0037720 c o m m e n t , e . g . , 0037740 i f t h e n e x t a t o m 0037760 i s " . " o r E . \r 1 \r 0040000 \r N o t e t h a t a c e r 0040020 t a i n a m o u n t o f c 0040040 a r e i s r e q u i r e d 0040060 i n u s i n g t h e c o m 0040100 m e n t p o i n t e r f e a 0040120 t u r e . S i n c e t h e 0040140 t e x t o f t h e c o m 0040160 m e n t r e s i d e s o n 0040200 t h e f i l e p o i n t e d 0040220 t o b y t h e c o m m e 0040240 n t p o i n t e r , t h a t 0040260 f i l e m u s t r e m a i 0040300 n i n e x i s t e n c e a 0040320 s l o n g a s t h e c o 0040340 m m e n t i s n e e d e d . 0040360 G E T C O M M E N T h e l 0040400 p s o u t b y c h a n g i 0040420 n g t h e c o m m e n t p 0040440 o i n t e r t o a l w a y s 0040460 p o i n t a t t h e m o 0040500 s t r e c e n t f i l e t 0040520 h a t t h e c o m m e n t 0040540 l i v e s o n . H o w e v 0040560 e r , i f t h e u s e r 0040600 h a s b e e n p e r f o r m 0040620 i n g r e p e a t e d M A K 0040640 E F I L E ' s ( ( " M A K E F 0040660 I L E " . F u n c t i o n ) 0040700 ) i n w h i c h d i f f e 0040720 r i n g f u n c t i o n s h 0040740 a v e c h a n g e d a t e 0040760 a c h i n v o c a t i o n o 0041000 f M A K E F I L E , i t i 0041020 s p o s s i b l e f o r t 0041040 h e c o m m e n t p o i n t 0041060 e r s i n m e m o r y t o 0041100 b e p o i n t i n g a t 0041120 s e v e r a l v e r s i o n s 0041140 o f t h e s a m e f i l 0041160 e , s i n c e a c o m m e 0041200 n t p o i n t e r i s o n 0041220 l y u p d a t e d w h e n 0041240 t h e f u n c t i o n i t 0041260 l i v e s i n i s p r e t 0041300 t y p r i n t e d , n o t w 0041320 h e n t h e f u n c t i o n 0041340 h a s b e e n c o p i e d 0041360 v e r b a t i m t o t h e 0041400 n e w f i l e . T h i s 0041420 c a n b e a p r o b l e 0041440 m f o r f i l e s y s t e 0041460 m s t h a t h a v e a b 0041500 u i l t - i n l i m i t o n 0041520 t h e n u m b e r o f v 0041540 e r s i o n s o f a g i v 0041560 e n f i l e t h a t w i l 0041600 l b e m a d e b e f o r e 0041620 o l d v e r s i o n s a r 0041640 e e x p u n g e d . I n 0041660 s u c h a c a s e , t h e 0041700 u s e r s h o u l d s e t 0041720 t h e v e r s i o n r e t 0041740 e n t i o n c o u n t o f 0041760 a n y d i r e c t o r i e s 0042000 i n v o l v e d t o b e i 0042020 n f i n i t e . G E T C O M 0042040 M E N T p r i n t s a n e 0042060 r r o r m e s s a g e i f 0042100 t h e f i l e t h a t t h 0042120 e c o m m e n t p o i n t e 0042140 r p o i n t s a t h a s 0042160 d i s a p p e a r e d . \r S i m 0042200 i l a r l y , o n e s h o u 0042220 l d b e c o g n i z a n t 0042240 o f c o m m e n t p o i n t 0042260 e r s i n s y s o u t s , 0042300 a n d b e s u r e t o r 0042320 e t a i n a n y f i l e s 0042340 t h u s p o i n t e d t o . 0042360 \r W h e n u s i n g c o m m 0042400 e n t p o i n t e r s , t h 0042420 e u s e r s h o u l d a l 0042440 s o n o t s e t P R E T T 0042460 Y F L G ( ( " P R E T T Y F L 0042500 G " . V a r i a b l e ) ) 0042520 t o N I L o r c a l l M 0042540 A K E F I L E w i t h o p t 0042560 i o n F A S T , s i n c e 0042600 t h i s w i l l p r e v e n 0042620 t f u n c t i o n s f r o m 0042640 b e i n g p r e t t y p r i 0042660 n t e d , a n d h e n c e 0042700 n o t g e t t h e t e x t 0042720 o f t h e c o m m e n t 0042740 c o p i e d i n t o t h e 0042760 n e w f i l e . \r I f t h e 0043000 u s e r c h a n g e s t h 0043020 e v a l u e o f C O M M E 0043040 N T F L G b u t s t i l l 0043060 w i s h e s t o u s e t h 0043100 e c o m m e n t p o i n t e 0043120 r f e a t u r e , t h e n 0043140 e w C O M M E N T F L G s h 0043160 o u l d b e g i v e n t h 0043200 e s a m e r e a d - m a c r 0043220 o d e f i n i t i o n i n 0043240 F I L E R D T B L a s * h 0043260 a s , a n d t h e s a m e 0043300 e n t r y b e p u t o n 0043320 P R E T T Y P R I N T M A C R 0043340 O S . F o r e x a m p l e 0043360 , i f C O M M E N T F L G 0043400 i s r e s e t t o b e " 0043420 ; " , t h e n ( S E T S Y N 0043440 T A X ' ; ' * F I L E R D 0043460 T B L ) s h o u l d b e p 0043500 e r f o r m e d , a n d ( ; 0043520 . P R I N T C O M M E N T ) 0043540 a d d e d t o P R E T T Y 0043560 P R I N T M A C R O S . \r \0 \0 \0 0043600 \0 \0 005 \0 \b \0 ( \0 314 \0 314 001 370 \0 022 \0 0043620 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0043640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ) \0 0043660 K \0 K 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0043700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0043720 001 T \0 \0 \0 \0 \0 / \0 K \0 314 001 370 \0 022 0043740 \0 \0 \0 \0 003 001 \0 001 001 001 370 001 \0 \0 \0 \0 0043760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0044000 T \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 0044020 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0044040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0044060 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0044100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0044120 \0 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 0044140 \0 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 0044160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0044200 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 0044220 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0044240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 0044260 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0044300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0044320 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 M 0044340 O D E R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 0044360 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0044400 \0 001 \0 \0 024 \0 006 M O D E R N \0 \f \0 0044420 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R 0044440 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( 0044460 D E F A U L T F O N T 1 ( G 0044500 A C H A 1 0 ) ( G A C H A 0044520 8 ) ( T E R M I N A L 8 ) ) 0044540 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 0044560 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0044600 002 \0 006 \0 \0 \0 032 \0 \0 \0 \0 003 \0 \0 \0 \0 0044620 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L 0044640 E . G E T F N 001 \0 024 \0 006 M O D E 0044660 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0044700 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 001 0044720 214 \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 \0 002 \0 0044740 \0 \0 0 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0044760 001 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 024 \0 001 0045000 \0 \f I R M . G E T . C R E F \0 \0 0045020 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 0045040 001 \0 \0 001 216 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0045060 \0 \0 001 \0 \0 \0 017 \0 \0 \0 \0 004 \0 \0 \0 021 0045100 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 0045120 \0 \0 001 \0 \f I R M . G E T . C R 0045140 E F \0 \0 \0 001 002 \0 \0 \0 \0 004 \0 \0 \0 \0 0045160 \0 002 \0 004 \0 \0 \0 : \0 \0 \0 \0 004 \0 \0 \0 0045200 016 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 004 \0 0045220 \0 \0 \0 \0 002 \0 003 \0 \0 \0 020 \0 \0 \0 \0 001 0045240 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 0045260 \0 001 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0045300 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L E 0045320 . G E T F N 001 \0 024 \0 006 M O D E R 0045340 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0045360 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 003 0045400 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 0045420 \0 004 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 0045440 \0 \0 \0 . \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0045460 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 001 \0 0045500 \0 \0 \0 001 \0 \0 \0 9 \0 \0 \0 \0 004 \0 \0 \0 0045520 \0 \0 002 \0 004 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 0045540 \0 215 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 0045560 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0045600 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0045620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 \0 \0 002 \0 004 0045640 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 z \0 \0 002 \0 0045660 004 \0 \0 \0 \b \0 \0 002 \0 001 \0 \0 \0 246 \0 \0 0045700 002 \0 004 \0 \0 \0 006 \0 \0 002 \0 001 \0 \0 \0 T 0045720 \0 \0 002 \0 004 \0 \0 \0 016 \0 \0 002 \0 002 \0 \0 0045740 \0 232 \0 \0 002 \0 004 \0 \0 \0 \b \0 \0 002 \0 001 0045760 \0 \0 \0 0 \0 \0 002 \0 004 \0 \0 \0 024 \0 \0 002 0046000 \0 001 \0 \0 \0 004 \0 \0 002 \0 004 \0 \0 \0 \0 \0 0046020 002 \0 003 \0 \0 \0 030 \0 \0 002 \0 001 \0 \0 \0 024 0046040 \0 \0 002 \0 002 \0 \0 \0 002 \0 \0 002 \0 001 \0 \0 0046060 \0 034 \0 \0 002 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 0046100 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0046120 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0046140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0046160 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 005 \0 \0 \0 \0 0046200 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0046220 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 M 0046240 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0046260 \0 023 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 0046300 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 0046320 \0 001 \0 \0 \0 + \0 \0 \0 \0 004 \0 \0 \0 \n \0 0046340 \0 \0 \0 001 \0 \0 \0 # \0 \0 \0 \0 004 \0 \0 \0 0046360 001 \0 \0 \0 \0 002 \0 \0 \0 U \0 \0 \0 \0 004 \0 0046400 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 021 \0 \0 \0 \0 0046420 004 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 0046440 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 \0 0046460 001 \0 \v H R U L E . G E T F N 001 \0 0046500 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0046520 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0046540 \0 002 \0 003 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 0046560 001 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 0046600 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 0046620 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0046640 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0046660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0046700 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 % \0 \0 \0 0046720 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 9 \0 0046740 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 0046760 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0047000 \0 002 \0 001 \0 \v H R U L E . G E T F 0047020 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0047040 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0047060 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \r \0 \0 \0 \0 001 0047100 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 0047120 \0 001 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0047140 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L E 0047160 . G E T F N 001 \0 024 \0 006 M O D E R 0047200 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0047220 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 036 0047240 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 0047260 \0 004 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 001 0047300 \0 \0 \0 005 \0 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 0047320 \0 001 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 003 \0 0047340 \0 \0 \0 001 \0 \0 \0 T \0 \0 \0 \0 004 \0 \0 \0 0047360 001 \0 \0 \0 \0 001 \0 \0 \0 7 \0 \0 \0 \0 004 \0 0047400 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 005 \0 \0 \0 \0 0047420 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 0047440 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 002 \0 0047460 001 \0 \v H R U L E . G E T F N 001 \0 0047500 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0047520 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 0047540 \0 002 \0 001 \0 \0 \0 361 \0 \0 \0 \0 004 \0 \0 \0 0047560 \n \0 \0 \0 \0 001 \0 \0 \0 241 \0 \0 \0 \0 004 \0 0047600 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 0047620 004 \0 \0 \0 027 \0 001 \0 \f I R M . G E T 0047640 . C R E F \0 \0 \0 \0 B \0 \0 \0 \0 004 \0 0047660 \0 \0 \b \0 \0 \0 \0 001 \0 \0 002 020 \0 \0 \0 \0 0047700 004 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 Y \0 \0 0047720 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 t \0 0047740 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 : 0047760 \0 \0 \0 \0 004 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 0050000 \0 002 \0 \0 \0 \0 004 \0 \0 \0 030 \0 001 \0 \f I 0050020 R M . G E T . C R E F \0 \0 \0 \0 005 0050040 \0 \0 \0 \0 004 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 0050060 \0 \t \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 001 0050100 \0 \0 \0 \r \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 0050120 \0 001 \0 \0 \0 202 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0050140 002 \0 004 \0 \0 \0 ! \0 \0 \0 \0 004 \0 \0 \0 \n 0050160 \0 \0 \0 \0 001 \0 \0 \0 > \0 \0 \0 \0 004 \0 \0 0050200 \0 \n \0 \0 \0 \0 001 \0 \0 \0 3 \0 \0 \0 \0 004 0050220 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 0050240 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 # \0 0050260 \0 \0 \0 004 \0 \0 \0 021 \0 \0 \0 \0 001 \0 \0 \0 0050300 023 \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 001 \0 0050320 \0 \0 021 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 0050340 001 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 033 \0 \0 0050360 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 004 \0 \0 \0 022 0050400 \0 \0 \0 \0 001 \0 \0 \0 \n \0 \0 \0 \0 004 \0 \0 0050420 \0 021 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 004 0050440 \0 \0 G } \0 272 z 272 \r 2 6 . 5 . 1 0050460 \t C o m m e n t F e a t u r 0050500 e \r 1 \r \r A f a c i l i t y 0050520 f o r a n n o t a t i n g I 0050540 n t e r l i s p f u n c t i o 0050560 n s i s p r o v i d e d i 0050600 n P R E T T Y P R I N T . 0050620 A n y e x p r e s s i o n b 0050640 e g i n n i n g w i t h t h 0050660 e a t o m * i s i n t e 0050700 r p r e t e d a s a c o m 0050720 m e n t a n d p r i n t e d 0050740 i n t h e r i g h t m a 0050760 r g i n . E x a m p l e : \r 0051000 ( F A C T O R I A L \r [ L 0051020 A M B D A ( N ) 0051040 0051060 ( * C O 0051100 M P U T E S N ! ) \r 0051120 ( C O N D \r 0051140 ( ( Z E R O P N ) 0051160 0051200 ( * 0 ! = 1 0051220 ) \r 1 ) 0051240 \r ( T 0051260 * 0051320 ( * R E C U R S I V E D E 0051340 F I N I T I O N : \r 0051360 * 0051420 N ! = 0051440 N * N - 1 ! ) \r 0051460 ( I T I M E S N ( F 0051500 A C T O R I A L ( S U B 1 N 0051520 ] ) \r T h e s e c o m m e n t 0051540 s a c t u a l l y f o r m 0051560 a p a r t o f t h e f u 0051600 n c t i o n d e f i n i t i o 0051620 n . A c c o r d i n g l y , 0051640 * i s d e f i n e d a s 0051660 a n n l a m b d a n o s p 0051700 r e a d f u n c t i o n t h 0051720 a t r e t u r n s i t s a 0051740 r g u m e n t , s i m i l a r 0051760 t o Q U O T E . W h e n 0052000 r u n n i n g a n i n t e 0052020 r p r e t e d f u n c t i o n 0052040 , * i s e n t e r e d t 0052060 h e s a m e a s a n y o 0052100 t h e r I n t e r l i s p f 0052120 u n c t i o n . T h e r e f 0052140 o r e , c o m m e n t s s h 0052160 o u l d o n l y b e p l a 0052200 c e d w h e r e t h e y w 0052220 i l l n o t h a r m t h e 0052240 c o m p u t a t i o n , i . 0052260 e . , w h e r e a q u o t 0052300 e d e x p r e s s i o n c o 0052320 u l d b e p l a c e d . 0052340 F o r e x a m p l e , w r i 0052360 t i n g \r ( I T I M E S N ( 0052400 F A C T O R I A L ( S U B 1 0052420 N ) ) ( * R E C U R S I V E 0052440 D E F I N I T I O N ) ) \r i n 0052460 t h e a b o v e f u n c t 0052500 i o n w o u l d c a u s e 0052520 a n e r r o r w h e n I T 0052540 I M E S a t t e m p t e d t 0052560 o m u l t i p l y N , N - 0052600 1 ! , a n d R E C U R S I V 0052620 E . \r F o r c o m p i l a t i 0052640 o n p u r p o s e s , * i 0052660 s d e f i n e d a s a m 0052700 a c r o w h i c h c o m p i 0052720 l e s i n t o n o i n s t 0052740 r u c t i o n s ( u n l e s s 0052760 t h e c o m m e n t h a s 0053000 b e e n p l a c e d w h e 0053020 r e i t h a s b e e n u 0053040 s e d f o r v a l u e , i 0053060 n w h i c h c a s e t h e 0053100 c o m p i l e r p r i n t s 0053120 a n a p p r o p r i a t e 0053140 e r r o r m e s s a g e a n 0053160 d c o m p i l e s * a s 0053200 Q U O T E ) . T h u s , t 0053220 h e c o m p i l e d f o r m 0053240 o f a f u n c t i o n w 0053260 i t h c o m m e n t s d o e 0053300 s n o t u s e t h e e x 0053320 t r a a t o m a n d l i s 0053340 t s t r u c t u r e s t o r 0053360 a g e r e q u i r e d b y 0053400 t h e c o m m e n t s i n 0053420 t h e s o u r c e ( i n t e 0053440 r p r e t e d ) c o d e . 0053460 T h i s i s t h e w a y 0053500 t h e c o m m e n t f e a t 0053520 u r e i s i n t e n d e d 0053540 t o b e u s e d . \r A c o 0053560 m m e n t o f t h e f o r 0053600 m ( * E X ) c a u s e s 0053620 X t o b e e v a l u a t 0053640 e d a t p r e t t y p r i n 0053660 t t i m e , a s w e l l 0053700 a s p r i n t e d a s a 0053720 c o m m e n t i n t h e u 0053740 s u a l w a y . F o r e 0053760 x a m p l e , ( * E ( R A 0054000 D I X 8 ) ) a s a c o m 0054020 m e n t i n a f u n c t i 0054040 o n c o n t a i n i n g o c 0054060 t a l n u m b e r s c a n 0054100 b e u s e d t o c h a n g 0054120 e t h e r a d i x t o p 0054140 r o d u c e m o r e r e a d 0054160 a b l e p r i n t o u t . \r T 0054200 h e c o m m e n t c h a r a 0054220 c t e r * i s s t o r e d 0054240 i n t h e v a r i a b l e 0054260 C O M M E N T F L G . T h 0054300 e u s e r c a n s e t i 0054320 t t o s o m e o t h e r 0054340 v a l u e , e . g . " ; " , 0054360 a n d u s e t h i s t o 0054400 i n d i c a t e c o m m e n 0054420 t s . \r C O M M E N T F L G 0054440 \t [ V a r i a b l e ] \r 1 \r \r I 0054460 f C A R o f a n e x p r 0054500 e s s i o n i s E Q t o 0054520 C O M M E N T F L G , t h e 0054540 e x p r e s s i o n i s t r 0054560 e a t e d a s a c o m m e 0054600 n t b y P R E T T Y P R I N 0054620 T . C O M M E N T F L G i 0054640 s i n i t i a l i z e d t o 0054660 * . N o t e t h a t w 0054700 h a t e v e r a t o m i s 0054720 c h o s e n f o r C O M M E 0054740 N T F L G s h o u l d a l s 0054760 o h a v e a n a p p r o p 0055000 r i a t e f u n c t i o n d 0055020 e f i n i t i o n a n d c o 0055040 m p i l e r m a c r o , f o 0055060 r e x a m p l e , b y c o 0055100 p y i n g t h o s e o f * 0055120 . \r 1 \r \r C o m m e n t s a r 0055140 e d e s i g n e d m a i n l 0055160 y f o r d o c u m e n t i n 0055200 g l i s t i n g s . T h e 0055220 r e f o r e , w h e n p r e 0055240 t t y p r i n t i n g t o t 0055260 h e t e r m i n a l , c o m 0055300 m e n t s a r e s u p p r e 0055320 s s e d a n d p r i n t e d 0055340 a s t h e s t r i n g * 0055360 * C O M M E N T * * . T h e 0055400 v a l u e o f * * C O M M 0055420 E N T * * F L G d e t e r m i 0055440 n e s t h e a c t i o n . \r 0055460 * * C O M M E N T * * F L G 0055500 \t [ V a r i a b l e ] \r 1 \r \r I 0055520 f * * C O M M E N T * * F L G 0055540 i s N I L , c o m m e n t 0055560 s a r e p r i n t e d . 0055600 O t h e r w i s e , t h e v 0055620 a l u e o f * * C O M M E N 0055640 T * * F L G i s p r i n t e 0055660 d . I n i t i a l l y " 0055700 * * C O M M E N T * * " . \r 1 0055720 \r 377 377 \0 \0 \r \0 ( \0 C \0 O \0 M \0 M 0055740 \0 E \0 N \0 T \0 1 \0 \0 L \0 357 % 0055760 \0 ) \0 \0 \0 \t \0 [ \0 F \0 u \0 n 0056000 \0 c \0 t \0 i \0 o \0 n \0 ] \0 \r 1 \r 0056020 \r 377 \0 P r i n t s t h e c o 0056040 m m e n t L . C O M M E N 0056060 T 1 i s a s e p a r a t e 0056100 f u n c t i o n t o p e r 0056120 m i t t h e u s e r t o 0056140 w r i t e p r e t t y p r i n 0056160 t m a c r o s ( ( " P R E T 0056200 T Y P R I N T M A C R O S " . 0056220 V a r i a b l e ) ) t h a t 0056240 u s e t h e r e g u l a r 0056260 c o m m e n t p r i n t e r 0056300 . F o r e x a m p l e , 0056320 t o c a u s e c o m m e n t 0056340 s t o b e p r i n t e d 0056360 a t a l a r g e r t h a n 0056400 n o r m a l l i n e l e n g 0056420 t h , o n e c o u l d p u 0056440 t a n e n t r y f o r * 0056460 o n P R E T T Y P R I N T M 0056500 A C R O S : \r ( * L A M B D A 0056520 ( X ) ( R E S E T F O R M 0056540 ( L I N E L E N G T H 1 0 0 ) 0056560 ( C O M M E N T 1 X ) ) ) \r 0056600 T h i s m a c r o r e s e t 0056620 s t h e l i n e l e n g t 0056640 h , p r i n t s t h e c o 0056660 m m e n t , a n d t h e n 0056700 r e s t o r e s t h e l i n 0056720 e l e n g t h . \r C O M M E N 0056740 T 1 e x p e c t s t o b e 0056760 c a l l e d f r o m w i t 0057000 h i n t h e e n v i r o n m 0057020 e n t e s t a b l i s h e d 0057040 b y P R I N T D E F , s o 0057060 o r d i n a r i l y t h e u 0057100 s e r s h o u l d c a l l 0057120 i t o n l y f r o m w i t 0057140 h i n p r e t t y p r i n t 0057160 m a c r o s . \r 1 \r \r \0 \0 \0 \0 \0 0057200 005 \0 \n \0 ( \0 314 \0 314 001 370 \0 022 \0 \0 \0 0057220 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ) \0 K \0 0057260 K 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0057300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T 0057320 \0 \0 \0 \0 \0 / \0 K \0 314 001 370 \0 022 \0 \0 0057340 \0 \0 003 001 \0 001 001 001 370 001 \0 \0 \0 \0 \0 \0 0057360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 0057400 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 0057420 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 0057460 314 001 370 \0 005 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0057500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057520 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 0057540 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 0057600 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0057620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057640 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 \0 \0 0057660 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 0057700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057720 \0 \0 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 0057740 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0057760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 0060000 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0060020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0060040 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 006 M O D 0060060 E R N \0 \n \0 \0 \0 \0 \0 \0 001 \0 \0 024 \0 0060100 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 002 0060120 \0 \0 024 \0 006 M O D E R N \0 \f \0 \0 \0 0060140 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0 0060160 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E 0060200 F A U L T F O N T 1 ( G A C 0060220 H A 1 0 ) ( G A C H A 8 ) 0060240 ( T E R M I N A L 8 ) ) \0 \n 0060260 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \t 0060300 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0060320 \b \0 \0 \0 031 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0060340 \0 \a \0 \0 \0 002 \0 001 \0 \v H R U L E . 0060360 G E T F N 001 \0 024 \0 006 M O D E R N 0060400 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0060420 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 = \0 0060440 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 0060460 * \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 0060500 \0 \0 H \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 0060520 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 0060540 004 \0 \0 \0 @ \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 0060560 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0060600 002 \0 004 \0 \0 \0 9 \0 \0 \0 \0 002 \0 \0 \0 \0 0060620 \0 002 \0 004 \0 \0 \0 017 \0 \0 \0 \0 002 \0 \0 \0 0060640 \0 \0 002 \0 004 \0 \0 \0 I \0 \0 \0 \0 002 \0 \0 0060660 \0 \0 \0 002 \0 004 \0 \0 \0 > \0 \0 \0 \0 002 \0 0060700 \0 \0 \0 \0 002 \0 004 \0 \0 \0 + \0 \0 \0 \0 002 0060720 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 N \0 \0 \0 \0 0060740 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 R \0 \0 0060760 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 \0 \0 ) 0061000 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0061020 \0 322 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 005 \0 0061040 \0 \0 9 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 006 0061060 \0 \0 \0 0 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 0061100 \0 002 \0 \0 \0 027 \0 \0 \0 \0 004 \0 \0 \0 001 \0 0061120 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 0061140 004 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 004 \0 0061160 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 0061200 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 032 \0 \0 \0 0061220 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 315 \0 0061240 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 0061260 004 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 \0 0061300 \0 \0 347 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 0061320 \0 \0 \0 026 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 0061340 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 001 \0 0061360 \0 \0 \0 002 \0 \0 \0 \b \0 \0 \0 \0 004 \0 \0 \0 0061400 001 \0 \0 \0 \0 001 \0 \0 \0 f \0 \0 \0 \0 004 \0 0061420 \0 \0 017 \0 \0 \0 \0 002 \0 \0 \0 x \0 \0 \0 \0 0061440 004 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 026 \0 \0 \0 0061460 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 033 \0 0061500 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 0061520 2 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 0061540 \0 \0 & \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 0061560 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 0061600 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 0061620 \0 \v H R U L E . G E T F N 001 \0 024 0061640 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0061660 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 0061700 002 \0 \t \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 003 0061720 \0 \0 \0 \0 002 \0 \0 \0 025 \0 \0 \0 \0 004 \0 \0 0061740 \0 002 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 0061760 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 , \0 \0 \0 0062000 \0 004 \0 \0 \0 \v \0 \0 \0 \0 002 \0 \0 \0 003 \0 0062020 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 002 \0 \0 \0 0062040 023 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 002 \0 0062060 \0 \0 ) \0 \0 \0 \0 004 \0 \0 \0 \n \0 \0 \0 \0 0062100 002 \0 \0 \0 j \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 0062120 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 0062140 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U L 0062160 E . G E T F N 001 \0 024 \0 006 M O D E 0062200 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0062220 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0062240 - \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 001 \0 0062260 \0 \0 e \0 \0 \0 \0 004 \0 \0 \0 \v \0 \0 \0 \0 0062300 002 \0 \0 \0 020 \0 \0 \0 \0 004 \0 \0 \0 016 \0 \0 0062320 \0 \0 002 \0 \0 \0 030 \0 \0 \0 \0 004 \0 \0 \0 \0 0062340 \0 002 \0 003 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 0062360 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0062400 \0 002 \0 001 \0 \v H R U L E . G E T F 0062420 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0062440 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0062460 \0 \0 \0 \0 002 \0 \t \0 \0 \0 003 \0 \0 \0 \0 004 0062500 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 0062520 \0 004 \0 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 1 \0 0062540 \0 \0 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 0062560 030 \0 \0 \0 \0 004 \0 \0 \0 017 \0 \0 \0 \0 002 \0 0062600 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \t 0062620 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0062640 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0062660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 \0 \0 002 \0 0062700 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 024 \0 \0 002 0062720 \0 002 \0 \0 \0 006 \0 \0 002 \0 001 \0 \0 \0 002 \0 0062740 \0 002 \0 002 \0 \0 \0 034 \0 \0 002 \0 004 \0 \0 \0 0062760 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U 0063000 L E . G E T F N 001 \0 024 \0 006 M O D 0063020 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0063040 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \t \0 \0 0063060 \0 025 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 \0 001 0063100 \0 \0 \0 003 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 0063120 \0 002 \0 \0 \0 H \0 \0 \0 \0 004 \0 \0 \0 \0 0063140 001 \0 \f I R M . G E T . C R E F \0 0063160 \0 \0 \0 225 \0 \0 \0 \0 004 \0 \0 \0 001 \0 \0 \0 0063200 \0 002 \0 \0 \0 004 \0 \0 \0 \0 004 \0 \0 \0 021 \0 0063220 \0 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 0063240 \0 \0 002 \0 005 \0 \0 \0 9 \0 \0 \0 \0 002 \0 \0 0063260 \0 \0 \0 002 \0 006 \0 \0 \0 Z \0 \0 \0 \0 004 \0 0063300 \0 \0 \0 \0 002 \0 006 \0 \0 \0 \b \0 \0 \0 \0 002 0063320 \0 \0 \0 A \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 0063340 \0 002 \0 \0 \0 ( \0 \0 \0 \0 004 \0 \0 \0 004 \0 0063360 \0 \0 \0 001 \0 \0 \0 ! \0 \0 \0 \0 004 \0 \0 \0 0063400 \0 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U 0063420 L E . G E T F N 001 \0 024 \0 006 M O D 0063440 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0063460 001 \0 \0 \0 \0 004 \0 \0 ^ { \0 243 z 272 \r 2 0063500 \r \r 2 6 . 5 \t P r e t t y p 0063520 r i n t \r 1 \r 377 377 \0 \0 \r \0 T \0 h 0063540 \0 e \0 \0 s \0 t \0 a \0 n \0 d \0 a 0063560 \0 r \0 d \0 \0 w \0 a \0 y \0 \0 o 0063600 \0 f \0 \0 p \0 r \0 i \0 n \0 t \0 i 0063620 \0 n \0 g \0 \0 o \0 u \0 t \0 \0 f 0063640 \0 u \0 n \0 c \0 t \0 i \0 o \0 n \0 0063660 \0 d \0 e \0 f \0 i \0 n \0 i \0 t \0 i 0063700 \0 o \0 n \0 s \0 \0 ( \0 o \0 n \0 0063720 \0 t \0 h \0 e \0 \0 t \0 e \0 r \0 m 0063740 \0 i \0 n \0 a \0 l \0 \0 o \0 r \0 0063760 \0 i \0 n \0 t \0 o \0 \0 f \0 i \0 l 0064000 \0 e \0 s \0 ) \0 \0 i \0 s \0 \0 t 0064020 \0 o \0 \0 u \0 s \0 e \0 \0 P \0 R 0064040 \0 E \0 T \0 T \0 Y \0 P \0 R \0 I \0 N 0064060 \0 T \0 . \0 \r \0 ( \0 P \0 R \0 E \0 T 0064100 \0 T \0 Y \0 P \0 R \0 I \0 N \0 T \0 0064120 \0 F \0 N \0 S \0 \0 P \0 R \0 E \0 T 0064140 \0 T \0 Y \0 D \0 E \0 F \0 L \0 G \0 0064160 357 % \0 ) \0 \0 \0 \t \0 [ \0 F \0 u 0064200 \0 n \0 c 377 \0 t i o n ] \r 1 \r \r F 0064220 N S i s a l i s t o f 0064240 f u n c t i o n s . I f F 0064260 N S i s a t o m i c , i t 0064300 s v a l u e i s u s e d ) 0064320 . T h e d e f i n i t i o 0064340 n s o f t h e f u n c t i 0064360 o n s a r e p r i n t e d 0064400 i n a p r e t t y f o r m 0064420 a t o n t h e p r i m a r 0064440 y o u t p u t f i l e u s 0064460 i n g t h e p r i m a r y 0064500 r e a d t a b l e . F o r 0064520 e x a m p l e , i f F A C T 0064540 O R I A L w e r e d e f i n 0064560 e d b y t y p i n g \r ( D E 0064600 F I N E Q ( F A C T O R I A L 0064620 [ L A M B D A ( N ) ( C O 0064640 N D ( ( Z E R O P N ) 1 ) 0064660 \r ( T ( I T I M E S N ( F 0064700 A C T O R I A L ( S U B 1 N 0064720 ] \r ( P R E T T Y P R I N T ' 0064740 ( F A C T O R I A L ) ) w o u 0064760 l d p r i n t o u t \r ( F A 0065000 C T O R I A L \r [ L A M B D 0065020 A ( N ) \r ( C O N D \r 0065040 ( ( Z E R O P N ) 0065060 \r 1 ) \r 0065100 ( T ( I T I M E S N ( 0065120 F A C T O R I A L ( S U B 1 0065140 N ] ) \r P R E T T Y D E F L G 0065160 i s T w h e n c a l l e d 0065200 f r o m P R E T T Y D E F 0065220 ( a n d h e n c e M A K E F 0065240 I L E ) . A m o n g o t h 0065260 e r a c t i o n s t a k e n 0065300 w h e n t h i s a r g u m 0065320 e n t i s t r u e , P R E 0065340 T T Y P R I N T i n d i c a t 0065360 e s i t s p r o g r e s s 0065400 i n w r i t i n g t h e c 0065420 u r r e n t o u t p u t f i 0065440 l e : w h e n e v e r i t 0065460 s t a r t s a n e w f u n 0065500 c t i o n , i t p r i n t s 0065520 o n t h e t e r m i n a l 0065540 t h e n a m e o f t h a 0065560 t f u n c t i o n i f m o 0065600 r e t h a n 3 0 s e c o n 0065620 d s ( r e a l t i m e ) h 0065640 a v e e l a p s e d s i n c 0065660 e t h e l a s t t i m e 0065700 i t p r i n t e d t h e n 0065720 a m e o f a f u n c t i o 0065740 n . \r P R E T T Y P R I N T o 0065760 p e r a t e s c o r r e c t l 0066000 y o n f u n c t i o n s t 0066020 h a t a r e B R O K E N , 0066040 B R O K E N - I N , A D V I S 0066060 E D , o r h a v e b e e n 0066100 c o m p i l e d w i t h t 0066120 h e i r d e f i n i t i o n s 0066140 s a v e d o n t h e i r 0066160 p r o p e r t y l i s t s : 0066200 i t p r i n t s t h e o r 0066220 i g i n a l , p r i s t i n e 0066240 d e f i n i t i o n , b u t 0066260 d o e s n o t c h a n g e 0066300 t h e c u r r e n t s t a 0066320 t e o f t h e f u n c t i 0066340 o n . I f a f u n c t i 0066360 o n i s n o t d e f i n e 0066400 d b u t i s k n o w n t 0066420 o b e o n o n e o f t 0066440 h e f i l e s n o t i c e d 0066460 b y t h e f i l e p a c 0066500 k a g e , P R E T T Y P R I N 0066520 T l o a d s i n t h e d 0066540 e f i n i t i o n ( u s i n g 0066560 L O A D F N S ) a n d p r 0066600 i n t s i t ( e x c e p t 0066620 w h e n c a l l e d f r o m 0066640 P R E T T Y D E F ) . I f 0066660 P R E T T Y P R I N T i s 0066700 g i v e n a n a t o m w h 0066720 i c h i s n o t t h e n 0066740 a m e o f a f u n c t i o 0066760 n , b u t h a s a v a l 0067000 u e , i t p r e t t y p r i 0067020 n t s t h e v a l u e . 0067040 O t h e r w i s e , P R E T T 0067060 Y P R I N T a t t e m p t s 0067100 s p e l l i n g c o r r e c t 0067120 i o n . I f a l l f a i 0067140 l s , P R E T T Y P R I N T 0067160 r e t u r n s ( F N N O T 0067200 P R I N T A B L E ) . N o t 0067220 e t h a t P R E T T Y P R I 0067240 N T w i l l r e t u r n ( 0067260 F N N O T P R I N T A B L E 0067300 ) i f F N d o e s n o t 0067320 h a v e a n a c c e s s a 0067340 b l e e x p r d e f i n i t 0067360 i o n , o r i f i t d o 0067400 e s n ' t h a v e a n y d 0067420 e f i n i t i o n a t a l l 0067440 . \r 1 \r \r ( P P F N 1 . . . 0067460 F N N ) \t [ N L a m b d a 0067500 N o S p r e a d F u n c t i 0067520 o n ] \r 1 \r \r F o r p r e t t 0067540 y p r i n t i n g f u n c t i 0067560 o n s t o t h e t e r m i 0067600 n a l . P P c a l l s P 0067620 R E T T Y P R I N T w i t h 0067640 t h e p r i m a r y o u t p 0067660 u t f i l e s e t t o T 0067700 a n d t h e p r i m a r y 0067720 r e a d t a b l e s e t 0067740 t o T . T h e p r i m a 0067760 r y o u t p u t f i l e a 0070000 n d p r i m a r y r e a d t 0070020 a b l e a r e r e s t o r e 0070040 d a f t e r p r i n t i n g 0070060 . \r ( P P F O O ) i s e q 0070100 u i v a l e n t t o ( P R E 0070120 T T Y P R I N T ' ( F O O ) ) 0070140 ; ( P P F O O F I E ) 0070160 i s e q u i v a l e n t t o 0070200 ( P R E T T Y P R I N T ' ( 0070220 F O O F I E ) ) . \r 1 \r \r A s 0070240 d e s c r i b e d a b o v e 0070260 , w h e n P R E T T Y P R I 0070300 N T , a n d h e n c e P P 0070320 , i s c a l l e d w i t h 0070340 t h e n a m e o f a f 0070360 u n c t i o n t h a t i s 0070400 n o t d e f i n e d , b u t 0070420 w h o s e d e f i n i t i o 0070440 n i s o n a f i l e k 0070460 n o w n t o t h e f i l e 0070500 p a c k a g e , t h e d e 0070520 f i n i t i o n i s a u t o 0070540 m a t i c a l l y r e a d i 0070560 n a n d t h e n p r e t t 0070600 y p r i n t e d . H o w e v 0070620 e r , i f t h e u s e r 0070640 d o e s n o t i n t e n d 0070660 o n e d i t i n g o r r u 0070700 n n i n g t h e d e f i n i 0070720 t i o n , b u t s i m p l y 0070740 w a n t s t o s e e t h 0070760 e d e f i n i t i o n , t h 0071000 e f u n c t i o n P F d e 0071020 s c r i b e d b e l o w c a 0071040 n b e u s e d t o s i m 0071060 p l y c o p y t h e c o r 0071100 r e s p o n d i n g c h a r a 0071120 c t e r s f r o m t h e f 0071140 i l e t o t h e t e r m i 0071160 n a l . T h i s r e s u l 0071200 t s i n a s a v i n g s 0071220 i n b o t h s p a c e a n 0071240 d t i m e , s i n c e i t 0071260 i s n o t n e c e s s a r 0071300 y t o a l l o c a t e s t 0071320 o r a g e t o a c t u a l l 0071340 y r e a d i n t h e d e 0071360 f i n i t i o n , a n d i t 0071400 i s n o t n e c e s s a r 0071420 y t o r e - p r e t t y p r 0071440 i n t i t ( s i n c e t h 0071460 e f u n c t i o n i s a l 0071500 r e a d y i n p r e t t y p 0071520 r i n t f o r m a t o n t 0071540 h e f i l e ) . \r ( P F F N 0071560 F R O M F I L E S T O F I L 0071600 E ) \t [ N L a m b d a N o 0071620 S p r e a d F u n c t i o n ] 0071640 \r 1 \r \r C o p i e s t h e d 0071660 e f i n i t i o n o f F N 0071700 f o u n d o n e a c h o f 0071720 t h e f i l e s i n F R 0071740 O M F I L E S t o T O F I L 0071760 E . I f T O F I L E = N I 0072000 L , d e f a u l t s t o T 0072020 . I f F R O M F I L E S = 0072040 N I L , d e f a u l t s t o 0072060 ( W H E R E I S F N N I L 0072100 T ) ( s e e ( " W H E R E 0072120 I S " . F u n c t i o n ) ) 0072140 . T h e t y p i c a l u 0072160 s a g e o f P F i s s i 0072200 m p l y t o t y p e " P F 0072220 F N " . \r P F p r i n t s 0072240 a m e s s a g e i f i t 0072260 c a n ' t f i n d a f i l 0072300 e o n F R O M F I L E S , 0072320 o r i t c a n ' t f i n d 0072340 t h e f u n c t i o n F N 0072360 o n a f i l e . \r 1 \r \r W 0072400 h e n p r i n t i n g t o 0072420 t h e t e r m i n a l , P F 0072440 p e r f o r m s s e v e r a 0072460 l t r a n s f o r m a t i o n 0072500 s o n t h e c h a r a c t 0072520 e r s i n t h e f i l e 0072540 t h a t c o m p r i s e t h 0072560 e d e f i n i t i o n f o r 0072600 F N : ( 1 ) f o n t i n 0072620 f o r m a t i o n i s s t r 0072640 i p p e d o u t ( e x c e p 0072660 t i n I n t e r l i s p - D 0072700 , w h o s e d i s p l a y 0072720 s u p p o r t s m u l t i p l 0072740 e f o n t s ) ; ( 2 ) o c 0072760 c u r r e n c e s o f t h e 0073000 C H A N G E C H A R ( ( " C 0073020 H A N G E C H A R " . V a r 0073040 i a b l e ) ) a r e n o t 0073060 p r i n t e d ; ( 3 ) s i n 0073100 c e f u n c t i o n s t y p 0073120 i c a l l y t e n d t o b 0073140 e p r i n t e d t o a f 0073160 i l e w i t h a l a r g e 0073200 r l i n e l e n g t h t h a 0073220 n w h e n p r i n t i n g 0073240 t o a t e r m i n a l , t 0073260 h e n u m b e r o f l e a 0073300 d i n g s p a c e s o n e 0073320 a c h l i n e i s c u t 0073340 i n h a l f ( u n l e s s 0073360 P F D E F A U L T i s T ; 0073400 i n i t i a l l y N I L ) ; 0073420 a n d ( 4 ) c o m m e n t s 0073440 a r e e l i d e d , i f 0073460 * * C O M M E N T * * F L G i 0073500 s n o n - N I L ( s e e ( 0073520 " * * C O M M E N T * * F L G " 0073540 . V a r i a b l e ) ) . \r 0073560 ( S E E F R O M F I L E T O 0073600 F I L E ) \t [ N L a m b d a 0073620 N o S p r e a d F u n c t i 0073640 o n ] \r 1 \r \r C o p i e s a l 0073660 l o f t h e t e x t f r 0073700 o m F R O M F I L E t o T 0073720 O F I L E ( d e f a u l t s 0073740 t o T ) , p r o c e s s i n 0073760 g a l l t e x t a s P F 0074000 d o e s . U s e d t o 0074020 d i s p l a y t h e c o n t 0074040 e n t s o f f i l e s o n 0074060 t h e t e r m i n a l . \r 1 0074100 \r \r ( P P * X ) \t [ N L a 0074120 m b d a N o S p r e a d F u 0074140 n c t i o n ] \r 1 \r \r ( P F * 0074160 F N F R O M F I L E S T O F 0074200 I L E ) \t [ N L a m b d a 0074220 N o S p r e a d F u n c t i o 0074240 n ] \r 1 \r \r ( S E E * F R O M 0074260 F I L E T O F I L E ) \t [ 0074300 N L a m b d a N o S p r e a d 0074320 F u n c t i o n ] \r 1 \r \r T h 0074340 e s e f u n c t i o n s o p 0074360 e r a t e e x a c t l y l i 0074400 k e P P , P F , a n d S 0074420 E E , e x c e p t t h a t 0074440 t h e y b i n d * * C O M M 0074460 E N T * * F L G t o N I L , 0074500 s o c o m m e n t s a r e 0074520 p r i n t e d i n f u l l 0074540 ( s e e ( " * * C O M M E N 0074560 T * * F L G " . V a r i a b 0074600 l e ) ) . \r 1 \r \r W h i l e t 0074620 h e f u n c t i o n P R E T 0074640 T Y P R I N T p r i n t s e 0074660 n t i r e f u n c t i o n d 0074700 e f i n i t i o n s , t h e 0074720 f u n c t i o n P R I N T D E 0074740 F c a n b e u s e d t o 0074760 p r i n t p a r t s o f 0075000 f u n c t i o n s , o r a r 0075020 b i t r a r y I n t e r l i s 0075040 p s t r u c t u r e s : \r ( P 0075060 R I N T D E F E X P R L E F 0075100 T D E F T A I L F L G F N 0075120 S L S T F I L E ) \t [ F u 0075140 n c t i o n ] \r 1 \r \r P r i n t 0075160 s t h e e x p r e s s i o n 0075200 E X P R i n a p r e t t 0075220 y f o r m a t o n F I L E 0075240 u s i n g t h e p r i m a 0075260 r y r e a d t a b l e . L 0075300 E F T i s t h e l e f t 0075320 h a n d m a r g i n ( L I N 0075340 E L E N G T H d e t e r m i n 0075360 e s t h e r i g h t h a n 0075400 d m a r g i n ) . P R I N 0075420 T D E F i n i t i a l l y p 0075440 e r f o r m s ( T A B L E F 0075460 T T ) , w h i c h m e a n 0075500 s t o s p a c e t o p o 0075520 s i t i o n L E F T , u n l 0075540 e s s a l r e a d y b e y o 0075560 n d t h i s p o s i t i o n 0075600 , i n w h i c h c a s e 0075620 i t d o e s n o t h i n g . 0075640 \r D E F = T m e a n s E X P 0075660 R i s a f u n c t i o n 0075700 d e f i n i t i o n , o r a 0075720 p i e c e o f o n e . 0075740 I f D E F = N I L , n o s 0075760 p e c i a l a c t i o n i s 0076000 t a k e n f o r L A M B D 0076020 A ' s , P R O G ' s , C O N 0076040 D ' s , c o m m e n t s , C 0076060 L I S P , e t c . D E F 0076100 i s N I L w h e n P R E T 0076120 T Y D E F c a l l s P R E T 0076140 T Y P R I N T t o p r i n t 0076160 v a r i a b l e s a n d p 0076200 r o p e r t y l i s t s , a 0076220 n d w h e n P R I N T D E F 0076240 i s c a l l e d f r o m 0076260 t h e e d i t o r v i a t 0076300 h e c o m m a n d P P V . \r 0076320 T A I L F L G = T m e a n s 0076340 E X P R i s i n t e r p r e 0076360 t e d a s a t a i l o f 0076400 a l i s t , t o b e p 0076420 r i n t e d w i t h o u t p 0076440 a r e n t h e s e s . \r F N S L 0076460 S T i s f o r u s e f o 0076500 r p r i n t i n g w i t h 0076520 m u l t i p l e f o n t s ( 0076540 ( " F o n t s " . T E R M ) 0076560 ) . P R I N T D E F p r i 0076600 n t s o c c u r r e n c e s 0076620 o f a n y f u n c t i o n 0076640 i n t h e l i s t F N S L 0076660 S T i n a d i f f e r e n 0076700 t f o n t , f o r e m p h 0076720 a s i s . M A K E F I L E 0076740 p a s s e s a s F N S L S T 0076760 t h e l i s t o f a l l 0077000 f u n c t i o n s o n t h 0077020 e f i l e b e i n g m a d 0077040 e . \r 1 \r \r \0 \0 \0 \0 \0 005 \0 \v \0 ( 0077060 \0 314 \0 314 001 370 \0 022 \0 \0 \0 \0 002 004 \0 \0 0077100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077120 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 0077140 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( 0077200 \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 001 \0 \0 0077220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077240 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 \0 0077260 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077300 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ) 0077320 \0 K \0 K 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 0077340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077360 \0 001 T \0 \0 \0 \0 \0 / \0 K \0 314 001 370 \0 0077400 022 \0 \0 \0 \0 003 001 \0 001 001 001 370 001 \0 \0 \0 0077420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077440 001 T \0 \0 \0 \0 \0 ( \0 \0 \0 \0 001 370 \0 \0 0077460 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . 0077520 \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 003 001 \0 022 0077540 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 0077600 \0 \0 001 370 \0 7 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0077620 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077640 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 0077660 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077700 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 0077720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 0077740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0077760 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 006 \0 024 \0 006 0100000 M O D E R N \0 \n 377 375 \0 \0 \0 \0 001 \0 0100020 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0100040 \0 \0 001 \0 \0 024 \0 006 M O D E R N \0 \n 0100060 \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E 0100100 R N \0 016 \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0100120 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0100140 \0 ? \0 1 ( D E F A U L T F O N T 0100160 1 ( G A C H A 1 0 ) ( G 0100200 A C H A 8 ) ( T E R M I N A 0100220 L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0100240 \0 \0 \0 \0 002 \0 \n \0 \0 \0 001 \0 \0 \0 \0 005 0100260 \0 \0 \0 \0 \0 002 \0 \t \0 \0 \0 002 \0 001 \0 \v 0100300 H R U L E . G E T F N 001 \0 024 \0 006 0100320 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0100340 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0100360 \b \0 \0 \0 023 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0100400 \0 \a \0 \0 \0 002 \0 001 \0 \v H R U L E . 0100420 G E T F N 001 \0 024 \0 006 M O D E R N 0100440 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 005 \0 \0 0100460 002 \0 005 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 300 \0 0100500 \0 002 \0 005 \0 \0 \0 026 \0 \0 002 \0 003 \0 \0 \0 0100520 004 \0 \0 002 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0100540 \0 032 \0 \0 002 \0 003 \0 \0 \0 " \0 \0 002 \0 002 0100560 \0 \0 \0 002 \0 \0 002 \0 003 \0 \0 \0 020 \0 \0 002 0100600 \0 005 \0 \0 \0 \b \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0100620 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R U L E 0100640 . G E T F N 001 \0 024 \0 006 M O D E R 0100660 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0100700 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 003 0100720 \0 \0 \0 \0 002 \0 \0 \0 035 \0 \0 \0 \0 005 \0 \0 0100740 \0 003 \0 \0 \0 \0 002 \0 \0 \0 252 \0 \0 \0 \0 005 0100760 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 030 \0 \0 \0 0101000 \0 005 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 4 \0 \0 0101020 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 ! \0 0101040 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 032 0101060 \0 \0 \0 \0 003 \0 \0 \0 021 \0 \0 \0 \0 005 \0 \0 0101100 \0 \0 \0 002 \0 003 \0 \0 \0 \v \0 \0 \0 \0 003 \0 0101120 \0 \0 \0 \0 002 \0 002 \0 \0 \0 016 \0 \0 \0 \0 003 0101140 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \n \0 \0 \0 \0 0101160 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 021 \0 \0 \0 0101200 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 \v \0 \0 0101220 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 ( \0 0101240 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 \v 0101260 \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 0101300 \0 001 \0 \0 \0 \0 003 \0 \0 \0 022 \0 \0 \0 \0 005 0101320 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 \f \0 \0 \0 0101340 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 : \0 0101360 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 0101400 373 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \n \0 \0 0101420 \0 \v \0 \0 \0 \0 003 \0 \0 \0 * \0 \0 \0 \0 005 0101440 \0 \0 \0 006 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 0101460 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 002 \0 0101500 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 003 \0 \0 001 0101520 024 \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 0101540 \0 \0 \0 \0 \0 \0 005 \0 \0 \0 \a \0 \0 \0 \0 0101560 003 \0 \0 \0 ) \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 0101600 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \v 0101620 \0 \0 \0 \0 003 \0 \0 \0 o \0 \0 \0 \0 005 \0 \0 0101640 \0 \v \0 \0 \0 \0 003 \0 \0 \0 . \0 \0 \0 \0 005 0101660 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 0101700 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 002 \0 0101720 \0 \0 \0 002 \0 \0 \0 017 \0 \0 \0 \0 003 \0 \0 \0 0101740 \r \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 0101760 \0 \0 \r \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 0102000 003 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 017 \0 \0 0102020 \0 \0 003 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 002 0102040 \0 \0 \0 \0 002 \0 \0 \0 [ \0 \0 \0 \0 005 \0 \0 0102060 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v H R 0102100 U L E . G E T F N 001 \0 024 \0 006 M O 0102120 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0102140 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 0102160 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 0102200 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 \a \0 \0 0102220 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 001 0102240 \0 \0 \0 \0 003 \0 \0 \0 037 \0 \0 \0 \0 005 \0 \0 0102260 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0102300 U L E . G E T F N 001 \0 024 \0 006 M O 0102320 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0102340 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 0102360 \0 \0 / \0 \0 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 0102400 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 0102420 \0 \0 003 \0 \0 \0 % \0 \0 \0 \0 005 \0 \0 \0 001 0102440 \0 \0 \0 \0 003 \0 \0 \0 # \0 \0 \0 \0 005 \0 \0 0102460 \0 001 \0 \0 \0 \0 003 \0 \0 \0 N \0 \0 \0 \0 005 0102500 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 \b \0 \0 \0 \0 0102520 003 \0 \0 \0 022 \0 \0 \0 \0 005 \0 \0 \0 024 \0 \0 0102540 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 005 \0 \0 \0 \f 0102560 \0 \0 \0 \0 003 \0 \0 \0 022 \0 \0 \0 \0 005 \0 \0 0102600 \0 030 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 005 0102620 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v 0102640 H R U L E . G E T F N 001 \0 024 \0 006 0102660 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0102700 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0102720 001 \0 \0 \0 031 \0 \0 \0 \0 005 \0 \0 \0 \v \0 \0 0102740 \0 \0 003 \0 \0 \0 \f \0 \0 \0 \0 005 \0 \0 \0 002 0102760 \0 \0 \0 \0 003 \0 \0 001 032 \0 \0 \0 \0 005 \0 \0 0103000 \0 003 \0 \0 \0 \0 002 \0 \0 \0 036 \0 \0 \0 \0 005 0103020 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 001 ] \0 \0 \0 0103040 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 004 \0 \0 0103060 \0 \0 003 \0 \0 \0 023 \0 \0 \0 \0 002 \0 \0 \0 001 0103100 \0 \0 \0 \0 003 \0 \0 \0 037 \0 \0 \0 \0 005 \0 \0 0103120 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0103140 U L E . G E T F N 001 \0 024 \0 006 M O 0103160 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0103200 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 0103220 \0 \0 031 \0 \0 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 0103240 002 \0 \0 \0 037 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 0103260 \0 \0 002 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 006 0103300 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 0103320 \0 006 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 0103340 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 016 \0 \0 \0 0103360 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 006 \0 0103400 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 0103420 001 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 0103440 \0 \0 016 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 0103460 003 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 \a \0 \0 0103500 \0 \0 003 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 026 0103520 \0 001 \0 \f I R M . G E T . C R E F 0103540 \0 \0 \0 \0 031 \0 \0 \0 \0 005 \0 \0 \0 002 \0 \0 0103560 \0 \0 003 \0 \0 \0 024 \0 \0 \0 \0 005 \0 \0 \0 003 0103600 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 0103620 \0 003 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 \n \0 0103640 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 - \0 \0 \0 \0 0103660 005 \0 \0 \0 \t \0 \0 \0 \0 002 \0 \0 \0 \0 \0 0103700 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 \f 0103720 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0103740 002 \0 001 \0 \v H R U L E . G E T F N 0103760 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0104000 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0104020 \0 \0 \0 002 \0 001 \0 \0 \0 037 \0 \0 \0 \0 005 \0 0104040 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 a \0 \0 \0 \0 0104060 005 \0 \0 \0 002 \0 \0 \0 \0 002 \0 \0 \0 ~ \0 \0 0104100 \0 \0 005 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 002 0104120 \0 \0 \0 \0 005 \0 \0 \0 031 \0 001 \0 \f I R M 0104140 . G E T . C R E F \0 \0 \0 \0 312 \0 \0 0104160 \0 \0 005 \0 \0 \0 \t \0 \0 \0 \0 003 \0 \0 \0 004 0104200 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0104220 \0 \f \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 0104240 \0 \0 \0 # \0 \0 \0 \0 005 \0 \0 \0 016 \0 \0 \0 0104260 \0 003 \0 \0 \0 \b \0 \0 \0 \0 005 \0 \0 \0 003 \0 0104300 \0 \0 \0 003 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 0104320 035 \0 001 \0 \f I R M . G E T . C R E 0104340 F \0 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 0104360 002 \0 006 \0 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 017 0104400 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0104420 \0 037 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 0104440 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0104460 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0104500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 0104520 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 034 \0 \0 \0 \0 0104540 005 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 \0 004 \0 \0 0104560 \0 \0 005 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 016 0104600 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0104620 \0 032 \0 \0 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 003 0104640 \0 \0 \0 ? \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 0104660 004 \0 \0 \0 002 \0 001 \0 \v H R U L E . G 0104700 E T F N 001 \0 024 \0 006 M O D E R N \0 0104720 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0104740 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 005 \0 \0 0104760 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 001 0105000 \0 \0 \0 \0 003 \0 \0 \0 037 \0 \0 \0 \0 005 \0 \0 0105020 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0105040 U L E . G E T F N 001 \0 024 \0 006 M O 0105060 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0105100 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 006 \0 0105120 \0 \0 005 \0 \0 \0 \0 003 \0 \0 \0 023 \0 \0 \0 \0 0105140 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 037 \0 \0 0105160 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 0105200 001 \0 \v H R U L E . G E T F N 001 \0 0105220 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 0105240 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 \0 0105260 \0 002 \0 006 \0 \0 \0 006 \0 \0 \0 \0 003 \0 \0 \0 0105300 017 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 0105320 \0 \0 037 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 0105340 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0105360 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0105400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0105420 005 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 % \0 \0 \0 0105440 \0 005 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 002 \0 0105460 \0 \0 \0 005 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 0105500 006 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 003 \0 0105520 \0 \0 030 \0 \0 \0 \0 005 \0 \0 \0 016 \0 \0 \0 \0 0105540 003 \0 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 0105560 \0 \0 003 \0 \0 \0 ' \0 \0 \0 \0 005 \0 \0 \0 035 0105600 \0 001 \0 \f I R M . G E T . C R E F 0105620 \0 \0 \0 \0 003 \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 0105640 \0 004 \0 \0 \0 002 \0 001 \0 \v H R U L E . 0105660 G E T F N 001 \0 024 \0 006 M O D E R N 0105700 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 0105720 \0 \0 005 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 023 \0 0105740 \0 \0 \0 005 \0 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 0105760 2 \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 0106000 \0 \0 M \0 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 006 0106020 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 ! \0 \0 \0 0106040 \0 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 016 \0 0106060 \0 \0 \0 005 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 0106100 \0 001 \0 \v H R U L E . G E T F N 001 0106120 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0106140 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 0106160 \0 \0 002 \0 004 \0 \0 \0 026 \0 \0 \0 \0 005 \0 \0 0106200 \0 004 \0 \0 \0 \0 002 \0 \0 \0 027 \0 \0 \0 \0 005 0106220 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 037 \0 \0 \0 0106240 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 032 \0 0106260 \0 \0 \0 005 \0 \0 \0 \n \0 \0 \0 \0 003 \0 \0 \0 0106300 % \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 003 \0 0106320 \0 \0 024 \0 \0 \0 \0 005 \0 \0 \0 005 \0 \0 \0 \0 0106340 003 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 003 \0 \0 0106360 \0 \0 003 \0 \0 \0 # \0 \0 \0 \0 005 \0 \0 \0 004 0106400 \0 \0 \0 \0 002 \0 \0 \0 F \0 \0 \0 \0 005 \0 \0 0106420 \0 \0 \0 002 \0 \n \0 \0 \0 003 \0 \0 \0 \0 002 \0 0106440 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 001 \0 \0 \0 \0 0106460 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 004 \0 \0 0106500 \0 \0 002 \0 \0 \0 2 \0 \0 \0 \0 005 \0 \0 \0 003 0106520 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 0106540 \0 003 \0 \0 \0 \0 003 \0 \0 \0 ! \0 \0 \0 \0 005 0106560 \0 \0 \0 006 \0 \0 \0 \0 003 \0 \0 \0 004 \0 \0 \0 0106600 \0 005 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 004 \0 0106620 \0 \0 \0 005 \0 \0 \0 004 \0 \0 \0 \0 003 \0 \0 \0 0106640 033 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 002 \0 0106660 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 003 \0 \0 \0 \0 0106700 003 \0 \0 \0 006 \0 \0 \0 \0 005 \0 \0 \0 \t \0 \0 0106720 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 \0 \v 0106740 \0 \0 \0 \0 003 \0 \0 \0 1 \0 \0 \0 \0 005 \0 \0 0106760 \0 \b \0 \0 \0 \0 003 \0 \0 \0 + \0 \0 \0 \0 005 0107000 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 \0 002 \0 \0 \0 0107020 \0 005 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 \a \0 \0 0107040 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 \0 001 0107060 \0 \0 \0 \0 003 \0 \0 \0 \a \0 \0 \0 \0 005 \0 \0 0107100 \0 004 \0 \0 \0 \0 002 \0 \0 \0 H \0 \0 \0 \0 005 0107120 \0 \0 \0 \0 \0 002 \0 \n \0 \0 \0 006 \0 \0 \0 \0 0107140 002 \0 \0 \0 . \0 \0 \0 \0 005 \0 \0 \0 020 \0 001 0107160 \0 \f I R M . G E T . C R E F \0 \0 0107200 \0 \0 004 \0 \0 \0 \0 005 \0 \0 \0 \b \0 \0 \0 \0 0107220 003 \0 \0 \0 0 \0 \0 \0 \0 005 \0 \0 \0 006 \0 \0 0107240 \0 \0 002 \0 \0 \0 % \0 \0 \0 \0 005 \0 \0 \0 \b 0107260 \0 \0 \0 \0 003 \0 \0 \0 \v \0 \0 \0 \0 005 \0 \0 0107300 \0 006 \0 \0 \0 \0 002 \0 \0 \0 3 \0 \0 \0 \0 005 0107320 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 002 \0 001 \0 \v 0107340 H R U L E . G E T F N 001 \0 024 \0 006 0107360 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0107400 \0 \0 \0 001 \0 \0 \0 \0 005 \0 \0 ~ & 001 b z 0107420 272 \r 2 6 . 4 . 1 2 \t D i s p 0107440 l a y T y p e s \r 1 \r \r [ T h 0107460 i s i s n o t r e l e v a 0107500 n t i n I n t e r l i s p - 0107520 D ] \r T T Y I N d e t e r m i 0107540 n e s t h e t y p e o f 0107560 d i s p l a y b y c a l l i 0107600 n g D I S P L A Y T E R M P , 0107620 w h i c h i s i n i t i a 0107640 l l y d e f i n e d t o t 0107660 e s t t h e v a l u e o f 0107700 t h e G T T Y P j s y s . 0107720 I t r e t u r n s e i t 0107740 h e r N I L ( f o r p r i 0107760 n t i n g t e r m i n a l s ) 0110000 o r a s m a l l n u m b 0110020 e r g i v i n g T T Y I N ' 0110040 s i n t e r n a l c o d e 0110060 f o r t h e t e r m i n a l 0110100 t y p e . T h e t y p e 0110120 s T T Y I N c u r r e n t l 0110140 y k n o w s a b o u t : \r 0 0110160 = g l a s s t t y ( c a 0110200 p a b l e o f d e l e t i n 0110220 g c h a r s b y b a c k s 0110240 p a c i n g , b u t l i t t 0110260 l e e l s e ) ; \r 1 = D a 0110300 t a m e d i a ; \r 2 = H e a 0110320 t h . \r O n l y t h e D a t 0110340 a m e d i a h a s f u l l 0110360 e d i t i n g p o w e r . 0110400 D I S P L A Y T E R M P h a s 0110420 b u i l t i n t o i t t 0110440 h e c o r r e c t t e r m i 0110460 n a l t y p e s f o r S u 0110500 m e x a n d S t a n f o r d 0110520 c a m p u s 2 0 ' s : D a 0110540 t a m e d i a = 1 1 o n 0110560 t e n e x , 5 o n t o p s 0110600 2 0 ; H e a t h = 1 8 o 0110620 n T e n e x , 2 5 o n t 0110640 o p s 2 0 . Y o u c a n 0110660 o v e r r i d e t h o s e v 0110700 a l u e s b y s e t t i n g 0110720 t h e v a r i a b l e D I 0110740 S P L A Y T Y P E S t o b e 0110760 a n a s s o c i a t i o n 0111000 l i s t a s s o c i a t i n g 0111020 t h e G T T Y P v a l u e 0111040 w i t h o n e o f t h e 0111060 s e i n t e r n a l c o d e 0111100 s . F o r e x a m p l e , 0111120 S u m e x d i s p l a y s 0111140 c o r r e s p o n d t o D I 0111160 S P L A Y T Y P E S = ( ( 1 0111200 1 . 1 ) ( 1 8 . 2 ) ) 0111220 [ a l t h o u g h t h i s 0111240 i s a c t u a l l y c o m p 0111260 i l e d i n t o D I S P L A 0111300 Y T E R M P f o r s p e e d 0111320 ] . A n y d i s p l a y 0111340 t e r m i n a l o t h e r t 0111360 h a n D a t a m e d i a a n 0111400 d H e a t h c a n p r o b 0111420 a b l y s a f e l y b e a 0111440 s s i g n e d t o " 0 " f 0111460 o r g l a s s t t y . \r T o 0111500 a d d n e w t e r m i n a 0111520 l t y p e s , y o u h a v 0111540 e t o c h o o s e a n u 0111560 m b e r f o r i t , a d d 0111600 n e w c o d e t o T T Y 0111620 I N f o r i t a n d r e 0111640 c o m p i l e . T h e T T 0111660 Y I N c o d e s p e c i f i 0111700 e s w h a t t h e c a p a 0111720 b i l i t i e s o f t h e 0111740 t e r m i n a l a r e , a n 0111760 d h o w t o d o t h e 0112000 p r i m i t i v e o p e r a t 0112020 i o n s : u p , d o w n , 0112040 l e f t , r i g h t , a d d 0112060 r e s s c u r s o r , e r a 0112100 s e s c r e e n , e r a s e 0112120 t o e n d o f l i n e , 0112140 i n s e r t c h a r a c t e 0112160 r , e t c . \r F o r t e r m 0112200 i n a l s l a c k i n g a 0112220 m e t a k e y ( c u r r e n 0112240 t l y o n l y D a t a m e d 0112260 i a s h a v e i t ) , s e 0112300 t t h e v a r i a b l e E 0112320 D I T P R E F I X C H A R t o 0112340 t h e a s c i i c o d e 0112360 o f a n e d i t " p r e f 0112400 i x " ( i . e . a n y t h i 0112420 n g t y p e d p r e c e d e 0112440 d b y t h e p r e f i x 0112460 i s c o n s i d e r e d t o 0112500 h a v e t h e m e t a b 0112520 i t o n ) . I f y o u r 0112540 E D I T P R E F I X C H A R 0112560 i s 3 3 Q ( E s c a p e ) , 0112600 y o u c a n t y p e a 0112620 r e a l E s c a p e b y t 0112640 y p i n g 3 o f t h e m 0112660 ( 2 w o n ' t d o , s i n 0112700 c e t h a t m e a n s " M 0112720 e t a - E s c a p e " , a l 0112740 e g i t i m a t e a r g u m e 0112760 n t t o a n o t h e r c o 0113000 m m a n d ) . Y o u c o u 0113020 l d a l s o d e f i n e a 0113040 n E s c a p e s y n o n y m 0113060 w i t h T T Y I N R E A D M 0113100 A C R O S i f y o u w a n 0113120 t e d ( b u t c u r r e n t 0113140 l y i t d o e s n ' t w o 0113160 r k i n f i l e n a m e c 0113200 o m p l e t i o n ) . S e t 0113220 t i n g E D I T P R E F I X C 0113240 H A R f o r a t e r m i n 0113260 a l t h a t i s n o t e 0113300 q u i p p e d t o h a n d l 0113320 e t h e f u l l r a n g e 0113340 o f e d i t i n g f u n c 0113360 t i o n s ( o n l y t h e 0113400 H e a t h a n d D a t a m e 0113420 d i a a r e c u r r e n t l 0113440 y s o e q u i p p e d ) i 0113460 s n o t g u a r a n t e e d 0113500 t o w o r k , i . e . t 0113520 h e d i s p l a y w i l l 0113540 n o t a l w a y s b e u p 0113560 t o d a t e ; b u t i f 0113600 y o u c a n k e e p t r 0113620 a c k o f w h a t y o u ' 0113640 r e d o i n g , t o g e t h 0113660 e r w i t h a n o c c a s 0113700 i o n a l c o n t r o l - R 0113720 t o h e l p o u t , g o 0113740 r i g h t a h e a d . \r \0 \0 0113760 \0 \0 \0 005 \0 004 \0 ( \0 \0 \0 \0 001 370 \0 \0 0114000 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 . 0114040 \0 \0 \0 \0 001 370 \0 \f \0 \0 \0 \0 003 001 \0 022 0114060 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114100 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 0114120 \0 314 001 370 \0 005 \0 \0 \0 \0 002 004 \0 \0 \0 \0 0114140 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114160 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114200 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114220 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0114240 \0 004 \0 004 \0 024 \0 006 M O D E R N \0 \n 0114260 \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E 0114300 R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 0114320 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0114340 \0 ? \0 1 ( D E F A U L T F O N T 0114360 1 ( G A C H A 1 0 ) ( G 0114400 A C H A 8 ) ( T E R M I N A 0114420 L 8 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0114440 \0 \0 \0 \0 002 \0 003 \0 \0 \0 001 \0 \0 \0 \0 003 0114460 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 030 \0 \0 \0 \0 0114500 002 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 002 \0 001 \0 0114520 \v H R U L E . G E T F N 001 \0 024 \0 0114540 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 0114560 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0114600 \0 003 \0 \0 \0 & \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0114620 002 \0 003 \0 \0 \0 0 \0 \0 \0 \0 003 \0 \0 \0 \f 0114640 \0 \0 \0 \0 001 \0 \0 \0 6 \0 \0 \0 \0 003 \0 \0 0114660 \0 005 \0 \0 \0 \0 001 \0 \0 \0 032 \0 \0 \0 \0 003 0114700 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 210 \0 \0 \0 0114720 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 K \0 \0 0114740 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 017 \0 0114760 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 \v 0115000 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0115020 , \0 \0 \0 \0 003 \0 \0 \0 \f \0 \0 \0 \0 001 \0 0115040 \0 \0 322 \0 \0 \0 \0 003 \0 \0 \0 \f \0 \0 \0 \0 0115060 001 \0 \0 \0 + \0 \0 \0 \0 003 \0 \0 \0 005 \0 \0 0115100 \0 \0 001 \0 \0 \0 T \0 \0 \0 \0 003 \0 \0 \0 \f 0115120 \0 \0 \0 \0 001 \0 \0 \0 003 \0 \0 \0 \0 003 \0 \0 0115140 \0 023 \0 \0 \0 \0 001 \0 \0 \0 * \0 \0 \0 \0 003 0115160 \0 \0 \0 \f \0 \0 \0 \0 001 \0 \0 \0 x \0 \0 \0 0115200 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 001 : \0 \0 0115220 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 W \0 0115240 \0 \0 \0 003 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 0115260 204 \0 \0 \0 \0 003 \0 \0 \0 016 \0 \0 \0 \0 001 \0 0115300 \0 \0 307 \0 \0 \0 \0 003 \0 \0 \0 017 \0 \0 \0 \0 0115320 001 \0 \0 \0 P \0 \0 \0 \0 003 \0 \0 \0 016 \0 \0 0115340 \0 \0 001 \0 \0 001 K \0 \0 \0 \0 003 \0 \0 227 356 0115360 \0 1 z 272 \r 2 6 . 4 . 1 1 \t S 0115400 p e c i a l R e s p o n s e s 0115420 \r 1 \r \r T h e r e i s a f 0115440 a c i l i t y f o r h a n d 0115460 l i n g " s p e c i a l r e 0115500 s p o n s e s " d u r i n g 0115520 a n y n o n - R E A D T T Y 0115540 I N i n p u t . T h i s 0115560 a c t i o n i s i n d e p e 0115600 n d e n t o f t h e p a r 0115620 t i c u l a r c a l l t o 0115640 T T Y I N , a n d e x i s t 0115660 s t o a l l o w y o u t 0115700 o e f f e c t i v e l y " a 0115720 d v i s e " T T Y I N t o 0115740 i n t e r c e p t c e r t a i 0115760 n c o m m a n d s . A f t 0116000 e r t h e c o m m a n d i 0116020 s p r o c e s s e d , c o n 0116040 t r o l r e t u r n s t o 0116060 t h e o r i g i n a l T T Y 0116100 I N c a l l . T h e f a 0116120 c i l i t y i s i m p l e m 0116140 e n t e d v i a t h e l i 0116160 s t T T Y I N R E S P O N S E 0116200 S . \r T T Y I N R E S P O N S E 0116220 S \t [ V a r i a b l e ] \r 1 0116240 \r \r T T Y I N R E S P O N S E S 0116260 i s a l i s t o f e l 0116300 e m e n t s , e a c h o f 0116320 t h e f o r m : \r ( C O M M A 0116340 N D S R E S P O N S E - F O R 0116360 M O P T I O N ) \r C O M M A N 0116400 D S i s a s i n g l e a 0116420 t o m o r l i s t o f c 0116440 o m m a n d s t o b e r e 0116460 c o g n i z e d ; R E S P O N 0116500 S E - F O R M i s E V A L e 0116520 d ( i f a l i s t ) , o 0116540 r A P P L Y e d ( i f a n 0116560 a t o m ) t o t h e c o 0116600 m m a n d a n d t h e r e 0116620 s t o f t h e l i n e . 0116640 W i t h i n t h i s f o r 0116660 m o n e c a n r e f e r e 0116700 n c e t h e f r e e v a r 0116720 i a b l e s C O M M A N D ( 0116740 t h e c o m m a n d t h e 0116760 u s e r t y p e d ) a n d 0117000 L I N E ( t h e r e s t o 0117020 f t h e l i n e ) . I f 0117040 O P T I O N i s t h e a 0117060 t o m L I N E , t h i s m 0117100 e a n s t o p a s s t h e 0117120 r e s t o f l i n e a s 0117140 a l i s t ; i f i t i 0117160 s S T R I N G , t h i s m 0117200 e a n s t o p a s s i t 0117220 a s a s t r i n g ; o t h 0117240 e r w i s e , t h e c o m m 0117260 a n d i s o n l y v a l i 0117300 d i f t h e r e i s n o 0117320 t h i n g e l s e o n t h 0117340 e l i n e . I f R E S P 0117360 O N S E - F O R M r e t u r n 0117400 s t h e a t o m I G N O R 0117420 E , i t i s n o t t r e 0117440 a t e d a s a s p e c i a 0117460 l r e s p o n s e ( i . e . 0117500 t h e i n p u t i s r e 0117520 t u r n e d n o r m a l l y 0117540 a s t h e r e s u l t o f 0117560 T T Y I N ) . \r 1 \r \r S u g g 0117600 e s t e d u s e : g l o b a 0117620 l c o m m a n d s o r o p 0117640 t i o n s c a n b e a d d 0117660 e d t o t h e t o p l e v 0117700 e l v a l u e o f T T Y I 0117720 N R E S P O N S E S . F o r 0117740 m o r e s p e c i a l i z e 0117760 d c o m m a n d s , r e b i 0120000 n d T T Y I N R E S P O N S E 0120020 S t o ( A P P E N D N E W 0120040 E N T R I E S T T Y I N R E S 0120060 P O N S E S ) i n s i d e a 0120100 n y m o d u l e w h e r e 0120120 y o u w a n t t o d o t 0120140 h i s s o r t o f s p e c 0120160 i a l p r o c e s s i n g . \r 0120200 S p e c i a l r e s p o n s e 0120220 s a r e n o t c h e c k e 0120240 d f o r d u r i n g R E A 0120260 D - s t y l e i n p u t . \r \0 0120300 \0 \0 \0 \0 005 \0 \b \0 ( \0 314 \0 314 001 370 \0 0120320 022 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120360 ( \0 314 \0 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 0120400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120420 \0 \0 \0 \0 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 0120440 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 0120500 \0 / \0 K \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 0120520 \0 001 001 001 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120540 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 0120560 ( \0 \0 \0 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 0120600 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120620 \0 \0 \0 \0 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 0120640 \f \0 \0 \0 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 0120660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120700 \0 \0 \0 \0 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 0120720 \0 \0 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0120740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0120760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 0121000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0121020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 005 \0 024 \0 0121040 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 001 0121060 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0121100 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N \0 0121120 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D 0121140 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 0121160 1 ( D E F A U L T F O N T 1 0121200 ( G A C H A 1 0 ) ( G A C H 0121220 A 8 ) ( T E R M I N A L 8 0121240 ) ) \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0121260 \0 002 \0 \a \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 0121300 \0 \0 002 \0 006 \0 \0 \0 034 \0 \0 \0 \0 003 \0 \0 0121320 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0121340 U L E . G E T F N 001 \0 024 \0 006 M O 0121360 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0121400 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 \a \0 0121420 \0 \0 D \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 0121440 002 \0 \0 001 027 \0 \0 \0 \0 004 \0 \0 \0 016 \0 \0 0121460 \0 \0 002 \0 \0 \0 002 \0 \0 \0 \0 004 \0 \0 \0 \0 0121500 \0 002 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 0121520 016 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 \0 \0 0121540 \0 002 \0 001 \0 \v H R U L E . G E T F 0121560 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0121600 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 0121620 \0 \0 \0 \0 002 \0 002 \0 \0 \0 016 \0 \0 \0 \0 002 0121640 \0 \0 \0 * \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0121660 \a \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \b \0 \0 0121700 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 \r 0121720 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 0121740 \0 006 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 0121760 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0122000 \a \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 8 \0 \0 0122020 \0 \0 004 \0 \0 \0 \r \0 \0 \0 \0 001 \0 \0 \0 004 0122040 \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 0122060 \0 023 \0 \0 \0 \0 004 \0 \0 \0 005 \0 \0 \0 \0 002 0122100 \0 \0 \0 p \0 \0 \0 \0 004 \0 \0 \0 \a \0 \0 \0 0122120 \0 002 \0 \0 \0 " \0 \0 \0 \0 004 \0 \0 \0 004 \0 0122140 \0 \0 \0 002 \0 \0 \0 035 \0 \0 \0 \0 004 \0 \0 \0 0122160 006 \0 \0 \0 \0 001 \0 \0 \0 \r \0 \0 \0 \0 004 \0 0122200 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 : \0 \0 \0 \0 0122220 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 \0 t \0 \0 0122240 \0 \0 004 \0 \0 \0 \r \0 \0 \0 \0 001 \0 \0 \0 022 0122260 \0 \0 \0 \0 004 \0 \0 \0 006 \0 \0 \0 \0 002 \0 \0 0122300 \0 h \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 002 \0 0122320 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0122340 F N 001 \0 024 \0 006 M O D E R N \0 \n \0 0122360 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0122400 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 P \0 \0 \0 \0 0122420 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 ) \0 \0 0122440 \0 \0 004 \0 \0 \0 016 \0 \0 \0 \0 002 \0 \0 \0 004 0122460 \0 \0 \0 \0 004 \0 \0 \0 \b \0 \0 \0 \0 002 \0 \0 0122500 \0 \n \0 \0 \0 \0 001 \0 \0 \0 020 \0 \0 \0 \0 002 0122520 \0 \0 \0 I \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0122540 \a \0 \0 \0 - \0 \0 \0 \0 004 \0 \0 \0 004 \0 \0 0122560 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 004 \0 \0 240 277 0122600 \0 G z 272 \r 2 6 . 4 . 1 0 \t A 0122620 s s o r t e d F l a g s \r 1 \r 0122640 \r T h e s e f l a g s c o n 0122660 t r o l a s p e c t s o f 0122700 T T Y I N ' s b e h a v i o r 0122720 . S o m e h a v e a l r 0122740 e a d y b e e n m e n t i o 0122760 n e d . I n I n t e r l i 0123000 s p - D , t h e f l a g s 0123020 a r e a l l i n i t i a l l 0123040 y s e t t o T . \r T Y P E 0123060 A H E A D F L G \t [ V a r i 0123100 a b l e ] \r 1 \r \r I f t r u e 0123120 , T T Y I N a l w a y s p 0123140 e r m i t s t y p e a h e a d 0123160 ; o t h e r w i s e i t c 0123200 l e a r s t h e b u f f e r 0123220 f o r a n y b u t L I S 0123240 P X R E A D i n p u t . \r 1 \r 0123260 \r ? A C T I V A T E F L G \t 0123300 [ V a r i a b l e ] \r 1 \r \r I f 0123320 t r u e , e n a b l e s t 0123340 h e f e a t u r e w h e r e 0123360 b y ? l i s t s a l t e r 0123400 n a t i v e c o m p l e t i o 0123420 n s f r o m t h e c u r r 0123440 e n t s p e l l i n g l i s 0123460 t . \r 1 \r \r S H O W P A R E N F 0123500 L G \t [ V a r i a b l e ] \r 0123520 1 \r \r I f t r u e , t h e n 0123540 w h e n e v e r y o u a r 0123560 e t y p i n g L i s p i n 0123600 p u t a n d t y p e a r 0123620 i g h t p a r e n t h e s i s 0123640 / b r a c k e t , T T Y I N 0123660 w i l l b r i e f l y m o v 0123700 e t h e c u r s o r t o 0123720 t h e m a t c h i n g p a r 0123740 e n t h e s i s / b r a c k e t 0123760 , a s s u m i n g i t i s 0124000 s t i l l o n t h e s c 0124020 r e e n . T h e c u r s o 0124040 r s t a y s t h e r e f o 0124060 r a b o u t 1 s e c o n d 0124100 , o r u n t i l y o u t 0124120 y p e a n o t h e r c h a r 0124140 a c t e r ( i . e . , i f 0124160 y o u t y p e f a s t y o 0124200 u ' l l n e v e r n o t i c 0124220 e i t ) . T h i s f e a 0124240 t u r e w a s i n s p i r e 0124260 d b y a s i m i l a r E 0124300 M A C S f e a t u r e , a n 0124320 d t u r n e d o u t t o 0124340 b e p r e t t y e a s y t 0124360 o i m p l e m e n t . \r 1 \r \r 0124400 T T Y I N B S F L G \t [ V a 0124420 r i a b l e ] \r 1 \r \r C a u s e 0124440 s T T Y I N t o a l w a y 0124460 s p h y s i c a l l y b a c 0124500 k s p a c e , e v e n i f 0124520 y o u ' r e r u n n i n g o 0124540 n a n o n - d i s p l a y 0124560 ( n o t a D M o r H e a 0124600 t h ) , r a t h e r t h a n 0124620 p r i n t \ d e l e t e d t 0124640 e x t \ ( t h i s a s s u m 0124660 e s y o u r h a r d c o p y 0124700 t e r m i n a l o r g l a 0124720 s s t t y i s c a p a b l 0124740 e o f b a c k s p a c i n g 0124760 ) . I f T T Y I N B S F L 0125000 G i s L F , t h e n i n 0125020 a d d i t i o n t o b a c 0125040 k s p a c i n g , T T Y I N 0125060 x ' s o u t t h e d e l e 0125100 t e d c h a r a c t e r s a 0125120 s i t b a c k s u p , a 0125140 n d w h e n y o u s t o p 0125160 d e l e t i n g , i t o u 0125200 t p u t s a l i n e f e e d 0125220 t o d r o p t o a n e 0125240 w , c l e a n l i n e b e 0125260 f o r e r e s u m i n g . 0125300 T o s a v e p a p e r , t 0125320 h i s l i n e f e e d o p e 0125340 r a t i o n i s n o t d o 0125360 n e w h e n o n l y a s 0125400 i n g l e c h a r a c t e r 0125420 i s d e l e t e d , o n t 0125440 h e g r o u n d s t h a t 0125460 y o u c a n p r o b a b l y 0125500 f i g u r e o u t w h a t 0125520 y o u t y p e d a n y w a 0125540 y . \r 1 \r \r T T Y I N R E S P O 0125560 N S E S \t [ V a r i a b l e 0125600 ] \r 1 \r \r A n a s s o c i a t 0125620 i o n l i s t o f s p e c 0125640 i a l r e s p o n s e s t h 0125660 a t w i l l b e h a n d l 0125700 e d b y r o u t i n e s d 0125720 e s i g n a t e d b y t h e 0125740 p r o g r a m m e r . S e 0125760 e " S p e c i a l R e s p o 0126000 n s e s " , b e l o w . \r 1 \r 0126020 \r T T Y I N E R R O R S E T F L 0126040 G \t [ V a r i a b l e ] \r 1 0126060 \r \r [ I n t e r l i s p - D o 0126100 n l y ] I f t r u e , n 0126120 o n - L I S P X R E A D i n p 0126140 u t s a r e e r r o r s e t 0126160 - p r o t e c t e d ( c o n t 0126200 r o l - E t r a p s b a c k 0126220 t o t h e p r o m p t ) , 0126240 o t h e r w i s e e r r o r 0126260 s p r o p a g a t e u p w a 0126300 r d s . I n i t i a l l y 0126320 N I L . \r 1 \r \r T T Y I N C O M 0126340 M E N T C H A R \t [ V a r i 0126360 a b l e ] \r 1 \r \r T h i s v a 0126400 r i a b l e a f f e c t s t 0126420 h e t r e a t m e n t o f 0126440 l i n e s b e g i n n i n g 0126460 w i t h t h e c o m m e n t 0126500 c h a r a c t e r ( u s u a 0126520 l l y " ; " ) . I f T T 0126540 Y I N C O M M E N T C H A R i 0126560 s a c h a r a c t e r c o 0126600 d e , a n d t h e f i r s 0126620 t c h a r a c t e r o n a 0126640 l i n e o f t y p e i n 0126660 i s e q u a l t o T T Y I 0126700 N C O M M E N T C H A R , t h 0126720 e n t h e l i n e i s e 0126740 r a s e d f r o m t h e s 0126760 c r e e n a n d n o i n p 0127000 u t f u n c t i o n w i l l 0127020 s e e i t . I f T T Y 0127040 I N C O M M E N T C H A R i s 0127060 N I L , t h i s f e a t u 0127100 r e i s d i s a b l e d . 0127120 T T Y I N C O M M E N T C H A 0127140 R i s i n i t i a l l y N 0127160 I L . \r 1 \r \r T T Y I N C O M P 0127200 L E T E F L G \t [ V a r i a 0127220 b l e ] \r 1 \r \r I f t r u e , 0127240 e n a b l e s E s c a p e 0127260 c o m p l e t i o n f r o m 0127300 U S E R W O R D S d u r i n g 0127320 R E A D i n p u t s . D 0127340 e t a i l s b e l o w . \r 1 \r 0127360 \r U S E R W O R D S ( ( " U S 0127400 E R W O R D S " . V a r i a 0127420 b l e ) ) c o n t a i n s w 0127440 o r d s y o u m e n t i o n 0127460 e d r e c e n t l y : f u 0127500 n c t i o n s y o u h a v e 0127520 d e f i n e d o r e d i t 0127540 e d , v a r i a b l e s y o 0127560 u h a v e s e t o r e v 0127600 a l u a t e d a t t h e e 0127620 x e c u t i v e l e v e l , 0127640 e t c . T h i s h a p p e 0127660 n s t o b e a v e r y 0127700 c o n v e n i e n t l i s t 0127720 f o r c o n t e x t - f r e e 0127740 e s c a p e c o m p l e t i 0127760 o n ; i f y o u h a v e 0130000 r e c e n t l y e d i t e d 0130020 a f u n c t i o n , c h a n 0130040 c e s a r e g o o d y o u 0130060 m a y w a n t t o e d i 0130100 t i t a g a i n ( t y p i 0130120 n g " E F x x $ " ) o r 0130140 t y p e a c a l l t o i 0130160 t . I f t h e r e i s 0130200 n o c o m p l e t i o n f o 0130220 r t h e c u r r e n t w o 0130240 r d f r o m U S E R W O R D 0130260 S , t h e e s c a p e e c 0130300 h o e s a s " $ " , i . e 0130320 . n o t h i n g s p e c i a 0130340 l h a p p e n s ; i f t h 0130360 e r e i s m o r e t h a n 0130400 o n e p o s s i b l e c o 0130420 m p l e t i o n , y o u g e 0130440 t b e e p e d . I f t y 0130460 p e d w h e n n o t i n s 0130500 i d e a w o r d , E s c a 0130520 p e c o m p l e t e s t o 0130540 t h e v a l u e o f L A S 0130560 T W O R D , i . e . , t h e 0130600 l a s t t h i n g y o u 0130620 t y p e d t h a t t h e p 0130640 . a . " n o t i c e d " ( s 0130660 e t t i n g T T Y I N C O M P 0130700 L E T E F L G t o 0 d i s 0130720 a b l e s t h i s l a t t e 0130740 r f e a t u r e ) , e x c e 0130760 p t t h a t E s c a p e a 0131000 t t h e b e g i n n i n g 0131020 o f t h e l i n e i s l 0131040 e f t a l o n e ( i t i s 0131060 a p . a . c o m m a n d ) 0131100 . \r I f y o u r e a l l y 0131120 w a n t e d t o e n t e r 0131140 a n e s c a p e , y o u c 0131160 a n , o f c o u r s e , j 0131200 u s t q u o t e i t w i t 0131220 h a c o n t r o l - V , l 0131240 i k e y o u c a n o t h e 0131260 r c o n t r o l c h a r s . 0131300 \r Y o u m a y e x p l i c i 0131320 t l y a d d w o r d s t o 0131340 U S E R W O R D S y o u r s 0131360 e l f t h a t w o u l d n ' 0131400 t g e t t h e r e o t h e 0131420 r w i s e . T o m a k e 0131440 t h i s c o n v e n i e n t 0131460 o n l i n e t h e e d i t 0131500 c o m m a n d [ _ ] m e a n 0131520 s " a d d t h e c u r r e 0131540 n t a t o m t o U S E R W 0131560 O R D S " ( y o u m i g h t 0131600 t h i n k o f t h e c o 0131620 m m a n d a s " p o i n t i 0131640 n g o u t t h i s a t o m 0131660 " ) . F o r e x a m p l e 0131700 , y o u m i g h t b e e 0131720 n t e r i n g a f u n c t i 0131740 o n d e f i n i t i o n a n 0131760 d w a n t t o " p o i n t 0132000 t o " o n e o r m o r e 0132020 o f i t s a r g u m e n t 0132040 s o r p r o g v a r i a b 0132060 l e s . G i v i n g a n 0132100 a r g u m e n t o f z e r o 0132120 t o t h i s c o m m a n d 0132140 w i l l i n s t e a d r e 0132160 m o v e t h e i n d i c a t 0132200 e d a t o m f r o m U S E 0132220 R W O R D S . \r N o t e t h a 0132240 t t h i s f e a t u r e l 0132260 o s e s s o m e o f i t s 0132300 v a l u e i f t h e s p 0132320 e l l i n g l i s t i s t 0132340 o o l o n g , f o r t h e 0132360 n t h e c o m p l e t i o n 0132400 t a k e s t o o l o n g 0132420 c o m p u t a t i o n a l l y 0132440 a n d , m o r e i m p o r t 0132460 a n t , t h e r e a r e t 0132500 o o m a n y a l t e r n a t 0132520 i v e c o m p l e t i o n s 0132540 f o r y o u t o g e t b 0132560 y w i t h t y p i n g a 0132600 f e w c h a r a c t e r s f 0132620 o l l o w e d b y e s c a p 0132640 e . L i s p ' s m a i n t 0132660 e n a n c e o f t h e s p 0132700 e l l i n g l i s t U S E R 0132720 W O R D S k e e p s t h e 0132740 " t e m p o r a r y " s e c t 0132760 i o n ( w h i c h i s w h 0133000 e r e e v e r y t h i n g g 0133020 o e s i n i t i a l l y u n 0133040 l e s s y o u s a y o t h 0133060 e r w i s e ) l i m i t e d 0133100 t o # U S E R W O R D S a t 0133120 o m s , i n i t i a l l y 1 0133140 0 0 . W o r d s f a l l 0133160 o f f t h e e n d i f t 0133200 h e y h a v e n ' t b e e n 0133220 u s e d ( t h e y a r e 0133240 " u s e d " i f F I X S P E 0133260 L L c o r r e c t s t o o 0133300 n e , o r y o u u s e < 0133320 e s c a p e > t o c o m p l 0133340 e t e o n e ) . \r \0 \0 \0 \0 \0 0133360 005 \0 \b \0 ( \0 314 \0 314 001 370 \0 022 \0 \0 \0 0133400 \0 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133420 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 314 \0 0133440 314 001 370 \0 \0 \0 \0 \0 \0 002 004 \0 \0 \0 \0 \0 0133460 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133500 \0 \0 \0 \0 ) \0 K \0 K 001 370 \0 \0 \0 \0 \0 0133520 \0 002 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133540 \0 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 / \0 K 0133560 \0 314 001 370 \0 022 \0 \0 \0 \0 003 001 \0 001 001 001 0133600 370 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133620 \0 \0 \0 \0 \0 001 T \0 \0 \0 \0 \0 ( \0 \0 \0 0133640 \0 001 370 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 0133660 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133700 \0 \0 \0 \0 . \0 \0 \0 \0 001 370 \0 \f \0 \0 \0 0133720 \0 003 001 \0 022 001 \0 ( \0 \0 \0 \0 \0 \0 \0 \0 0133740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0133760 \0 \0 ( \0 314 \0 314 001 370 \0 005 \0 \0 \0 \0 002 0134000 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0134020 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 \0 \0 \0 \0 0134040 \0 \0 \0 \0 \0 \0 \0 002 001 \0 \0 \0 \0 \0 \0 \0 0134060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0134100 \0 \0 \0 \0 \0 \0 004 \0 004 \0 024 \0 006 M O D 0134120 E R N \0 \n \0 \0 \0 \0 \0 \0 002 \0 \0 024 \0 0134140 006 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 0134160 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0134200 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U L 0134220 T F O N T 1 ( G A C H A 1 0134240 0 ) ( G A C H A 8 ) ( T E 0134260 R M I N A L 8 ) ) \0 \n \0 \0 \0 \0 0134300 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \a \0 \0 \0 001 0134320 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 \0 0134340 031 \0 \0 \0 \0 002 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0134360 \0 002 \0 001 \0 \v H R U L E . G E T F 0134400 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0134420 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 0134440 \0 \0 \0 \0 002 \0 \a \0 \0 \0 210 \0 \0 \0 \0 003 0134460 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 0134500 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \f \0 \0 0134520 \0 \0 001 \0 \0 \0 016 \0 \0 \0 \0 003 \0 \0 \0 \0 0134540 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R U L 0134560 E . G E T F N 001 \0 024 \0 006 M O D E 0134600 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0134620 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0134640 T \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 0134660 \0 \0 \b \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 0134700 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0134720 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0134740 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0134760 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \f \0 \0 \0 0135000 \0 001 \0 \0 \0 016 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0135020 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H R U L E 0135040 . G E T F N 001 \0 024 \0 006 M O D E R 0135060 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0135100 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 e 0135120 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0135140 002 \0 001 \0 \v H R U L E . G E T F N 0135160 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0135200 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0135220 \0 \0 \0 002 \0 004 \0 \0 \0 \f \0 \0 \0 \0 001 \0 0135240 \0 \0 016 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 0135260 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0135300 T F N 001 \0 024 \0 006 M O D E R N \0 \n 0135320 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 0135340 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 001 252 \0 \0 \0 0135360 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 0135400 \0 \v H R U L E . G E T F N 001 \0 024 0135420 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0135440 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0135460 002 \0 004 \0 \0 \0 \n \0 \0 \0 \0 001 \0 \0 \0 016 0135500 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 0135520 002 \0 001 \0 \v H R U L E . G E T F N 0135540 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0135560 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0135600 \0 \0 \0 002 \0 002 \0 \0 002 H \0 \0 \0 \0 003 \0 0135620 \0 \0 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H 0135640 R U L E . G E T F N 001 \0 024 \0 006 M 0135660 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0135700 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 0135720 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 016 \0 \0 \0 0135740 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 0135760 \0 \v H R U L E . G E T F N 001 \0 024 0136000 \0 006 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 0136020 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0136040 002 \0 002 \0 \0 \0 211 \0 \0 \0 \0 003 \0 \0 \0 \0 0136060 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U L 0136100 E . G E T F N 001 \0 024 \0 006 M O D E 0136120 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0136140 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 0136160 020 \0 \0 \0 \0 001 \0 \0 \0 016 \0 \0 \0 \0 003 \0 0136200 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v H 0136220 R U L E . G E T F N 001 \0 024 \0 006 M 0136240 O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 0136260 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 0136300 \0 \0 \0 ! \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 0136320 \0 001 \0 \0 \0 t \0 \0 \0 \0 003 \0 \0 \0 003 \0 0136340 \0 \0 \0 001 \0 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 0136360 \0 \0 002 \0 002 \0 \0 \0 002 \0 001 \0 \v H R U 0136400 L E . G E T F N 001 \0 024 \0 006 M O D 0136420 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0136440 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0136460 \0 020 \0 \0 \0 \0 001 \0 \0 \0 016 \0 \0 \0 \0 003 0136500 \0 \0 \0 \0 \0 002 \0 003 \0 \0 \0 002 \0 001 \0 \v 0136520 H R U L E . G E T F N 001 \0 024 \0 006 0136540 M O D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 0136560 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0136600 002 \0 \0 \0 e \0 \0 \0 \0 003 \0 \0 \0 020 \0 \0 0136620 \0 \0 001 \0 \0 \0 N \0 \0 \0 \0 003 \0 \0 \0 020 0136640 \0 \0 \0 \0 001 \0 \0 \0 Q \0 \0 \0 \0 003 \0 \0 0136660 \0 020 \0 \0 \0 \0 001 \0 \0 \0 004 \0 \0 \0 \0 003 0136700 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 035 \0 \0 \0 0136720 \0 003 \0 \0 \0 020 \0 \0 \0 \0 001 \0 \0 \0 016 \0 0136740 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 001 \0 \0 \0 0136760 002 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 0137000 \0 002 \0 001 \0 \v H R U L E . G E T F 0137020 N 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 0137040 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 0137060 \0 \0 \0 \0 002 \0 004 \0 \0 \0 020 \0 \0 \0 \0 001 0137100 \0 \0 \0 016 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0137120 003 \0 \0 \0 002 \0 001 \0 \v H R U L E . G 0137140 E T F N 001 \0 024 \0 006 M O D E R N \0 0137160 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 0137200 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 ( \0 \0 0137220 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 % 0137240 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 0137260 002 \0 001 \0 \v H R U L E . G E T F N 0137300 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0137320 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0137340 \0 \0 \0 002 \0 001 \0 \0 \0 \t \0 \0 \0 \0 001 \0 0137360 \0 \0 002 \0 \0 \0 \0 003 \0 \0 \0 030 \0 001 \0 \f 0137400 I R M . G E T . C R E F \0 \0 \0 001 0137420 224 \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 0137440 \0 \0 274 \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 \0 0137460 001 \0 \0 \0 B \0 \0 \0 \0 003 \0 \0 \0 020 \0 \0 0137500 \0 \0 001 \0 \0 \0 { \0 \0 \0 \0 003 \0 \0 \0 \0 0137520 \0 002 \0 \a \0 \0 \0 177 \0 \0 \0 \0 003 \0 \0 \0 0137540 \0 \0 002 \0 \a \0 \0 \0 \0 \0 \0 \0 003 \0 \0 0137560 \0 \t \0 \0 \0 \0 001 \0 \0 \0 201 \0 \0 \0 \0 003 0137600 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 001 031 \0 \0 \0 0137620 \0 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 \0 002 \0 0137640 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \a \0 \0 001 4 0137660 \0 \0 \0 \0 003 \0 \0 \0 \t \0 \0 \0 \0 001 \0 \0 0137700 \0 n \0 \0 \0 \0 003 \0 \0 \0 \n \0 \0 \0 \0 001 0137720 \0 \0 \0 ] \0 \0 \0 \0 003 \0 \0 \0 \b \0 \0 \0 0137740 \0 001 \0 \0 \0 9 \0 \0 \0 \0 003 \0 \0 266 353 \0 0137760 224 z 272 \r 2 6 . 4 . 9 \t R e a 0140000 d M a c r o s \r 1 \r \r W h e n 0140020 d o i n g R E A D i n p u 0140040 t i n I n t e r l i s p - 1 0140060 0 , n o L i s p - s t y l e 0140100 r e a d m a c r o s a r e 0140120 a v a i l a b l e ( b u t 0140140 t h e ' a n d c o n t r o 0140160 l - Y m a c r o s a r e b 0140200 u i l t i n ) . P r i n c 0140220 i p a l l y b e c a u s e o 0140240 f t h e u s e f u l n e s s 0140260 o f t h e e d i t o r r 0140300 e a d m a c r o s ( s e t 0140320 b y S E T T E R M C H A R S ) 0140340 , a n d t h e d e s i r e 0140360 f o r a w a y o f c h 0140400 a n g i n g t h e m e a n i 0140420 n g s o f t h e d i s p l 0140440 a y e d i t i n g c o m m a 0140460 n d s , t h e f o l l o w i 0140500 n g e x i s t s a s a h 0140520 a c k : \r T T Y I N R E A D M A 0140540 C R O S \t [ V a r i a b l e 0140560 ] \r 1 \r \r V a l u e i s a 0140600 s e t o f s h o r t h a n d 0140620 i n p u t s u s e a b l e 0140640 d u r i n g R E A D i n p u 0140660 t . I t i s a n a l i 0140700 s t o f e n t r i e s ( C 0140720 H A R C O D E . S Y N O N Y 0140740 M ) . I f t h e u s e r 0140760 t y p e s t h e i n d i c 0141000 a t e d c h a r a c t e r ( 0141020 t h e m e t a b i t i s 0141040 d e n o t e d b y t h e 2 0141060 0 0 Q b i t i n t h e c 0141100 h a r c o d e ) , T T Y I N 0141120 b e h a v e s a s t h o u 0141140 g h t h e s y n o n y m c 0141160 h a r a c t e r h a d b e e 0141200 n t y p e d . \r S p e c i a l 0141220 c a s e s : 0 - t h e 0141240 c h a r a c t e r i s i g n 0141260 o r e d ; 2 0 0 Q - p u r 0141300 e m e t a b i t ; m e a n 0141320 s t o r e a d a n o t h e 0141340 r c h a r a n d t u r n 0141360 o n i t s m e t a b i t ; 0141400 4 0 0 Q - m a c r o q u 0141420 o t e : r e a d a n o t h e 0141440 r c h a r a n d u s e i 0141460 t s o r i g i n a l m e a n 0141500 i n g . F o r e x a m p l 0141520