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