$ od -c -N 50000 [eris]<LispCore>SOURCES>ERROR-RUNTIME!8
0000000 ( D E F I N E - F I L E - I N F
0000020 O 247 R E A D T A B L E " X C
0000040 L " 247 P A C K A G E " L I S
0000060 P " ) \r 006 001 ( i l : f i l e c r
0000100 e a t e d " 2 0 - O c t - 8 6
0000120 1 7 : 2 3 : 2 9 " 006 004 i l :
0000140 { e r i s } < l i s p c o r e >
0000160 s o u r c e s > e r r o r - r u
0000200 n t i m e . \ ; 8 006 001 3 4 8 0
0000220 0 \r \r i l : | c
0000240 h a n g e s | i l : | t o : |
0000260 ( i l : v a r s i l : e r
0000300 r o r - r u n t i m e c o m s )
0000320 \r
0000340 ( i
0000360 l : f u n c t i o n s i l : c
0000400 o n d i t i o n - t y p e p i
0000420 l : c o n d i t i o n - s u b t
0000440 y p e p \r
0000460
0000500 i l : c o n
0000520 d i t i o n - t y p e - o f ) \r
0000540
0000560 ( i l
0000600 : s t r u c t u r e s e r r o
0000620 r ) \r \r i l : | p r
0000640 e v i o u s | i l : | d a t e
0000660 : | " 1 7 - O c t - 8 6 1 7
0000700 : 4 9 : 2 6 " i l : { e r i s
0000720 } < l i s p c o r e > s o u r c
0000740 e s > e r r o r - r u n t i m e
0000760 . \ ; 7 ) \r \r \r ; C o p y r i
0001000 g h t ( c ) 1 9 8 6 b y
0001020 X e r o x C o r p o r a t i o
0001040 n . A l l r i g h t s r
0001060 e s e r v e d . \r \r ( i l : p r
0001100 e t t y c o m p r i n t i l :
0001120 e r r o r - r u n t i m e c o m
0001140 s ) \r \r ( i l : r p a q q 006 002
0001160 i l : e r r o r - r u n t i m e
0001200 c o m s 006 001 \r
0001220 ( ( i l : c o m s ( i l :
0001240 * i l : | ; ; ; | " I n t e
0001260 r n a l f u n c t i o n s . "
0001300 ) \r
0001320 ( i l : f u n c t i o n
0001340 s i l : c o n d i t i o n - t
0001360 y p e p i l : c o n d i t i o
0001400 n - s u b t y p e p i l : c o
0001420 n d i t i o n - t y p e - o f
0001440 \r
0001460 i l : f a k
0001500 e - t y p e p - f o r - c o n d
0001520 i t i o n s i l : f a k e - s
0001540 u b t y p e p - f o r - c o n d
0001560 i t i o n s \r
0001600
0001620 i l : f a k e - t y p e - o f
0001640 - f o r - c o n d i t i o n s )
0001660 \r
0001700 ( i l : f u n c t i o n s
0001720 i l : c o n d i t i o n - h a
0001740 n d l e r i l : c o n d i t i
0001760 o n - r e p o r t e r i l : %
0002000 p r i n t - c o n d i t i o n
0002020 \r
0002040 i l : % p r
0002060 o c e e d - c a s e - p r i n t
0002100 e r i l : % p r o c e e d - c
0002120 a s e - d e f a u l t - r e p o
0002140 r t e r \r
0002160 i
0002200 l : r e p o r t - c o n d i t i
0002220 o n i l : c o n d i t i o n -
0002240 p a r e n t ) \r
0002260 ( i l : v a
0002300 r i a b l e s i l : * c o n d
0002320 i t i o n - h a n d l e r - b i
0002340 n d i n g s * i l : * p r o c
0002360 e e d - c a s e s * ) \r
0002400 ( i
0002420 l : f u n c t i o n s i l : c
0002440 h e c k - t y p e - f a i l i
0002460 l : e c a s e - f a i l i l :
0002500 a s s e r t - f a i l ) \r
0002520 (
0002540 i l : f u n c t i o n s i l :
0002560 m a k e - i n t o - c o n d i t
0002600 i o n i l : r a i s e - s i g
0002620 n a l i l : d e f a u l t - h
0002640 a n d l e - c o n d i t i o n
0002660 \r
0002700 i l : d e f
0002720 a u l t - p r o c e e d - r e p
0002740 o r t e r i l : f i x - i n h
0002760 e r i t a n c e - l i n k s i
0003000 l : d e f a u l t - p r o c e e
0003020 d - t e s t \r
0003040
0003060 i l : t e s t - p r o c e e d
0003100 - c a s e ) ) \r
0003120 ( i l : c o m s ( i l :
0003140 * i l : | ; ; ; | " P r e -
0003160 d e f i n e d c o n d i t i o
0003200 n t y p e s . " ) \r
0003220 ( i l
0003240 : s t r u c t u r e s i l : c
0003260 o n d i t i o n i l : s i m p
0003300 l e - c o n d i t i o n i l :
0003320 w a r n i n g i l : s i m p l
0003340 e - w a r n i n g \r
0003360
0003400 i l : o l d - b r e a k
0003420 1 i l : s e r i o u s - c o n
0003440 d i t i o n e r r o r i l :
0003460 s i m p l e - e r r o r \r
0003500
0003520 i l : o l d - i n
0003540 t e r l i s p - e r r o r i l
0003560 : a s s e r t i o n - f a i l e
0003600 d i l : c e l l - e r r o r
0003620 i l : u n b o u n d - v a r i a
0003640 b l e \r
0003660 i l
0003700 : u n d e f i n e d - f u n c t
0003720 i o n i l : n o - p r o c e e
0003740 d - t e s t i l : i n d e x -
0003760 b o u n d s - e r r o r ) \r
0004000
0004020 ( i l : c o m s ( i l : f u n
0004040 c t i o n s i l : p r e t t y
0004060 - t y p e - n a m e ) \r
0004100
0004120 ( i l : s t r u c t u
0004140 r e s i l : t y p e - m i s m
0004160 a t c h ) ) \r
0004200 ( i l : s t r
0004220 u c t u r e s i l : c o n t r
0004240 o l - e r r o r i l : i l l e
0004260 g a l - g o i l : i l l e g a
0004300 l - r e t u r n i l : i l l e
0004320 g a l - t h r o w \r
0004340
0004360 i l : b a d - p r o c e
0004400 e d - c a s e ) \r
0004420 ( i l : s
0004440 t r u c t u r e s i l : c a l
0004460 l - e r r o r i l : t o o - m
0004500 a n y - a r g u m e n t s i l
0004520 : t o o - f e w - a r g u m e n
0004540 t s \r
0004560 i l :
0004600 i n v a l i d - a r g u m e n t
0004620 - l i s t ) \r
0004640 ( i l : s t r
0004660 u c t u r e s i l : s t r e a
0004700 m - e r r o r i l : r e a d -
0004720 e r r o r i l : e n d - o f -
0004740 f i l e ) \r
0004760 ( i l : s t r u
0005000 c t u r e s i l : s t o r a g
0005020 e - c o n d i t i o n i l : s
0005040 t a c k - o v e r f l o w i l
0005060 : s t o r a g e - e x h a u s t
0005100 e d ) ) \r
0005120 ( i l : c o m s ( i l : * i
0005140 l : | ; ; ; | \r
0005160
0005200 " E x p o r t e d s y m
0005220 b o l s . A n y t h i n g h
0005240 e r e t h a t ' s n o t i
0005260 n C L s h o u l d b e i
0005300 n X C L . " ) \r
0005320 ( i l : v
0005340 a r i a b l e s * b r e a k -
0005360 o n - w a r n i n g s * ) \r
0005400
0005420 ( i l : f u n c t i o n s i l
0005440 : m a k e - c o n d i t i o n
0005460 i l : s i g n a l e r r o r
0005500 c e r r o r w a r n b r e a
0005520 k i l : d e b u g ) \r
0005540 ( i
0005560 l : s t r u c t u r e s i l :
0005600 p r o c e e d - c a s e i l :
0005620 r e a l - p r o c e e d - c a s
0005640 e ) \r
0005660 ( i l : f u n c t i o
0005700 n s i l : f i n d - p r o c e
0005720 e d - c a s e i l : c o m p u
0005740 t e - p r o c e e d - c a s e s
0005760 i l : i n v o k e - p r o c e
0006000 e d - c a s e ) \r
0006020 ( i l : f
0006040 u n c t i o n s i l : a b o r
0006060 t i l : p r o c e e d i l :
0006100 u s e - v a l u e i l : s t o
0006120 r e - v a l u e ) ) \r
0006140 ( i l : c o m s (
0006160 i l : f u n c t i o n s i l :
0006200 s i m p l e - f o r m a t ) \r
0006220
0006240 ( i l : p ( i l : m o v d ?
0006260 ' i l : s i m p l e - f o r m
0006300 a t ' f o r m a t ) ) ) \r
0006320 ( i l : d e c
0006340 l a r e \ : i l : d o n t c o
0006360 p y ( i l : v a r s i l : s
0006400 h o u l d - b e - i n - p a c k
0006420 a g e ) ) \r
0006440 ( i l : p r o p i l : f i l
0006460 e t y p e i l : e r r o r - r
0006500 u n t i m e ) ) ) \r \r \r \r 006 004 (
0006520 i l : * i l : | ; ; ; | " I
0006540 n t e r n a l f u n c t i o n
0006560 s . " ) 006 001 \r \r ( d e f m a c r
0006600 o 006 002 i l : c o n d i t i o n
0006620 - t y p e p 006 001 ( i l : d a t
0006640 u m t y p e ) ( i f i l :
0006660 % c o n d i t i o n - t y p e s
0006700 - r e a l ` ( t y p e p , i
0006720 l : d a t u m \r
0006740
*
0007040 , t y p e )
0007060 \r
0007100
*
0007140 ` ( i l : f a k e - t y p e
0007160 p - f o r - c o n d i t i o n s
0007200 , i l : d a t u m \r
0007220
*
0007300 , t y p e ) ) ) \r \r ( d
0007320 e f m a c r o 006 002 i l : c o n
0007340 d i t i o n - s u b t y p e p 006
0007360 001 ( i l : t 1 i l : t 2 )
0007400 ( i f i l : % c o n d i t i o
0007420 n - t y p e s - r e a l ` ( s
0007440 u b t y p e p , i l : t 1 \r
0007460
*
0007600 , i l : t 2 ) \r
0007620
*
0007660 ` ( i l
0007700 : f a k e - s u b t y p e p - f
0007720 o r - c o n d i t i o n s , i
0007740 l : t 1 \r
0007760
*
0010020 ,
0010040 i l : t 2 ) ) ) \r \r ( d e f m a
0010060 c r o 006 002 i l : c o n d i t i
0010100 o n - t y p e - o f 006 001 ( i l
0010120 : d a t u m ) ( i f i l : %
0010140 c o n d i t i o n - t y p e s -
0010160 r e a l ` ( t y p e - o f ,
0010200 i l : d a t u m ) \r
0010220
*
0010260 ` ( i l : f a k
0010300 e - t y p e - o f - f o r - c o
0010320 n d i t i o n s , i l : d a t
0010340 u m ) ) ) \r \r ( d e f u n 006 002
0010360 i l : f a k e - t y p e p - f o
0010400 r - c o n d i t i o n s 006 001 (
0010420 i l : d a t u m t y p e ) 006
0010440 006 006 001 006 006 ( i
0010460 l : * i l : | a m d | " 9
0010500 - A p r - 8 6 1 7 : 4 1 " ) 006
0010520 001 \r ( a n d ( c o n s p
0010540 i l : d a t u m ) \r
0010560 ( s y m b o l p ( c a r
0010600 i l : d a t u m ) ) \r
0010620 ( i l : c o n d i t i o
0010640 n - s u b t y p e p ( c a r
0010660 i l : d a t u m ) \r
0010700 t y p e ) ) )
0010720 \r \r ( d e f u n 006 002 i l : f a
0010740 k e - s u b t y p e p - f o r -
0010760 c o n d i t i o n s 006 001 ( i l
0011000 : t 1 i l : t 2 ) ( v a l u
0011020 e s ( a n d ( i l : | f o r
0011040 | i l : | o l d | i l : t 1
0011060 i l : | b y | \r
0011100
*
0011200 ( i l : c o n d i t i o n -
0011220 p a r e n t i l : t 1 ) \r
0011240
*
0011340 i l : | w h i l e
0011360 | i l : t 1 \r
0011400
*
0011500 i l : | t h e r e i s | \r
0011520
*
0011620 ( e q i l : t
0011640 1 i l : t 2 ) ) \r
0011660
*
0011740 t ) \r
0011760
*
0012040 t ) ) \r \r
0012060 ( d e f u n 006 002 i l : f a k e
0012100 - t y p e - o f - f o r - c o n
0012120 d i t i o n s 006 001 ( i l : d a
0012140 t u m ) ( c a r i l : d a t
0012160 u m ) ) \r \r ( d e f m a c r o
0012200 006 002 i l : c o n d i t i o n - h
0012220 a n d l e r 006 001 ( i l : c o n
0012240 d i t i o n - t y p e ) ` ( i
0012260 l : g e t p r o p , i l : c o
0012300 n d i t i o n - t y p e ' \r
0012320
*
0012400 i l : % c o
0012420 n d i t i o n - h a n d l e r )
0012440 ) \r \r ( d e f m a c r o 006 002 i
0012460 l : c o n d i t i o n - r e p o
0012500 r t e r 006 001 ( i l : c o n d i
0012520 t i o n - t y p e ) ` ( i l :
0012540 g e t p r o p , i l : c o n d
0012560 i t i o n - t y p e ' \r
0012600
*
0012660 i l : % c o n
0012700 d i t i o n - r e p o r t e r )
0012720 ) \r \r ( d e f u n 006 002 i l : %
0012740 p r i n t - c o n d i t i o n 006
0012760 001 ( i l : c o n d i t i o n
0013000 s t r e a m i l : l e v e l )
0013020 ( d e c l a r e ( i g n o r
0013040 e i l : l e v e l ) ) \r
0013060
*
0013140 ( i f * p r i n
0013160 t - e s c a p e * ( f o r m a
0013200 t s t r e a m \r
0013220
*
0013320 " # < C o n d i t i
0013340 o n ~ S @ ~ O , ~ O > " \r
0013360
*
0013500 ( t y p e - o f \r
0013520
*
0013640 i l : c o n d i t
0013660 i o n \r
0013700
*
0014000 )
0014020 \r
0014040
*
0014140 ( i l : \ \ h i l o c
0014160 \r
0014200
*
0014300 i l : c o n d i t i
0014320 o n ) \r
0014340
*
0014440 ( i l : \ \ l o
0014460 l o c \r
0014500
*
0014600 i l : c o n d
0014620 i t i o n ) ) \r
0014640
*
0014720 ( i l : r e p o r t
0014740 - c o n d i t i o n i l : c o
0014760 n d i t i o n \r
0015000
*
0015060 s t
0015100 r e a m ) ) ) \r \r ( d e f u n
0015120 006 002 i l : % p r o c e e d - c a
0015140 s e - p r i n t e r 006 001 ( i l
0015160 : p c s t r e a m i l : l e
0015200 v e l ) ( d e c l a r e ( i
0015220 g n o r e i l : l e v e l ) )
0015240 \r
0015260
*
0015320 ( i f * p r
0015340 i n t - e s c a p e * ( \r
0015360
*
0015460 i l : d e f a u l
0015500 t - s t r u c t u r e - p r i n
0015520 t e r \r
0015540
*
0015640 i l : p c s t r e a m i l :
0015660 l e v e l ) \r
0015700
*
0015760 ( f u n c a l l ( i l :
0016000 p r o c e e d - c a s e - r e p
0016020 o r t i l : p c ) \r
0016040
*
0016120 i l
0016140 : p c s t r e a m ) ) ) \r \r (
0016160 d e f u n 006 002 i l : % p r o c
0016200 e e d - c a s e - d e f a u l t
0016220 - r e p o r t e r 006 001 ( i l :
0016240 p c s t r e a m ) ( f u n c
0016260 a l l ( i l : d e f a u l t -
0016300 p r o c e e d - r e p o r t \r
0016320
*
0016420 ( i l : p r o c e e d - c a s
0016440 e - n a m e i l : p c ) ) \r
0016460
*
0016540 i l
0016560 : p c s t r e a m ) ) \r \r ( d
0016600 e f u n 006 002 i l : r e p o r t
0016620 - c o n d i t i o n 006 001 ( i l
0016640 : c o n d i t i o n s t r e a
0016660 m ) ( d o * ( ( t y p e (
0016700 i l : c o n d i t i o n - t y p
0016720 e - o f i l : c o n d i t i o
0016740 n ) \r
0016760
*
0017040 ( i l : c o n d i t i o n - p a
0017060 r e n t t y p e ) ) \r
0017100
*
0017160 ( i l : r e p o r t e r
0017200 ( i l : c o n d i t i o n - r e
0017220 p o r t e r t y p e ) \r
0017240
*
0017320 ( i l : c
0017340 o n d i t i o n - r e p o r t e
0017360 r t y p e ) ) ) \r
0017400
*
0017460 ( ( n u l l t y p e ) \r
0017500
*
0017560 ( b r e a k " N o r
0017600 e p o r t f u n c t i o n f
0017620 o u n d f o r ~ S . " \r
0017640
*
0017720 i l :
0017740 c o n d i t i o n ) ) \r
0017760
*
0020040 ( w h e n i l : r e p o r
0020060 t e r \r
0020100
*
0020160 ( r e t u r n ( i f s t r e
0020200 a m ( f u n c a l l i l : r
0020220 e p o r t e r \r
0020240
*
0020340 i
0020360 l : c o n d i t i o n \r
0020400
*
0020520 s t r e a m ) \r
0020540
*
0020640 ( w i t h - o u t p u t -
0020660 t o - s t r i n g \r
0020700
*
0021000 ( s t r e a m ) \r
0021020
*
0021120 ( f u n c a l l i l
0021140 : r e p o r t e r \r
0021160
*
0021260 i l : c o
0021300 n d i t i o n s t r e a m ) )
0021320 \r
0021340
*
0021420 ) ) ) ) ) \r \r
0021440 ( d e f m a c r o 006 002 i l : c
0021460 o n d i t i o n - p a r e n t 006
0021500 001 ( t y p e ) ` ( i l : g e
0021520 t p r o p , t y p e ' i l :
0021540 % c o n d i t i o n - p a r e n
0021560 t ) ) \r \r ( d e f v a r 006 002 i
0021600 l : * c o n d i t i o n - h a n
0021620 d l e r - b i n d i n g s * 006 001
0021640 n i l " C o n d i t i o n
0021660 h a n d l e r b i n d i n g
0021700 s t a c k " ) \r \r ( d e f v a r
0021720 006 002 i l : * p r o c e e d - c
0021740 a s e s * 006 001 n i l " A c t
0021760 i v e p r o c e e d c a s e
0022000 s t a c k " ) \r \r ( d e f u n
0022020 006 002 i l : c h e c k - t y p e
0022040 - f a i l 006 001 ( i l : p r o c
0022060 e e d a b l e i l : p l a c e
0022100 i l : v a l u e i l : d e s
0022120 i r e d - t y p e i l : m e s
0022140 s a g e ) \r ( i l : p r o
0022160 c e e d - c a s e ( e r r o r
0022200 ' i l : t y p e - m i s m a t
0022220 c h : n a m e i l : p l a c
0022240 e : v a l u e i l : v a l u
0022260 e : d e s i r e d - t y p e
0022300 \r
0022320 i l : d
0022340 e s i r e d - t y p e : m e s
0022360 s a g e i l : m e s s a g e )
0022400 \r ( i l : s
0022420 t o r e - v a l u e ( i g n o
0022440 r e i l : n e w ) \r
0022460 : r e p
0022500 o r t \r
0022520 ( f o r m a t t "
0022540 C h a n g e t h e v a l u e
0022560 o f ~ A " i l : p l a c e
0022600 ) \r
0022620 : t e s t \r
0022640 ( l a m b d
0022660 a ( i l : c o n d i t i o n )
0022700 \r
0022720 ( a n d i l
0022740 : p r o c e e d a b l e ( i l
0022760 : c o n d i t i o n - t y p e p
0023000 i l : c o n d i t i o n ' i
0023020 l : t y p e - m i s m a t c h )
0023040 ) ) \r
0023060 i l : n e w ) ) ) \r \r (
0023100 d e f u n 006 002 i l : e c a s e
0023120 - f a i l 006 001 ( i l : p r o c
0023140 e e d a b l e i l : p l a c e
0023160 i l : v a l u e i l : s e l
0023200 e c t o r s ) \r ( i l : p
0023220 r o c e e d - c a s e ( e r r
0023240 o r " T h e v a l u e o f
0023260 ~ S , ~ S , ~ & i s ~ ? .
0023300 " i l : p l a c e i l : v a
0023320 l u e \r
0023340
0023360 " ~ # [ w r o n g ~ ; n o t ~
0023400 S ~ ; n e i t h e r ~ S n o
0023420 r ~ S ~ : ; n o t ~ @ { ~ # [
0023440 ~ ; o r ~ ] ~ S ~ ^ , ~ } ~
0023460 ] " \r
0023500 i
0023520 l : s e l e c t o r s ) \r
0023540 ( i l : s t o r e
0023560 - v a l u e ( i g n o r e i
0023600 l : v ) \r
0023620 : t e s t \r
0023640 ( l a
0023660 m b d a ( i l : c o n d i t i
0023700 o n ) \r
0023720 ( d e c
0023740 l a r e ( i g n o r e i l :
0023760 c o n d i t i o n ) ) \r
0024000
0024020 i l : p r o c e e d a b
0024040 l e ) \r
0024060 : r e p o r t \r
0024100 ( f
0024120 o r m a t t " C h a n g e
0024140 t h e v a l u e o f ~ A "
0024160 i l : p l a c e ) \r
0024200 i l : v
0024220 ) ) ) \r \r ( d e f u n 006 002 i l
0024240 : a s s e r t - f a i l 006 001 (
0024260 s t r i n g & r e s t i l :
0024300 a r g s ) ( i l : p r o c e e
0024320 d - c a s e ( e r r o r ' i
0024340 l : a s s e r t i o n - f a i l
0024360 e d \r
0024400
*
0024460 : f o r m a t
0024500 - s t r i n g s t r i n g \r
0024520
*
0024620 : f o r m a t - a r g
0024640 u m e n t s i l : a r g s ) \r
0024660
*
0024740 ( i l : p r o c e e d
0024760 n i l : r e p o r t " R e -
0025000 t e s t a s s e r t i o n " )
0025020 ) ) \r \r ( d e f u n 006 002 i l :
0025040 m a k e - i n t o - c o n d i t
0025060 i o n 006 001 ( i l : d a t u m
0025100 i l : d e s i r e d - t y p e
0025120 i l : a r g s ) 006 006 006 001 \r
0025140
*
0025220 006 006 ( i l : * i l : | ; ; |
0025240 \r 006 001
0025260
*
0025320 006 006 " T h e e n t i
0025340 r e t h i n g s h o u l d
0025360 b e a t y p e c a s e . " )
0025400 006 001 \r ( i f ( i l : c o
0025420 n d i t i o n - t y p e p i l
0025440 : d a t u m ' i l : c o n d i
0025460 t i o n ) \r i l :
0025500 d a t u m \r ( e t
0025520 y p e c a s e i l : d a t u m
0025540 ( s y m b o l ( i f ( i l
0025560 : c o n d i t i o n - s u b t y
0025600 p e p i l : d a t u m ' i l
0025620 : c o n d i t i o n ) \r
0025640
*
0025700 ( a p p l y ( i l : f u
0025720 n c t i o n i l : m a k e - c
0025740 o n d i t i o n ) \r
0025760
*
0026020 i l : d a t u m
0026040 i l : a r g s ) \r
0026060
*
0026120 ( e r r o r " ~ S i s n
0026140 o t a c o n d i t i o n t
0026160 y p e . " i l : d a t u m ) )
0026200 ) \r
0026220 ( s t r i n g ( i l : m a k e
0026240 - c o n d i t i o n i l : d e
0026260 s i r e d - t y p e : f o r m
0026300 a t - s t r i n g i l : d a t
0026320 u m : f o r m a t - a r g u m
0026340 e n t s \r
0026360
0026400 i l : a r g s ) ) ) ) ) \r
0026420 \r ( d e f u n 006 002 i l : r a i
0026440 s e - s i g n a l 006 001 ( i l :
0026460 c ) ( d o * ( ( i l : * c o
0026500 n d i t i o n - h a n d l e r -
0026520 b i n d i n g s * i l : * c o
0026540 n d i t i o n - h a n d l e r -
0026560 b i n d i n g s * \r
0026600
*
0026640 ( c d r i l : * c o
0026660 n d i t i o n - h a n d l e r -
0026700 b i n d i n g s * ) ) ) \r
0026720
*
0026760 ( ( n u l l i l : * c o n d i
0027000 t i o n - h a n d l e r - b i n
0027020 d i n g s * ) \r
0027040
0027060 ( i l :
0027100 d e f a u l t - h a n d l e - c
0027120 o n d i t i o n i l : c ) \r
0027140
*
0027200 i l : c ) \r
0027220
0027240 ( i l :
0027260 d e s t r u c t u r i n g - b i
0027300 n d ( t y p e . i l : h a
0027320 n d l e r ) \r
0027340
*
0027400 ( c a r i l : * c o n d i t
0027420 i o n - h a n d l e r - b i n d
0027440 i n g s * ) \r
0027460
*
0027520 ( w h e n ( i l : c o n d i
0027540 t i o n - t y p e p i l : c
0027560 t y p e ) \r
0027600
*
0027640 ( l e t ( ( i l :
0027660 * c o n d i t i o n - h a n d l
0027700 e r - b i n d i n g s * ( c d
0027720 r \r
0027740
*
0030020 i l : * c o n
0030040 d i t i o n - h a n d l e r - b
0030060 i n d i n g s * \r
0030100
*
0030220 ) ) ) \r
0030240
*
0030300 ( f
0030320 u n c a l l i l : h a n d l e
0030340 r i l : c ) ) ) ) ) ) \r \r ( d
0030360 e f u n 006 002 i l : d e f a u l
0030400 t - h a n d l e - c o n d i t i
0030420 o n 006 001 ( i l : c o n d i t i
0030440 o n ) ( d o ( ( t y p e (
0030460 i l : c o n d i t i o n - t y p
0030500 e - o f i l : c o n d i t i o
0030520 n ) \r
0030540
*
0030620 ( i l : c o n d i t i o n - p a
0030640 r e n t t y p e ) ) ) \r
0030660
*
0030740 ( ( n u l l t y p e ) )
0030760 \r
0031000
*
0031040 ( l e t ( ( i l
0031060 : h a n d l e r ( i l : c o n
0031100 d i t i o n - h a n d l e r t
0031120 y p e ) ) ) \r
0031140
*
0031220 ( w h e n i l : h a n d l
0031240 e r ( f u n c a l l i l : h
0031260 a n d l e r \r
0031300
*
0031400 i l : c o
0031420 n d i t i o n ) ) ) ) ) \r \r ( d
0031440 e f u n 006 002 i l : d e f a u l
0031460 t - p r o c e e d - r e p o r t
0031500 e r 006 001 ( i l : p c s t r e
0031520 a m ) ( f o r m a t s t r e
0031540 a m " P r o c e e d - t y p e
0031560 : ~ A " ( \r
0031600
*
0031700 i l : p r o c
0031720 e e d - c a s e - n a m e \r
0031740
*
0032060 i l : p c ) ) ) \r \r ( d e
0032100 f u n 006 002 i l : f i x - i n h
0032120 e r i t a n c e - l i n k s 006 001
0032140 ( i l : n a m e i l : n e w
0032160 - p a r e n t ) \r ( l e t
0032200 ( ( i l : o l d - p a r e n t
0032220 ( i l : c o n d i t i o n - p
0032240 a r e n t i l : n a m e ) ) )
0032260 \r ( u n l e s s
0032300 ( o r ( e q i l : n e w -
0032320 p a r e n t i l : o l d - p a
0032340 r e n t ) \r
0032360 ( n u l l
0032400 i l : o l d - p a r e n t ) ) \r
0032420 (
0032440 l e t ( ( i l : c h i l d r e
0032460 n ( g e t i l : o l d - p a
0032500 r e n t ' i l : % c o n d i t
0032520 i o n - c h i l d r e n ) ) ) \r
0032540
0032560 ( s e t f ( g e t i
0032600 l : o l d - p a r e n t ' i l
0032620 : % c o n d i t i o n - c h i l
0032640 d r e n ) \r
0032660
0032700 ( i l : d r e m o v e i l : n
0032720 a m e i l : c h i l d r e n )
0032740 ) ) ) \r ( p u s
0032760 h n e w i l : n a m e ( i l
0033000 : g e t p r o p i l : n e w -
0033020 p a r e n t ' i l : % c o n d
0033040 i t i o n - c h i l d r e n ) )
0033060 \r ( s e t f (
0033100 i l : c o n d i t i o n - p a r
0033120 e n t i l : n a m e ) \r
0033140 i l : n e
0033160 w - p a r e n t ) ) ) \r \r ( d e
0033200 f m a c r o 006 002 i l : d e f a
0033220 u l t - p r o c e e d - t e s t
0033240 006 001 ( i l : p r o c e e d - t
0033260 y p e ) ` ( i l : g e t p r o
0033300 p , i l : p r o c e e d - t y
0033320 p e ' \r
0033340
*
0033420 i l : % d e f a u l t - p r o
0033440 c e e d - t e s t ) ) \r \r ( d e
0033460 f u n 006 002 i l : t e s t - p r
0033500 o c e e d - c a s e 006 001 ( i l
0033520 : p c i l : c o n d i t i o n
0033540 & a u x i l : t e s t ) \r
0033560 ( c o n d \r ( (
0033600 s e t f i l : t e s t ( i l
0033620 : p r o c e e d - c a s e - t e
0033640 s t i l : p c ) ) \r
0033660 ( f u n c a l l i l : t e
0033700 s t i l : c o n d i t i o n )
0033720 ) \r ( ( a n d ( i
0033740 l : p r o c e e d - c a s e - n
0033760 a m e i l : p c ) \r
0034000 ( s e t f i l :
0034020 t e s t ( o r ( i l : d e f
0034040 a u l t - p r o c e e d - t e s
0034060 t ( i l : p r o c e e d - c a
0034100 s e - n a m e i l : p c ) ) \r
0034120
0034140 ( i
0034160 l : n o - p r o c e e d - t e s
0034200 t ( i l : p r o c e e d - c a
0034220 s e - n a m e i l : p c ) ) )
0034240 ) ) \r ( f u n c a
0034260 l l i l : t e s t i l : c o
0034300 n d i t i o n ) ) \r
0034320 ( t 006 006 006 001
0034340
*
0034400 006 006 ( i l : *
0034420 i l : \ ; " T h i s c a s
0034440 e s h o u l d n ' t h a p p
0034460 e n " ) 006 001 \r
0034500 ( i l : p r o c e e d - c a s e
0034520 ( e r r o r " C o u l d n '
0034540 t f i n d t e s t f u n c
0034560 t i o n f o r ~ S . " i l
0034600 : p c ) \r
0034620 ( i l : p r o c e e d
0034640 n i l : t e s t i l : t r
0034660 u e : r e p o r t " A s s u
0034700 m e p r o c e e d c a s e
0034720 i s e n a b l e d " t ) ) )
0034740 ) ) \r \r \r \r \r 006 004 ( i l : * i
0034760 l : | ; ; ; | " P r e - d e f
0035000 i n e d c o n d i t i o n t
0035020 y p e s . " ) 006 001 \r \r ( i l : d
0035040 e f i n e - c o n d i t i o n
0035060 006 002 i l : c o n d i t i o n 006 001
0035100 i l : c o n d i t i o n : r
0035120 e p o r t " C o n d i t i o n
0035140 ~ S o c c u r r e d . " i
0035160 l : - - d u m m y - s l o t - -
0035200 ) \r \r ( i l : d e f i n e - c o
0035220 n d i t i o n 006 002 i l : s i m
0035240 p l e - c o n d i t i o n 006 001
0035260 i l : c o n d i t i o n : r e
0035300 p o r t ( a p p l y ( i l :
0035320 f u n c t i o n f o r m a t )
0035340 \r
0035360
*
0035440 t i l : f o r m a
0035460 t - s t r i n g \r
0035500
*
0035560 i
0035600 l : f o r m a t - a r g u m e n
0035620 t s ) \r
0035640
*
0035700 i l : f o r m a t - s t r
0035720 i n g i l : f o r m a t - a r
0035740 g u m e n t s ) \r \r ( i l : d e
0035760 f i n e - c o n d i t i o n 006
0036000 002 i l : w a r n i n g 006 001 i l
0036020 : c o n d i t i o n ) \r \r ( i l
0036040 : d e f i n e - c o n d i t i o
0036060 n 006 002 i l : s i m p l e - w a
0036100 r n i n g 006 001 i l : w a r n i
0036120 n g : r e p o r t ( a p p l
0036140 y ( i l : f u n c t i o n f
0036160 o r m a t ) \r
0036200
*
0036260 t i l : f o r
0036300 m a t - s t r i n g \r
0036320
*
0036400 i l :
0036420 f o r m a t - a r g u m e n t s
0036440 ) \r
0036460
0036500 i
0036520 l : f o r m a t - s t r i n g
0036540 i l : f o r m a t - a r g u m e
0036560 n t s ) \r \r ( i l : d e f i n e
0036600 - c o n d i t i o n 006 002 i l :
0036620 o l d - b r e a k 1 006 001 i l :
0036640 c o n d i t i o n : r e p o r
0036660 t ( i l : d e s t r u c t u r
0036700 i n g - b i n d ( i l : m e s
0036720 s 1 i l : m e s s 2 \r
0036740
*
0037060 i l : m e s s 3 ) \r
0037100
*
0037160 l i s t
0037200 \r
0037220
*
0037300 ( i l : e r r o r m e s s 1 i
0037320 l : m e s s 1 i l : m e s s 2
0037340 \r
0037360
*
0037440 i l : m e s s 3
0037460 ) ) \r
0037500
0037520 l i s t
0037540 ) \r \r ( i l : d e f i n e - c o
0037560 n d i t i o n 006 002 i l : s e r
0037600 i o u s - c o n d i t i o n 006 001
0037620 i l : c o n d i t i o n : r
0037640 e p o r t ( f o r m a t t
0037660 \r
0037700
*
0037760 " S e r i o u s c
0040000 o n d i t i o n ~ S o c c u
0040020 r r e d . " \r
0040040
*
0040120 ( i l
0040140 : c o n d i t i o n - t y p e -
0040160 o f \r
0040200
*
0040300 i l : c o n d i t i o n ) ) )
0040320 \r \r ( i l : d e f i n e - c o n
0040340 d i t i o n 006 002 e r r o r 006 001
0040360 i l : s e r i o u s - c o n d
0040400 i t i o n ) \r \r ( i l : d e f i
0040420 n e - c o n d i t i o n 006 002 i
0040440 l : s i m p l e - e r r o r 006 001
0040460 i l : e r r o r : r e p o r
0040500 t ( a p p l y ( i l : f u n
0040520 c t i o n f o r m a t ) \r
0040540
*
0040620 t i l :
0040640 f o r m a t - s t r i n g i l
0040660 : f o r m a t - a r g u m e n t
0040700 s ) \r
0040720
0040740 i l
0040760 : f o r m a t - s t r i n g i
0041000 l : f o r m a t - a r g u m e n
0041020 t s ) \r \r ( i l : d e f i n e -
0041040 c o n d i t i o n 006 002 i l : o
0041060 l d - i n t e r l i s p - e r r
0041100 o r 006 001 i l : e r r o r : r
0041120 e p o r t ( i f ( e q i l
0041140 : n u m b e r 1 7 ) \r
0041160
*
0041240 ( i l
0041260 : d e s t r u c t u r i n g - b
0041300 i n d \r
0041320
*
0041400 ( i l : m e s s 1
0041420 . i l : m e s s 2 ) \r
0041440
*
0041520 i l
0041540 : m e s s a g e \r
0041560
*
0041640 ( i l : e
0041660 r r o r m e s s 1 i l : m e s
0041700 s 1 i l : m e s s 2 \r
0041720
*
0042020 ' i l : e r r o r ) )
0042040 \r
0042060
*
0042140 ( i l : e r r o r m ( l i
0042160 s t i l : n u m b e r \r
0042200
*
0042320 i l : m e s s a g e ) ) ) \r
0042340
*
0042420 i l : n u m b e r i l : m e s
0042440 s a g e ) \r \r ( i l : d e f i n
0042460 e - c o n d i t i o n 006 002 i l
0042500 : a s s e r t i o n - f a i l e
0042520 d 006 001 i l : s i m p l e - e r
0042540 r o r : r e p o r t ( a p p
0042560 l y ( i l : f u n c t i o n
0042600 f o r m a t ) \r
0042620
*
0042720 t \r
0042740
*
0043020 ( o r i l
0043040 : f o r m a t - s t r i n g \r
0043060
*
0043160 " A s s
0043200 e r t i o n f a i l e d . " )
0043220 \r
0043240
*
0043320 i l : f o r m
0043340 a t - a r g u m e n t s ) ) \r \r
0043360 ( i l : d e f i n e - c o n d i
0043400 t i o n 006 002 i l : c e l l - e
0043420 r r o r 006 001 i l : e r r o r
0043440 i l : n a m e ) \r \r ( i l : d e
0043460 f i n e - c o n d i t i o n 006
0043500 002 i l : u n b o u n d - v a r i
0043520 a b l e 006 001 i l : c e l l - e
0043540 r r o r : r e p o r t ( f o
0043560 r m a t t " U n b o u n d
0043600 v a r i a b l e : ~ S . " \r
0043620
*
0043720 i l : n a m e ) ) \r
0043740 \r ( i l : d e f i n e - c o n d
0043760 i t i o n 006 002 i l : u n d e f
0044000 i n e d - f u n c t i o n 006 001
0044020 i l : c e l l - e r r o r : r
0044040 e p o r t ( f o r m a t t
0044060 " U n d e f i n e d f u n c t
0044100 i o n : ~ S . " \r
0044120
*
0044220 i l : n a m e ) ) \r \r ( i
0044240 l : d e f i n e - c o n d i t i
0044260 o n 006 002 i l : n o - p r o c e
0044300 e d - t e s t 006 001 i l : u n d
0044320 e f i n e d - f u n c t i o n
0044340 : r e p o r t ( f o r m a t
0044360 t \r
0044400
*
0044440 "
0044460 N o t e s t s p e c i f i e
0044500 d f o r p r o c e e d c a
0044520 s e : ~ S . " \r
0044540
*
0044640 i l : n a m e ) )
0044660 \r \r ( i l : d e f i n e - c o n
0044700 d i t i o n 006 002 i l : i n d e
0044720 x - b o u n d s - e r r o r 006 001
0044740 i l : c e l l - e r r o r :
0044760 r e p o r t ( f o r m a t t
0045000 " I n d e x o u t o f b
0045020 o u n d s : ~ D . " \r
0045040
*
0045140 i l : i n d e x ) \r
0045160
*
0045240 i l : i n d e x ) \r \r ( d e f u
0045260 n 006 002 i l : p r e t t y - t y
0045300 p e - n a m e 006 001 ( i l : t y
0045320 p e s p e c ) ( i l : c o n c
0045340 a t " a " i l : t y p e s
0045360 p e c ) ) \r \r ( i l : d e f i n
0045400 e - c o n d i t i o n 006 002 i l
0045420 : t y p e - m i s m a t c h 006 001
0045440 i l : c e l l - e r r o r :
0045460 r e p o r t ( f o r m a t t
0045500 \r
0045520
*
0045600 " T h e v a l u e
0045620 o f ~ A , ~ A , i s n o
0045640 t ~ A . " \r
0045660
*
0045740 i l : n a
0045760 m e i l : v a l u e \r
0046000
*
0046060 (
0046100 o r i l : m e s s a g e ( \r
0046120
*
0046240 i l : p r e t t y - t y p e
0046260 - n a m e \r
0046300
*
0046400 i l : d e s i
0046420 r e d - t y p e ) ) ) \r
0046440
*
0046500 i l : v a l u e
0046520 i l : d e s i r e d - t y p e
0046540 i l : m e s s a g e ) \r \r ( i
0046560 l : d e f i n e - c o n d i t i
0046600 o n 006 002 i l : c o n t r o l -
0046620 e r r o r 006 001 i l : e r r o r
0046640 ) \r \r ( i l : d e f i n e - c o
0046660 n d i t i o n 006 002 i l : i l l
0046700 e g a l - g o 006 001 i l : c o n
0046720 t r o l - e r r o r : r e p o
0046740 r t ( f o r m a t t " G O
0046760 t o a n o n - e x i s t a
0047000 n t t a g : ~ S . " \r
0047020
*
0047120 i l : t a g ) \r
0047140
*
0047200 i l : t a g ) \r \r ( i l : d
0047220 e f i n e - c o n d i t i o n
0047240 006 002 i l : i l l e g a l - r e t
0047260 u r n 006 001 i l : c o n t r o l
0047300 - e r r o r : r e p o r t (
0047320 f o r m a t t \r
0047340
*
0047420 " R E T
0047440 U R N t o n o n - e x i s t
0047460 a n t b l o c k : ~ S . "
0047500 \r
0047520
*
0047600 i l : t a g ) \r
0047620
*
0047660 i l :
0047700 t a g ) \r \r ( i l : d e f i n e
0047720 - c o n d i t i o n 006 002 i l :
0047740 i l l e g a l - t h r o w 006 001
0047760 i l : c o n t r o l - e r r o r
0050000 : r e p o r t ( f o r m a t
0050020 t \r
0050040
*
0050120 " T a g f
0050140 o r T H R O W n o t f o u
0050160 n d : ~ S . " \r
0050200
*
0050300 i l : t a g ) \r
0050320
*
0050360 i l : t a g ) \r \r ( i l
0050400 : d e f i n e - c o n d i t i o
0050420 n 006 002 i l : b a d - p r o c e
0050440 e d - c a s e 006 001 i l : c o n
0050460 t r o l - e r r o r : r e p o
0050500 r t ( f o r m a t t \r
0050520
*
0050600 " P r o c e e
0050620 d c a s e ~ S i s n o t
0050640 c u r r e n t l y a c t i v
0050660 e . " \r
0050700
*
0050760 i l
0051000 : n a m e ) \r
0051020
*
0051060 i l : n a m e ) \r \r
0051100 ( i l : d e f i n e - c o n d i
0051120 t i o n 006 002 i l : c a l l - e
0051140 r r o r 006 001 i l : c o n t r o
0051160 l - e r r o r i l : c a l l e
0051200 e ) \r \r ( i l : d e f i n e - c
0051220 o n d i t i o n 006 002 i l : t o
0051240 o - m a n y - a r g u m e n t s
0051260 006 001 i l : c a l l - e r r o r
0051300 : r e p o r t \r
0051320
*
0051360 ( i f ( a
0051400 n d i l : m a x i m u m i l
0051420 : a c t u a l ) \r
0051440
*
0051500 ( f
0051520 o r m a t t " T o o m a n
0051540 y a r g u m e n t s t o ~
0051560 A : ~ % ~ D ~ : * ~ [ w
0051600 e r e ~ ; w a s ~ : ; w e r e ~
0051620 ] g i v e n b u t a t m
0051640 o s t ~ D ~ : * ~ [ a r e ~
0051660 ; i s ~ : ; a r e ~ ] a c c e
0051700 p t e d " \r
0051720
*
0052000 i l : c a l l e e i l :
0052020 a c t u a l i l : m a x i m u
0052040 m ) \r
0052060
*
0052120 ( f o r m a t
0052140 t " T o o m a n y a r g u
0052160 m e n t s t o ~ A " i l :
0052200 c a l l e e ) ) \r
0052220
*
0052260 i l : m a x
0052300 i m u m i l : a c t u a l ) \r
0052320 \r ( i l : d e f i n e - c o n d
0052340 i t i o n 006 002 i l : t o o - f
0052360 e w - a r g u m e n t s 006 001 i
0052400 l : c a l l - e r r o r : r e
0052420 p o r t \r
0052440
*
0052500 ( i f ( a n d i l
0052520 : m i n i m u m i l : a c t u
0052540 a l ) \r
0052560
*
0052620 ( f o r m a t
0052640 t " T o o f e w a r g u m
0052660 e n t s t o ~ A : ~ %
0052700 ~ D ~ : * ~ [ w e r e ~ ; w a
0052720 s ~ : ; w e r e ~ ] g i v e n
0052740 b u t a t l e a s t ~ D
0052760 ~ : * ~ [ a r e ~ ; i s ~ : ;
0053000 a r e ~ ] n e c e s s a r y "
0053020 \r
0053040
*
0053100 i l :
0053120 c a l l e e i l : a c t u a l
0053140 i l : m i n i m u m ) \r
0053160
*
0053240 ( f o r m a t t " T o o
0053260 f e w a r g u m e n t s t o
0053300 ~ A " i l : c a l l e e ) )
0053320 \r
0053340
*
0053400 i l : m i n i m u m i l : a
0053420 c t u a l ) \r \r ( i l : d e f i
0053440 n e - c o n d i t i o n 006 002 i
0053460 l : i n v a l i d - a r g u m e
0053500 n t - l i s t 006 001 i l : c a l
0053520 l - e r r o r : r e p o r t
0053540 ( f o r m a t t \r
0053560
*
0053640 "
0053660 ~ S h a s a n i n v a l i
0053700 d a r g u m e n t l i s t "
0053720 \r
0053740
*
0054020 i l :
0054040 c a l l e e ) ) \r \r ( i l : d e
0054060 f i n e - c o n d i t i o n 006
0054100 002 i l : s t r e a m - e r r o r
0054120 006 001 i l : e r r o r : r e p
0054140 o r t ( f o r m a t t " S
0054160 t r e a m e r r o r o n ~
0054200 S . " s t r e a m ) \r
0054220
*
0054260 s t r e a m ) \r \r
0054300 ( i l : d e f i n e - c o n d i
0054320 t i o n 006 002 i l : r e a d - e
0054340 r r o r 006 001 i l : s t r e a m
0054360 - e r r o r ) \r \r ( i l : d e f
0054400 i n e - c o n d i t i o n 006 002
0054420 i l : e n d - o f - f i l e 006 001
0054440 i l : r e a d - e r r o r :
0054460 r e p o r t " E n d o f f
0054500 i l e : ~ % ~ S " s t
0054520 r e a m ) \r \r ( i l : d e f i n
0054540 e - c o n d i t i o n 006 002 i l
0054560 : s t o r a g e - c o n d i t i
0054600 o n 006 001 i l : s e r i o u s -
0054620 c o n d i t i o n ) \r \r ( i l :
0054640 d e f i n e - c o n d i t i o n
0054660 006 002 i l : s t a c k - o v e r
0054700 f l o w 006 001 i l : s t o r a g
0054720 e - c o n d i t i o n : r e p
0054740 o r t " S t a c k o v e r f
0054760 l o w " ) \r \r ( i l : d e f i n
0055000 e - c o n d i t i o n 006 002 i l
0055020 : s t o r a g e - e x h a u s t
0055040 e d 006 001 i l : s t o r a g e -
0055060 c o n d i t i o n ) \r \r \r \r \r 006
0055100 004 ( i l : * i l : | ; ; ; |
0055120 " E x p o r t e d s y m b o l
0055140 s . A n y t h i n g h e r e
0055160 t h a t ' s n o t i n C
0055200 L s h o u l d b e i n X
0055220 C L . " ) 006 001 \r \r ( d e f v a r
0055240 006 002 * b r e a k - o n - w a r
0055260 n i n g s * 006 001 n i l \r
0055300
0055320 " I f t r u e
0055340 , c a l l s t o W A R N
0055360 w i l l c a u s e a b r e
0055400 a k a s w e l l a s l o
0055420 g g i n g t h e w a r n i n
0055440 g . " ) \r \r ( d e f u n 006 002 i
0055460 l : m a k e - c o n d i t i o n
0055500 006 001 ( t y p e & r e s t i
0055520 l : s l o t - i n i t i a l i z
0055540 a t i o n s ) \r
0055560
*
0055620 " C r e
0055640 a t e a c o n d i t i o n
0055660 o b j e c t o f t h e s p
0055700 e c i f i e d t y p e . " \r
0055720 ( a p p l y ( i l : s t r
0055740 u c t u r e - c o n s t r u c t
0055760 o r t y p e ) \r
0056000 i l : s l o t - i n i t i
0056020 a l i z a t i o n s ) ) \r \r ( d
0056040 e f u n 006 002 i l : s i g n a l
0056060 006 001 ( i l : d a t u m & r e
0056100 s t i l : a r g s ) ( l e t
0056120 ( ( i l : c o n d i t i o n
0056140 ( i l : m a k e - i n t o - c o
0056160 n d i t i o n i l : d a t u m
0056200 \r
0056220
*
0056300 ' i l : s i m p l e
0056320 - c o n d i t i o n i l : a r
0056340 g s ) ) ) \r
0056360
*
0056420 ( i l : r a i s e - s
0056440 i g n a l i l : c o n d i t i
0056460 o n ) \r
0056500
*
0056540 ( i f ( i l : c o n d i
0056560 t i o n - t y p e p i l : c o
0056600 n d i t i o n ' \r
0056620
*
0056700 i l : s e r i o u s - c
0056720 o n d i t i o n ) \r
0056740
*
0057000 ( i l
0057020 : d e b u g i l : c o n d i t
0057040 i o n ) \r
0057060
*
0057120 ( r e t u r n -
0057140 f r o m i l : s i g n a l i
0057160 l : c o n d i t i o n ) ) ) ) \r
0057200 \r ( d e f u n 006 002 e r r o r 006
0057220 001 ( i l : d a t u m & r e s
0057240 t i l : a r g s ) ( i l : d
0057260 e b u g ( i l : r a i s e - s
0057300 i g n a l ( i l : m a k e - i
0057320 n t o - c o n d i t i o n i l
0057340 : d a t u m \r
0057360
*
0057440 '
0057460 i l : s i m p l e - e r r o r
0057500 i l : a r g s ) ) ) ) \r \r ( d e
0057520 f u n 006 002 c e r r o r 006 001 (
0057540 i l : p r o c e e d - f o r m a
0057560 t - s t r i n g i l : d a t u
0057600 m & r e s t i l : a r g u m
0057620 e n t s & a u x i l : c o n
0057640 d i t i o n ) \r ( i l : p
0057660 r o c e e d - c a s e ( i l :
0057700 d e b u g ( i l : r a i s e -
0057720 s i g n a l ( s e t f i l :
0057740 c o n d i t i o n ( i l : m a
0057760 k e - i n t o - c o n d i t i o
0060000 n \r
0060020
*
0060100 i l : d a t u m \r
0060120
*
0060220 ' i l : s i m p l e - e r r o
0060240 r i l : a r g u m e n t s ) )
0060260 ) ) \r ( i l
0060300 : p r o c e e d n i l : r e
0060320 p o r t ( a p p l y ( i l :
0060340 f u n c t i o n f o r m a t )
0060360 \r
0060400
0060420 t i l : p
0060440 r o c e e d - f o r m a t - s t
0060460 r i n g i l : a r g u m e n t
0060500 s ) \r
0060520 i l : c o n d i t i o n
0060540 ) ) ) \r \r ( d e f u n 006 002 w a
0060560 r n 006 001 ( i l : d a t u m &
0060600 r e s t i l : a r g u m e n t
0060620 s ) ( l e t ( ( i l : c o n
0060640 d i t i o n ( i l : m a k e -
0060660 i n t o - c o n d i t i o n i
0060700 l : d a t u m \r
0060720
*
0061000 ' i l
0061020 : s i m p l e - w a r n i n g
0061040 i l : a r g u m e n t s ) \r
0061060
*
0061140 ) ) \r
0061160
*
0061220 ( u n l e s s (
0061240 i l : c o n d i t i o n - t y p
0061260 e p i l : c o n d i t i o n
0061300 ' i l : w a r n i n g ) \r
0061320
*
0061400 ( c e r r o r \r
0061420
*
0061500 " S i g n a l
0061520 a n d r e p o r t t h e
0061540 c o n d i t i o n a n y w a y
0061560 " \r
0061600
*
0061640 '
0061660 i l : t y p e - m i s m a t c h
0061700 : n a m e ' i l : c o n d i
0061720 t i o n \r
0061740
*
0062020 : v a l u e i l : c o n
0062040 d i t i o n : d e s i r e d -
0062060 t y p e \r
0062100
*
0062160 ' i l : w a r n i n g ) ) \r
0062200
*
0062240 (
0062260 i l : r a i s e - s i g n a l
0062300 i l : c o n d i t i o n ) \r
0062320
*
0062360 ( i f
0062400 i l : % c o n d i t i o n - t
0062420 y p e s - r e a l ( f o r m a
0062440 t * e r r o r - o u t p u t *
0062460 \r
0062500
*
0062600 " ~ & W a r n i n g :
0062620 ~ A ~ % " \r
0062640
*
0062740 i l : c o
0062760 n d i t i o n ) \r
0063000
*
0063040 ( f o r
0063060 m a t * e r r o r - o u t p u
0063100 t * " ~ & W a r n i n g : ~
0063120 A ~ % " \r
0063140
*
0063200 (
0063220 i l : r e p o r t - c o n d i t
0063240 i o n i l : c o n d i t i o n
0063260 n i l ) ) ) \r
0063300
*
0063340 ( w h e n * b r
0063360 e a k - o n - w a r n i n g s *
0063400 ( b r e a k i l : c o n d i
0063420 t i o n ) ) \r
0063440
*
0063500 i l : c o n d i t i
0063520 o n ) ) \r \r ( d e f u n 006 002 b
0063540 r e a k 006 001 ( & o p t i o n a
0063560 l ( i l : d a t u m " B r e
0063600 a k " ) \r
0063620 & r e s t i
0063640 l : a r g u m e n t s & a u x
0063660 i l : c o n d i t i o n ) 006
0063700 006 006 001 \r
0063720
*
0063760 006 006 ( i l : * i l
0064000 : | ; ; | \r 006 001
0064020
0064040 006 006 " W a n t t o t r
0064060 y a n d g e t s o m e i
0064100 n d i c a t i o n o f w h i
0064120 c h b r e a k y o u ' r e
0064140 r e t u r n i n g f r o m . "
0064160 ) 006 001 \r ( i l : p r o c e
0064200 e d - c a s e ( i l : d e b u
0064220 g ( s e t f i l : c o n d i
0064240 t i o n ( i l : m a k e - i n
0064260 t o - c o n d i t i o n i l :
0064300 d a t u m ' \r
0064320
*
0064400 i l : s i m p l e - c o n d i t
0064420 i o n i l : a r g u m e n t s
0064440 ) ) ) \r ( i
0064460 l : p r o c e e d n i l : r
0064500 e p o r t " R e t u r n f r
0064520 o m B R E A K " i l : c o n
0064540 d i t i o n ) ) ) \r \r ( d e f u
0064560 n 006 002 i l : d e b u g 006 001 (
0064600 & o p t i o n a l ( i l : d a
0064620 t u m " B r e a k " ) \r
0064640
0064660 & r e s t i l : a r g
0064700 s ) ( l o o p ( i l : e r r
0064720 o r x ( i l : m a k e - i n t
0064740 o - c o n d i t i o n i l : d
0064760 a t u m ' \r
0065000
*
0065060 i l : s i m p l e - c
0065100 o n d i t i o n i l : a r g s
0065120 ) ) ) ) \r \r ( d e f s t r u c t
0065140 ( 006 002 i l : p r o c e e d - c
0065160 a s e 006 001 ( : p r i n t - f u
0065200 n c t i o n i l : % p r o c e
0065220 e d - c a s e - p r i n t e r )
0065240 ) i l : n a m e i l : t a g
0065260 i l : s e l e c t o r \r
0065300
*
0065400 i l : t
0065420 e s t \r
0065440
*
0065540 ( i l : r e p o r t ' \r
0065560
*
0065660 i l : % p r o c e e d - c
0065700 a s e - d e f a u l t - r e p o
0065720 r t e r \r
0065740
*
0066040 ) ) \r \r ( d
0066060 e f s t r u c t ( 006 002 i l : r
0066100 e a l - p r o c e e d - c a s e
0066120 006 001 ( : i n c l u d e i l :
0066140 p r o c e e d - c a s e ) \r
0066160
0066200 (
0066220 : p r i n t - f u n c t i o n
0066240 i l : % p r o c e e d - c a s e
0066260 - p r i n t e r ) ) i l : c o
0066300 n t i n u a t i o n ) \r \r ( d e
0066320 f u n 006 002 i l : f i n d - p r
0066340 o c e e d - c a s e 006 001 ( i l
0066360 : d a t u m i l : c o n d i t
0066400 i o n ) \r ( e t y p e c a
0066420 s e i l : d a t u m ( n u l
0066440 l ( e r r o r " ~ S i s
0066460 a n i n v a l i d a r g u m
0066500 e n t t o ~ S ; ~ %
0066520 u s e ~ S i n s t e a d "
0066540 n i l \r
0066560
0066600 ' i l : f i n d
0066620 - p r o c e e d - c a s e \r
0066640
*
0066700 ' i l : c o m p u t e - p r
0066720 o c e e d - c a s e s ) ) \r
0066740 ( i l : p r o c
0066760 e e d - c a s e ( a n d ( i
0067000 l : f m e m b i l : d a t u m
0067020 i l : * p r o c e e d - c a s
0067040 e s * ) \r
0067060
0067100 ( i l : t e s t - p r
0067120 o c e e d - c a s e i l : d a
0067140 t u m i l : c o n d i t i o n
0067160 ) \r
0067200
0067220 i l : d a t u m ) ) \r
0067240 ( s y m b o l (
0067260 i l : | f o r | i l : p c i
0067300 l : | i n | i l : * p r o c e
0067320 e d - c a s e s * i l : | t h
0067340 e r e i s | ( a n d ( e q
0067360 ( \r
0067400
*
0067500 i l : p r o c e e d - c a
0067520 s e - n a m e \r
0067540
*
0067640 i l : p
0067660 c ) \r
0067700
*
0070000 i l : d a t u m ) \r
0070020
*
0070120 (
0070140 i l : t e s t - p r o c e e d -
0070160 c a s e \r
0070200
*
0070300 i l : p c i l : c o
0070320 n d i t i o n ) \r
0070340
*
0070440 i l : p c ) ) )
0070460 ) ) \r \r ( d e f u n 006 002 i l :
0070500 c o m p u t e - p r o c e e d -
0070520 c a s e s 006 001 ( i l : c o n d
0070540 i t i o n ) ( i l : | f o r |
0070560 i l : p c i l : | i n | i
0070600 l : * p r o c e e d - c a s e s
0070620 * i l : | w h e n | \r
0070640
*
0070720 ( c a t c h ' i l : s k i
0070740 p - p r o c e e d - c a s e (
0070760 \r
0071000
*
0071100 i l : t e s t - p r o c e e
0071120 d - c a s e \r
0071140
*
0071240 i l : p c
0071260 \r
0071300
*
0071400 i l : c o n d i t i
0071420 o n ) ) \r
0071440
*
0071500 i l : | c
0071520 o l l e c t | i l : p c ) ) \r
0071540 \r ( d e f u n 006 002 i l : i n v
0071560 o k e - p r o c e e d - c a s e
0071600 006 001 ( i l : p r o c e e d - c
0071620 a s e i l : c o n d i t i o n
0071640 & r e s t v a l u e s ) \r
0071660 ( l e t ( ( i l : p c (
0071700 i l : f i n d - p r o c e e d -
0071720 c a s e i l : p r o c e e d -
0071740 c a s e i l : c o n d i t i o
0071760 n ) ) ) \r ( i l
0072000 : i f i l : p c i l : t h e
0072020 n 006 006 006 001
0072040 006 006 ( i
0072060 l : * i l : | ; ; | " H a c
0072100 k u n t i l r e a l u n w
0072120 i n d e r i s i n . " ) 006
0072140 001 \r
0072160 ( a n d ( b o u n d p ' i
0072200 l : b r e a k r e s e t v a l s
0072220 ) \r
0072240 ( b o u n d p ' i
0072260 l : \ \ b r e a k r e s e t e x
0072300 p r ) \r
0072320 ( i l : b r e a
0072340 k r e s e t f n ' i l : l e a
0072360 v i n g ) ) \r
0072400 ( t y p e c a s e
0072420 i l : p c ( i l : r e a l - p
0072440 r o c e e d - c a s e \r
0072460
0072500 ( i l :
0072520 | w i t h | i l : r e a l - p
0072540 r o c e e d - c a s e i l : p
0072560 c \r
0072600
0072620 ( t h r o w
0072640 i l : t a g ( v a l u e s - l
0072660 i s t ( l i s t * i l : c o
0072700 n t i n u a t i o n i l : c o
0072720 n d i t i o n \r
0072740
*
0073040 ( c o n d \r
0073060
*
0073160 ( ( s y m b o l p i l :
0073200 p r o c e e d - c a s e \r
0073220
*
0073340 ) \r
0073360
*
0073460 v a l u e s ) \r
0073500
*
0073600 ( ( f b o u n d p i l
0073620 : n a m e ) \r
0073640
*
0073740 ( a p p l y ( \r
0073760
*
0074060 i l : p r o
0074100 c e e d - a r g - c o l l e c t
0074120 o r \r
0074140
*
0074240 i l : n a m e )
0074260 \r
0074300
*
0074400 i l : c o n d i t i o
0074420 n \r
0074440
*
0074540 v a l u e s ) ) \r
0074560
*
0074660 ( t v
0074700 a l u e s ) ) ) ) ) ) ) \r
0074720
0074740 ( i l : p r o c e e d - c
0074760 a s e ( i l : | w i t h | i
0075000 l : p r o c e e d - c a s e i
0075020 l : p c \r
0075040
*
0075100 ( t h r o w i l : t a g
0075120 ( l i s t * i l : s e l e c
0075140 t o r i l : c o n d i t i o n
0075160 \r
0075200
*
0075260 ( c o n d \r
0075300
*
0075400 ( ( s y m b o l p i l : p r o
0075420 c e e d - c a s e ) \r
0075440
*
0075540 v a l u e s ) \r
0075560
*
0075660 ( ( f b o u n d p i l : n a m
0075700 e ) \r
0075720
*
0076000 ( a p p l y
0076020 ( \r
0076040
*
0076140 i l : p r o c e e d - a r g - c
0076160 o l l e c t o r \r
0076200
*
0076300 i l : n a m e )
0076320 \r
0076340
*
0076420 i
0076440 l : c o n d i t i o n v a l u
0076460 e s ) ) \r
0076500
*
0076560 ( t v a
0076600 l u e s ) ) ) ) ) ) ) \r
0076620 i l : e l
0076640 s e \r
0076660 ( e r r o r ' i l : b a d
0076700 - p r o c e e d - c a s e : n
0076720 a m e i l : p r o c e e d - c
0076740 a s e ) ) ) ) \r \r ( i l : d e f
0076760 i n e - p r o c e e d - f u n c
0077000 t i o n 006 002 i l : a b o r t 006
0077020 001 : t e s t i l : t r u e
0077040 : r e p o r t " A b o r t " )
0077060 \r \r ( i l : d e f i n e - p r o
0077100 c e e d - f u n c t i o n 006 002
0077120 i l : p r o c e e d 006 001 : r e
0077140 p o r t " P r o c e e d w i
0077160 t h n o s p e c i a l a c
0077200 t i o n " : t e s t i l : t
0077220 r u e ) \r \r ( i l : d e f i n e
0077240 - p r o c e e d - f u n c t i o
0077260 n 006 002 i l : u s e - v a l u e
0077300 006 001 : r e p o r t " U s e
0077320 a d i f f e r e n t v a l u
0077340 e " : t e s t i l : t r u e
0077360 \r
0077400
*
0077440 ( i l : v a l u e ( p r o g n
0077460 ( f o r m a t * q u e r y -
0077500 i o * \r
0077520
*
0077600 " E n t
0077620 e r a n e w v a l u e :
0077640 " ) \r
0077660
*
0077740 ( i l : e v a l ( r e a
0077760 d * q u e r y - i o * ) ) ) )
0100000 ) \r \r ( i l : d e f i n e - p r
0100020 o c e e d - f u n c t i o n 006
0100040 002 i l : s t o r e - v a l u e 006
0100060 001 : r e p o r t " S t o r e
0100100 a n e w v a l u e a n d
0100120 u s e i t " : t e s t i
0100140 l : t r u e \r
0100160
*
0100220 ( i l : v a l u
0100240 e ( p r o g n ( f o r m a t
0100260 * q u e r y - i o * \r
0100300
*
0100400 " E n t e r a v
0100420 a l u e t o s t o r e : "
0100440 ) \r
0100460
*
0100540 ( e v a l ( r e a d
0100560 * q u e r y - i o * ) ) ) ) ) \r
0100600 \r ( d e f u n 006 002 i l : s i m
0100620 p l e - f o r m a t 006 001 ( s t
0100640 r e a m & r e s t i l : a r
0100660 g s ) ( w h e n ( e q s t
0100700 r e a m t ) \r
0100720
*
0100760 ( s e
0101000 t f s t r e a m * s t a n d
0101020 a r d - o u t p u t * ) ) \r
0101040
*
0101100 ( d o
0101120 l i s t ( i l : x i l : a r
0101140 g s ) \r
0101160
*
0101220 ( p r i n t
0101240 i l : x s t r e a m ) ) ) \r
0101260 \r ( i l : m o v d ? ' i l : s
0101300 i m p l e - f o r m a t ' f o
0101320 r m a t ) \r ( i l : d e c l a r
0101340 e \ : i l : d o n t c o p y
0101360 \r \r ( i l : r p a q q 006 002 i l
0101400 : s h o u l d - b e - i n - p a
0101420 c k a g e 006 001 \r
0101440 ( ( " X C L " : e x t e
0101460 r n a l i l : d e f i n e - c
0101500 o n d i t i o n i l : h a n d
0101520 l e r - b i n d i l : c o n d
0101540 i t i o n - b i n d i l : c o
0101560 n d i t i o n - c a s e \r
0101600
0101620 i l : i g n o r e - e r r o r s
0101640 i l : p r o c e e d - c a s e
0101660 i l : d e f i n e - p r o c e
0101700 e d - f u n c t i o n i l : c
0101720 a t c h - a b o r t \r
0101740 i l
0101760 : c o n d i t i o n i l : s i
0102000 m p l e - c o n d i t i o n i
0102020 l : w a r n i n g i l : s i m
0102040 p l e - w a r n i n g i l : s
0102060 e r i o u s - c o n d i t i o n
0102100 \r
0102120 i l : e r r o r i l :
0102140 s i m p l e - e r r o r i l :
0102160 a s s e r t i o n - f a i l e d
0102200 i l : c e l l - e r r o r i
0102220 l : u n b o u n d - v a r i a b
0102240 l e \r
0102260 i l : u n d e f i n
0102300 e d - f u n c t i o n i l : i
0102320 n d e x - b o u n d s - e r r o
0102340 r i l : t y p e - m i s m a t
0102360 c h i l : c o n t r o l - e r
0102400 r o r \r
0102420 i l : i l l e g a
0102440 l - g o i l : i l l e g a l -
0102460 r e t u r n i l : i l l e g a
0102500 l - t h r o w i l : c a l l -
0102520 e r r o r \r
0102540 i l : t o o -
0102560 m a n y - a r g u m e n t s i
0102600 l : t o o - f e w - a r g u m e
0102620 n t s i l : i n v a l i d - a
0102640 r g u m e n t - l i s t i l :
0102660 s t r e a m - e r r o r \r
0102700
0102720 i l : r e a d - e r r o r i l
0102740 : e n d - o f - f i l e i l :
0102760 s t o r a g e - c o n d i t i o
0103000 n i l : s t a c k - o v e r f
0103020 l o w \r
0103040 i l : s t o r a g
0103060 e - e x h a u s t e d i l : m
0103100 a k e - c o n d i t i o n i l
0103120 : s i g n a l i l : d e b u g
0103140 i l : f i n d - p r o c e e d
0103160 - c a s e \r
0103200 i l : c o m p
0103220 u t e - p r o c e e d - c a s e
0103240 s i l : i n v o k e - p r o c
0103260 e e d - c a s e i l : a b o r
0103300 t i l : p r o c e e d i l :
0103320 u s e - v a l u e \r
0103340 i l :
0103360 s t o r e - v a l u e ) \r
0103400 ( " S I " : i
0103420 n t e r n a l i l : * p r o c
0103440 e e d - c a s e s * i l : * c
0103460 o n d i t i o n - h a n d l e r
0103500 - b i n d i n g s * ) ) ) \r ) \r
0103520 \r ( i l : p u t p r o p s 006 002
0103540 i l : e r r o r - r u n t i m e
0103560 i l : f i l e t y p e 006 001 c
0103600 o m p i l e - f i l e ) \r ( i l
0103620 : p u t p r o p s i l : e r r
0103640 o r - r u n t i m e i l : c o
0103660 p y r i g h t ( " X e r o x
0103700 C o r p o r a t i o n " 1 9 8
0103720 6 ) ) \r ( i l : d e c l a r e \
0103740 : i l : d o n t c o p y \r
0103760 ( i l : f i l e m a p ( n i l
0104000 ) ) ) \r i l : s t o p \r
0104014