$ od -c -N 50000 [Erinyes]<LispManual>DWIMOrg.im!3 0000000 \r \r { B e g i n S u b S e c 0000020 D W I M O p e r a t i o n } \r 0000040 { T i t l e D W I M O p e r 0000060 a t i o n } \r { T e x t \r \r { n 0000100 o t e D W I M w a s d e s 0000120 i g n e d a n d i m p l e m 0000140 e n t e d b y W . T e i t 0000160 e l m a n . I t i s d i s 0000200 c u s s e d i n [ T e i 2 ] 0000220 . } \r \r \r \r { i n d e x * P R 0000240 I M A R Y * F A U L T E V A L 0000260 F N } \r { i n d e x * P R I 0000300 M A R Y * F A U L T A P P L Y 0000320 F N } \r \r W h e n e v e r t 0000340 h e i n t e r p r e t e r e 0000360 n c o u n t e r s a n a t o 0000400 m i c f o r m w i t h n o 0000420 b i n d i n g , o r a n 0000440 o n - a t o m i c f o r m { 0000460 f n C A R } o f w h i c h 0000500 i s n o t a f u n c t i 0000520 o n o r f u n c t i o n o 0000540 b j e c t , i t c a l l s 0000560 t h e f u n c t i o n { f n 0000600 F A U L T E V A L } . S i 0000620 m i l a r l y , w h e n { f 0000640 n A P P L Y } i s g i v e 0000660 n a n u n d e f i n e d f 0000700 u n c t i o n , { f n F A U 0000720 L T A P P L Y } i s c a l l 0000740 e d . W h e n D W I M i 0000760 s e n a b l e d , { f n F 0001000 A U L T E V A L } a n d { f 0001020 n F A U L T A P P L Y } a r 0001040 e r e d e f i n e d t o f 0001060 i r s t c a l l t h e D W 0001100 I M p a c k a g e , w h i c 0001120 h t r i e s t o c o r r e 0001140 c t t h e e r r o r . I 0001160 f D W I M c a n n o t d e 0001200 c i d e h o w t o f i x 0001220 t h e e r r o r , o r t h 0001240 e u s e r d i s a p p r o v 0001260 e s o f D W I M ' s c o r 0001300 r e c t i o n ( b y t y p i 0001320 n g { l i s p N } ) , o r 0001340 t h e u s e r t y p e s 0001360 { i n d e x c o n t r o l - E 0001400 ( I n t e r r u p t C h a r 0001420 a c t e r ) } c o n t r o l - E 0001440 , t h e n { f n F A U L T 0001460 E V A L } a n d { f n F A 0001500 U L T A P P L Y } c a u s e 0001520 a n e r r o r o r b r e a 0001540 k . I f t h e u s e r 0001560 t y p e s { l i s p ^ } t 0001600 o D W I M , D W I M e x i 0001620 t s b y p e r f o r m i n g 0001640 { l i s p ( R E T E V A L 0001660 ' F A U L T E V A L ' ( E R R 0001700 O R ! ) ) } , s o t h a t 0001720 a n e r r o r w i l l b e 0001740 g e n e r a t e d a t t h 0001760 e p o s i t i o n o f t h 0002000 e c a l l t o { f n F A 0002020 U L T E V A L } . \r \r \r I f D 0002040 W I M c a n ( a n d i s 0002060 a l l o w e d t o ) c o r r 0002100 e c t t h e e r r o r , i 0002120 t e x i t s b y p e r f o 0002140 r m i n g { f n R E T E V A 0002160 L } o f t h e c o r r e c 0002200 t e d f o r m , a s o f 0002220 t h e p o s i t i o n o f 0002240 t h e c a l l t o { f n 0002260 F A U L T E V A L } o r { f 0002300 n F A U L T A P P L Y } . 0002320 T h u s i n t h e e x a m 0002340 p l e a t t h e b e g i n 0002360 n i n g o f t h e c h a p 0002400 t e r , w h e n D W I M d 0002420 e t e r m i n e d t h a t { 0002440 l i s p I T I M S } w a s 0002460 { l i s p I T I M E S } m i 0002500 s s p e l l e d , D W I M c 0002520 a l l e d { i n d e x R E T 0002540 E V A L F N } { f n R E T E 0002560 V A L } w i t h { l i s p 0002600 ( I T I M E S N ( F A C C T 0002620 9 S U B 1 N ) ) } . S i 0002640 n c e t h e i n t e r p r e 0002660 t e r u s e s t h e v a l 0002700 u e r e t u r n e d b y { 0002720 f n F A U L T E V A L } e x 0002740 a c t l y a s t h o u g h 0002760 i t w e r e t h e v a l u 0003000 e o f t h e e r r o n e o 0003020 u s f o r m , t h e c o m 0003040 p u t a t i o n w i l l t h 0003060 u s p r o c e e d e x a c t 0003100 l y a s t h o u g h n o 0003120 e r r o r h a d o c c u r r 0003140 e d . \r \r \r I n a d d i t i o 0003160 n t o c o n t i n u i n g 0003200 t h e c o m p u t a t i o n , 0003220 D W I M a l s o r e p a i 0003240 r s t h e c a u s e o f 0003260 t h e e r r o r w h e n e v 0003300 e r p o s s i b l e ; i n 0003320 t h e a b o v e e x a m p l 0003340 e , D W I M a l s o c h a 0003360 n g e d ( w i t h { f n R 0003400 P L A C A } ) t h e e x p r 0003420 e s s i o n { l i s p ( I T 0003440 I M S N ( F A C C T 9 S U 0003460 B 1 N ) ) } t h a t c a u 0003500 s e d t h e e r r o r . 0003520 N o t e t h a t i f t h e 0003540 u s e r ' s p r o g r a m 0003560 h a d { i t c o m p u t e d 0003600 } t h e f o r m a n d c 0003620 a l l e d { f n E V A L } , 0003640 i t w o u l d n o t b e 0003660 p o s s i b l e t o r e p 0003700 a i r t h e c a u s e o f 0003720 t h e e r r o r , a l t h 0003740 o u g h D W I M c o u l d 0003760 c o r r e c t t h e m i s s 0004000 p e l l i n g e a c h t i m 0004020 e i t o c c u r r e d . \r \r 0004040 \r E r r o r c o r r e c t i o 0004060 n i n D W I M i s d i v 0004100 i d e d i n t o t h r e e 0004120 c a t e g o r i e s : u n b o 0004140 u n d a t o m s , u n d e f 0004160 i n e d { f n C A R } o f 0004200 f o r m , a n d u n d e f 0004220 i n e d f u n c t i o n i n 0004240 { f n A P P L Y } . A s 0004260 s u m i n g t h a t t h e 0004300 u s e r a p p r o v e s D W 0004320 I M ' s c o r r e c t i o n s 0004340 , t h e a c t i o n t a k 0004360 e n b y D W I M f o r t 0004400 h e v a r i o u s t y p e s 0004420 o f e r r o r s i n e a 0004440 c h o f t h e s e c a t e 0004460 g o r i e s i s s u m m a r 0004500 i z e d b e l o w . \r \r \r { B 0004520 e g i n S u b S e c D W I M 0004540 C o r r e c t i o n : U n b 0004560 o u n d A t o m s } \r { T i t 0004600 l e D W I M C o r r e c t i 0004620 o n : U n b o u n d A t o m 0004640 s } \r { T e x t \r \r \r I f D W 0004660 I M i s c a l l e d a s 0004700 t h e r e s u l t o f a n 0004720 u n b o u n d a t o m e r 0004740 r o r , i t p r o c e e d s 0004760 a s f o l l o w s : \r \r { B 0005000 e g i n N u m b e r e d L i s 0005020 t U n b o u n d A t o m s } 0005040 \r \r { I t e m \r I f t h e f 0005060 i r s t c h a r a c t e r o 0005100 f t h e u n b o u n d a t 0005120 o m i s { l i s p ' } , { 0005140 i n d e x ' ( i n D W I M 0005160 ) } D W I M a s s u m e s 0005200 t h a t t h e u s e r ( i 0005220 n t e n t i o n a l l y ) t y 0005240 p e d { l i s p ' { a r g 0005260 A T O M } } f o r { l i s p 0005300 ( Q U O T E { a r g A T O 0005320 M } ) } a n d m a k e s t 0005340 h e a p p r o p r i a t e c 0005360 h a n g e . N o m e s s a 0005400 g e i s t y p e d , a n d 0005420 n o a p p r o v a l i s 0005440 r e q u e s t e d . \r \r I f t 0005460 h e u n b o u n d a t o m 0005500 i s j u s t { l i s p ' } 0005520 i t s e l f , D W I M a s 0005540 s u m e s t h e u s e r w 0005560 a n t s t h e { i t n e x 0005600 t } e x p r e s s i o n q u 0005620 o t e d , e . g . , { l i s 0005640 p ( C O N S X ' ( A B 0005660 C ) ) } w i l l b e c h a 0005700 n g e d t o { l i s p ( C 0005720 O N S X ( Q U O T E ( A 0005740 B C ) ) ) } . A g a i n 0005760 n o m e s s a g e w i l l 0006000 b e p r i n t e d o r a p 0006020 p r o v a l a s k e d . I 0006040 f n o e x p r e s s i o n 0006060 f o l l o w s t h e { l i s 0006100 p ' } , D W I M g i v e s 0006120 u p . \r \r N o t e : { l i 0006140 s p ' } i s n o r m a l l 0006160 y d e f i n e d a s a r 0006200 e a d - m a c r o c h a r a c 0006220 t e r w h i c h c o n v e r 0006240 t s { l i s p ' F O O } t 0006260 o { l i s p ( Q U O T E F 0006300 O O ) } o n i n p u t , s 0006320 o D W I M w i l l n o t 0006340 s e e t h e { l i s p ' } 0006360 i n t h e c a s e o f 0006400 e x p r e s s i o n s t h a t 0006420 a r e t y p e d - i n . \r } 0006440 \r \r \r { I t e m \r I f { i n d 0006460 e x C L I S P } C L I S P ( 0006500 { P a g e R e f T a g C L I 0006520 S P } ) i s e n a b l e d , 0006540 a n d t h e a t o m i s 0006560 p a r t o f a C L I S P 0006600 c o n s t r u c t , t h e 0006620 C L I S P t r a n s f o r m a 0006640 t i o n i s p e r f o r m e 0006660 d a n d t h e r e s u l t 0006700 r e t u r n e d . F o r 0006720 e x a m p l e , { l i s p N 0006740 - 1 } i s t r a n s f o r m 0006760 e d t o { l i s p ( S U B 0007000 1 N ) } , a n d { l i s p 0007020 ( { e l l i p s i s } F O O 0007040 _ 3 { e l l i p s i s } ) } 0007060 i s t r a n s f o r m e d i 0007100 n t o { l i s p ( { e l l i 0007120 p s i s } ( S E T Q F O O 0007140 3 ) { e l l i p s i s } ) } . 0007160 \r } \r \r { I t e m \r I f t h e 0007200 a t o m c o n t a i n s a 0007220 n { l i s p 9 } ( a c t u 0007240 a l l y { v a r L P A R K E 0007260 Y } , s e e { P a g e R e f 0007300 V a r L P A R K E Y } ) , 0007320 D W I M a s s u m e s t h e 0007340 { l i s p 9 } w a s i n 0007360 t e n d e d t o b e a l 0007400 e f t p a r e n t h e s i s , 0007420 a n d c a l l s t h e e 0007440 d i t o r t o m a k e a p 0007460 p r o p r i a t e r e p a i r 0007500 s o n t h e e x p r e s s 0007520 i o n c o n t a i n i n g t 0007540 h e a t o m . { i n d e x 9 0007560 ( i n s t e a d o f l e f 0007600 t p a r e n t h e s i s ) } 0007620 D W I M a s s u m e s t h 0007640 a t t h e u s e r d i d 0007660 n o t n o t i c e t h e m 0007700 i s t a k e , i . e . , t h 0007720 a t t h e e n t i r e e x 0007740 p r e s s i o n w a s a f f 0007760 e c t e d b y t h e m i s 0010000 s i n g l e f t p a r e n t 0010020 h e s i s . F o r e x a m 0010040 p l e , i f t h e u s e r 0010060 t y p e s { l i s p ( S E 0010100 T Q X ( L I S T ( C O N S 0010120 9 C A R Y ) ( C D R Z ) 0010140 ) Y ) } , t h e e x p r e 0010160 s s i o n w i l l b e c h 0010200 a n g e d t o { l i s p ( 0010220 S E T Q X ( L I S T ( C O 0010240 N S ( C A R Y ) ( C D R 0010260 Z ) ) Y ) ) } . N o t e 0010300 t h a t t h e { l i s p 9 0010320 } d o e s n o t h a v e 0010340 t o b e t h e f i r s t 0010360 c h a r a c t e r o f t h e 0010400 a t o m : D W I M w i l 0010420 l h a n d l e { l i s p ( 0010440 C O N S X 9 C A R Y ) } c 0010460 o r r e c t l y . \r } \r \r { I t 0010500 e m \r I f t h e a t o m c 0010520 o n t a i n s a { l i s p 0010540 0 } ( a c t u a l l y { v a 0010560 r R P A R K E Y } , s e e 0010600 { P a g e R e f V a r R P A 0010620 R K E Y } ) , D W I M a s s 0010640 u m e s t h e { l i s p 0 0010660 } w a s i n t e n d e d t 0010700 o b e a r i g h t p a r 0010720 e n t h e s i s a n d o p e 0010740 r a t e s a s i n t h e 0010760 c a s e a b o v e . { i n d e 0011000 x 0 ( i n s t e a d o f 0011020 r i g h t p a r e n t h e s i 0011040 s ) } \r } \r \r { I t e m \r I f 0011060 t h e a t o m b e g i n s 0011100 w i t h a { l i s p 7 } , 0011120 { i n d e x 7 ( i n s t e a 0011140 d o f ' ) } t h e { l i 0011160 s p 7 } i s t r e a t e d 0011200 a s a { l i s p ' } . 0011220 F o r e x a m p l e , { l 0011240 i s p 7 F O O } b e c o m e 0011260 s { l i s p ' F O O } , a 0011300 n d t h e n { l i s p ( Q 0011320 U O T E F O O ) } . \r \r { n o 0011340 t e w h y n o s p e c i a 0011360 l v a r i a b l e l i k e 0011400 R P A R K E Y ? ? } \r } \r \r { I 0011420 t e m \r T h e e x p r e s s i 0011440 o n s o n { v a r D W I M 0011460 U S E R F O R M S } { i n d e x 0011500 D W I M U S E R F O R M S V 0011520 a r } ( s e e { P a g e R e 0011540 f V a r D W I M U S E R F O 0011560 R M S } ) a r e e v a l u a 0011600 t e d i n t h e o r d e r 0011620 t h a t t h e y a p p e a 0011640 r . I f a n y o f t h 0011660 e s e e x p r e s s i o n s 0011700 r e t u r n s a n o n - { l 0011720 i s p N I L } v a l u e , 0011740 t h i s v a l u e i s t r 0011760 e a t e d a s t h e f o r 0012000 m t o b e u s e d t o 0012020 c o n t i n u e t h e c o m 0012040 p u t a t i o n , i t i s 0012060 e v a l u a t e d a n d i t 0012100 s v a l u e i s r e t u r 0012120 n e d b y { l i s p D W I 0012140 M } . \r } \r \r { I t e m \r I f 0012160 t h e u n b o u n d a t o m 0012200 o c c u r s i n a f u n 0012220 c t i o n , D W I M a t t e 0012240 m p t s s p e l l i n g c o 0012260 r r e c t i o n u s i n g t 0012300 h e { l i s p L A M B D A } 0012320 a n d { f n P R O G } v 0012340 a r i a b l e s o f t h e 0012360 f u n c t i o n a s t h e 0012400 s p e l l i n g l i s t . \r } 0012420 \r \r { I t e m \r I f t h e u 0012440 n b o u n d a t o m o c c u 0012460 r r e d i n a t y p e - i 0012500 n t o a b r e a k , D W 0012520 I M a t t e m p t s s p e l 0012540 l i n g c o r r e c t i o n 0012560 u s i n g t h e { l i s p 0012600 L A M B D A } a n d { f n 0012620 P R O G } v a r i a b l e s 0012640 o f t h e b r o k e n f u 0012660 n c t i o n a s t h e s p 0012700 e l l i n g l i s t . \r } \r \r 0012720 { I t e m \r O t h e r w i s e , 0012740 D W I M a t t e m p t s s 0012760 p e l l i n g c o r r e c t i 0013000 o n u s i n g { i n d e x 0013020 S P E L L I N G S 3 V a r } { 0013040 v a r S P E L L I N G S 3 } 0013060 ( s e e { P a g e R e f V a 0013100 r S P E L L I N G S 3 } ) . \r 0013120 } \r \r { I t e m \r I f a l l 0013140 o f t h e a b o v e f a i 0013160 l , D W I M g i v e s u p 0013200 . \r } \r \r \r { E n d N u m b e 0013220 r e d L i s t U n b o u n d 0013240 A t o m s } \r \r \r { n o t e h 0013260 o w d o e s C L I S P g e 0013300 t c a l l e d t o t r a n 0013320 s f o r m ( A D D 1 A + B ) 0013340 = = > ( A D D 1 ( I P L U 0013360 S A B ) ) ? ? ? } \r \r \r } 0013400 { E n d S u b S e c D W I M 0013420 C o r r e c t i o n : U n b 0013440 o u n d A t o m s } \r \r \r { B 0013460 e g i n S u b S e c U n d e 0013500 f i n e d C A R o f F o r 0013520 m } \r { T i t l e U n d e f i 0013540 n e d C A R o f F o r m } 0013560 \r { T e x t \r \r \r I f D W I M 0013600 i s c a l l e d a s t h 0013620 e r e s u l t o f a n u 0013640 n d e f i n e d { f n C A R 0013660 } o f f o r m e r r o r , 0013700 i t p r o c e e d s a s 0013720 f o l l o w s : \r \r { B e g i n 0013740 N u m b e r e d L i s t U n 0013760 d e f i n e d C A R o f F 0014000 o r m } \r \r { I t e m \r I f { 0014020 f n C A R } o f t h e f 0014040 o r m i s { l i s p T } , 0014060 D W I M a s s u m e s a 0014100 m i s p l a c e d { l i s p 0014120 T } c l a u s e \r a n d o p 0014140 e r a t e s a s d e s c r i 0014160 b e d o n { P a g e R e f 0014200 T a g D W I M U . D . F . T } 0014220 . \r } \r \r { I t e m \r I f { f 0014240 n C A R } o f t h e f o 0014260 r m i s { l i s p F / L } 0014300 , { i n d e x F / L ( a s 0014320 a D W I M c o n s t r u c t 0014340 ) } D W I M c h a n g e s 0014360 t h e " { l i s p F / L } " 0014400 t o " { l i s p F U N C T 0014420 I O N ( L A M B D A } " . F 0014440 o r e x a m p l e , { l i s 0014460 p ( F / L ( Y ) ( P R I N 0014500 T ( C A R Y ) ) ) } i s 0014520 c h a n g e d t o { l i s p 0014540 ( F U N C T I O N ( L A M B 0014560 D A ( Y ) ( P R I N T ( C 0014600 A R Y ) ) ) } . N o m e 0014620 s s a g e i s p r i n t e d 0014640 a n d n o a p p r o v a l 0014660 r e q u e s t e d . \r I f t 0014700 h e u s e r o m i t s t h 0014720 e v a r i a b l e l i s t , 0014740 D W I M s u p p l i e s { 0014760 l i s p ( X ) } , e . g . , 0015000 { l i s p ( F / L ( P R I 0015020 N T ( C A R X ) ) ) } i s 0015040 c h a n g e d t o { l i s 0015060 p ( F U N C T I O N ( L A M 0015100 B D A ( X ) ( P R I N T ( 0015120 C A R X ) ) ) ) } . D W I 0015140 M d e t e r m i n e s t h a 0015160 t t h e u s e r h a s s 0015200 u p p l i e d t h e v a r i 0015220 a b l e l i s t w h e n m 0015240 o r e t h a n o n e e x p 0015260 r e s s i o n f o l l o w s 0015300 { l i s p F / L } , { f n 0015320 C A R } o f t h e f i r s 0015340 t e x p r e s s i o n i s 0015360 n o t t h e n a m e o f 0015400 a f u n c t i o n , a n d 0015420 e v e r y e l e m e n t i n 0015440 t h e f i r s t e x p r e 0015460 s s i o n i s a t o m i c . 0015500 \r F o r e x a m p l e , D W 0015520 I M w i l l s u p p l y { 0015540 l i s p ( X ) } w h e n c 0015560 o r r e c t i n g { l i s p 0015600 ( F / L ( P R I N T ( C D R 0015620 X ) ) ( P R I N T ( C A R 0015640 X ) ) ) } . \r } \r \r { I t e m 0015660 \r I f { f n C A R } o f 0015700 t h e f o r m i s a C L 0015720 I S P w o r d { i n d e x C 0015740 L I S P w o r d s } ( { l i 0015760 s p I F } , { l i s p F O 0016000 R } , { l i s p D O } , { 0016020 l i s p F E T C H } , e t c 0016040 . ) , t h e i n d i c a t e 0016060 d C L I S P t r a n s f o r 0016100 m a t i o n i s p e r f o r 0016120 m e d , a n d t h e r e s 0016140 u l t i s r e t u r n e d 0016160 a s t h e c o r r e c t e d 0016200 f o r m . S e e { P a g 0016220 e R e f T a g C L I S P } . 0016240 \r } \r \r { I t e m \r I f { f n 0016260 C A R } o f t h e f o r 0016300 m h a s a f u n c t i o n 0016320 d e f i n i t i o n , D W I 0016340 M a t t e m p t s s p e l l 0016360 i n g c o r r e c t i o n o 0016400 n { f n C A R } o f t h 0016420 e d e f i n i t i o n u s i 0016440 n g a s s p e l l i n g l 0016460 i s t t h e v a l u e o f 0016500 { v a r L A M B D A S P L S 0016520 T } { i n d e x L A M B D A S 0016540 P L S T V a r } { i n d e x 0016560 s p e l l i n g l i s t s } , 0016600 i n i t i a l l y { l i s p 0016620 ( L A M B D A N L A M B D A 0016640 ) } . \r } \r \r { I t e m \r I f 0016660 { f n C A R } o f t h e 0016700 f o r m h a s a n { i n d 0016720 e x E X P R P r o p } { p r 0016740 o p E X P R } o r { p r o 0016760 p C O D E } p r o p e r t y 0017000 , D W I M p r i n t s { l 0017020 i s p { a r g C A R - O F - 0017040 F O R M } U N S A V E D } , { 0017060 i n d e x U N S A V E D ( p 0017100 r i n t e d b y D W I M ) } 0017120 p e r f o r m s a n { i n 0017140 d e x U N S A V E D E F F N 0017160 } { f n U N S A V E D E F } , 0017200 a n d c o n t i n u e s . 0017220 N o a p p r o v a l i s 0017240 r e q u e s t e d . \r } \r \r { I 0017260 t e m \r I f { f n C A R } 0017300 o f t h e f o r m h a s 0017320 a { p r o p F I L E D E F } 0017340 p r o p e r t y , { i n d e x 0017360 * P R I M A R Y * F I L E D 0017400 E F P r o p } t h e d e f 0017420 i n i t i o n i s l o a d e 0017440 d f r o m a f i l e ( e 0017460 x c e p t w h e n { f n D 0017500 W I M I F Y } i n g ) . I f 0017520 t h e v a l u e o f t h 0017540 e p r o p e r t y i s a t 0017560 o m i c , t h e e n t i r e 0017600 f i l e i s t o b e l 0017620 o a d e d . I f t h e v 0017640 a l u e i s a l i s t , 0017660 { f n C A R } i s t h e 0017700 n a m e o f t h e f i l e 0017720 a n d { f n C D R } t h 0017740 e r e l e v a n t f u n c t 0017760 i o n s , a n d { f n L O 0020000 A D F N S } w i l l b e u 0020020 s e d . F o r b o t h c 0020040 a s e s , { a r g L D F L G 0020060 } w i l l b e { i n d e x 0020100 S Y S L O A D ( L O A D o 0020120 p t i o n ) } { l i s p S Y S 0020140 L O A D } ( s e e { P a g e 0020160 R e f ( L O A D o p t i o n 0020200 ) S Y S L O A D } ) . D W 0020220 I M u s e s { f n F I N D 0020240 F I L E } ( { P a g e R e f 0020260 F n F I N D F I L E } ) , s 0020300 o t h a t t h e f i l e 0020320 c a n b e o n a n y o f 0020340 t h e d i r e c t o r i e s 0020360 o n { v a r D I R E C T O 0020400 R I E S } , i n i t i a l l y 0020420 { l i s p ( N I L N E W L 0020440 I S P L I S P L I S P U S E 0020460 R S ) } . I f t h e f i 0020500 l e i s f o u n d , D W I 0020520 M t y p e s { l i s p S H 0020540 A L L I L O A D } { i n d e 0020560 x S H A L L I L O A D ( 0020600 p r i n t e d b y D W I M ) 0020620 } f o l l o w e d b y t h 0020640 e f i l e n a m e o r l 0020660 i s t o f f u n c t i o n s 0020700 . I f t h e u s e r a 0020720 p p r o v e s , D W I M l o 0020740 a d s t h e f u n c t i o n 0020760 ( s ) o r f i l e , a n d 0021000 c o n t i n u e s t h e c 0021020 o m p u t a t i o n . \r } \r \r { 0021040 I t e m \r I f { i n d e x C 0021060 L I S P } C L I S P i s e n 0021100 a b l e d , a n d { f n C 0021120 A R } o f t h e f o r m 0021140 i s p a r t o f a C L I 0021160 S P c o n s t r u c t , t h 0021200 e i n d i c a t e d t r a n 0021220 s f o r m a t i o n i s p e 0021240 r f o r m e d , e . g . , { 0021260 l i s p ( N _ N - 1 ) } b e 0021300 c o m e s \r { l i s p ( S E T 0021320 Q N ( S U B 1 N ) ) } . \r 0021340 } \r \r { I t e m \r I f { f n 0021360 C A R } o f t h e f o r m 0021400 c o n t a i n s a n { l i 0021420 s p 9 } , { i n d e x 9 ( 0021440 i n s t e a d o f l e f t 0021460 p a r e n t h e s i s ) } D W 0021500 I M a s s u m e s a l e f 0021520 t p a r e n t h e s i s w a 0021540 s i n t e n d e d \r e . g . , 0021560 { l i s p ( C O N S 9 C A R 0021600 X ) } . \r } \r \r { I t e m \r I 0021620 f { f n C A R } o f t h 0021640 e f o r m c o n t a i n s 0021660 a { l i s p 0 } , { i n d e 0021700 x 0 ( i n s t e a d o f 0021720 r i g h t p a r e n t h e s i 0021740 s ) } D W I M a s s u m e s 0021760 a r i g h t p a r e n t h 0022000 e s i s w a s i n t e n d e 0022020 d . \r } \r \r { I t e m \r I f { 0022040 f n C A R } o f t h e f 0022060 o r m i s a l i s t , D 0022100 W I M a t t e m p t s s p e 0022120 l l i n g c o r r e c t i o n 0022140 o n { f n C A A R } o f 0022160 t h e f o r m u s i n g 0022200 { v a r L A M B D A S P L S T 0022220 } { i n d e x L A M B D A S P 0022240 L S T V a r } { i n d e x s 0022260 p e l l i n g l i s t s } a 0022300 s s p e l l i n g l i s t . 0022320 I f s u c c e s s f u l , 0022340 D W I M r e t u r n s t h 0022360 e c o r r e c t e d e x p r 0022400 e s s i o n i t s e l f . \r } 0022420 \r \r { I t e m \r T h e e x p r 0022440 e s s i o n s o n { v a r 0022460 D W I M U S E R F O R M S } { i 0022500 n d e x D W I M U S E R F O R 0022520 M S V a r } a r e e v a l 0022540 u a t e d i n t h e o r d 0022560 e r t h e y a p p e a r . 0022600 I f a n y r e t u r n s 0022620 a n o n - { l i s p N I L } 0022640 v a l u e , t h i s v a l 0022660 u e i s t r e a t e d a s 0022700 t h e c o r r e c t e d f 0022720 o r m , i t i s e v a l u 0022740 a t e d , a n d { l i s p 0022760 D W I M } r e t u r n s i t 0023000 s v a l u e . \r } \r \r { I t e 0023020 m \r O t h e r w i s e , D W I 0023040 M a t t e m p t s s p e l l 0023060 i n g c o r r e c t i o n u 0023100 s i n g { i n d e x S P E L 0023120 L I N G S 2 V a r } { v a r 0023140 S P E L L I N G S 2 } a s t 0023160 h e s p e l l i n g l i s t 0023200 ( s e e { P a g e R e f V 0023220 a r S P E L L I N G S 2 } ) . 0023240 W h e n { f n D W I M I 0023260 F Y } i n g , { l i s p D W 0023300 I M } a l s o a t t e m p s 0023320 s p e l l i n g c o r r e c 0023340 t i o n o n f u n c t i o n 0023360 n a m e s n o t d e f i n 0023400 e d b u t p r e v i o u s l 0023420 y e n c o u n t e r e d , u 0023440 s i n g { v a r N O F I X F 0023460 N S L S T } a s a s p e l 0023500 l i n g l i s t ( s e e { 0023520 P a g e R e f V a r N O F I 0023540 X F N S L S T } ) . \r } \r \r { I 0023560 t e m \r I f a l l o f t 0023600 h e a b o v e f a i l , D 0023620 W I M g i v e s u p . \r } \r 0023640 \r { E n d N u m b e r e d L i 0023660 s t U n d e f i n e d C A R 0023700 o f F o r m } \r \r } { E n d 0023720 S u b S e c U n d e f i n e 0023740 d C A R o f F o r m } \r \r 0023760 \r \r \r \r \r { B e g i n S u b S 0024000 e c U n d e f i n e d F u n 0024020 c t i o n i n A P P L Y } \r 0024040 { T i t l e U n d e f i n e d 0024060 F u n c t i o n i n A P P 0024100 L Y } \r { T e x t \r \r \r I f D 0024120 W I M i s c a l l e d a s 0024140 t h e r e s u l t o f a 0024160 n u n d e f i n e d f u n c 0024200 t i o n i n { f n A P P L 0024220 Y } e r r o r , i t p r o 0024240 c e e d s a s f o l l o w s 0024260 : \r \r \r { B e g i n N u m b e 0024300 r e d l i s t U n d e f i n e 0024320 d F u n c t i o n i n A P 0024340 P L Y } \r \r { I t e m \r I f t 0024360 h e f u n c t i o n h a s 0024400 a d e f i n i t i o n , D W 0024420 I M a t t e m p t s s p e l 0024440 l i n g c o r r e c t i o n 0024460 o n { f n C A R } o f t 0024500 h e d e f i n i t i o n u s 0024520 i n g { v a r L A M B D A S 0024540 P L S T } a s s p e l l i n 0024560 g l i s t . \r } \r \r { I t e m 0024600 \r I f t h e f u n c t i o n 0024620 h a s a n { i n d e x E 0024640 X P R P r o p } { p r o p E 0024660 X P R } o r { p r o p C O 0024700 D E } p r o p e r t y , D W 0024720 I M p r i n t s { l i s p 0024740 { a r g F N } U N S A V E D 0024760 } , { i n d e x U N S A V E D 0025000 ( P r i n t e d b y D W I 0025020 M ) } p e r f o r m s a n 0025040 { i n d e x U N S A V E D E F 0025060 F N } { f n U N S A V E D E 0025100 F } a n d c o n t i n u e s 0025120 . N o a p p r o v a l i 0025140 s r e q u e s t e d . \r } \r \r 0025160 { I t e m \r I f t h e f u n 0025200 c t i o n h a s a p r o p 0025220 e r t y { i n d e x F I L E 0025240 D E F P r o p } { p r o p F 0025260 I L E D E F } , D W I M p r 0025300 o c e e d s a s i n c a s 0025320 e 6 o f u n d e f i n e d 0025340 { f n C A R } o f f o r 0025360 m . \r } \r \r { I t e m \r I f t 0025400 h e e r r o r r e s u l t e 0025420 d f r o m t y p e - i n , 0025440 a n d C L I S P i s e n a 0025460 b l e d , a n d t h e f u 0025500 n c t i o n \r n a m e c o n t 0025520 a i n s a { i n d e x C L 0025540 I S P } C L I S P o p e r a t 0025560 o r , D W I M p e r f o r m 0025600 s t h e i n d i c a t e d 0025620 t r a n s f o r m a t i o n , 0025640 e . g . , t h e u s e r t 0025660 y p e s { l i s p F O O _ ( 0025700 A P P E N D F I E F U M ) } 0025720 . \r } \r \r { I t e m \r I f t h 0025740 e f u n c t i o n n a m e 0025760 c o n t a i n s a n { l i s 0026000 p 9 } , { i n d e x 9 ( i 0026020 n s t e a d o f l e f t p 0026040 a r e n t h e s i s ) } D W I 0026060 M a s s u m e s a l e f t 0026100 p a r e n t h e s i s w a s 0026120 i n t e n d e d , e . g . , 0026140 { l i s p E D I T 9 F O O ] 0026160 } . \r } \r \r { I t e m \r I f t 0026200 h e " f u n c t i o n " i s 0026220 a l i s t , D W I M a t 0026240 t e m p t s s p e l l i n g 0026260 c o r r e c t i o n o n { f 0026300 n C A R } o f t h e l i 0026320 s t u s i n g { v a r L A 0026340 M B D A S P L S T } { i n d e x 0026360 L A M B D A S P L S T V a r 0026400 } a s s p e l l i n g l i 0026420 s t { i n d e x s p e l l i n 0026440 g l i s t s } . \r } \r \r { I t 0026460 e m \r T h e e x p r e s s i o 0026500 n s o n { v a r D W I M U 0026520 S E R F O R M S } { i n d e x 0026540 D W I M U S E R F O R M S V a 0026560 r } a r e e v a l u a t e d 0026600 i n t h e o r d e r t h 0026620 e y a p p e a r , a n d i 0026640 f a n y r e t u r n s a 0026660 n o n - { l i s p N I L } v 0026700 a l u e , t h i s v a l u e 0026720 i s t r e a t e d a s t 0026740 h e f u n c t i o n u s e d 0026760 t o c o n t i n u e t h e 0027000 c o m p u t a t i o n , i . 0027020 e . , i t w i l l b e a 0027040 p p l i e d t o i t s a r 0027060 g u m e n t s . \r } \r \r { I t e 0027100 m \r D W I M a t t e m p t s 0027120 s p e l l i n g c o r r e c t 0027140 i o n u s i n g { i n d e x 0027160 S P E L L I N G S 1 V a r } 0027200 { v a r S P E L L I N G S 1 } 0027220 a s t h e s p e l l i n g 0027240 l i s t . \r } \r \r { I t e m \r 0027260 D W I M a t t e m p t s s p 0027300 e l l i n g c o r r e c t i o 0027320 n u s i n g { i n d e x S 0027340 P E L L I N G S 2 V a r } { v 0027360 a r S P E L L I N G S 2 } a 0027400 s t h e s p e l l i n g l 0027420 i s t . \r } \r \r { I t e m \r I f 0027440 a l l f a i l , D W I M 0027460 g i v e s u p . \r } \r \r { E n 0027500 d N u m b e r e d l i s t U 0027520 n d e f i n e d F u n c t i o 0027540 n i n A P P L Y } \r \r } { E 0027560 n d S u b S e c U n d e f i 0027600 n e d F u n c t i o n i n 0027620 A P P L Y } \r \r \r \r \r \r } { E n 0027640 d S u b S e c D W I M O p 0027660 e r a t i o n } \r \r \r \r \r { B e 0027700 g i n S u b S e c D W I M U 0027720 S E R F O R M S } \r { T i t l e 0027740 D W I M U S E R F O R M S } \r 0027760 { T e x t \r \r { i n d e x * P 0030000 R I M A R Y * D W I M U S E R 0030020 F O R M S V a r } \r \r T h e 0030040 v a r i a b l e { v a r D W 0030060 I M U S E R F O R M S } p r o 0030100 v i d e s a c o n v e n i e 0030120 n t w a y o f a d d i n g 0030140 t o t h e t r a n s f o r 0030160 m a t i o n s t h a t D W I 0030200 M p e r f o r m s . F o r 0030220 e x a m p l e , t h e u s 0030240 e r m i g h t w a n t t o 0030260 c h a n g e a t o m s o f 0030300 t h e f o r m { l i s p 0030320 $ X } t o { l i s p ( Q A 0030340 4 L O O K U P X ) } . B e 0030360 f o r e a t t e m p t i n g 0030400 s p e l l i n g c o r r e c t 0030420 i o n , b u t a f t e r p 0030440 e r f o r m i n g o t h e r 0030460 t r a n s f o r m a t i o n s 0030500 ( { l i s p F / L } , { l i 0030520 s p 9 } , { l i s p 0 } , 0030540 C L I S P , e t c . ) , D 0030560 W I M e v a l u a t e s t h 0030600 e e x p r e s s i o n s o n 0030620 { v a r D W I M U S E R F O 0030640 R M S } i n t h e o r d e 0030660 r t h e y a p p e a r . 0030700 I f a n y e x p r e s s i o 0030720 n r e t u r n s a n o n - 0030740 { l i s p N I L } v a l u e 0030760 , t h i s v a l u e i s 0031000 t r e a t e d a s t h e t 0031020 r a n s f o r m e d f o r m 0031040 t o b e u s e d . I f 0031060 D W I M w a s c a l l e d 0031100 f r o m { i n d e x F A U L 0031120 T E V A L F N } { f n F A U 0031140 L T E V A L } , t h i s f o 0031160 r m i s e v a l u a t e d 0031200 a n d t h e r e s u l t i n 0031220 g v a l u e i s r e t u r 0031240 n e d a s t h e v a l u e 0031260 o f { f n F A U L T E V A 0031300 L } . I f D W I M i s 0031320 c a l l e d f r o m { i n d 0031340 e x F A U L T A P P L Y F N 0031360 } { f n F A U L T A P P L Y } 0031400 , t h i s f o r m i s t 0031420 r e a t e d a s a f u n c 0031440 t i o n t o b e a p p l i 0031460 e d t o { l i s p F A U L 0031500 T A R G S } , a n d t h e 0031520 r e s u l t i n g v a l u e 0031540 i s r e t u r n e d a s t 0031560 h e v a l u e o f { f n 0031600 F A U L T A P P L Y } . I f 0031620 a l l o f t h e e x p r 0031640 e s s i o n s o n { v a r 0031660 D W I M U S E R F O R M S } r 0031700 e t u r n { l i s p N I L } 0031720 , D W I M p r o c e e d s 0031740 a s t h o u g h { v a r D 0031760 W I M U S E R F O R M S } = { l 0032000 i s p N I L } , a n d a t 0032020 t e m p t s s p e l l i n g 0032040 c o r r e c t i o n . N o t 0032060 e t h a t D W I M s i m p 0032100 l y t a k e s t h e v a l 0032120 u e a n d r e t u r n s i 0032140 t ; t h e e x p r e s s i o 0032160 n s o n { v a r D W I M U 0032200 S E R F O R M S } a r e r e 0032220 s p o n s i b l e f o r \r m a 0032240 k i n g a n y m o d i f i c 0032260 a t i o n s t o t h e o r 0032300 i g i n a l e x p r e s s i o 0032320 n . T h e e x p r e s s i 0032340 o n s o n { v a r D W I M 0032360 U S E R F O R M S } s h o u l 0032400 d m a k e t h e t r a n s 0032420 f o r m a t i o n p e r m a n 0032440 e n t , e i t h e r b y a 0032460 s s o c i a t i n g i t w i 0032500 t h { l i s p F A U L T X } 0032520 v i a { f n C L I S P T R 0032540 A N } , o r b y d e s t r 0032560 u c t i v e l y c h a n g i n 0032600 g { l i s p F A U L T X } . 0032620 \r \r \r I n o r d e r f o r 0032640 a n e x p r e s s i o n o n 0032660 { i n d e x D W I M U S E R 0032700 F O R M S V a r } { v a r D 0032720 W I M U S E R F O R M S } t o 0032740 b e a b l e t o b e e 0032760 f f e c t i v e , i t n e e 0033000 d s t o k n o w v a r i o 0033020 u s t h i n g s a b o u t 0033040 t h e c o n t e x t o f t 0033060 h e e r r o r . T h e r e 0033100 f o r e , s e v e r a l o f 0033120 D W I M ' s i n t e r n a l 0033140 v a r i a b l e s h a v e 0033160 b e e n m a d e { l i s p 0033200 S P E C V A R S } ( s e e { 0033220 P a g e R e f T e r m S P E 0033240 C V A R S } ) a n d a r e 0033260 t h e r e f o r e " v i s i b 0033300 l e " t o { v a r D W I M 0033320 U S E R F O R M S } . B e l 0033340 o w a r e a l i s t o f 0033360 t h o s e v a r i a b l e s 0033400 t h a t m a y b e u s e 0033420 f u l . \r \r { i n d e x D W I 0033440 M v a r i a b l e s } \r \r { V 0033460 a r D e f { N a m e F A U L 0033500 T X } \r { T e x t \r F o r u n 0033520 b o u n d a t o m a n d u 0033540 n d e f i n e d c a r o f 0033560 f o r m e r r o r s , { l i 0033600 s p F A U L T X } i s t h 0033620 e a t o m o r f o r m . 0033640 F o r u n d e f i n e d f 0033660 u n c t i o n i n { f n A 0033700 P P L Y } e r r o r s , { l 0033720 i s p F A U L T X } i s t 0033740 h e n a m e o f t h e f 0033760 u n c t i o n . \r } } \r \r \r { V 0034000 a r D e f { N a m e F A U L 0034020 T A R G S } \r { T e x t \r F o r 0034040 u n d e f i n e d f u n c t 0034060 i o n i n { f n A P P L Y 0034100 } e r r o r s , { l i s p 0034120 F A U L T A R G S } i s t h 0034140 e l i s t o f a r g u m e 0034160 n t s . { l i s p F A U L 0034200 T A R G S } m a y b e m o 0034220 d i f i e d o r r e s e t 0034240 b y e x p r e s s i o n s o 0034260 n { v a r D W I M U S E R F 0034300 O R M S } . \r } } \r \r \r \r { V a 0034320 r D e f { N a m e F A U L T 0034340 A P P L Y F L G } \r { T e x t \r 0034360 V a l u e i s { l i s p T 0034400 } f o r u n d e f i n e d 0034420 f u n c t i o n i n { f n 0034440 A P P L Y } e r r o r s ; { 0034460 l i s p N I L } o t h e r w 0034500 i s e . T h e v a l u e 0034520 o f { l i s p F A U L T A P 0034540 P L Y F L G } { i t a f t e 0034560 r } a n e x p r e s s i o n 0034600 o n { v a r D W I M U S E 0034620 R F O R M S } r e t u r n s 0034640 a n o n - { l i s p N I L } 0034660 v a l u e d e t e r m i n e 0034700 s h o w t h e l a t t e r 0034720 v a l u e i s t o b e 0034740 t r e a t e d . F o l l o w 0034760 i n g a n u n d e f i n e d 0035000 f u n c t i o n i n { f n 0035020 A P P L Y } e r r o r , i 0035040 f a n e x p r e s s i o n 0035060 o n { v a r D W I M U S E R 0035100 F O R M S } s e t s { l i s 0035120 p F A U L T A P P L Y F L G } 0035140 t o { l i s p N I L } , 0035160 t h e v a l u e r e t u r n 0035200 e d i s t r e a t e d a s 0035220 a f o r m t o b e e v 0035240 a l u a t e d , r a t h e r 0035260 t h a n a f u n c t i o n 0035300 t o b e a p p l i e d . \r \r 0035320 { l i s p F A U L T A P P L Y 0035340 F L G } i s n e c e s s a r 0035360 y t o d i s t i n g u i s h 0035400 b e t w e e n u n b o u n d 0035420 a t o m a n d u n d e f i 0035440 n e d f u n c t i o n i n 0035460 { f n A P P L Y } e r r o r 0035500 s , s i n c e { l i s p F 0035520 A U L T A R G S } m a y b e 0035540 { l i s p N I L } a n d 0035560 { l i s p F A U L T X } a t 0035600 o m i c i n b o t h c a s 0035620 e s . \r } } \r \r \r { V a r D e f 0035640 { N a m e T A I L } \r { T e 0035660 x t \r F o r u n b o u n d a 0035700 t o m e r r o r s , { l i s 0035720 p T A I L } i s t h e t 0035740 a i l o f t h e e x p r e 0035760 s s i o n { f n C A R } o 0036000 f w h i c h i s t h e u 0036020 n b o u n d a t o m . { v 0036040 a r D W I M U S E R F O R M S 0036060 } e x p r e s s i o n c a n 0036100 r e p l a c e t h e a t o 0036120 m b y a n o t h e r e x p 0036140 r e s s i o n b y p e r f o 0036160 r m i n g { l i s p ( / R P 0036200 L A C A T A I L { a r g E 0036220 X P R } ) } \r } } \r \r \r { V a r 0036240 D e f { N a m e P A R E N T 0036260 } \r { T e x t \r F o r u n b o 0036300 u n d a t o m e r r o r s , 0036320 { l i s p P A R E N T } i 0036340 s t h e f o r m i n w h 0036360 i c h t h e u n b o u n d 0036400 a t o m a p p e a r s . { 0036420 l i s p T A I L } i s a 0036440 t a i l o f { l i s p P A 0036460 R E N T } . \r } } \r \r \r { V a r 0036500 D e f { N a m e T Y P E - I 0036520 N ? } \r { T e x t \r T r u e i 0036540 f t h e e r r o r o c c u 0036560 r r e d i n t y p e - i n . 0036600 \r } } \r \r \r { V a r D e f { N 0036620 a m e F A U L T F N } \r { T e 0036640 x t \r N a m e o f t h e f 0036660 u n c t i o n i n w h i c h 0036700 e r r o r o c c u r r e d . 0036720 { l i s p F A U L T F N } 0036740 i s { l i s p T Y P E - I 0036760 N } w h e n t h e e r r o 0037000 r o c c u r r e d i n t y 0037020 p e - i n , a n d { l i s p 0037040 E V A L } o r { l i s p 0037060 A P P L Y } w h e n t h e 0037100 e r r o r o c c u r r e d u 0037120 n d e r a n e x p l i c i t 0037140 c a l l t o { f n E V A 0037160 L } o r { f n A P P L Y } 0037200 . \r } } \r \r \r { V a r D e f { 0037220 N a m e D W I M I F Y F L G } 0037240 \r { T e x t \r T r u e i f t 0037260 h e e r r o r w a s e n c 0037300 o u n t e r e d w h i l e { 0037320 f n D W I M I F Y } i n g ( 0037340 a s o p p o s e d \r t o h a 0037360 p p e n i n g w h i l e r u 0037400 n n i n g a p r o g r a m ) 0037420 . \r } } \r \r \r { V a r D e f { 0037440 N a m e E X P R } \r { T e x t 0037460 \r D e f i n i t i o n o f { 0037500 l i s p F A U L T F N } , o 0037520 r a r g u m e n t t o { f 0037540 n E V A L } , i . e . , t 0037560 h e s u p e r f o r m i n 0037600 w h i c h t h e e r r o r 0037620 o c c u r s . \r } } \r \r \r T h e 0037640 i n i t i a l v a l u e o 0037660 f { v a r D W I M U S E R F 0037700 O R M S } i s { l i s p ( 0037720 ( D W I M L O A D F N S ? ) ) } 0037740 . { f n D W I M L O A D F 0037760 N S ? } { i n d e x D W I M L 0040000 O A D F N S ? F N } i s a 0040020 f u n c t i o n f o r a u 0040040 t o m a t i c a l l y l o a d 0040060 i n g f u n c t i o n s f r 0040100 o m f i l e s . I f { i 0040120 n d e x D W I M L O A D F N S 0040140 F L G V a r } { v a r D W I 0040160 M L O A D F N S F L G } i s 0040200 { l i s p T } ( i t s i n 0040220 i t i a l v a l u e ) , a n 0040240 d { f n C A R } o f t h 0040260 e f o r m i s t h e n a 0040300 m e o f a f u n c t i o n 0040320 , a n d t h e f u n c t i 0040340 o n i s c o n t a i n e d 0040360 o n a f i l e t h a t h 0040400 a s b e e n n o t i c e d 0040420 b y t h e f i l e p a c k 0040440 a g e , t h e f u n c t i o 0040460 n i s l o a d e d , a n d 0040500 t h e c o m p u t a t i o n 0040520 c o n t i n u e s . \r \r \r } { 0040540 E n d S u b S e c D W I M U 0040560 S E R F O R M S } \r \r \r \r { B e 0040600 g i n S u b S e c D W I M 0040620 F u n c t i o n s a n d V a 0040640 r i a b l e s } \r { T i t l e 0040660 D W I M F u n c t i o n s a 0040700 n d V a r i a b l e s } \r { T 0040720 e x t \r \r \r \r { V a r D e f { 0040740 N a m e D W I M W A I T } \r { 0040760 T e x t \r V a l u e i s t h 0041000 e n u m b e r o f s e c o 0041020 n d s t h a t D W I M w i 0041040 l l w a i t b e f o r e i 0041060 t a s s u m e s t h a t t 0041100 h e u s e r i s n o t g 0041120 o i n g t o r e s p o n d 0041140 t o a q u e s t i o n a n 0041160 d u s e s t h e d e f a u 0041200 l t r e s p o n s e { v a r 0041220 F I X S P E L L D E F A U L T 0041240 } . \r \r D W I M o p e r a t e 0041260 s b y d i s m i s s i n g 0041300 f o r 2 5 0 m i l l i s e c 0041320 o n d s , t h e n c h e c k 0041340 i n g t o s e e i f a n 0041360 y t h i n g h a s b e e n 0041400 t y p e d . I f n o t , 0041420 i t d i s m i s s e s a g a 0041440 i n , e t c . u n t i l { 0041460 v a r D W I M W A I T } s e 0041500 c o n d s h a v e e l a p s 0041520 e d . T h u s , t h e r e 0041540 w i l l b e a d e l a y 0041560 o f a t m o s t 1 / 4 0041600 s e c o n d b e f o r e D W 0041620 I M r e s p o n d s t o t 0041640 h e u s e r ' s a n s w e r 0041660 . \r } } \r \r \r \r { V a r D e f 0041700 { N a m e F I X S P E L L D E 0041720 F A U L T } \r { T e x t \r I f 0041740 a p p r o v a l i s r e q u 0041760 e s t e d f o r a s p e l 0042000 l i n g c o r r e c t i o n , 0042020 a n d u s e r d o e s n 0042040 o t r e s p o n d , d e f a 0042060 u l t s t o v a l u e o f 0042100 { v a r F I X S P E L L D E 0042120 F A U L T } , i n i t i a l l 0042140 y { l i s p Y } . { v a 0042160 r F I X S P E L L D E F A U L 0042200 T } i s r e b o u n d t o 0042220 { l i s p N } w h e n { 0042240 f n D W I M I F Y } i n g . \r 0042260 } } \r \r \r \r { V a r D e f { N 0042300 a m e A D D S P E L L F L G } 0042320 \r { T e x t \r I f { l i s p 0042340 N I L } , s u p p r e s s e s 0042360 c a l l s t o { f n A D 0042400 D S P E L L } . I n i t i a 0042420 l l y { l i s p T } . \r \r { 0042440 n o t e s u p p r e s s e s 0042460 o n l y c a l l s f r o m 0042500 D W I M ? ? } \r } } \r \r \r \r { i 0042520 n d e x * P R I M A R Y * N 0042540 O S P E L L F L G V a r } \r \r 0042560 { V a r D e f { N a m e N O 0042600 S P E L L F L G } \r { T e x t \r 0042620 I f { l i s p T } , s u p 0042640 p r e s s e s { i t a l l } 0042660 s p e l l i n g c o r r e c 0042700 t i o n . I f s o m e o 0042720 t h e r n o n - { l i s p N 0042740 I L } v a l u e , s u p p r 0042760 e s s e s s p e l l i n g c 0043000 o r r e c t i o n i n p r o 0043020 g r a m s b u t n o t t y 0043040 p e - i n . { v a r N O S 0043060 P E L L F L G } i s i n i t 0043100 i a l l y { l i s p N I L } 0043120 . I t i s r e b o u n d 0043140 t o { l i s p T } w h e 0043160 n c o m p i l i n g f r o m 0043200 a f i l e . \r } } \r \r \r \r { 0043220 V a r D e f { N a m e R U N 0043240 O N F L G } \r { T e x t \r I f 0043260 { l i s p N I L } , s u p p 0043300 r e s s e s r u n - o n s p 0043320 e l l i n g c o r r e c t i o 0043340 n s . I n i t i a l l y { 0043360 l i s p N I L } . \r } } \r \r \r 0043400 \r { V a r D e f { N a m e D 0043420 W I M L O A D F N S F L G } \r { 0043440 T e x t \r I f { l i s p T } 0043460 , t e l l s D W I M t h a 0043500 t w h e n i t e n c o u n 0043520 t e r s a c a l l t o a 0043540 n u n d e f i n e d f u n c 0043560 t i o n c o n t a i n e d o 0043600 n a f i l e t h a t h a 0043620 s b e e n n o t i c e d b 0043640 y t h e f i l e p a c k a 0043660 g e , t o s i m p l y l o 0043700 a d t h e f u n c t i o n . 0043720 { v a r D W I M L O A D F 0043740 N S F L G } i s i n i t i a 0043760 l l y { l i s p T } . S 0044000 e e { P a g e R e f F n D 0044020 W I M L O A D F N S ? } . \r } } 0044040 \r \r \r \r { V a r D e f { N a m 0044060 e L P A R K E Y } } \r { V a r 0044100 D e f { N a m e R P A R K E 0044120 Y } \r { T e x t \r D W I M u s 0044140 e s t h e v a l u e o f 0044160 t h e v a r i a b l e s { v 0044200 a r L P A R K E Y } a n d 0044220 { v a r R P A R K E Y } ( i 0044240 n i t i a l l y { l i s p 9 0044260 } a n d { l i s p 0 } r 0044300 e s p e c t i v e l y ) t o 0044320 d e t e r m i n e t h e c o 0044340 r r e s p o n d i n g l o w e 0044360 r c a s e c h a r a c t e r 0044400 f o r l e f t a n d r i 0044420 g h t p a r e n t h e s e s . 0044440 { v a r L P A R K E Y } 0044460 a n d { v a r R P A R K E Y 0044500 } c a n b e r e s e t f 0044520 o r o t h e r k e y b o a r 0044540 d l a y o u t s . F o r 0044560 e x a m p l e , o n s o m e 0044600 t e r m i n a l s l e f t 0044620 p a r e n t h e s i s i s o 0044640 v e r { l i s p 8 } , a n 0044660 d r i g h t p a r e n t h e 0044700 s i s i s o v e r { l i s 0044720 p 9 } . \r } } \r \r \r \r \r { V a 0044740 r D e f { N a m e O K R E E 0044760 V A L S T } \r { T e x t \r T h e 0045000 v a l u e o f { v a r O 0045020 K R E E V A L S T } i s a 0045040 l i s t o f f u n c t i o n 0045060 s t h a t D W I M c a n 0045100 s a f e l y r e e v a l u a t 0045120 e . I f a f o r m i s 0045140 a t o m i c , o r { f n 0045160 C A R } o f t h e f o r m 0045200 i s a m e m b e r o f 0045220 { v a r O K R E E V A L S T } 0045240 , a n d e a c h o f t h 0045260 e a r g u m e n t s c a n 0045300 s a f e l y b e r e e v a l 0045320 u a t e d , t h e n t h e 0045340 f o r m c a n b e s a f e 0045360 l y r e e v a l u a t e d . 0045400 F o r e x a m p l e , { l 0045420 i s p ( S E T Q X ( C O N 0045440 S ( I P L U S Y Z ) W ) 0045460 ) } i s s a f e t o r e 0045500 e v a l u a t e b e c a u s e 0045520 { f n S E T Q } , { f n 0045540 C O N S } , a n d { f n I 0045560 P L U S } a r e a l l o n 0045600 { v a r O K R E E V A L S T 0045620 } . \r \r { n o t e i s t h i 0045640 s o n l y u s e d b y D 0045660 W I M i n U . D . F . T 0045700 E r r o r s , o r i s i t 0045720 a l s o u s e d i n o t 0045740 h e r p l a c e s ? ? } \r } } 0045760 \r \r \r \r { V a r D e f { N a m 0046000 e D W I M F L G } \r { T e x t 0046020 \r { v a r D W I M F L G } = { 0046040 l i s p N I L } , a l l D 0046060 W I M o p e r a t i o n s a 0046100 r e d i s a b l e d . { l 0046120 i s p ( D W I M ' C ) } a 0046140 n d { l i s p ( D W I M T 0046160 ) } s e t { v a r D W I M 0046200 F L G } t o { l i s p T } 0046220 ; { l i s p ( D W I M N I 0046240 L ) } s e t s { v a r D W 0046260 I M F L G } t o { l i s p 0046300 N I L } . \r } } \r \r \r \r { V a r 0046320 D e f { N a m e A P P R O V 0046340 E F L G } \r { T e x t \r { v a r 0046360 A P P R O V E F L G } = { l i 0046400 s p T } i f D W I M s h 0046420 o u l d a s k t h e u s e 0046440 r f o r a p p r o v a l b 0046460 e f o r e m a k i n g a c 0046500 o r r e c t i o n t h a t w 0046520 i l l m o d i f y t h e d 0046540 e f i n i t i o n o f o n e 0046560 o f h i s f u n c t i o n 0046600 s ; { l i s p N I L } o t 0046620 h e r w i s e . \r \r W h e n D 0046640 W I M i s p u t i n t o 0046660 { l i s p C A U T I O U S } 0046700 m o d e w i t h { l i s p 0046720 ( D W I M ' C ) } , { v a r 0046740 A P P R O V E F L G } i s 0046760 s e t t o { l i s p T } ; 0047000 f o r { l i s p T R U S T 0047020 I N G } m o d e , { v a r 0047040 A P P R O V E F L G } i s s 0047060 e t t o { l i s p N I L } 0047100 . \r } } \r \r \r \r { V a r D e f 0047120 { N a m e L A M B D A S P L S 0047140 T } \r { T e x t \r D W I M u s 0047160 e s t h e v a l u e o f 0047200 { v a r L A M B D A S P L S T 0047220 } a s t h e s p e l l i n 0047240 g l i s t w h e n c o r r 0047260 e c t i n g " b a d " f u n 0047300 c t i o n d e f i n i t i o n 0047320 s . I n i t i a l l y { l 0047340 i s p ( L A M B D A N L A M 0047360 B D A ) } . T h e u s e r 0047400 m a y w i s h t o a d d 0047420 t o { v a r L A M B D A S 0047440 P L S T } i f h e e l e c 0047460 t s t o d e f i n e n e w 0047500 " f u n c t i o n t y p e s 0047520 " v i a a n a p p r o p r 0047540 i a t e { v a r D W I M U S 0047560 E R F O R M S } e n t r y . 0047600 F o r e x a m p l e , t h 0047620 e { l i s p Q L A M B D A } 0047640 s o f S R I ' s Q L I S P 0047660 a r e h a n d l e d i n 0047700 t h i s w a y . \r } } \r \r \r } 0047720 { E n d S u b S e c D W I M 0047740 F u n c t i o n s a n d V 0047760 a r i a b l e s } \r \r \r \r \r \0 \0 0050000 \0 \0 \0 004 \0 002 \0 ? \0 1 ( D E F A U 0050020 L T F O N T 1 ( G A C H A 0050040 1 0 ) ( G A C H A 8 ) ( T 0050060 E R M I N A L 8 ) ) \0 \n \0 \0 \0 0050100 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E F A U L 0050120 T F O N T 1 ( G A C H A 1 0050140 0 ) ( G A C H A 8 ) ( T E 0050160 R M I N A L 8 ) ) \0 \n \0 \0 \0 \0 0050200 \0 \0 \0 \0 \0 \0 O 376 \0 \0 \0 \0 002 \0 \0 O 0050220 376 \0 001 z 272 0050225