$ 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