$ od -c -N 50000 [phylum]<LISP>Lyric>Internal>Library>GIVE-AND-TAKE!1 0000000 ( D E F I N E - F I L E - I N F 0000020 O 247 P A C K A G E " I N T E 0000040 R L I S P " 247 R E A D T A B L 0000060 E " X C L " 247 B A S E 1 0 0000100 ) \r 006 001 ( f i l e c r e a t e d 0000120 " 5 - D e c - 8 6 0 5 : 4 0000140 4 : 2 7 " 006 004 { e r i s } < l 0000160 i s p c o r e > i n t e r n a l 0000200 > l i b r a r y > g i v e - a n 0000220 d - t a k e . \ ; 8 006 001 1 6 0 0000240 9 4 \r \r | c h a 0000260 n g e s | | t o : | ( v a 0000300 r i a b l e s * g i v e - a n 0000320 d - t a k e - d i r e c t o r i 0000340 e s * ) \r 0000360 ( f u n 0000400 c t i o n s g i v e - f i l e 0000420 t a k e - f i l e ) \r \r 0000440 | p r e v i o u s | | d 0000460 a t e : | " 2 1 - N o v - 8 6 0000500 1 7 : 4 1 : 5 2 " { e r i s 0000520 } < l i s p c o r e > i n t e r 0000540 n a l > l i b r a r y > g i v e 0000560 - a n d - t a k e . \ ; 7 ) \r \r 0000600 \r ; C o p y r i g h t ( c ) 0000620 1 9 8 6 b y X e r o x C 0000640 o r p o r a t i o n . A l l 0000660 r i g h t s r e s e r v e d 0000700 . \r \r ( p r e t t y c o m p r i 0000720 n t g i v e - a n d - t a k e 0000740 c o m s ) \r \r ( r p a q q 006 002 0000760 g i v e - a n d - t a k e c o m 0001000 s 006 001 ( ( c o m m a n d s " 0001020 g i v e ? " " t a k e n ? " 0001040 " g i v e " " t a k e " " s 0001060 t e a l " ) \r 0001100 0001120 ( f u n c t i o n s g i v e 0001140 - o r - t a k e - f i n d a d 0001160 d - d e f a u l t - r e g i s t 0001200 r y s e n d - s t e a l - m e 0001220 s s a g e \r 0001240 0001260 g i v e - f i l 0001300 e t a k e - f i l e t a k e 0001320 n ? ) \r 0001340 ( v 0001360 a r i a b l e s * g i v e - a 0001400 n d - t a k e - d i r e c t o r 0001420 i e s * ) \r 0001440 0001460 ( p r o p f i l e t y p e g 0001500 i v e - a n d - t a k e ) ) ) \r 0001520 \r ( d e f c o m m a n d 006 002 " 0001540 g i v e ? " 006 001 n i l ( t a 0001560 k e n ? : g i v e ? t ) ) \r 0001600 \r \r ( d e f c o m m a n d 006 002 0001620 " t a k e n ? " 006 001 ( & r e s 0001640 t a r g s ) ( c l : a p p l 0001660 y # ' t a k e n ? a r g s ) 0001700 ) \r \r \r ( d e f c o m m a n d 0001720 006 002 " g i v e " 006 001 ( & r e s 0001740 t f i l e s ) ( 006 002 f o r 006 0001760 001 f i l e 006 002 i n 006 001 f i 0002000 l e s 006 002 a l w a y s 006 001 ( 0002020 g i v e - f i l e f i l e ) ) 0002040 ) \r \r \r ( d e f c o m m a n d 0002060 006 002 " t a k e " 006 001 ( & r e s 0002100 t f i l e s ) ( 006 002 f o r 006 0002120 001 f i l e 006 002 i n 006 001 f i 0002140 l e s 006 002 a l w a y s 006 001 ( 0002160 t a k e - f i l e f i l e ) ) 0002200 ) \r \r \r ( d e f c o m m a n d 0002220 006 002 " s t e a l " 006 001 ( & r e 0002240 s t f i l e s ) ( 006 002 f o r 0002260 006 001 f i l e 006 002 i n 006 001 f 0002300 i l e s 006 002 a l w a y s 006 001 0002320 ( t a k e - f i l e f i l e 0002340 t ) ) ) \r \r \r ( c l : d e f u n 0002360 006 002 g i v e - o r - t a k e - 0002400 f i n d 006 001 ( f i l e n a m e 0002420 ) ( l e t ( ( n a m e ( f 0002440 i n d f i l e f i l e n a m e 0002460 t * g i v e - a n d - t a k 0002500 e - d i r e c t o r i e s * ) ) 0002520 \r 0002540 0002560 ) \r 0002600 * 0002640 ( c o n 0002660 d \r 0002700 * 0002740 ( n a m e n a m e ) \r 0002760 * 0003020 ( t ( 0003040 c l : f o r m a t t \r 0003060 * 0003120 " ~ A 0003140 d o e s n o t e x i s t a 0003160 n d s o c a n n o t b e 0003200 t a k e n o r g i v e n . ~ 0003220 % " \r 0003240 * 0003300 f i l 0003320 e n a m e ) \r 0003340 * 0003400 n i l ) ) ) ) 0003420 \r \r \r ( c l : d e f u n 006 002 a 0003440 d d - d e f a u l t - r e g i s 0003460 t r y 006 001 ( n a m e ) \r \r 006 0003500 006 ( * | ; ; ; | " A d d s 0003520 d e f a u l t r e g i s t r y 0003540 t o N A M E i f t h e r 0003560 e i s n ' t o n e t h e r 0003600 e a l r e a d y " ) 006 001 \r ( 0003620 c o n d \r ( ( o r ( s 0003640 t r p o s " . " n a m e ) \r 0003660 ( n u l l d 0003700 e f a u l t r e g i s t r y ) ) 0003720 \r n a m e ) \r 0003740 ( t ( c o n c a t n a m e 0003760 " . " d e f a u l t r e g i s 0004000 t r y ) ) ) ) \r \r \r ( c l : d e 0004020 f u n 006 002 s e n d - s t e a l 0004040 - m e s s a g e 006 001 ( t h i e 0004060 f a u t h o r f i l e ) ( 0004100 l a f i t e . s e n d m e s s a 0004120 g e ( m k s t r i n g ( c l 0004140 : f o r m a t n i l \r 0004160 " S u b 0004200 j e c t : F i l e s t o l e 0004220 n \r T o : ~ A \r \r ~ A j u s 0004240 t s t o l e t h e f i l e 0004260 ~ A f r o m y o u . \r \r \t 0004300 T h e S T E A L c o m m a n 0004320 d " a u t h o r t h i e f 0004340 f i l e ) ) ) ) \r \r \r ( c l : d 0004360 e f u n 006 002 g i v e - f i l e 0004400 006 001 ( f i l e n a m e ) " F 0004420 i n d t h e f i l e n a m 0004440 e d a n d l o o k f o r 0004460 a S T A T U S f i l e a s 0004500 s o c i a t e d w i t h i t 0004520 . I f f o u n d a n d 0004540 t h i s u s e r w r o t e 0004560 i t , t h e n r e m o v e 0004600 i t , t h u s u n l o c k i 0004620 n g t h e f i l e . " \r 0004640 ( l e t ( ( n a m e ( g i 0004660 v e - o r - t a k e - f i n d 0004700 f i l e n a m e ) ) \r 0004720 s t a t u s - s t r e a 0004740 m t a k e n - b y ) \r 0004760 ( c o n d \r 0005000 ( ( n u l l n a m e 0005020 ) \r n i 0005040 l ) \r ( ( 0005060 n o t ( s t r e a m p ( s e 0005100 t q s t a t u s - s t r e a m 0005120 ( c a r ( n l s e t q ( o 0005140 p e n s t r e a m ( p a c k f 0005160 i l e n a m e . s t r i n g \r 0005200 * 0005300 ' e x t e n s i o 0005320 n \r 0005340 * 0005420 ' s t a t u 0005440 s \r 0005460 * 0005540 ' v e r s i 0005560 o n 1 ' b o d y n a m e ) 0005600 \r 0005620 * 0005700 ' i n p u t n i l ' ( 0005720 d o n \ ' t c a c h e ) ) ) ) ) 0005740 ) ) \r ( 0005760 c l : f o r m a t t " S o r 0006000 r y , b u t y o u c a n ' 0006020 t g i v e w h a t y o u 0006040 h a v e n ' t t a k e n . ~ % 0006060 ~ A h a s n o t b e e n 0006100 t a k e n b y a n y o n e , 0006120 i n c l u d i n g y o u . ~ 0006140 % " \r 0006160 n a m e ) \r 0006200 n i l ) \r 0006220 ( ( s t r i n 0006240 g - e q u a l ( s e t q t a 0006260 k e n - b y ( a d d - d e f a 0006300 u l t - r e g i s t r y ( c l 0006320 : r e a d s t a t u s - s t r 0006340 e a m ) ) ) \r 0006360 ( a d d - d 0006400 e f a u l t - r e g i s t r y 0006420 ( u s e r n a m e ) ) ) 0006440 006 006 ( * \ ; " W e ' 0006460 r e a w i n n e r " ) 006 001 \r 0006500 ( d e l 0006520 f i l e ( c l o s e f s t a 0006540 t u s - s t r e a m ) ) \r 0006560 ( c l : f o r 0006600 m a t t " ~ A i s n o w 0006620 u n l o c k e d . ~ % " n a 0006640 m e ) \r 0006660 t ) \r ( t 0006700 * 0006760 006 006 ( * \ ; " W e ' r e a 0007000 l o s e r " ) 006 001 \r 0007020 ( c l : f o r 0007040 m a t t \r 0007060 " S o r 0007100 r y , b u t y o u c a n ' 0007120 t g i v e w h a t y o u 0007140 h a v e n ' t t a k e n . ~ % 0007160 ~ A w a s t a k e n b y 0007200 ~ A o n ~ A . ~ % " \r 0007220 0007240 n a m e t a k e n - b y 0007260 ( c l : r e a d s t a t u s 0007300 - s t r e a m ) ) \r 0007320 ( c l o s e f 0007340 s t a t u s - s t r e a m ) \r 0007360 n i l 0007400 ) ) ) ) \r \r \r ( c l : d e f u n 0007420 006 002 t a k e - f i l e 006 001 ( 0007440 f i l e n a m e & o p t i o n 0007460 a l s t e a l ) \r 0007500 \r 0007520 006 006 ( * | ; ; | " F i n d 0007540 t h e g i v e n f i l e a 0007560 n d o p e n a s t a t u s 0007600 f i l e t o b e a s s o 0007620 c i a t e d w i t h i t . 0007640 I f t h e f i l e w e 0007660 o p e n t u r n s o u t t 0007700 o b e v e r s i o n 1 , 0007720 t h e n w e ' v e g o t t 0007740 h e l o c k a n d w e w 0007760 r i t e o u r n a m e a n 0010000 d t h e d a t e i n t o 0010020 t h e f i l e . O t h e r 0010040 w i s e , s o m e b o d y ( 0010060 p o s s i b l y u s ! ) h a 0010100 s a l r e a d y g o t i t 0010120 a n d t h e l o c k c a 0010140 n n o t b e o b t a i n e d 0010160 . " ) 006 001 \r ( r e s e t l s t 0010200 ( p r o g ( ( g r o s s - l 0010220 i s t - h a c k ( l i s t n 0010240 i l n i l t ) ) \r 0010260 n a m 0010300 e s t a t u s - n a m e s t 0010320 a t u s - n a m e - p a r t s 0010340 s t a t u s - v e r s i o n s 0010360 u c c e s s ) \r 0010400 ( c o n d \r 0010420 0010440 ( ( n o t ( c l : s e t 0010460 f n a m e ( g i v e - o r - 0010500 t a k e - f i n d f i l e n a 0010520 m e ) ) ) \r 0010540 ( r e t u 0010560 r n n i l ) ) ) \r 0010600 ( c l : s 0010620 e t f s t a t u s - n a m e 0010640 ( p a c k f i l e n a m e . s t 0010660 r i n g ' e x t e n s i o n 0010700 ' s t a t u s ' v e r s i o n 0010720 n i l \r 0010740 * 0011000 ' b o d y n a m e ) ) \r 0011020 0011040 ( c l : m a c r o l e t \r 0011060 ( 0011100 ( s t a t u s - s t r e a m n 0011120 i l ' ( c l : f i r s t g r 0011140 o s s - l i s t - h a c k ) ) \r 0011160 0011200 ( s t a t u s - f u l l - 0011220 n a m e n i l ' ( c l : s e 0011240 c o n d g r o s s - l i s t - 0011260 h a c k ) ) \r 0011300 ( f i n i s 0011320 h e d - n o r m a l l y - p n 0011340 i l ' ( c l : t h i r d g r 0011360 o s s - l i s t - h a c k ) ) ) 0011400 \r 0011420 ( r e s e t s a v e n i 0011440 l ( l i s t ( f u n c t i o 0011460 n ( c l : l a m b d a ( n a 0011500 m e g r o s s - l i s t - h a 0011520 c k ) \r \r 0011540 006 006 ( * | ; 0011560 ; | " W e h a v e b e e n 0011600 i n t e r r u p t e d d u r 0011620 i n g p r o c e s s i n g . 0011640 C l o s e a n y o p e n 0011660 s t r e a m s a n d d e l e 0011700 t e t h e s t a t u s f i 0011720 l e w e w e r e m a k i n 0011740 g . " ) 006 001 \r \r 0011760 * 0012040 ( c l : w h e n ( n o t ( f 0012060 i n i s h e d - n o r m a l l y 0012100 - p ) ) \r 0012120 * 0012200 ( c l : f o r m a t t 0012220 \r 0012240 * 0012300 " I n t e r r u p t e d d u r 0012320 i n g p r o c e s s i n g o 0012340 f ~ A . T a k e a b o r 0012360 t e d . ~ % " \r 0012400 * 0012460 n 0012500 a m e ) \r 0012520 * 0012600 ( c l : w h e n ( a n 0012620 d ( n u l l ( s t a t u s - 0012640 f u l l - n a m e ) \r 0012660 * 0012760 ) \r 0013000 * 0013100 ( s t 0013120 r e a m p ( s t a t u s - s t 0013140 r e a m ) \r 0013160 * 0013260 ) ) \r 0013300 * 0013360 006 006 ( * \ 0013400 ; \r 006 001 006 006 " I f S T A T 0013420 U S - F U L L - N A M E w a s 0013440 n e v e r s e t , t h e n 0013460 S T A T U S - S T R E A M , 0013500 i f o p e n , m u s t r e 0013520 f e r t o t h e n e w s 0013540 t a t u s f i l e . " ) 006 001 \r 0013560 * 0013660 ( c l : s e t f ( 0013700 s t a t u s - f u l l - n a m e 0013720 ) \r 0013740 * 0014020 ( 0014040 f u l l n a m e ( s t a t u s 0014060 - s t r e a m \r 0014100 * 0014220 ) ) ) ) \r 0014240 * 0014320 ( c l : i f ( s t r e 0014340 a m p ( s t a t u s - s t r e 0014360 a m ) ) \r 0014400 * 0014460 ( c l o s 0014500 e f ? ( s t a t u s - s t r e 0014520 a m ) ) ) \r 0014540 * 0014620 ( c l : i f ( n o t 0014640 ( n u l l ( s t a t u s - f 0014660 u l l - n a m e ) ) ) \r 0014700 * 0015000 ( d e l f i l e ( s t a t 0015020 u s - f u l l - n a m e ) ) ) ) 0015040 ) \r 0015060 0015100 ) \r 0015120 * 0015160 n a m e g r o s s - l i 0015200 s t - h a c k ) ) \r 0015220 ( c l : 0015240 s e t f ( s t a t u s - s t r 0015260 e a m ) \r 0015300 ( o 0015320 p e n s t r e a m s t a t u s 0015340 - n a m e ' o u t p u t n i 0015360 l ' ( d o n \ ' t c a c h e ) 0015400 ) ) \r 0015420 ( c l : s e t f ( s 0015440 t a t u s - f u l l - n a m e ) 0015460 \r 0015500 ( f u l l n 0015520 a m e ( s t a t u s - s t r e 0015540 a m ) ) ) \r 0015560 ( c o n d \r 0015600 0015620 ( ( = ( f i l e n a m e 0015640 f i e l d ( s t a t u s - f u 0015660 l l - n a m e ) \r 0015700 0015720 ' v e r s i o 0015740 n ) \r 0015760 1 ) 0016000 * 0016040 006 006 ( * \ ; " W e ' r e a 0016060 w i n n e r " ) 006 001 \r 0016100 0016120 ( l e t ( ( u n a m e ( 0016140 a d d - d e f a u l t - r e g i 0016160 s t r y ( u s e r n a m e ) ) 0016200 ) \r 0016220 ( d 0016240 ( d a t e ) ) ) \r 0016260 0016300 ( c l : f o r m a t 0016320 ( s t a t u s - s t r e a m ) \r 0016340 * 0016400 " ~ S ~ S ~ % " u n a m 0016420 e d ) \r 0016440 0016460 ( c l o s e f ( s t a t u s - 0016500 s t r e a m ) ) \r 0016520 0016540 ( c l : f o r m a t t 0016560 " ~ A i s n o w l o c k 0016600 e d b y ~ A a t ~ A . ~ 0016620 % " n a m e u n a m e d ) 0016640 ) \r 0016660 ( l e t ( ( r 0016700 o o t n a m e ( r o o t f i l 0016720 e n a m e n a m e ) ) \r 0016740 0016760 i n s t a l l 0017000 e d v e r s i o n ) \r 0017020 0017040 ( c o n d \r 0017060 0017100 ( ( a n d 0017120 ( g e t r o o t n a m e ' f 0017140 i l e ) \r 0017160 0017200 ( n o t ( s 0017220 t r i n g - e q u a l n a m e 0017240 ( s e t q i n s t a l l e d 0017260 v e r s i o n \r 0017300 * 0017360 ( c d a r ( g e t 0017400 r o o t n a m e ' f i l e d a 0017420 t e s ) ) ) ) ) ) \r 0017440 0017460 ( c l : f o r 0017500 m a t t " W a r n i n g : 0017520 F i l e ~ A i s d i f f e 0017540 r e n t f r o m l o a d e d 0017560 f i l e ~ A ~ % " \r 0017600 * 0017640 n a m e i n s t a l l e 0017660 d v e r s i o n ) ) ) ) \r 0017700 0017720 ( c l : s e t f s u c c 0017740 e s s t ) ) \r 0017760 ( t 0020000 * 0020040 006 006 ( * \ ; " W e 0020060 ' r e a l o s e r " ) 006 001 \r 0020100 0020120 ( c l o s e f 0020140 ( s t a t u s - s t r e a m ) ) 0020160 \r 0020200 ( d e l f i l 0020220 e ( s t a t u s - f u l l - n 0020240 a m e ) ) \r 0020260 ( c 0020300 l : s e t f ( s t a t u s - s 0020320 t r e a m ) \r 0020340 0020360 ( c a r ( n l s e 0020400 t q ( o p e n s t r e a m ( 0020420 p a c k f i l e n a m e . s t r 0020440 i n g ' v e r s i o n 1 ' 0020460 b o d y ( \r 0020500 * 0020600 s t a t 0020620 u s - f u l l - n a m e \r 0020640 * 0020760 ) ) \r 0021000 * 0021060 ' i n p u t n i l ' ( d 0021100 o n \ ' t c a c h e ) ) ) ) ) \r 0021120 0021140 ( c o n d \r 0021160 0021200 ( ( n o t ( 0021220 s t r e a m p ( s t a t u s - 0021240 s t r e a m ) ) ) \r 0021260 0021300 ( c l : f o r m a t 0021320 t " B a d s i t u a t i o 0021340 n : I l l e g a l v e r s i 0021360 o n s o f t h e s t a t u 0021400 s f i l e e x i s t . ~ & T 0021420 r y a g a i n i n a m o 0021440 m e n t o r t r y t o f 0021460 i x t h e p r o b l e m . ~ 0021500 % " \r 0021520 0021540 ) \r 0021560 0021600 ( c l : s e t f s u c 0021620 c e s s n i l ) ) \r 0021640 0021660 ( s t e a l \r 0021700 \r 0021720 006 006 ( * | ; ; | " I f 0021740 w e ' r e g o i n g t o 0021760 s t e a l i t , w e s h o 0022000 u l d s e n d t h e f o r 0022020 m e r l o c k e r a n o t 0022040 i c e . " ) 006 001 \r \r 0022060 0022100 ( c l : 0022120 f o r m a t t " S t e a l i 0022140 n g ~ A ( a n d s e n d i 0022160 n g ~ A a m e s s a g e 0022200 a b o u t i t ) . ~ % " \r 0022220 * 0022260 n a m e ( g e 0022300 t f i l e i n f o ( s t a t u 0022320 s - s t r e a m ) \r 0022340 * 0022400 ' 0022420 a u t h o r ) ) \r 0022440 0022460 ( a d d . 0022500 p r o c e s s ` ( s e n d - s 0022520 t e a l - m e s s a g e ' , ( 0022540 u s e r n a m e n i l n i l 0022560 t ) \r 0022600 * 0022640 ' , ( g e 0022660 t f i l e i n f o ( s t a t u 0022700 s - s t r e a m ) \r 0022720 * 0023000 ' a u t h o 0023020 r ) \r 0023040 * 0023100 ' , n a m e 0023120 ) ) \r 0023140 0023160 ( c l o s e f ( s t 0023200 a t u s - s t r e a m ) ) \r 0023220 * 0023260 ( d e l f i l e ( f u l l n a 0023300 m e ( s t a t u s - s t r e a 0023320 m ) ) ) \r 0023340 0023360 ( c l : s e t f 0023400 s u c c e s s ( t a k e - f i 0023420 l e f i l e n a m e n i l ) 0023440 ) ) \r 0023460 ( ( 0023500 p r o g 1 ( n o t ( n l s e 0023520 t q ( l e t ( ( t a k e n - 0023540 b y ( c l : r e a d ( s t a 0023560 t u s - s t r e a m ) ) ) \r 0023600 * 0023660 ( t a k e n - o n ( c 0023700 l : r e a d ( s t a t u s - s 0023720 t r e a m ) ) ) ) \r 0023740 * 0024000 ( 0024020 c l : i f ( s t r i n g - e q 0024040 u a l t a k e n - b y ( \r 0024060 * 0024200 a d d - d e f a u l t - r e g i 0024220 s t r y \r 0024240 * 0024340 ( u s e r n a 0024360 m e ) ) ) \r 0024400 * 0024460 ( c l : f o r m a t t \r 0024500 * 0024560 " Y o 0024600 u ' v e a l r e a d y h a d 0024620 ~ A t a k e n , s i n c e 0024640 ~ A . " \r 0024660 * 0024740 n a m e t 0024760 a k e n - o n ) \r 0025000 * 0025060 ( c l : f o r m a t 0025100 t \r 0025120 * 0025160 " S o r r y , 0025200 b u t ~ A w a s a l r e a 0025220 d y t a k e n b y ~ A o 0025240 n ~ A . ~ % " \r 0025260 * 0025340 n a m 0025360 e t a k e n - b y t a k e n 0025400 - o n ) ) ) ) ) \r 0025420 0025440 ( c l o 0025460 s e f ( s t a t u s - s t r e 0025500 a m ) ) ) \r 0025520 0025540 ( c l : f o r m a t t " 0025560 B a d s i t u a t i o n : O 0025600 n l y a n i l l e g a l s 0025620 t a t u s f i l e e x i s t 0025640 s . ~ % T r y a g a i n i n 0025660 a m o m e n t o r t r y 0025700 t o f i x t h e p r o b 0025720 l e m . ~ % " \r 0025740 0025760 ) \r 0026000 0026020 ( c l : s e t 0026040 f s u c c e s s n i l ) ) \r 0026060 0026100 ( t ( c 0026120 l : s e t f s u c c e s s n 0026140 i l ) ) ) ) ) \r 0026160 ( c l : s e 0026200 t f ( f i n i s h e d - n o r 0026220 m a l l y - p ) \r 0026240 0026260 t ) ) \r 0026300 ( r e t u r n s 0026320 u c c e s s ) ) ) ) \r \r \r ( c l 0026340 : d e f u n 006 002 t a k e n ? 006 0026360 001 ( & k e y ( ( : b y a u 0026400 t h o r ) ) \r 0026420 g i 0026440 v e ? ) ( c o n d \r 0026460 0026500 ( ( n u 0026520 l l a u t h o r ) \r 0026540 0026560 ( s e 0026600 t q a u t h o r ( u s e r n 0026620 a m e ) ) \r 0026640 0026660 ( c o n d \r 0026700 * 0026740 ( ( s t r p o s " . " 0026760 a u t h o r ) \r 0027000 0027020 ( s 0027040 e t q a u t h o r ( s u b s 0027060 t r i n g a u t h o r 1 ( 0027100 s u b 1 ( s t r p o s " . " 0027120 a u t h o r ) ) ) ) ) ) \r 0027140 * 0027200 ) \r 0027220 0027240 ( ( o r ( s t r i n g - 0027260 e q u a l a u t h o r " A N 0027300 Y " ) \r 0027320 0027340 ( s t r i n 0027360 g - e q u a l a u t h o r " 0027400 A L L " ) \r 0027420 0027440 ( s t r 0027460 i n g - e q u a l a u t h o r 0027500 " * " ) ) \r 0027520 0027540 ( s e t q a 0027560 u t h o r n i l ) ) ) \r 0027600 0027620 ( | p r i 0027640 n t o u t | t " L o o k i n 0027660 g f o r f i l e s t a k e 0027700 n b y " ( o r a u t h o 0027720 r " a n y " ) \r 0027740 0027760 t ) 0030000 \r 0030020 ( 0030040 006 002 | f o r | 006 001 d i r 006 002 0030060 | i n | 006 001 * g i v e - a n d 0030100 - t a k e - d i r e c t o r i e 0030120 s * \r 0030140 0030160 006 002 | d o | 006 001 ( r e 0030200 s e t l s t ( l e t ( ( g e 0030220 n ( \ \ g e n e r a t e f i l 0030240 e s ( p a c k f i l e n a m e 0030260 . s t r i n g \r 0030300 * 0030400 ' d i r e c t o r y 0030420 d i r \r 0030440 * 0030540 ' n a m e " * " ' e x t e 0030560 n s i o n \r 0030600 * 0030700 " S T A T U S " ) \r 0030720 * 0031020 ' ( a u t h o r c r e a t i o 0031040 n d a t e ) \r 0031060 * 0031140 ' ( r e s e t 0031160 l s t ) ) ) \r 0031200 * 0031240 n e x 0031260 t t h i s a u t h o r d i r 0031300 p r i n t e d ) \r 0031320 * 0031360 ( 006 0031400 002 | w h i l e | 006 001 ( s e t q 0031420 n e x t ( \ \ g e n e r a t 0031440 e n e x t f i l e g e n ) ) \r 0031460 * 0031540 006 002 | w h e n | 0031560 006 001 ( p r o g n ( s e t q 0031600 t h i s a u t h o r \r 0031620 * 0031720 ( \ \ g e n e r a t e f i l 0031740 e i n f o \r 0031760 * 0032040 g e 0032060 n \r 0032100 * 0032160 ' a u t h o 0032200 r ) ) \r 0032220 * 0032300 ( o r ( n 0032320 u l l a u t h o r ) \r 0032340 * 0032440 ( s t r p o s a u 0032460 t h o r t h i s a u t h o r 0032500 1 \r 0032520 * 0032620 n i l t n i l \r 0032640 * 0032760 u p p e r c a s e a r r a y ) ) 0033000 ) \r 0033020 * 0033060 006 002 | d o | 0033100 006 001 ( c o n d \r 0033120 * 0033200 ( ( n o t d 0033220 i r p r i n t e d ) \r 0033240 * 0033320 ( | p r 0033340 i n t o u t | t t " 0033360 " d i r t ) \r 0033400 * 0033460 ( s e t q 0033500 d i r p r i n t e d t ) ) ) \r 0033520 * 0033600 ( | p 0033620 r i n t o u t | t ( f i l e 0033640 n a m e f i e l d \r 0033660 * 0033760 n e x t \r 0034000 * 0034100 ' n a m e ) \r 0034120 * 0034220 1 6 \r 0034240 * 0034320 ( \ \ g e n e 0034340 r a t e f i l e i n f o g e n 0034360 \r 0034400 * 0034460 ' c r e 0034500 a t i o n d a t e ) \r 0034520 * 0034600 4 0034620 0 t h i s a u t h o r ) \r 0034640 * 0034720 ( c o n d 0034740 \r 0034760 * 0035040 ( ( n o t g i v e ? ) \r 0035060 * 0035140 ( 0035160 t e r p r i t ) ) \r 0035200 * 0035260 ( ( e q 0035300 ( a s k u s e r n i l n i l 0035320 " G i v e ? " n i l 0035340 \r 0035360 * 0035440 t ) \r 0035460 * 0035560 ' y ) \r 0035600 * 0035660 ( g i v e - 0035700 f i l e ( p a c k f i l e n a 0035720 m e . s t r i n g \r 0035740 * 0036040 ' e x t e n s i o 0036060 n n i l \r 0036100 * 0036200 ' v e r s i o n n i l \r 0036220 * 0036320 ' b o 0036340 d y n e x t ) ) ) ) ) ) ) ) ) 0036360 \r \r \r ( d e f g l o b a l v a r 0036400 006 002 * g i v e - a n d - t a k 0036420 e - d i r e c t o r i e s * 006 001 0036440 ' ( " { E R I S } < L I S P C 0036460 O R E > S O U R C E S > " " { 0036500 E R I S } < L I S P C O R E > L 0036520 I B R A R Y > " \r 0036540 * 0036600 " { E R 0036620 I S } < L I S P C O R E > I N T 0036640 E R N A L > L I B R A R Y > " 0036660 \r 0036700 * 0036740 " { E R I S } < L I S P U 0036760 S E R S > L I S P C O R E > " 0037000 \r 0037020 * 0037060 " { E R I S } < L I S P C 0037100 O R E > C M L > T E S T > " ) 0037120 ) \r \r \r ( p u t p r o p s 006 002 0037140 g i v e - a n d - t a k e f i 0037160 l e t y p e 006 001 c l : c o m p 0037200 i l e - f i l e ) \r ( p u t p r 0037220 o p s g i v e - a n d - t a k 0037240 e c o p y r i g h t ( " X e 0037260 r o x C o r p o r a t i o n " 0037300 1 9 8 6 ) ) \r ( d e c l a r e 0037320 \ : d o n t c o p y \r ( f 0037340 i l e m a p ( n i l ) ) ) \r s 0037360 t o p \r 0037364