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