$ 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