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