$ 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