$ od -c -N 50000 [Erinyes]<LispManual>EditorMisc.im!8 0000000 \r \r { B e g i n S u b S e c 0000020 C o m m a n d s T h a t P r 0000040 i n t } \r { T i t l e C o m m 0000060 a n d s T h a t P r i n t } 0000100 \r { T e x t \r \r \r { D e f { T 0000120 y p e E d i t C o m } { n a 0000140 m e P P } \r { t e x t \r P r e 0000160 t t y p r i n t s t h e c u 0000200 r r e n t e x p r e s s i o n 0000220 . \r } } \r \r \r { i n d e x * P 0000240 R I M A R Y * P E d i t C o 0000260 m } \r \r { D e f { T y p e E 0000300 d i t C o m } { n a m e P } 0000320 \r { t e x t \r P r i n t s t h 0000340 e c u r r e n t e x p r e s 0000360 s i o n a s t h o u g h { 0000400 f n P R I N T L E V E L } ( 0000420 { P a g e R e f F n P R I N 0000440 T L E V E L } ) w e r e s e 0000460 t t o 2 . \r } } \r \r \r { D e 0000500 f { T y p e E d i t C o m } 0000520 { n a m e P } { A r g s 0000540 M } \r { t e x t \r P r i n t s 0000560 t h e { a r g M } t h e l 0000600 e m e n t o f t h e c u r 0000620 r e n t e x p r e s s i o n 0000640 a s t h o u g h { f n P R 0000660 I N T L E V E L } w e r e s 0000700 e t t o 2 . \r } } \r \r \r { D 0000720 e f { T y p e E d i t C o m 0000740 } { n a m e P } { A r g s 0000760 { l i s p 0 } } \r { t e x t 0001000 \r S a m e a s { e d i t c o 0001020 m P } . \r } } \r \r \r { D e f 0001040 { T y p e E d i t C o m } { 0001060 n a m e P } { A r g s M 0001100 N } \r { t e x t \r P r i n t s 0001120 t h e { a r g M } t h e l 0001140 e m e n t o f t h e c u r 0001160 r e n t e x p r e s s i o n 0001200 a s t h o u g h { f n P R 0001220 I N T L E V E L } w e r e s 0001240 e t t o { a r g N } . \r } 0001260 } \r \r \r { D e f { T y p e E 0001300 d i t C o m } { n a m e P } 0001320 { A r g s { l i s p 0 } 0001340 N } \r { t e x t \r P r i n t s 0001360 t h e c u r r e n t e x p r 0001400 e s s i o n a s t h o u g h 0001420 { f n P R I N T L E V E L } 0001440 w e r e s e t t o { a r 0001460 g N } . \r } } \r \r \r { D e f 0001500 { T y p e E d i t C o m } { 0001520 n a m e ? } \r { t e x t \r S a 0001540 m e a s { l i s p ( P 0 0001560 1 0 0 ) } . \r } } \r \r \r { i n 0001600 d e x * * C O M M E N T * * 0001620 ( p r i n t e d b y e d i t 0001640 o r ) } \r { i n d e x X { N a 0001660 m e C O M M E N T } { T y p 0001700 e p r i n t e d b y e d i 0001720 t o r } { T e x t { l i s p 0001740 * * C O M M E N T * * } } } 0001760 \r \r B o t h { l i s p ( P 0002000 { a r g M } ) } a n d { l 0002020 i s p ( P { a r g M } { 0002040 a r g N } ) } u s e t h e 0002060 g e n e r a l i z e d { e d 0002100 i t c o m N T H } c o m m a 0002120 n d { l i s p ( N T H { a 0002140 r g C O M } ) } t o o b t 0002160 a i n t h e c o r r e s p o 0002200 n d i n g e l e m e n t , s 0002220 o t h a t { a r g M } d 0002240 o e s n o t h a v e t o 0002260 b e a n u m b e r , e . g 0002300 . , { l i s p ( P C O N D 0002320 3 ) } w i l l w o r k . 0002340 { e d i t c o m P P } c a 0002360 u s e s a l l c o m m e n t 0002400 s t o b e p r i n t e d 0002420 a s { l i s p * * C O M M E 0002440 N T * * } ( s e e { P a g e 0002460 R e f V a r * * C O M M E N 0002500 T * * F L G } ) . { e d i t 0002520 c o m P } a n d { e d i t 0002540 c o m ? } p r i n t a s 0002560 { l i s p * * C O M M E N T * 0002600 * } o n l y t h o s e c o 0002620 m m e n t s t h a t a r e 0002640 ( t o p l e v e l ) e l e m 0002660 e n t s o f t h e c u r r 0002700 e n t e x p r e s s i o n . 0002720 L o w e r e x p r e s s i o 0002740 n s a r e n o t r e a l l 0002760 y s e e n b y t h e e d 0003000 i t o r ; t h e p r i n t i 0003020 n g c o m m a n d s i m p l 0003040 y s e t s { f n P R I N T 0003060 L E V E L } a n d c a l l s 0003100 { f n P R I N T } . \r \r \r \r 0003120 { D e f { T y p e E d i t C 0003140 o m } { n a m e P P * } \r { 0003160 t e x t \r P r e t t y p r i n t 0003200 s c u r r e n t e x p r e s 0003220 s i o n , { i t i n c l u d 0003240 i n g } c o m m e n t s . \r \r 0003260 \r { e d i t c o m P P * } i 0003300 s e q u i v a l e n t t o 0003320 { e d i t c o m P P } e x c 0003340 e p t t h a t i t f i r s 0003360 t r e s e t s { v a r * * 0003400 C O M M E N T * * F L G } { i n 0003420 d e x * * C O M M E N T * * F 0003440 L G V a r } t o { l i s p 0003460 N I L } ( s e e { P a g e 0003500 R e f V a r * * C O M M E N 0003520 T * * F L G } ) . \r } } \r \r \r { 0003540 B e g i n N o t e } \r D a t e 0003560 : 1 9 J u n 1 9 7 9 2 3 0003600 4 4 - E D T \r S e n d e r : L 0003620 E W I S a t B B N - T E N E 0003640 X D \r S u b j e c t : s o m e 0003660 t h i n g f o r t h e b o 0003700 t t o m o f y o u r q u e 0003720 u e \r \r I f I h a v e F O 0003740 O d e f i n e d a s a " 0003760 c o m m e n t " , I c a n 0004000 e a s i l y g e t i t t o 0004020 p r e t t y p r i n t t o 0004040 t h e t e r m i n a l a s 0004060 * * F o o * * b y d e f i n 0004100 i n g a p r e t t y p r i n 0004120 t m a c r o w h e r e t h e 0004140 f n r e b i n d s * * c o 0004160 m m e n t * * f l g . B u t 0004200 t h e r e i s n o w a y 0004220 t o g e t i t t o d o 0004240 t h e s a m e w h e n I 0004260 g i v e a P c o m m a n 0004300 d t o t h e e d i t o r . 0004320 S u c h a t h i n g m 0004340 i g h t b e n i c e . e 0004360 g , t h e t i m e s t a m p 0004400 s t u f f c o u l d b e 0004420 c h a n g e d d o s o m e t 0004440 h i n g l i k e ( E d i t e 0004460 d : 1 - 2 7 - 8 0 b y T e 0004500 i t e l m a n ) , a n d t h 0004520 e n i n t h e e d i t o r 0004540 i t c o u l d a p p e a r 0004560 a s * * t i m e s t a m p * 0004600 * . T h e n t h e r e w 0004620 o u l d b e n o q u e s t 0004640 i o n o f w h a t i s a 0004660 t i m e s t a m p a n d w 0004700 h a t i s a r e a l c o 0004720 m m e n t . \r { E n d N o t e 0004740 } \r \r \r { D e f { T y p e E 0004760 d i t C o m } { n a m e P P 0005000 V } \r { t e x t \r P r e t t y p 0005020 r i n t s t h e c u r r e n 0005040 t e x p r e s s i o n a s 0005060 a v a r i a b l e , i . e . 0005100 , n o s p e c i a l t r e 0005120 a t m e n t f o r { l i s p 0005140 L A M B D A } , { l i s p 0005160 C O N D } , { l i s p S E T 0005200 Q } , e t c . , o r f o r 0005220 C L I S P . \r } } \r \r \r { D e 0005240 f { T y p e E d i t C o m } 0005260 { n a m e P P T } \r { t e x 0005300 t \r P r e t t y p r i n t s t 0005320 h e c u r r e n t e x p r e 0005340 s s i o n , p r i n t i n g 0005360 C L I S P t r a n s l a t i o 0005400 n s , i f a n y . \r } } \r \r 0005420 \r { D e f { T y p e E d i t 0005440 C o m } { n a m e ? = } \r { 0005460 t e x t \r P r i n t s t h e 0005500 a r g u m e n t n a m e s a 0005520 n d c o r r e s p o n d i n g 0005540 v a l u e s f o r t h e 0005560 c u r r e n t e x p r e s s i 0005600 o n . A n a l a g o u s t 0005620 o t h e { B r e a k c o m 0005640 ? = } b r e a k c o m m a n 0005660 d ( { P a g e R e f B r e a 0005700 k C o m ? = } ) . F o r 0005720 e x a m p l e , \r \r { l i s p c 0005740 o d e \r * P \r ( S T R P O S " 0005760 A 0 ? ? ? " X N ( Q U O T 0006000 E ? ) T ) \r * ? = \r X = 0006020 " A 0 ? ? ? " \r Y = X \r S T 0006040 A R T = N \r S K I P = ( 0006060 Q U O T E ? ) \r A N C H O R 0006100 = T \r T A I L = } \r } } \r \r 0006120 \r T h e c o m m a n d { e d 0006140 i t c o m M A K E } ( { P a 0006160 g e R e f E d i t C o m M A 0006200 K E } ) i s a n i m p e r 0006220 a t i v e f o r m o f { e 0006240 d i t c o m ? = } . I t 0006260 a l l o w s t h e u s e r 0006300 t o s p e c i f y a c h a 0006320 n g e t o t h e e l e m e 0006340 n t o f t h e c u r r e n 0006360 t e x p r e s s i o n t h a 0006400 t c o r r e s p o n d s t o 0006420 a p a r t i c u l a r a r 0006440 g u m e n t n a m e . \r \r \r A 0006460 l l p r i n t i n g f u n c 0006500 t i o n s p r i n t t o t 0006520 h e t e r m i n a l , r e g 0006540 a r d l e s s o f t h e p 0006560 r i m a r y o u t p u t f i 0006600 l e . A l l u s e t h e 0006620 r e a d t a b l e { l i s p 0006640 T } . N o p r i n t i n 0006660 g f u n c t i o n e v e r 0006700 c h a n g e s t h e e d i t 0006720 c h a i n . A l l r e c 0006740 o r d t h e c u r r e n t 0006760 e d i t c h a i n f o r u 0007000 s e b y { i n d e x \ P 0007020 E d i t C o m } { e d i t c o m 0007040 \ P } ( { P a g e R e f E 0007060 d i t C o m \ P } ) . A l 0007100 l c a n b e a b o r t e d 0007120 w i t h c o n t r o l - E . 0007140 \r \r \r } { E n d S u b S e c 0007160 C o m m a n d s T h a t P r 0007200 i n t } \r \r \r \r \r { B e g i n 0007220 S u b S e c C o m m a n d s 0007240 f o r L e a v i n g t h e 0007260 E d i t o r } \r { T i t l e C 0007300 o m m a n d s f o r L e a v 0007320 i n g t h e E d i t o r } \r 0007340 { T e x t \r \r \r { D e f { T y 0007360 p e E d i t C o m } { n a m 0007400 e O K } \r { T e x t \r E x i t 0007420 s f r o m t h e e d i t o 0007440 r . \r } } \r \r \r { D e f { T y 0007460 p e E d i t C o m } { n a m 0007500 e S T O P } \r { T e x t \r E x 0007520 i t s f r o m t h e e d i 0007540 t o r w i t h a n e r r o 0007560 r . M a i n l y f o r u 0007600 s e i n c o n j u n c t i o 0007620 n w i t h { e d i t c o m 0007640 T T Y : } c o m m a n d s ( 0007660 { P a g e R e f E d i t C o m 0007700 T T Y : } ) t h a t t h e 0007720 u s e r w a n t s t o a 0007740 b o r t . \r } } \r \r \r S i n c e 0007760 a l l o f t h e c o m m 0010000 a n d s i n t h e e d i t 0010020 o r a r e e r r o r s e t 0010040 p r o t e c t e d , t h e u 0010060 s e r m u s t e x i t f r 0010100 o m t h e e d i t o r v i 0010120 a a c o m m a n d . { e 0010140 d i t c o m S T O P } p r o 0010160 v i d e s a w a y o f d 0010200 i s t i n g u i s h i n g b e 0010220 t w e e n a s u c c e s s f 0010240 u l a n d u n s u c c e s s 0010260 f u l ( f r o m t h e u s 0010300 e r ' s s t a n d p o i n t ) 0010320 e d i t i n g s e s s i o n 0010340 . F o r e x a m p l e , 0010360 i f t h e u s e r i s e 0010400 x e c u t i n g { l i s p ( 0010420 M O V E 3 T O A F T E R 0010440 C O N D T T Y : ) } , a n d 0010460 h e e x i t s f r o m t 0010500 h e l o w e r e d i t o r 0010520 w i t h a n { e d i t c o m 0010540 O K } , t h e { e d i t c 0010560 o m M O V E } c o m m a n d 0010600 w i l l t h e n c o m p l 0010620 e t e i t s o p e r a t i o 0010640 n . I f t h e u s e r 0010660 w a n t s t o a b o r t t 0010700 h e { e d i t c o m M O V E 0010720 } c o m m a n d , h e m u 0010740 s t m a k e t h e { i n d 0010760 e x T T Y : E d i t C o m } 0011000 { e d i t c o m T T Y : } c 0011020 o m m a n d g e n e r a t e 0011040 a n e r r o r . H e d o 0011060 e s t h i s b y e x i t i 0011100 n g f r o m t h e l o w e 0011120 r e d i t o r w i t h a 0011140 { i n d e x S T O P E d i t 0011160 C o m } { e d i t c o m S T O 0011200 P } c o m m a n d . I n 0011220 t h i s c a s e , t h e h 0011240 i g h e r e d i t o r ' s e 0011260 d i t c h a i n w i l l n 0011300 o t b e c h a n g e d b y 0011320 t h e { e d i t c o m T T 0011340 Y : } c o m m a n d . \r \r A c 0011360 t u a l l y , i t i s a l 0011400 s o p o s s i b l e t o e 0011420 x i t t h e e d i t o r b 0011440 y t y p i n g { i n d e x 0011460 C o n t r o l - D ( I n t e r 0011500 r u p t C h a r a c t e r ) } 0011520 c o n t r o l - D . { i n d 0011540 e x S T O P E d i t C o m } 0011560 { e d i t c o m S T O P } i 0011600 s p r e f e r r e d e v e n 0011620 i f t h e u s e r i s 0011640 e d i t i n g a t t h e { 0011660 f n E V A L Q T } l e v e l 0011700 , a s i t w i l l p e r 0011720 f o r m t h e n e c e s s a 0011740 r y " w r a p u p " t o i 0011760 n s u r e t h a t t h e c 0012000 h a n g e s m a d e w h i l 0012020 e e d i t i n g w i l l b 0012040 e u n d o a b l e . \r \r \r { D 0012060 e f { T y p e E d i t C o m 0012100 } { n a m e S A V E } \r { T 0012120 e x t \r E x i t s f r o m t 0012140 h e e d i t o r a n d s a 0012160 v e s t h e " s t a t e o 0012200 f t h e e d i t " o n t 0012220 h e p r o p e r t y l i s t 0012240 o f t h e f u n c t i o n 0012260 o r v a r i a b l e b e i 0012300 n g e d i t e d u n d e r 0012320 t h e p r o p e r t y { i n 0012340 d e x E D I T - S A V E P r 0012360 o p } { p r o p E D I T - S A 0012400 V E } . I f t h e e d i 0012420 t o r i s c a l l e d a g 0012440 a i n o n t h e s a m e 0012460 s t r u c t u r e , t h e e 0012500 d i t i n g i s e f f e c t 0012520 i v e l y " c o n t i n u e d 0012540 , " i . e . , t h e e d i 0012560 t c h a i n , m a r k l i 0012600 s t , v a l u e o f { i n 0012620 d e x U N F I N D V a r } { 0012640 v a r U N F I N D } a n d 0012660 { i n d e x U N D O L S T V 0012700 a r } { v a r U N D O L S T } 0012720 a r e r e s t o r e d . \r } 0012740 } \r \r \r F o r e x a m p l e : 0012760 \r \r { l i s p c o d e \r * P \r ( 0013000 N U L L X ) \r * F C O N D 0013020 P \r ( C O N D ( & & ) ( T 0013040 & ) ) \r * S A V E \r F O O \r _ 0013060 . \r . \r . \r _ E D I T 0013100 F ( F O O ) \r E D I T \r * P \r ( 0013120 C O N D ( & & ) ( T & ) 0013140 ) \r * \ P \r ( N U L L X ) \r 0013160 * } \r \r \r \r { e d i t c o m S 0013200 A V E } i s n e c e s s a r 0013220 y o n l y i f t h e u s 0013240 e r i s e d i t i n g m a 0013260 n y d i f f e r e n t e x p 0013300 r e s s i o n s ; a n e x i 0013320 t f r o m t h e e d i t o 0013340 r v i a { e d i t c o m O 0013360 K } a l w a y s s a v e s 0013400 t h e s t a t e o f t h e 0013420 e d i t o f t h a t c a 0013440 l l t o t h e e d i t o r 0013460 o n t h e p r o p e r t y 0013500 l i s t o f t h e a t o 0013520 m { l i s p E D I T } , { i 0013540 n d e x E D I T L i t a t o 0013560 m } u n d e r t h e p r o 0013600 p e r t y n a m e { i n d e 0013620 x L A S T V A L U E P r o p 0013640 } { p r o p L A S T V A L U E 0013660 } . { e d i t c o m O K } 0013700 a l s o r e m p r o p s { 0013720 i n d e x E D I T - S A V E 0013740 P r o p } { p r o p E D I T - 0013760 S A V E } f r o m t h e p 0014000 r o p e r t y l i s t o f 0014020 t h e f u n c t i o n o r 0014040 v a r i a b l e b e i n g e 0014060 d i t e d . \r \r { i n d e x * 0014100 P R I M A R Y * C o n t i n u 0014120 i n g a n e d i t s e s s 0014140 i o n } \r \r W h e n e v e r t 0014160 h e e d i t o r i s e n t 0014200 e r e d , i t c h e c k s 0014220 t o s e e i f i t i s 0014240 e d i t i n g t h e s a m e 0014260 e x p r e s s i o n a s t 0014300 h e l a s t o n e e d i t 0014320 e d . I n t h i s c a s 0014340 e , i t r e s t o r e s t 0014360 h e m a r k l i s t a n d 0014400 { i n d e x U N D O L S T 0014420 V a r } { v a r U N D O L S T 0014440 } , a n d s e t s { i n d 0014460 e x U N F I N D V a r } { v 0014500 a r U N F I N D } t o b e 0014520 t h e e d i t c h a i n 0014540 a s o f t h e p r e v i o 0014560 u s e x i t f r o m t h e 0014600 e d i t o r . F o r e x 0014620 a m p l e : \r \r \r { l i s p c o 0014640 d e \r _ E D I T F ( F O O ) \r E 0014660 D I T \r * P \r ( L A M B D A ( 0014700 X ) ( P R O G & & L P 0014720 & & & & ) ) \r . \r 0014740 . \r . \r * P \r ( C O N D & 0014760 & ) \r * O K \r F O O \r _ . \r 0015000 . 0015020 { i t a n y n u m b e 0015040 r o f { f n L I S P X } 0015060 i n p u t s } \r . 0015100 { i t e 0015120 x c e p t f o r c a l l s 0015140 t o t h e e d i t o r } \r _ 0015160 E D I T F ( F O O ) \r E D I T \r 0015200 * P \r ( L A M B D A ( X ) ( 0015220 P R O G & & L P & & 0015240 & & ) ) \r * \ P \r ( C O N D 0015260 & & ) \r * } \r \r \r F u r t h 0015300 e r m o r e , a s a r e s 0015320 u l t o f t h e h i s t o 0015340 r y f e a t u r e , i f t 0015360 h e e d i t o r i s c a l 0015400 l e d o n t h e s a m e 0015420 e x p r e s s i o n w i t h i 0015440 n a c e r t a i n n u m b 0015460 e r o f { i n d e x L I S 0015500 P X F N } { f n L I S P X } 0015520 i n p u t s ( n a m e l y , 0015540 t h e s i z e o f t h e 0015560 h i s t o r y l i s t , w 0015600 h i c h c a n b e c h a n 0015620 g e d w i t h { f n C H A 0015640 N G E S L I C E } , { P a g e 0015660 R e f F n C H A N G E S L I 0015700 C E } ) t h e s t a t e o 0015720 f t h e e d i t o f t h 0015740 a t e x p r e s s i o n i s 0015760 r e s t o r e d , r e g a r 0016000 d l e s s o f h o w m a n 0016020 y o t h e r e x p r e s s i 0016040 o n s m a y h a v e b e e 0016060 n e d i t e d i n t h e 0016100 m e a n t i m e . F o r e 0016120 x a m p l e : \r \r \r { l i s p c 0016140 o d e \r _ E D I T F ( F O O ) \r 0016160 E D I T \r * \r . \r . \r 0016200 . \r * P \r ( C O N D ( & & 0016220 ) ( & & ) ( & ) ( T & 0016240 ) ) \r * O K \r F O O \r . 0016260 { i 0016300 t a s m a l l n u m b e r 0016320 o f { f n L I S P X } i 0016340 n p u t s , } \r . 0016360 { i t i 0016400 n c l u d i n g e d i t i n g 0016420 } \r . \r _ E D I T F ( F O O 0016440 ) \r E D I T \r * \ P \r ( C O N 0016460 D ( & & ) ( & & ) ( & 0016500 ) ( T & ) ) \r * } \r \r \r \r T 0016520 h u s t h e u s e r c a n 0016540 a l w a y s c o n t i n u e 0016560 e d i t i n g , i n c l u d 0016600 i n g u n d o i n g c h a n 0016620 g e s f r o m a p r e v i 0016640 o u s e d i t i n g s e s s 0016660 i o n , i f ( 1 ) N o o 0016700 t h e r e x p r e s s i o n s 0016720 h a v e b e e n e d i t e 0016740 d s i n c e t h a t s e s 0016760 s i o n ( s i n c e s a v i 0017000 n g t a k e s p l a c e a 0017020 t { i t e x i t } t i m e 0017040 , i n t e r v e n i n g c a 0017060 l l s t h a t w e r e a b 0017100 o r t e d v i a c o n t r o 0017120 l - D o r e x i t e d v i 0017140 a { e d i t c o m S T O P } 0017160 w i l l n o t a f f e c t 0017200 t h e e d i t o r ' s m e 0017220 m o r y ) ; o r ( 2 ) T h 0017240 a t s e s s i o n w a s " 0017260 s u f f i c i e n t l y " r e 0017300 c e n t ; o r ( 3 ) I t 0017320 w a s e n d e d w i t h a 0017340 { i n d e x S A V E E d i 0017360 t C o m } { e d i t c o m S A 0017400 V E } c o m m a n d . \r \r \r } 0017420 { E n d S u b S e c C o m m 0017440 a n d s f o r L e a v i n g 0017460 t h e E d i t o r } \r \r \r \r 0017500 \r \r \r { B e g i n S u b S e c 0017520 N e s t e d C a l l s t o 0017540 E d i t o r } \r { T i t l e 0017560 N e s t e d C a l l s t o 0017600 E d i t o r } \r { T e x t \r \r \r 0017620 { D e f { T y p e E d i t C 0017640 o m } { N a m e T T Y : } \r 0017660 { T e x t \r C a l l s t h e 0017700 e d i t o r r e c u r s i v e 0017720 l y . T h e u s e r c a 0017740 n t h e n t y p e i n c 0017760 o m m a n d s , a n d h a v 0020000 e t h e m e x e c u t e d . 0020020 T h e { e d i t c o m T 0020040 T Y : } c o m m a n d i s 0020060 c o m p l e t e d w h e n t 0020100 h e u s e r e x i t s f r 0020120 o m t h e l o w e r e d i 0020140 t o r . ( s e e { e d i t 0020160 c o m O K } a n d { e d i 0020200 t c o m S T O P } a b o v e 0020220 ) . \r } } \r \r \r T h e { e d i 0020240 t c o m T T Y : } c o m m a 0020260 n d i s e x t r e m e l y 0020300 u s e f u l . I t e n a b 0020320 l e s t h e u s e r t o 0020340 s e t u p a c o m p l e x 0020360 o p e r a t i o n , a n d 0020400 p e r f o r m i n t e r a c t 0020420 i v e a t t e n t i o n - c h 0020440 a n g i n g c o m m a n d s 0020460 p a r t w a y t h r o u g h 0020500 i t . F o r e x a m p l 0020520 e t h e c o m m a n d { l 0020540 i s p ( M O V E 3 T O A 0020560 F T E R C O N D 3 P T T 0020600 Y : ) } a l l o w s t h e 0020620 u s e r t o i n t e r a c t 0020640 , i n e f f e c t , { i t 0020660 w i t h i n } t h e { e d 0020700 i t c o m M O V E } c o m m 0020720 a n d . T h u s h e c a 0020740 n v e r i f y f o r h i m 0020760 s e l f t h a t t h e c o 0021000 r r e c t l o c a t i o n h 0021020 a s b e e n f o u n d , o 0021040 r c o m p l e t e t h e s 0021060 p e c i f i c a t i o n " b y 0021100 h a n d . " I n e f f e 0021120 c t , { e d i t c o m T T Y 0021140 : } s a y s " I ' l l t e 0021160 l l y o u w h a t y o u 0021200 s h o u l d d o w h e n y 0021220 o u g e t t h e r e . " \r \r 0021240 \r T h e { i n d e x T T Y : 0021260 E d i t C o m } { e d i t c o 0021300 m T T Y : } c o m m a n d 0021320 o p e r a t e s b y p r i n 0021340 t i n g { i n d e x T T Y : 0021360 ( P r i n t e d b y E d i 0021400 t o r ) } { e d i t c o m T T 0021420 Y : } a n d t h e n c a l 0021440 l i n g t h e e d i t o r . 0021460 T h e i n i t i a l e d 0021500 i t c h a i n i n t h e 0021520 l o w e r e d i t o r i s 0021540 t h e o n e t h a t e x i 0021560 s t e d i n t h e h i g h 0021600 e r e d i t o r a t t h e 0021620 t i m e t h e { e d i t c 0021640 o m T T Y : } c o m m a n d 0021660 w a s e n t e r e d . U 0021700 n t i l t h e u s e r e x 0021720 i t s f r o m t h e l o w 0021740 e r e d i t o r , a n y a 0021760 t t e n t i o n c h a n g i n 0022000 g c o m m a n d s h e e x 0022020 e c u t e s o n l y a f f e 0022040 c t t h e l o w e r e d i 0022060 t o r ' s e d i t c h a i n 0022100 . O f c o u r s e , i f 0022120 t h e u s e r p e r f o r 0022140 m s a n y s t r u c t u r e 0022160 m o d i f i c a t i o n c o 0022200 m m a n d s w h i l e u n d 0022220 e r a { e d i t c o m T T 0022240 Y : } c o m m a n d , t h e 0022260 s e w i l l m o d i f y t 0022300 h e s t r u c t u r e i n 0022320 b o t h e d i t o r s , s i 0022340 n c e i t i s t h e s a 0022360 m e s t r u c t u r e . W 0022400 h e n t h e { e d i t c o m 0022420 T T Y : } c o m m a n d f 0022440 i n i s h e s , t h e l o w 0022460 e r e d i t o r ' s e d i t 0022500 c h a i n b e c o m e s t 0022520 h e e d i t c h a i n o f 0022540 t h e h i g h e r e d i t 0022560 o r . \r \r \r { D e f { T y p e 0022600 E d i t C o m } { N a m e 0022620 E F } } \r { D e f { T y p e 0022640 E d i t C o m } { N a m e E 0022660 V } } \r { D e f { T y p e E 0022700 d i t C o m } { N a m e E P 0022720 } \r { T e x t \r C a l l s { f 0022740 n E D I T F } o r { f n 0022760 E D I T V } o r { f n E D 0023000 I T P } o n { f n C A R } 0023020 o f c u r r e n t e x p r 0023040 e s s i o n . \r } } \r \r \r \r } { 0023060 E n d S u b S e c N e s t e 0023100 d C a l l s t o E d i t o 0023120 r } \r \r \r \r \r \r { B e g i n S 0023140 u b S e c M a n i p u l a t i 0023160 n g t h e C h a r a c t e r 0023200 s o f a n A t o m o r 0023220 S t r i n g } \r { T i t l e M 0023240 a n i p u l a t i n g t h e 0023260 C h a r a c t e r s o f a n 0023300 A t o m o r S t r i n g } 0023320 \r { T e x t \r \r \r { i n d e x 0023340 * P R I M A R Y * R A I S E 0023360 E d i t C o m } \r \r { D e f { 0023400 T y p e E d i t C o m } { N 0023420 a m e R A I S E } \r { T e x t 0023440 \r A n e d i t m a c r o d 0023460 e f i n e d a s { e d i t c 0023500 o m U P } f o l l o w e d 0023520 b y { l i s p ( I 1 ( U 0023540 - C A S E ( # # 1 ) ) ) } , 0023560 { i n d e x U - C A S E F N 0023600 } i . e . , i t r a i s e 0023620 s t o u p p e r - c a s e 0023640 t h e c u r r e n t e x p r 0023660 e s s i o n , o r i f a 0023700 t a i l , t h e f i r s t 0023720 e l e m e n t o f t h e c 0023740 u r r e n t e x p r e s s i o 0023760 n . \r } } \r \r \r { i n d e x * 0024000 P R I M A R Y * L O W E R E 0024020 d i t C o m } \r \r { D e f { T 0024040 y p e E d i t C o m } { N a 0024060 m e L O W E R } \r { T e x t \r 0024100 S i m i l a r t o { e d i t 0024120 c o m R A I S E } , e x c e 0024140 p t u s e s { f n L - C A 0024160 S E } . { i n d e x L - C A S 0024200 E F N } \r } } \r \r \r { D e f 0024220 { T y p e E d i t C o m } { 0024240 N a m e C A P } \r { T e x t \r 0024260 F i r s t d o e s a { e d 0024300 i t c o m R A I S E } , a n 0024320 d t h e n l o w e r s a l 0024340 l b u t t h e f i r s t 0024360 c h a r a c t e r , i . e . , 0024400 t h e f i r s t c h a r a 0024420 c t e r i s l e f t c a p 0024440 i t a l i z e d . \r } } \r \r \r N 0024460 o t e : { e d i t c o m R A 0024500 I S E } , { e d i t c o m L 0024520 O W E R } , a n d { e d i t 0024540 c o m C A P } a r e a l l 0024560 n o - o p s \r i f t h e c 0024600 o r r e s p o n d i n g a t o 0024620 m o r s t r i n g i s a 0024640 l r e a d y i n t h a t s 0024660 t a t e . \r \r \r { D e f { T y 0024700 p e E d i t C o m } { N a m 0024720 e R A I S E } { A r g s X 0024740 } \r { T e x t \r E q u i v a l e 0024760 n t t o { l i s p ( I R 0025000 ( L - C A S E { a r g X } 0025020 ) { a r g X } ) } , i . e 0025040 . , c h a n g e s e v e r y 0025060 l o w e r - c a s e { a r g 0025100 X } t o u p p e r - c a s 0025120 e i n t h e c u r r e n t 0025140 e x p r e s s i o n . \r } } \r 0025160 \r \r { D e f { T y p e E d i 0025200 t C o m } { N a m e L O W E 0025220 R } { A r g s X } \r { T e x 0025240 t \r S i m i l a r t o { e d 0025260 i t c o m R A I S E } , e x 0025300 c e p t p e r f o r m s { l 0025320 i s p ( I R { a r g X } 0025340 ( L - C A S E { a r g X } 0025360 ) ) } . \r } } \r \r \r N o t e t 0025400 h a t i n b o t h { l i s 0025420 p ( R A I S E { a r g X } 0025440 ) } a n d { l i s p ( L O 0025460 W E R { a r g X } ) } , { 0025500 a r g X } s h o u l d b e 0025520 t y p e d i n u p p e r 0025540 c a s e . \r \r \r { i n d e x * 0025560 P R I M A R Y * R E P A C K 0025600 E d i t C o m } \r \r { D e f { 0025620 T y p e E d i t C o m } { N 0025640 a m e R E P A C K } \r { T e x 0025660 t \r P e r m i t s t h e " e 0025700 d i t i n g " o f a n a t 0025720 o m o r s t r i n g . \r \r { 0025740 e d i t c o m R E P A C K } 0025760 o p e r a t e s b y c a l l 0026000 i n g t h e e d i t o r r 0026020 e c u r s i v e l y o n { f 0026040 n U N P A C K } o f t h e 0026060 c u r r e n t e x p r e s s 0026100 i o n , o r i f i t i s 0026120 a l i s t , o n { f n 0026140 U N P A C K } o f i t s f 0026160 i r s t e l e m e n t . \r I f 0026200 t h e l o w e r e d i t o 0026220 r i s e x i t e d s u c c 0026240 e s s f u l l y , i . e . , 0026260 v i a { i n d e x O K E d 0026300 i t C o m } { e d i t c o m O 0026320 K } a s o p p o s e d t o 0026340 { i n d e x S T O P E d i 0026360 t C o m } { e d i t c o m S T 0026400 O P } , t h e l i s t o f 0026420 a t o m s i s m a d e i 0026440 n t o a s i n g l e a t o 0026460 m o r s t r i n g , w h i 0026500 c h r e p l a c e s t h e 0026520 a t o m o r s t r i n g b 0026540 e i n g " r e p a c k e d . " 0026560 T h e n e w a t o m o 0026600 r s t r i n g i s a l w a 0026620 y s p r i n t e d . \r } } \r \r 0026640 \r E x a m p l e : \r \r { l i s p 0026660 c o d e \r * P \r . . . " T H I 0026700 S I S A L O G N S T R I 0026720 N G " ) \r * R E P A C K \r * E D 0026740 I T \r P \r ( T H I S % 0026760 I S % A % L O 0027000 G N % S T R I 0027020 N G ) \r * ( S W G N ) \r * 0027040 O K \r " T H I S I S A L O 0027060 N G S T R I N G " \r * } \r \r \r 0027100 N o t e t h a t t h i s c 0027120 o u l d a l s o h a v e b 0027140 e e n a c c o m p l i s h e d 0027160 b y { l i s p ( R $ G N 0027200 $ $ N G $ ) } o r s i m p 0027220 l y { l i s p ( R C G N 0027240 N G ) } . \r \r \r \r { D e f { T 0027260 y p e E d i t C o m } { N a 0027300 m e R E P A C K } { P r i n 0027320 t N a m e { l i s p ( R E P 0027340 A C K @ ) } } \r { T e x t \r D 0027360 o e s { l i s p ( L C . 0027400 @ ) } f o l l o w e d b y 0027420 { e d i t c o m R E P A C K } 0027440 , e . g . { l i s p ( R E 0027460 P A C K T H I S $ ) } . \r } } 0027500 \r \r \r } { E n d S u b S e c 0027520 M a n i p u l a t i n g t h e 0027540 C h a r a c t e r s o f a 0027560 n A t o m o r S t r i n g 0027600 } \r \r \r \r \r \r { B e g i n S u 0027620 b S e c M a n i p u l a t i n 0027640 g P r e d i c a t e s a n d 0027660 C o n d i t i o n a l E x p 0027700 r e s s i o n s } \r { T i t l e 0027720 M a n i p u l a t i n g P r 0027740 e d i c a t e s a n d C o n 0027760 d i t i o n a l E x p r e s s 0030000 i o n s } \r { T e x t \r \r \r { D 0030020 e f { T y p e E d i t C o m 0030040 } { N a m e J O I N C } \r { 0030060 T e x t \r U s e d t o j o i 0030100 n t w o n e i g h b o r i n 0030120 g { l i s p C O N D } ' s 0030140 t o g e t h e r , \r e . g . { 0030160 l i s p ( C O N D { a r g 0030200 C L A U S E { s u b 1 } } { 0030220 a r g C L A U S E { s u b 2 0030240 } } ) } f o l l o w e d b y 0030260 \r { l i s p ( C O N D { a r 0030300 g C L A U S E { s u b 3 } } 0030320 { a r g C L A U S E { s u b 0030340 4 } } ) } b e c o m e s \r { 0030360 l i s p ( C O N D { a r g 0030400 C L A U S E { s u b 1 } } { 0030420 a r g C L A U S E { s u b 2 0030440 } } { a r g C L A U S E { s 0030460 u b 3 } } { a r g C L A U 0030500 S E { s u b 4 } } ) } . { 0030520 e d i t c o m J O I N C } d 0030540 o e s a n { l i s p ( F 0030560 C O N D T ) } f i r s t s 0030600 o t h a t y o u d o n ' t 0030620 h a v e t o b e a t t 0030640 h e f i r s t { l i s p C 0030660 O N D } . \r } } \r \r \r { D e f 0030700 { T y p e E d i t C o m } { 0030720 N a m e S P L I T C } { A r 0030740 g s X } \r { T e x t \r S p l i 0030760 t s o n e { l i s p C O N 0031000 D } i n t o t w o . { a 0031020 r g X } s p e c i f i e s 0031040 t h e l a s t c l a u s e 0031060 i n t h e f i r s t { l i 0031100 s p C O N D } , e . g . { 0031120 l i s p ( S P L I T C 3 ) } 0031140 s p l i t s { l i s p ( C 0031160 O N D { a r g C L A U S E { 0031200 s u b 1 } } { a r g C L A 0031220 U S E { s u b 2 } } { a r g 0031240 C L A U S E { s u b 3 } } 0031260 { a r g C L A U S E { s u b 0031300 4 } } ) } i n t o \r { l i s p 0031320 ( C O N D { a r g C L A U 0031340 S E { s u b 1 } } { a r g 0031360 C L A U S E { s u b 2 } } ) } 0031400 { l i s p ( C O N D { a r 0031420 g C L A U S E { s u b 3 } } 0031440 { a r g C L A U S E { s u b 0031460 4 } } ) } . \r U s e s t h e 0031500 g e n e r a l i z e d { e d 0031520 i t c o m N T H } c o m m a 0031540 n d { l i s p ( N T H { a 0031560 r g C O M } ) } , s o t h 0031600 a t { a r g X } d o e s 0031620 n o t h a v e t o b e a 0031640 n u m b e r , e . g . , t 0031660 h e u s e r c a n s a y 0031700 { l i s p ( S P L I T C R E 0031720 T U R N ) } , m e a n i n g 0031740 s p l i t a f t e r t h e 0031760 c l a u s e c o n t a i n i n 0032000 g { l i s p R E T U R N } . 0032020 { e d i t c o m S P L I T 0032040 C } a l s o d o e s a n 0032060 { l i s p ( F C O N D T ) 0032100 } f i r s t . \r } } \r \r \r { D 0032120 e f { T y p e E d i t C o m 0032140 } { N a m e N E G A T E } \r 0032160 { T e x t \r N e g a t e s t h 0032200 e c u r r e n t e x p r e s 0032220 s i o n , i . e . p e r f o 0032240 r m s { l i s p ( M B D N 0032260 O T ) } , e x c e p t t h a 0032300 t i s s m a r t a b o u t 0032320 s i m p l i f y i n g . F 0032340 o r e x a m p l e , i f t 0032360 h e c u r r e n t e x p r e 0032400 s s i o n i s : { l i s p 0032420 ( O R ( N U L L X ) ( L I 0032440 S T P X ) ) } , { e d i t c 0032460 o m N E G A T E } w o u l d 0032500 c h a n g e i t t o { l 0032520 i s p ( A N D X ( N L I S 0032540 T P X ) ) } . \r \r { e d i t c 0032560 o m N E G A T E } i s i m 0032600 p l e m e n t e d v i a t h 0032620 e f u n c t i o n { f n N 0032640 E G A T E } ( { P a g e R e f 0032660 F n N E G A T E } ) . { i n 0032700 d e x N E G A T E F N } \r } 0032720 } \r \r \r { D e f { T y p e E 0032740 d i t C o m } { N a m e S W 0032760 A P C } \r { T e x t \r T a k e s 0033000 a c o n d i t i o n a l e 0033020 x p r e s s i o n o f t h e 0033040 f o r m { l i s p ( C O N 0033060 D ( A B ) ( T C ) ) } a 0033100 n d r e a r r a n g e s i t 0033120 t o a n e q u i v a l e n 0033140 t { l i s p ( C O N D ( ( 0033160 N O T A ) C ) ( T B ) ) } 0033200 , o r { l i s p ( C O N D 0033220 ( A B ) ( C D ) ) } t 0033240 o { l i s p ( C O N D ( ( 0033260 N O T A ) ( C O N D ( C 0033300 D ) ) ) ( T B ) ) } . \r } } 0033320 \r \r \r { e d i t c o m S W A P 0033340 C } i s s m a r t a b o u 0033360 t n e g a t i o n s ( u s e 0033400 s { e d i t c o m N E G A T 0033420 E } ) a n d s i m p l i f y 0033440 i n g { f n C O N D } s . 0033460 I t a l w a y s p r o d u 0033500 c e s a n e q u i v a l e n 0033520 t e x p r e s s i o n . I 0033540 t i s u s e f u l f o r 0033560 t h o s e c a s e s w h e r 0033600 e o n e w a n t s t o i 0033620 n s e r t e x t r a c l a u 0033640 s e s o r t e s t s . \r 0033660 \r \r } { E n d S u b S e c M 0033700 a n i p u l a t i n g P r e d 0033720 i c a t e s a n d C o n d i 0033740 t i o n a l E x p r e s s i o 0033760 n s } \r \r \r \r \r \r { B e g i n 0034000 S u b S e c H i s t o r y c 0034020 o m m a n d s i n t h e e 0034040 d i t o r } \r { T i t l e H i 0034060 s t o r y c o m m a n d s i 0034100 n t h e e d i t o r } \r { T 0034120 e x t \r \r \r A l l o f t h e 0034140 u s e r ' s i n p u t s t 0034160 o t h e e d i t o r a r e 0034200 s t o r e d o n t h e { 0034220 i n d e x H i s t o r y l i 0034240 s t s } h i s t o r y l i s t 0034260 { i n d e x E D I T H I S T 0034300 O R Y V a r } { v a r E D I 0034320 T H I S T O R Y } ( s e e { 0034340 P a g e R e f V a r E D I T 0034360 H I S T O R Y } , t h e e d 0034400 i t o r ' s h i s t o r y l 0034420 i s t , a n d a l l o f 0034440 t h e p r o g r a m m e r ' s 0034460 a s s i s t a n t c o m m a 0034500 n d s f o r m a n i p u l a 0034520 t i n g t h e h i s t o r y 0034540 l i s t , e . g . { p a c 0034560 o m R E D O } , { p a c o m 0034600 U S E } , { p a c o m F I 0034620 X } , { p a c o m N A M E } 0034640 , e t c . , a r e a v a i 0034660 l a b l e f o r u s e o n 0034700 e v e n t s o n { v a r 0034720 E D I T H I S T O R Y } . I 0034740 n a d d i t i o n , t h e 0034760 f o l l o w i n g f o u r h 0035000 i s t o r y c o m m a n d s 0035020 a r e r e c o g n i z e d s 0035040 p e c i a l l y b y t h e 0035060 e d i t o r . T h e y a l 0035100 w a y s o p e r a t e o n 0035120 t h e l a s t , i . e . m 0035140 o s t r e c e n t , e v e n 0035160 t . \r \r \r { D e f { T y p e 0035200 E d i t C o m } { N a m e D 0035220 O } { A r g s C O M } { N 0035240 o p a r e n s } \r { T e x t \r A 0035260 l l o w s t h e u s e r t 0035300 o s u p p l y t h e c o m 0035320 m a n d n a m e w h e n i 0035340 t w a s o m i t t e d . \r \r 0035360 { p a c o m U S E } i s u 0035400 s e f u l w h e n a c o m 0035420 m a n d n a m e i s { i t 0035440 i n c o r r e c t } . \r } } \r 0035460 \r \r F o r e x a m p l e , s 0035500 u p p o s e t h e u s e r 0035520 w a n t s t o p e r f o r m 0035540 { l i s p ( - 2 ( S E T Q 0035560 X ( L I S T Y Z ) ) ) } 0035600 b u t i n s t e a d t y p 0035620 e s j u s t { l i s p ( S 0035640 E T Q X ( L I S T Y Z ) 0035660 ) } . T h e e d i t o r 0035700 w i l l t y p e { l i s p 0035720 S E T Q ? } , w h e r e u p 0035740 o n t h e u s e r c a n 0035760 t y p e { l i s p D O - 2 0036000 } . T h e e f f e c t i 0036020 s t h e s a m e a s t h 0036040 o u g h t h e u s e r h a 0036060 d t y p e d { p a c o m F 0036100 I X } , f o l l o w e d b y 0036120 { l i s p ( L I 1 ) } , 0036140 { l i s p ( - 1 - 2 ) } , 0036160 a n d { l i s p O K } , i 0036200 . e . , t h e c o m m a n d 0036220 { l i s p ( - 2 ( S E T Q 0036240 X ( L I S T Y Z ) ) ) } 0036260 i s e x e c u t e d . { 0036300 e d i t c o m D O } a l s o 0036320 w o r k s i f t h e c 0036340 o m m a n d i s a l i n e 0036360 c o m m a n d . \r \r \r { i n d 0036400 e x X { N a m e F } { T y 0036420 p e E d i t C o m } \r { T e x 0036440 t { l i s p ! F } } } \r \r 0036460 { D e f { T y p e E d i t C 0036500 o m } { N a m e ! F } \r { T 0036520 e x t \r S a m e a s { l i s 0036540 p D O F } . \r } } \r \r \r I n 0036560 t h e c a s e o f { e d 0036600 i t c o m ! F } , t h e p 0036620 r e v i o u s c o m m a n d 0036640 i s a l w a y s t r e a t e 0036660 d a s t h o u g h i t w 0036700 e r e a l i n e c o m m a 0036720 n d , e . g . , i f t h e 0036740 u s e r t y p e s { l i s 0036760 p ( S E T Q X & ) } a n 0037000 d t h e n { l i s p ! F } 0037020 , t h e e f f e c t i s 0037040 t h e s a m e a s t h o u 0037060 g h h e h a d t y p e d 0037100 { l i s p F ( S E T Q X 0037120 & ) } , n o t { l i s p ( 0037140 F ( S E T Q X & ) ) } . \r 0037160 \r \r { i n d e x X { N a m e 0037200 E } { T y p e E d i t C o m 0037220 } \r { T e x t { l i s p ! E 0037240 } } } \r \r { D e f { T y p e 0037260 E d i t C o m } { N a m e 0037300 ! E } \r { T e x t \r S a m e a 0037320 s { l i s p D O E } . \r } 0037340 } \r \r \r { i n d e x X { N a m 0037360 e N } { T y p e E d i t C 0037400 o m } \r { T e x t { l i s p 0037420 ! N } } } \r \r { D e f { T y 0037440 p e E d i t C o m } { N a m 0037460 e ! N } \r { T e x t \r S a m e 0037500 a s { l i s p D O N } . 0037520 \r } } \r \r \r } { E n d S u b S 0037540 e c H i s t o r y c o m m a 0037560 n d s i n t h e e d i t o 0037600 r } \r \r \r \r \r \r { B e g i n S 0037620 u b S e c M i s c e l l a n e 0037640 o u s C o m m a n d s } \r { T 0037660 i t l e M i s c e l l a n e o 0037700 u s C o m m a n d s } \r { T e 0037720 x t \r \r { D e f { T y p e 0037740 E d i t C o m } { N a m e N 0037760 I L } \r { T e x t \r U n l e s s 0040000 p r e c e d e d b y { e d 0040020 i t c o m F } o r { e d i 0040040 t c o m B F } , i s a l w 0040060 a y s a n o - o p . T h 0040100 u s e x t r a r i g h t p 0040120 a r e n t h e s e s o r s q 0040140 u a r e b r a c k e t s a t 0040160 t h e e n d s o f c o m 0040200 m a n d s a r e i g n o r e 0040220 d . \r } } \r \r \r { i n d e x * 0040240 P R I M A R Y * C L E d i t 0040260 C o m } \r { D e f { T y p e 0040300 E d i t C o m } { N a m e C 0040320 L } \r { T e x t \r C l i s p i f 0040340 i e s t h e c u r r e n t 0040360 e x p r e s s i o n ( s e e 0040400 { P a g e R e f F n C L I S 0040420 P I F Y } ) . \r } } \r \r \r { i n 0040440 d e x * P R I M A R Y * D W 0040460 E d i t C o m } \r { D e f { 0040500 T y p e E d i t C o m } { N 0040520 a m e D W } \r { T e x t \r D w 0040540 i m i f i e s t h e c u r r 0040560 e n t e x p r e s s i o n ( 0040600 s e e { P a g e R e f F n 0040620 D W I M I F Y } ) . \r } } \r \r \r 0040640 { D e f { T y p e E d i t C 0040660 o m } { N a m e I F Y } \r { 0040700 T e x t \r I f t h e c u r r 0040720 e n t s t a t e m e n t i s 0040740 a { f n C O N D } s t a 0040760 t e m e n t ( { P a g e R e f 0041000 F n C O N D } ) , r e p l 0041020 a c e s i t w i t h a n 0041040 e q i v a l e n t { l i s p 0041060 I F } s t a t e m e n t ( { 0041100 P a g e R e f ( S t a t e m e 0041120 n t ) I F } ) . \r } } \r \r \r { 0041140 D e f { T y p e E d i t C o 0041160 m } { N a m e G E T * } \r { 0041200 T e x t \r I f t h e c u r r 0041220 e n t e x p r e s s i o n i 0041240 s a { i n d e x c o m m e 0041260 n t p o i n t e r s } c o m m 0041300 e n t p o i n t e r ( s e e 0041320 { P a g e R e f T a g C o 0041340 m m e n t P o i n t e r } ) , 0041360 r e a d s i n t h e f u l 0041400 l t e x t o f t h e c o 0041420 m m e n t , a n d r e p l a 0041440 c e s t h e c u r r e n t 0041460 e x p r e s s i o n b y i t 0041500 . \r } } \r \r \r { D e f { T y p 0041520 e E d i t C o m } { N a m e 0041540 * } { A r g s X } \r { P r 0041560 i n t N a m e { l i s p ( * 0041600 . { a r g X } ) } } \r { T 0041620 e x t \r { a r g X } i s t 0041640 h e t e x t o f a c o m 0041660 m e n t . { e d i t c o m 0041700 * } a s c e n d s t h e e 0041720 d i t c h a i n l o o k i n 0041740 g f o r a " s a f e " p 0041760 l a c e t o i n s e r t t 0042000 h e c o m m e n t , e . g . 0042020 , i n a { f n C O N D } 0042040 c l a u s e , a f t e r a 0042060 { f n P R O G } s t a t e 0042100 m e n t , e t c . , a n d 0042120 i n s e r t s { l i s p ( * 0042140 . { a r g X } ) } { i t 0042160 a f t e r } t h a t p o i 0042200 n t , i f p o s s i b l e , 0042220 o t h e r w i s e b e f o r 0042240 e . F o r e x a m p l e , 0042260 i f t h e c u r r e n t 0042300 e x p r e s s i o n i s { l 0042320 i s p ( F A C T ( S U B 1 0042340 N ) ) } i n \r \r { l i s p c o 0042360 d e \r [ C O N D \r ( ( Z E 0042400 R O P N ) 1 ) \r ( T 0042420 ( I T I M E S N ( F A C T 0042440 ( S U B 1 N ] } \r \r t h e n 0042460 { l i s p ( * C A L L F A 0042500 C T R E C U R S I V E L Y ) } 0042520 w o u l d i n s e r t { l 0042540 i s p ( * C A L L F A C T 0042560 R E C U R S I V E L Y ) } { 0042600 i t b e f o r e } t h e { 0042620 f n I T I M E S } e x p r e 0042640 s s i o n . I f i n s e r 0042660 t e d a f t e r t h e { f 0042700 n I T I M E S } , t h e c 0042720 o m m e n t w o u l d t h e 0042740 n b e ( i n c o r r e c t l 0042760 y ) r e t u r n e d a s t 0043000 h e v a l u e o f t h e 0043020 { f n C O N D } . H o w e 0043040 v e r , i f t h e { f n 0043060 C O N D } w a s i t s e l f 0043100 a { f n P R O G } s t a 0043120 t e m e n t , a n d h e n c 0043140 e i t s v a l u e w a s 0043160 n o t b e i n g u s e d , 0043200 t h e c o m m e n t c o u l 0043220 d b e ( a n d w o u l d 0043240 b e ) i n s e r t e d a f t 0043260 e r t h e { f n I T I M E 0043300 S } e x p r e s s i o n . \r \r 0043320 { e d i t c o m * } d o e s 0043340 n o t c h a n g e t h e 0043360 e d i t c h a i n , b u t 0043400 { i n d e x U N F I N D V a 0043420 r } { v a r U N F I N D } i 0043440 s s e t t o w h e r e t 0043460 h e c o m m e n t w a s a 0043500 c t u a l l y i n s e r t e d 0043520 . \r } } \r \r \r { D e f { T y p 0043540 e E d i t C o m } { N a m e 0043560 G E T D } \r { T e x t \r E s s 0043600 e n t i a l l y " e x p a n d 0043620 s " t h e c u r r e n t e 0043640 x p r e s s i o n i n l i n 0043660 e : ( 1 ) i f ( { f n C 0043700 A R } o f ) t h e c u r r 0043720 e n t e x p r e s s i o n i 0043740 s t h e n a m e o f a 0043760 m a c r o , e x p a n d s t 0044000 h e m a c r o i n l i n e 0044020 ; ( 2 ) i f a C L I S P 0044040 w o r d , t r a n s l a t e 0044060 s t h e c u r r e n t e x 0044100 p r e s s i o n a n d r e p 0044120 l a c e s i t w i t h t h 0044140 e t r a n s l a t i o n ; ( 0044160 3 ) i f { f n C A R } i 0044200 s t h e n a m e o f a 0044220 f u n c t i o n f o r w h i 0044240 c h t h e e d i t o r c a 0044260 n o b t a i n a s y m b o 0044300 l i c d e f i n i t i o n , 0044320 e i t h e r i n - c o r e o 0044340 r f r o m a f i l e , s 0044360 u b s t i t u t e s t h e a 0044400 r g u m e n t e x p r e s s i 0044420 o n s f o r t h e c o r r 0044440 e s p o n d i n g a r g u m e 0044460 n t n a m e s i n t h e 0044500 b o d y o f t h e d e f i 0044520 n i t i o n a n d r e p l a 0044540 c e s t h e c u r r e n t 0044560 e x p r e s s i o n w i t h 0044600 t h e r e s u l t ; ( 4 ) 0044620 i f { f n C A R } o f t 0044640 h e c u r r e n t e x p r e 0044660 s s i o n i s a n o p e n 0044700 l a m b d a , s u b s t i t 0044720 u t e s t h e a r g u m e n 0044740 t s f o r t h e c o r r e 0044760 s p o n d i n g a r g u m e n 0045000 t n a m e s i n t h e b 0045020 o d y o f t h e l a m b d 0045040 a , a n d t h e n r e m o 0045060 v e s t h e l a m b d a a 0045100 n d a r g u m e n t l i s t 0045120 . \r \r W a r n i n g : W h e 0045140 n e x p a n d i n g a f u 0045160 n c t i o n d e f i n i t i o 0045200 n o r o p e n l a m b d a 0045220 e x p r e s s i o n , { l i 0045240 s p G E T D } d o e s a 0045260 s i m p l e s u b s t i t u t 0045300 i o n o f t h e a c t u a 0045320 l a r g u m e n t s f o r 0045340 t h e f o r m a l a r g u m 0045360 e n t s . T h e r e f o r e 0045400 , i f a n y o f t h e 0045420 f u n c t i o n a r g u m e n 0045440 t s a r e u s e d i n o 0045460 t h e r w a y s i n t h e 0045500 f u n c t i o n d e f i n i 0045520 t i o n ( a s f u n c t i o 0045540 n s , a s r e c o r d f i 0045560 e l d s , e t c . ) , t h e 0045600 y w i l l s i m p l y b e 0045620 r e p l a c e d w i t h t 0045640 h e a c t u a l a r g u m e 0045660 n t s . \r } } \r \r \r { D e f { 0045700 T y p e E d i t C o m } { N 0045720 a m e M A K E F N } \r { A r g 0045740 s F N A C T U A L A R G S 0045760 A R G L I S T N { s u b 1 } 0046000 N { s u b 2 } } \r { P r i n 0046020 t N a m e { l i s p ( M A K 0046040 E F N ( { a r g F N } . 0046060 { a r g A C T U A L A R G S } 0046100 ) { a r g A R G L I S T } 0046120 { a r g N { s u b 1 } } { 0046140 a r g N { s u b 2 } } ) } } 0046160 \r { T e x t \r T h e i n v e r 0046200 s e o f { e d i t c o m G 0046220 E T D } : m a k e s t h e 0046240 c u r r e n t e x p r e s s i 0046260 o n i n t o a f u n c t i 0046300 o n . { a r g F N } i s 0046320 t h e f u n c t i o n n a 0046340 m e , { a r g A R G L I S T 0046360 } i t s a r g u m e n t s . 0046400 T h e a r g u m e n t n 0046420 a m e s a r e s u b s t i t 0046440 u t e d f o r t h e c o r 0046460 r e s p o n d i n g a r g u m 0046500 e n t v a l u e s i n { a 0046520 r g A C T U A L A R G S } , 0046540 a n d t h e r e s u l t b 0046560 e c o m e s t h e b o d y 0046600 o f t h e f u n c t i o n 0046620 d e f i n i t i o n f o r { 0046640 a r g F N } . T h e c u 0046660 r r e n t e x p r e s s i o n 0046700 i s t h e n r e p l a c e 0046720 d w i t h { l i s p ( { a 0046740 r g F N } . { a r g A C 0046760 T U A L A R G S } ) } . \r \r I f 0047000 { a r g N { s u b 1 } } 0047020 a n d { a r g N { s u b 2 0047040 } } a r e s u p p l i e d , 0047060 { l i s p ( { a r g N { s 0047100 u b 1 } } T H R U { a r g 0047120 N { s u b 2 } } ) } i s 0047140 u s e d r a t h e r t h a n 0047160 t h e c u r r e n t e x p 0047200 r e s s i o n ; i f j u s t 0047220 { a r g N { s u b 1 } } 0047240 i s s u p p l i e d , { l i 0047260 s p ( { a r g N { s u b 1 0047300 } } T H R U - 1 ) } i s 0047320 u s e d . \r \r I f { a r g A 0047340 R G L I S T } i s o m i t t 0047360 e d , { e d i t c o m M A K 0047400 E F N } w i l l m a k e u 0047420 p s o m e a r g u m e n t s 0047440 , u s i n g e l e m e n t s 0047460 o f { a r g A C T U A L A 0047500 R G S } , i f t h e y a r 0047520 e l i t e r a l a t o m s , 0047540 o t h e r w i s e a r g u m 0047560 e n t s s e l e c t e d f r 0047600 o m { l i s p ( X Y Z 0047620 A B C . . . ) } , a v o 0047640 i d i n g d u p l i c a t e 0047660 a r g u m e n t n a m e s . \r 0047700 } } \r \r \r E x a m p l e : I 0047720 f t h e c u r r e n t e x 0047740 p r e s s i o n i s { l i s 0047760 p ( C O N D ( ( C A R X ) 0050000 ( P R I N T Y T ) ) ( T 0050020 ( H E L P ) ) ) } , t h e n 0050040 { l i s p ( M A K E F N ( 0050060 F O O ( C A R X ) Y ) ( 0050100 A B ) ) } w i l l d e f i 0050120 n e { l i s p F O O } a s 0050140 { l i s p ( L A M B D A ( 0050160 A B ) ( C O N D ( A ( P 0050200 R I N T B T ) ) ( T ( H 0050220 E L P ) ) ) ) } a n d t h e 0050240 n r e p l a c e t h e c u 0050260 r r e n t e x p r e s s i o n 0050300 w i t h { l i s p ( F O O 0050320 ( C A R X ) Y ) } . \r \r \r 0050340 \r { D e f { T y p e E d i t 0050360 C o m } { N a m e M A K E } 0050400 { A r g s A R G N A M E E 0050420 X P } \r { T e x t \r M a k e s 0050440 t h e v a l u e o f { a r 0050460 g A R G N A M E } b e { a 0050500 r g E X P } i n t h e c 0050520 a l l w h i c h i s t h e 0050540 c u r r e n t e x p r e s s 0050560 i o n , i . e . a { e d i 0050600 t c o m ? = } c o m m a n d 0050620 f o l l o w i n g a { e d 0050640 i t c o m M A K E } w i l l 0050660 a l w a y s p r i n t { a 0050700 r g A R G N A M E } = { a r g 0050720 E X P } . F o r e x a m 0050740 p l e : \r \r { l i s p c o d e \r 0050760 * P \r ( J S Y S ) \r * ? = \r J S 0051000 Y S [ N ; A C 1 , A C 2 , A C 3 0051020 , R E S U L T A C ] \r * ( M A K 0051040 E N 1 0 ) \r * ( M A K E R 0051060 E S U L T A C 3 ) \r * P \r ( J 0051100 S Y S 1 0 N I L N I L N 0051120 I L 3 ) } \r } } \r \r \r { D e 0051140 f { T y p e E d i t C o m } 0051160 { N a m e Q } \r { T e x t \r 0051200 Q u o t e s t h e c u r r e 0051220 n t e x p r e s s i o n , i 0051240 . e . { l i s p M B D Q U 0051260 O T E } . \r } } \r \r \r { D e f 0051300 { T y p e E d i t C o m } { 0051320 N a m e D } \r { T e x t \r D e 0051340 l e t e s t h e c u r r e n 0051360 t e x p r e s s i o n , t h 0051400 e n p r i n t s n e w c u 0051420 r r e n t e x p r e s s i o n 0051440 , i . e . { l i s p ( : ) 0051460 I P } . \r } } \r \r \r } { E n 0051500 d S u b S e c M i s c e l l 0051520 a n e o u s C o m m a n d s } 0051540 \r \r \r \r \r \r { B e g i n S u b 0051560 S e c C o m m a n d s T h a 0051600 t E v a l u a t e } \r { T i t 0051620 l e C o m m a n d s T h a t 0051640 E v a l u a t e } \r { T e x t 0051660 \r \r \r { i n d e x * P R I M A 0051700 R Y * E E d i t C o m } \r \r 0051720 { D e f { T y p e E d i t C 0051740 o m } { N a m e E } \r { T e 0051760 x t \r C a u s e s t h e e d 0052000 i t o r t o c a l l t h e 0052020 I n t e r l i s p e x e c u 0052040 t i v e { i n d e x L I S P 0052060 X F N } { f n L I S P X } 0052100 g i v i n g i t t h e n e 0052120 x t i n p u t a s a r g u 0052140 m e n t . E x a m p l e : 0052160 \r \r { l i s p c o d e \r * E B 0052200 R E A K ( F I E F U M ) \r ( F 0052220 I E F U M ) \r * E ( F O O ) 0052240 \r \r ( F I E B R O K E N ) \r : 0052260 } \r \r N o t e : { e d i t c 0052300 o m E } o n l y w o r k s 0052320 w h e n w h e n t y p e d 0052340 i n , e . g , { l i s p 0052360 ( I N S E R T D B E F O R E 0052400 E ) } w i l l t r e a t 0052420 { l i s p E } a s a p a 0052440 t t e r n , a n d s e a r c 0052460 h f o r { l i s p E } . \r 0052500 } } \r \r \r { D e f { T y p e 0052520 E d i t C o m } { N a m e E 0052540 } { A r g s X } \r { T e x t 0052560 \r E v a l u a t e s { a r g 0052600 X } , i . e . , p e r f o r 0052620 m s { l i s p ( E V A L { 0052640 a r g X } ) } , a n d p r 0052660 i n t s t h e r e s u l t 0052700 o n t h e t e r m i n a l . 0052720 \r } } \r \r \r { D e f { T y p e 0052740 E d i t C o m } { N a m e 0052760 E } { A r g s X { l i s p 0053000 T } } \r { T e x t \r S a m e 0053020 a s { l i s p ( E { a r g 0053040 x } ) } b u t d o e s n 0053060 o t p r i n t . \r } } \r \r \r T 0053100 h e { l i s p ( E { a r g 0053120 X } ) } a n d { l i s p 0053140 ( E { a r g X } T ) } c 0053160 o m m a n d s a r e m a i n 0053200 l y i n t e n d e d f o r 0053220 u s e b y m a c r o s a n 0053240 d s u b r o u t i n e c a l 0053260 l s t o t h e e d i t o r 0053300 ; t h e u s e r w o u l d 0053320 p r o b a b l y t y p e i 0053340 n a f o r m f o r e v a 0053360 l u a t i o n u s i n g t h 0053400 e m o r e c o n v e n i e n 0053420 t f o r m a t o f t h e 0053440 ( a t o m i c ) { e d i t c o 0053460 m E } c o m m a n d . \r \r \r 0053500 \r \r { D e f { T y p e E d i 0053520 t C o m } \r { N a m e I } { 0053540 A r g s C X { s u b 1 } 0053560 { e l l i p s i s } X { s u b 0053600 N } } \r { T e x t \r E x e c u 0053620 t e s t h e { i t e d i t 0053640 o r c o m m a n d } { l i s 0053660 p ( { a r g C } { a r g 0053700 Y { s u b 1 } } { e l l i p 0053720 s i s } { a r g Y { s u b 0053740 N } } ) } w h e r e { a r g 0053760 Y { s u b i } } = { l i 0054000 s p ( E V A L { a r g X { 0054020 s u b i } } ) } . I f { 0054040 a r g C } i s n o t a n 0054060 a t o m , { a r g C } i 0054100 s e v a l u a t e d a l s o 0054120 . \r \r \r E x a m p l e s : \r \r { 0054140 l i s p ( I 3 ( G E T D 0054160 ' F O O ) ) } w i l l r e p 0054200 l a c e t h e 3 r d e l e 0054220 m e n t o f t h e c u r r 0054240 e n t e x p r e s s i o n w 0054260 i t h t h e d e f i n i t i 0054300 o n o f { l i s p F O O } 0054320 . \r \r { l i s p ( I N F O 0054340 O ( C A R F I E ) ) } w i 0054360 l l a t t a c h t h e v a 0054400 l u e o f { l i s p F O O 0054420 } a n d { l i s p C A R } 0054440 o f t h e v a l u e o f 0054460 { l i s p F I E } t o t 0054500 h e e n d o f t h e c u 0054520 r r e n t e x p r e s s i o n 0054540 . \r \r { l i s p ( I F = F 0054560 O O T ) } w i l l s e a r 0054600 c h f o r a n e x p r e s 0054620 s i o n { f n E Q } t o 0054640 t h e v a l u e o f { l i 0054660 s p F O O } . \r \r { l i s p 0054700 ( I ( C O N D ( ( N U L L 0054720 F L G ) ' - 1 ) ( T 1 ) ) 0054740 F O O ) } , i f { l i s p 0054760 F L G } i s { l i s p N 0055000 I L } , i n s e r t s t h e 0055020 v a l u e o f { l i s p 0055040 F O O } b e f o r e t h e 0055060 f i r s t e l e m e n t o f 0055100 t h e c u r r e n t e x p 0055120 r e s s i o n , o t h e r w i 0055140 s e r e p l a c e s t h e 0055160 f i r s t e l e m e n t b y 0055200 t h e v a l u e o f { l 0055220 i s p F O O } . \r \r \r T h e 0055240 { e d i t c o m I } c o m m 0055260 a n d s e t s a n i n t e 0055300 r n a l f l a g t o i n d 0055320 i c a t e t o t h e s t r 0055340 u c t u r e m o d i f i c a t 0055360 i o n c o m m a n d s { i t 0055400 n o t } t o c o p y e x 0055420 p r e s s i o n ( s ) w h e n 0055440 i n s e r t i n g , r e p l 0055460 a c i n g , o r a t t a c h 0055500 i n g . \r } } \r \r \r \r { D e f 0055520 { T y p e E d i t C o m } { 0055540 N a m e E V A L } \r { T e x t 0055560 \r D o e s a n { f n E V A 0055600 L } o f t h e c u r r e n 0055620 t e x p r e s s i o n . \r } } 0055640 \r \r \r N o t e t h a t { e d 0055660 i t c o m E V A L } , l i n 0055700 e - f e e d , a n d t h e 0055720 { e d i t c o m G O } c o m 0055740 m a n d t o g e t h e r e f 0055760 f e c t i v e l y a l l o w 0056000 t h e u s e r t o " s i n 0056020 g l e - s t e p " a p r o g 0056040 r a m t h r o u g h i t s 0056060 s y m b o l i c d e f i n i t 0056100 i o n . \r \r \r { D e f { T y p 0056120 e E d i t C o m } { N a m e 0056140 G E T V A L } \r { T e x t \r R 0056160 e p l a c e s t h e c u r r 0056200 e n t e x p r e s s i o n b 0056220 y t h e r e s u l t o f 0056240 e v a l u a t i n g i t . \r } 0056260 } \r \r \r { F n D e f { F n N a 0056300 m e # # } \r { F n A r g s C 0056320 O M { s u b 1 } C O M { s u 0056340 b 2 } { e l l i p s i s } 0056360 C O M { s u b N } } \r { T y p 0056400 e N L A M B D A N O S P R E 0056420 A D } \r { T e x t \r A n n l a 0056440 m b d a , n o s p r e a d f 0056460 u n c t i o n ( n o t a c 0056500 o m m a n d ) . I t s v a 0056520 l u e i s w h a t t h e 0056540 c u r r e n t e x p r e s s i 0056560 o n w o u l d b e a f t e 0056600 r e x e c u t i n g t h e 0056620 e d i t c o m m a n d s { a 0056640 r g C O M { S U B 1 } } { 0056660 e l l i p s i s } { a r g C 0056700 O M { S U B N } } s t a r t 0056720 i n g f r o m t h e p r e 0056740 s e n t e d i t c h a i n . 0056760 G e n e r a t e s a n e 0057000 r r o r i f a n y o f { 0057020 a r g C O M { S U B 1 } } 0057040 t h r u C O M { S U B N } 0057060 c a u s e e r r o r s . T 0057100 h e c u r r e n t e d i t 0057120 c h a i n i s n e v e r c 0057140 h a n g e d . \r \r N o t e : 0057160 T h e { e d i t c o m A } , 0057200 { e d i t c o m B } , { e 0057220 d i t c o m : } , { e d i t 0057240 c o m I N S E R T } , { e d 0057260 i t c o m R E P L A C E } , 0057300 a n d { e d i t c o m C H A 0057320 N G E } c o m m a n d s m a 0057340 k e s p e c i a l c h e c k 0057360 s f o r # # f o r m s i 0057400 n t h e e x p r e s s i o n 0057420 s u s e d f o r i n s e r 0057440 t i n g o r r e p l a c i n 0057460 g , a n d u s e a c o p 0057500 y o f # # f o r m i n s 0057520 t e a d ( s e e { P a g e R 0057540 e f T a g E d i t o r A c h 0057560 e c k s } ) . T h u s , { 0057600 l i s p ( I N S E R T ( # # 0057620 3 2 ) A F T E R 1 ) } 0057640 i s e q u i v a l e n t t o 0057660 { l i s p ( I I N S E R T 0057700 ( C O P Y ( # # 3 2 ) ) 0057720 ' A F T E R 1 ) } . \r } } \r 0057740 \r \r E x a m p l e : { l i s p 0057760 ( I R ' X ( # # ( C O 0060000 N S . . Z ) ) ) } r e p l 0060020 a c e s a l l { l i s p X 0060040 } ' s i n t h e c u r r e 0060060 n t e x p r e s s i o n b y 0060100 t h e f i r s t { f n C 0060120 O N S } c o n t a i n i n g 0060140 a { l i s p Z } . \r \r \r T h 0060160 e { e d i t c o m I } c o 0060200 m m a n d i s n o t v e r 0060220 y c o n v e n i e n t f o r 0060240 c o m p u t i n g a n { i 0060260 t e n t i r e } e d i t c 0060300 o m m a n d f o r e x e c u 0060320 t i o n , s i n c e i t c 0060340 o m p u t e s t h e c o m m 0060360 a n d n a m e a n d i t s 0060400 a r g u m e n t s s e p a r 0060420 a t e l y . A l s o , t h 0060440 e { e d i t c o m I } c o 0060460 m m a n d c a n n o t b e 0060500 u s e d t o c o m p u t e 0060520 a n a t o m i c c o m m a n 0060540 d . T h e f o l l o w i n 0060560 g t w o c o m m a n d s p 0060600 r o v i d e m o r e g e n e 0060620 r a l w a y s o f c o m p 0060640 u t i n g c o m m a n d s . \r 0060660 \r \r { D e f { T y p e E d i 0060700 t C o m } { N a m e C O M S 0060720 } { A r g s X { s u b 1 } 0060740 { e l l i p s i s } X { s u 0060760 b M } } \r { T e x t \r E a c h 0061000 { a r g X { s u b i } } 0061020 i s e v a l u a t e d a n d 0061040 i t s v a l u e i s e x 0061060 e c u t e d a s a c o m m 0061100 a n d . \r } } \r \r \r F o r e x 0061120 a m p l e , { l i s p ( C O 0061140 M S ( C O N D ( X ( L I S 0061160 T 1 X ) ) ) ) } w i l l 0061200 r e p l a c e t h e f i r s 0061220 t e l e m e n t o f t h e 0061240 c u r r e n t e x p r e s s 0061260 i o n w i t h t h e v a l 0061300 u e o f { l i s p X } i 0061320 f n o n - { l i s p N I L } 0061340 , o t h e r w i s e d o n 0061360 o t h i n g . T h e e d i 0061400 t o r c o m m a n d { i n d 0061420 e x N I L E d i t C o m } { 0061440 e d i t c o m N I L } i s 0061460 a n o - o p ( { P a g e R e 0061500 f E d i t C o m N I L } ) . 0061520 \r \r \r { D e f { T y p e E d 0061540 i t C o m } \r { N a m e C O M 0061560 S Q } { A r g s C O M { s u 0061600 b 1 } { e l l i p s i s } 0061620 C O M { s u b N } } \r { T e x 0061640 t \r E x e c u t e s { a r g 0061660 C O M { s u b 1 } } { e l l 0061700 i p s i s } { a r g C O M { 0061720 s u b N } } . \r } } \r \r \r { e 0061740 d i t c o m C O M S Q } i s 0061760 m a i n l y u s e f u l i 0062000 n c o n j u n c t i o n w i 0062020 t h t h e { e d i t c o m 0062040 C O M S } c o m m a n d . 0062060 F o r e x a m p l e , s u p 0062100 p o s e t h e u s e r w i 0062120 s h e s t o c o m p u t e 0062140 a n e n t i r e l i s t o 0062160 f c o m m a n d s f o r e 0062200 v a l u a t i o n , a s o p 0062220 p o s e d t o c o m p u t i 0062240 n g e a c h c o m m a n d 0062260 o n e a t a t i m e a s 0062300 d o e s t h e { e d i t c 0062320 o m C O M S } c o m m a n d 0062340 . H e w o u l d t h e n 0062360 w r i t e { l i s p ( C O 0062400 M S ( C O N S ' C O M S Q 0062420 { a r g X } ) ) } w h e r e 0062440 { a r g X } c o m p u t e 0062460 d t h e l i s t o f c o 0062500 m m a n d s , e . g . , \r { l 0062520 i s p ( C O M S ( C O N S 0062540 ' C O M S Q ( G E T P F O O 0062560 ' C O M M A N D S ) ) ) } . \r 0062600 \r \r } { E n d S u b S e c C 0062620 o m m a n d s T h a t E v a 0062640 l u a t e } \r \r \r \r \r \r \r { B e 0062660 g i n S u b S e c C o m m a 0062700 n d s T h a t T e s t } \r { 0062720 T i t l e C o m m a n d s T 0062740 h a t T e s t } \r { T e x t \r 0062760 \r \r \r { i n d e x * P R I M A 0063000 R Y * I F E d i t C o m } \r 0063020 \r { D e f { T y p e E d i t 0063040 C o m } { n a m e I F } { 0063060 A r g s X } \r { T e x t \r G e 0063100 n e r a t e s a n e r r o r 0063120 { i t u n l e s s } t h e 0063140 v a l u e o f { l i s p 0063160 ( E V A L { a r g X } ) } 0063200 i s t r u e . I n o t h 0063220 e r w o r d s , i f { l i 0063240 s p ( E V A L { a r g X } 0063260 ) } c a u s e s a n e r r 0063300 o r o r { l i s p ( E V A 0063320 L { a r g X } ) } = { l i s 0063340 p N I L } , { e d i t c o m 0063360 I F } w i l l c a u s e 0063400 a n e r r o r . \r } } \r \r \r F 0063420 o r s o m e e d i t o r c 0063440 o m m a n d s , t h e o c c 0063460 u r r e n c e o f a n e r 0063500 r o r h a s a w e l l d 0063520 e f i n e d m e a n i n g , 0063540 i . e . , t h e y u s e e 0063560 r r o r s t o b r a n c h 0063600 o n , a s { f n C O N D } 0063620 u s e s { l i s p N I L } 0063640 a n d n o n - { l i s p N 0063660 I L } . F o r e x a m p l 0063700 e , a n e r r o r c o n d 0063720 i t i o n i n a l o c a t 0063740 i o n s p e c i f i c a t i o 0063760 n m a y s i m p l y m e a 0064000 n " n o t t h i s o n e , 0064020 t r y t h e n e x t . " 0064040 T h u s t h e l o c a t i 0064060 o n s p e c i f i c a t i o n 0064100 { i n d e x L o c a t i o n 0064120 s p e c i f i c a t i o n i n 0064140 t h e e d i t o r } { l 0064160 i s p ( I P L U S ( E ( O 0064200 R ( N U M B E R P ( # # 3 0064220 ) ) ( E R R O R ! ) ) T ) ) 0064240 } s p e c i f i e s t h e 0064260 f i r s t { l i s p I P L U 0064300 S } w h o s e s e c o n d 0064320 a r g u m e n t i s a n u 0064340 m b e r . T h e { e d i t 0064360 c o m I F } c o m m a n d , 0064400 b y e q u a t i n g { l i 0064420 s p N I L } t o e r r o r 0064440 , p r o v i d e s a m o r 0064460 e n a t u r a l w a y o f 0064500 a c c o m p l i s h i n g t 0064520 h e s a m e r e s u l t . 0064540 T h u s , a n e q u i v a 0064560 l e n t l o c a t i o n s p 0064600 e c i f i c a t i o n i s { 0064620 l i s p ( I P L U S ( I F 0064640 ( N U M B E R P ( # # 3 ) ) 0064660 ) ) } . \r \r \r T h e { e d i t 0064700 c o m I F } c o m m a n d 0064720 c a n a l s o b e u s e d 0064740 t o s e l e c t b e t w e 0064760 e n t w o a l t e r n a t e 0065000 l i s t s o f c o m m a n 0065020 d s f o r e x e c u t i o n 0065040 . \r \r \r { D e f { T y p e E 0065060 d i t C o m } \r { n a m e I F 0065100 } { A r g s X C O M S { s 0065120 u b 1 } C O M S { s u b 2 0065140 } } \r { T e x t \r I f { l i s 0065160 p ( E V A L { a r g X } ) 0065200 } i s t r u e , e x e c u 0065220 t e { a r g C O M S { s u b 0065240 1 } } ; i f { l i s p ( 0065260 E V A L { a r g X } ) } c 0065300 a u s e s a n e r r o r o 0065320 r i s e q u a l t o { l 0065340 i s p N I L } , e x e c u t 0065360 e { a r g C O M S { s u b 0065400 2 } } . \r \r T h u s { e d i t 0065420 c o m I F } i s e q u i v 0065440 a l e n t t o \r \r { l i s p c 0065460 o d e \r ( C O M S ( C O N S 0065500 ' C O M S Q \r 0065520 ( C O N D \r 0065540 ( ( C A R ( N 0065560 L S E T Q ( E V A L X ) ) ) 0065600 \r 0065620 { a r g C O M S { s u b 0065640 1 } } ) \r 0065660 ( T { a r g C O 0065700 M S { s u b 2 } } ) ) ) ) } \r 0065720 } } \r \r \r \r F o r e x a m p l 0065740 e , t h e c o m m a n d { 0065760 l i s p ( I F ( R E A D P 0066000 T ) N I L ( P ) ) } w i l 0066020 l p r i n t t h e c u r r 0066040 e n t e x p r e s s i o n p 0066060 r o v i d e d t h e i n p u 0066100 t b u f f e r i s e m p t 0066120 y . \r \r \r { D e f { T y p e 0066140 E d i t C o m } { n a m e I 0066160 F } { A r g s X C O M S { 0066200 s u b 1 } } \r { T e x t \r I f 0066220 { l i s p ( E V A L { a r 0066240 g X } ) } i s t r u e , 0066260 e x e c u t e { a r g C O M 0066300 S { s u b 1 } } ; o t h e r 0066320 w i s e g e n e r a t e a n 0066340 e r r o r . \r } } \r \r \r \r { D 0066360 e f { T y p e E d i t C o m 0066400 } \r { n a m e L P } { A r g 0066420 s C O M S { s u b 1 } { e 0066440 l l i p s i s } C O M S { s u 0066460 b N } } \r { T e x t \r R e p e 0066500 a t e d l y e x e c u t e s 0066520 { a r g C O M S { s u b 1 } 0066540 } { e l l i p s i s } { a r 0066560 g C O M S { s u b N } } \r u 0066600 n t i l a n e r r o r o c 0066620 c u r s . \r \r F o r e x a m p 0066640 l e , { l i s p ( L P F 0066660 P R I N T ( N T ) ) } w i 0066700 l l a t t a c h a { l i s 0066720 p T } a t t h e e n d 0066740 o f e v e r y { f n P R I 0066760 N T } e x p r e s s i o n . 0067000 { l i s p ( L P F P R I 0067020 N T ( I F ( # # 3 ) N I 0067040 L ( ( N T ) ) ) ) } w i l 0067060 l a t t a c h a { l i s p 0067100 T } a t t h e e n d o 0067120 f e a c h p r i n t e x p 0067140 r e s s i o n w h i c h d o 0067160 e s n o t a l r e a d y h 0067200 a v e a s e c o n d a r g 0067220 u m e n t . T h e f o r m 0067240 { l i s p ( # # 3 ) } w 0067260 i l l c a u s e a n e r r 0067300 o r i f t h e e d i t c 0067320 o m m a n d { l i s p 3 } 0067340 c a u s e s a n e r r o r , 0067360 t h e r e b y s e l e c t i 0067400 n g { l i s p ( ( N T ) ) 0067420 } a s t h e l i s t o f 0067440 c o m m a n d s t o b e 0067460 e x e c u t e d . T h e { e 0067500 d i t c o m I F } c o u l d 0067520 a l s o b e w r i t t e n 0067540 a s { l i s p ( I F ( C 0067560 D D R ( # # ) ) N I L ( ( 0067600 N T ) ) ) } . \r \r W h e n a 0067620 n e r r o r o c c u r s , 0067640 { e d i t c o m L P } p r i 0067660 n t s { l i s p { a r g N 0067700 } O C C U R R E N C E S } { i 0067720 n d e x O C C U R R E N C E S 0067740 ( P r i n t e d b y E d i 0067760 t o r ) } w h e r e { a r g 0070000 N } i s t h e n u m b e 0070020 r o f t i m e s t h e c 0070040 o m m a n d s w e r e s u c 0070060 c e s s f u l l y e x e c u t 0070100 e d . T h e e d i t c h 0070120 a i n i s l e f t a s o 0070140 f t h e l a s t c o m p l 0070160 e t e s u c c e s s f u l e 0070200 x e c u t i o n o f { a r g 0070220 C O M S { s u b 1 } } { e 0070240 l l i p s i s } { a r g C O 0070260 M S { s u b N } } . \r } } \r \r 0070300 \r { D e f { T y p e E d i t 0070320 C o m } \r { n a m e L P Q } 0070340 { A r g s C O M S { s u b 1 0070360 } { e l l i p s i s } C O M 0070400 S { s u b N } } \r { T e x t \r 0070420 S a m e a s { e d i t c o m 0070440 L P } b u t d o e s n o 0070460 t p r i n t t h e m e s s 0070500 a g e { l i s p { a r g N 0070520 } O C C U R R E N C E S } . \r 0070540 } } \r \r \r I n o r d e r t o 0070560 p r e v e n t n o n - t e r 0070600 m i n a t i n g l o o p s , 0070620 b o t h { i n d e x L P E 0070640 d i t C o m } { e d i t c o m 0070660 L P } \r a n d { i n d e x L 0070700 P Q E d i t C o m } { e d i t 0070720 c o m L P Q } t e r m i n a 0070740 t e w h e n t h e n u m b 0070760 e r o f i t e r a t i o n s 0071000 r e a c h e s { i n d e x 0071020 M A X L O O P V a r } { v a r 0071040 M A X L O O P } , i n i t i 0071060 a l l y s e t t o 3 0 . { 0071100 i n d e x M A X L O O P E X 0071120 C E E D E D ( P r i n t e d 0071140 b y E d i t o r ) } { v a 0071160 r M A X L O O P } c a n b 0071200 e s e t t o { l i s p N 0071220 I L } , w h i c h i s e q 0071240 u i v a l e n t t o s e t t 0071260 i n g i t t o i n f i n i 0071300 t y . S i n c e t h e e 0071320 d i t c h a i n i s l e f 0071340 t a s o f t h e l a s t 0071360 s u c c e s s f u l c o m p 0071400 l e t i o n o f t h e l o 0071420 o p , t h e u s e r c a n 0071440 s i m p l y c o n t i n u e 0071460 t h e { e d i t c o m L P 0071500 } c o m m a n d w i t h { 0071520 p a c o m R E D O } ( { P a 0071540 g e R e f P A C o m R E D O 0071560 } ) . \r \r \r { D e f { T y p e 0071600 E d i t C o m } { n a m e 0071620 S H O W } { A r g s X } \r { 0071640 T e x t \r { a r g X } i s 0071660 a l i s t o f p a t t e r 0071700 n s . { e d i t c o m S H 0071720 O W } d o e s a { e d i t 0071740 c o m L P Q } p r i n t i n 0071760 g a l l i n s t a n c e s 0072000 o f t h e i n d i c a t e d 0072020 e x p r e s s i o n ( s ) , 0072040 e . g . { l i s p ( S H O W 0072060 F O O ( S E T Q F I E & 0072100 ) ) } w i l l p r i n t a 0072120 l l { l i s p F O O } ' s 0072140 a n d a l l { l i s p ( S 0072160 E T Q F I E & ) } ' s . 0072200 G e n e r a t e s a n e r r 0072220 o r i f t h e r e a r e n 0072240 ' t a n y i n s t a n c e s 0072260 o f t h e e x p r e s s i 0072300 o n ( s ) . \r } } \r \r \r { D e f 0072320 { T y p e E d i t C o m } 0072340 { n a m e E X A M } { A r g 0072360 s X } \r { T e x t \r L i k e 0072400 { e d i t c o m S H O W } e 0072420 x c e p t c a l l s t h e 0072440 e d i t o r r e c u r s i v e 0072460 l y ( v i a t h e { i n d 0072500 e x T T Y : E d i t C o m } 0072520 { e d i t c o m T T Y : } c 0072540 o m m a n d , s e e { P a g 0072560 e R e f E d i t C o m T T Y 0072600 : } ) o n e a c h i n s t 0072620 a n c e o f t h e i n d i 0072640 c a t e d e s p r e s s i o n 0072660 ( s ) s o t h a t t h e 0072700 u s e r c a n e x a m i n e 0072720 a n d / o r c h a n g e t 0072740 h e m . \r } } \r \r \r { D e f { 0072760 T y p e E d i t C o m } \r { n 0073000 a m e O R R } { A r g s C 0073020 O M S { s u b 1 } { e l l i 0073040 p s i s } C O M S { s u b N 0073060 } } \r { T e x t \r { e d i t c o 0073100 m O R R } b e g i n s b y 0073120 e x e c u t i n g { a r g 0073140 C O M S { s u b 1 } } , a 0073160 l i s t o f c o m m a n d s 0073200 . \r I f n o e r r o r o c 0073220 c u r s , { e d i t c o m O 0073240 R R } i s f i n i s h e d . 0073260 O t h e r w i s e , { e d 0073300 i t c o m O R R } r e s t o 0073320 r e s t h e e d i t c h a 0073340 i n t o i t s o r i g i n 0073360 a l v a l u e , a n d c o 0073400 n t i n u e s b y e x e c u 0073420 t i n g { a r g C O M S { s 0073440 u b 2 } } , e t c . I f 0073460 n o n e o f t h e c o m 0073500 m a n d l i s t s e x e c u 0073520 t e w i t h o u t e r r o r 0073540 s , i . e . , t h e { e d 0073560 i t c o m O R R } " d r o p 0073600 s o f f t h e e n d " , 0073620 { e d i t c o m O R R } g e 0073640 n e r a t e s a n e r r o r 0073660 . O t h e r w i s e , t h 0073700 e e d i t c h a i n i s 0073720 l e f t a s o f t h e c 0073740 o m p l e t i o n o f t h e 0073760 f i r s t c o m m a n d l 0074000 i s t w h i c h e x e c u t 0074020 e s w i t h o u t a n e r 0074040 r o r . \r \r { l i s p N I L } 0074060 a s a c o m m a n d l i 0074100 s t i s p e r f e c t l y 0074120 l e g a l , a n d w i l l 0074140 a l w a y s e x e c u t e s 0074160 u c c e s s f u l l y . T h 0074200 u s , m a k i n g t h e l 0074220 a s t " a r g u m e n t " t 0074240 o { e d i t c o m O R R } 0074260 b e { l i s p N I L } w i 0074300 l l i n s u r e t h a t t 0074320 h e { e d i t c o m O R R } 0074340 n e v e r c a u s e s a n 0074360 e r r o r . A n y o t h 0074400 e r a t o m i s t r e a t 0074420 e d a s { l i s p ( { a r 0074440 g A T O M } ) } , i . e . , 0074460 t h e a b o v e e x a m p 0074500 l e c o u l d b e w r i t 0074520 t e n a s { l i s p ( O R 0074540 R N X ! N X N I L ) } . \r 0074560 } } \r \r \r F o r e x a m p l e 0074600 , { l i s p ( O R R ( N X 0074620 ) ( ! N X ) N I L ) } w i 0074640 l l p e r f o r m a { e d 0074660 i t c o m N X } , i f p o 0074700 s s i b l e , o t h e r w i s 0074720 e a { e d i t c o m ! N X 0074740 } , i f p o s s i b l e , 0074760 o t h e r w i s e d o n o t 0075000 h i n g . S i m i l a r l y 0075020 , { l i s p D E L E T E } 0075040 c o u l d b e w r i t t e n 0075060 a s { l i s p ( O R R ( 0075100 U P ( 1 ) ) ( B K U P ( 0075120 2 ) ) ( U P ( : N I L ) ) 0075140 ) } . \r \r \r } { E n d S u b S 0075160 e c C o m m a n d s T h a t 0075200 T e s t } \r \r \r \r \r \r \r { B e 0075220 g i n S u b S e c E d i t 0075240 M a c r o s } \r { T i t l e E 0075260 d i t M a c r o s } \r { T e x 0075300 t \r \r \r { i n d e x * P R I M 0075320 A R Y * M a c r o s i n t 0075340 h e e d i t o r } \r { i n d e 0075360 x * P R I M A R Y * E d i t 0075400 m a c r o s } \r \r { T a g E 0075420 d i t M a c r o s } \r \r \r M a n 0075440 y o f t h e m o r e s o 0075460 p h i s t i c a t e d b r a n 0075500 c h i n g c o m m a n d s i 0075520 n t h e e d i t o r , s u 0075540 c h a s { e d i t c o m O 0075560 R R } , { e d i t c o m I F 0075600 } , e t c . , a r e m o s 0075620 t o f t e n u s e d i n 0075640 c o n j u n c t i o n w i t h 0075660 e d i t m a c r o s . T 0075700 h e m a c r o f e a t u r e 0075720 p e r m i t s t h e u s e 0075740 r t o d e f i n e n e w 0075760 c o m m a n d s a n d t h e 0076000 r e b y e x p a n d t h e 0076020 e d i t o r ' s r e p e r t o 0076040 i r e , o r r e d e f i n e 0076060 e x i s t i n g c o m m a n 0076100 d s ( t o r e f e r t o 0076120 t h e o r i g i n a l d e f 0076140 i n i t i o n o f a b u i 0076160 l t - i n c o m m a n d w h 0076200 e n r e d e f i n i n g i t 0076220 v i a a m a c r o , u s 0076240 e t h e { e d i t c o m O 0076260 R I G I N A L } c o m m a n d 0076300 , { P a g e R e f E d i t C 0076320 o m O R I G I N A L } ) . \r \r 0076340 M a c r o s a r e d e f i n 0076360 e d b y u s i n g t h e 0076400 { e d i t c o m M } c o m m 0076420 a n d : \r \r \r { i n d e x * P 0076440 R I M A R Y * M E d i t C o 0076460 m } \r \r { D e f { T y p e E 0076500 d i t C o m } \r { n a m e M } 0076520 { A r g s C C O M S { s u 0076540 b 1 } { e l l i p s i s } 0076560 C O M S { s u b N } } \r { T e 0076600 x t \r F o r { a r g C } a 0076620 n a t o m , { e d i t c o m 0076640 M } d e f i n e s { a r g 0076660 C } a s a n a t o m i c 0076700 c o m m a n d . I f a 0076720 m a c r o i s r e d e f i n 0076740 e d , i t s n e w d e f i 0076760 n i t i o n r e p l a c e s 0077000 i t s o l d . E x e c u t 0077020 i n g { a r g C } i s t 0077040 h e n t h e s a m e a s 0077060 e x e c u t i n g t h e l i 0077100 s t o f c o m m a n d s { 0077120 a r g C O M S { s u b 1 } } 0077140 { e l l i p s i s } { a r g 0077160 C O M S { s u b N } } . \r } 0077200 } \r \r \r F o r e x a m p l e , 0077220 { l i s p ( M B P B K 0077240 U P P ) } w i l l d e f i 0077260 n e { l i s p B P } a s 0077300 a n a t o m i c c o m m a n 0077320 d w h i c h d o e s t h r 0077340 e e t h i n g s , a { l i 0077360 s p B K } , a n d { l i s 0077400 p U P } , a n d a { l i 0077420 s p P } . M a c r o s c 0077440 a n u s e c o m m a n d s 0077460 d e f i n e d b y m a c r o 0077500 s a s w e l l a s b u i 0077520 l t i n c o m m a n d s i 0077540 n t h e i r d e f i n i t i 0077560 o n s . F o r e x a m p l 0077600 e , s u p p o s e { l i s p 0077620 Z } i s d e f i n e d b 0077640 y { l i s p ( M Z - 1 0077660 ( I F ( R E A D P T ) N I 0077700 L ( P ) ) ) } , i . e . , 0077720 { l i s p Z } d o e s a 0077740 { l i s p - 1 } , a n d t 0077760 h e n i f n o t h i n g h 0100000 a s b e e n t y p e d , a 0100020 { l i s p P } . N o w 0100040 w e c a n d e f i n e { l 0100060 i s p Z Z } b y { l i s p 0100100 ( M Z Z - 1 Z ) } , a 0100120 n d { l i s p Z Z Z } b y 0100140 { l i s p ( M Z Z Z - 1 0100160 - 1 Z ) } o r { l i s p 0100200 ( M Z Z Z - 1 Z Z ) } . 0100220 \r \r \r M a c r o s c a n a l 0100240 s o d e f i n e l i s t c 0100260 o m m a n d s , i . e . , c 0100300 o m m a n d s t h a t t a k 0100320 e a r g u m e n t s . \r \r \r { 0100340 D e f { T y p e E d i t C o 0100360 m } { n a m e M } { A r g 0100400 s C A R G { s u b 1 } { 0100420 e l l i p s i s } A R G { s u 0100440 b N } C O M S { s u b 1 } 0100460 { e l l i p s i s } C O M S 0100500 { s u b M } } \r { P r i n t N 0100520 a m e { l i s p ( M ( { a 0100540 r g C } ) ( { a r g A R G 0100560 { s u b 1 } } { e l l i p s 0100600 i s } { a r g A R G { s u b 0100620 N } } ) { a r g C O M S { 0100640 s u b 1 } } { e l l i p s i 0100660 s } { a r g C O M S { s u b 0100700 M } } ) } } \r { T e x t \r { a 0100720 r g C } a n a t o m . 0100740 { e d i t c o m M } d e f i 0100760 n e s { a r g C } a s a 0101000 l i s t c o m m a n d . 0101020 E x e c u t i n g { l i s p 0101040 ( { a r g C } { a r g E { 0101060 s u b 1 } } { e l l i p s i 0101100 s } { a r g E { s u b N } 0101120 } ) } i s t h e n p e r f 0101140 o r m e d b y s u b s t i t 0101160 u t i n g { a r g E { s u b 0101200 1 } } f o r { a r g A R 0101220 G { s u b 1 } } , { e l l i 0101240 p s i s } { a r g E { s u b 0101260 N } } f o r { a r g A R 0101300 G { s u b N } } t h r o u g 0101320 h o u t { a r g C O M S { s 0101340 u b 1 } } { e l l i p s i s 0101360 } { a r g C O M S { s u b 0101400 M } } , a n d t h e n e x 0101420 e c u t i n g { a r g C O M 0101440 S { s u b 1 } } { e l l i p 0101460 s i s } { a r g C O M S { s 0101500 u b M } } . \r } } \r \r \r F o r 0101520 e x a m p l e , w e c o u 0101540 l d d e f i n e a m o r e 0101560 g e n e r a l { l i s p B 0101600 P } b y { l i s p ( M ( 0101620 B P ) ( N ) ( B K N ) U 0101640 P P ) } . T h u s , { l 0101660 i s p ( B P 3 ) } w o u l 0101700 d p e r f o r m { l i s p 0101720 ( B K 3 ) } , f o l l o w e 0101740 d b y a n { l i s p U P 0101760 } , f o l l o w e d b y a 0102000 { l i s p P } . \r \r \r A l 0102020 i s t c o m m a n d c a n 0102040 b e d e f i n e d v i a a 0102060 m a c r o s o a s t o 0102100 t a k e a f i x e d o r 0102120 i n d e f i n i t e n u m b e 0102140 r o f " a r g u m e n t s " 0102160 , a s w i t h s p r e a d 0102200 v s . n o s p r e a d f u 0102220 n c t i o n s . T h e f o 0102240 r m g i v e n a b o v e s 0102260 p e c i f i e d a m a c r o 0102300 w i t h a f i x e d n u 0102320 m b e r o f a r g u m e n t 0102340 s , a s i n d i c a t e d 0102360 b y i t s a r g u m e n t 0102400 l i s t . I f t h e " a 0102420 r g u m e n t l i s t " i s 0102440 { i t a t o m i c } , t h 0102460 e c o m m a n d t a k e s 0102500 a n i n d e f i n i t e n u 0102520 m b e r o f a r g u m e n t 0102540 s . \r \r \r { D e f { T y p e 0102560 E d i t C o m } \r { n a m e M 0102600 } { A r g s C A R G C O 0102620 M S { s u b 1 } { e l l i p 0102640 s i s } C O M S { s u b M } 0102660 } \r { P r i n t N a m e { l i 0102700 s p ( M ( { a r g C } ) 0102720 { a r g A R G } { a r g C 0102740 O M S { s u b 1 } } { e l l 0102760 i p s i s } { a r g C O M S 0103000 { s u b M } } ) } } \r { T e x 0103020 t \r I f { a r g C } , { a 0103040 r g A R G } a r e b o t h 0103060 a t o m s , t h i s d e f 0103100 i n e s { a r g C } a s 0103120 a l i s t c o m m a n d . 0103140 E x e c u t i n g { l i s p 0103160 ( { a r g C } { a r g E 0103200 { s u b 1 } } { e l l i p s 0103220 i s } { a r g E { s u b N 0103240 } } ) } i s p e r f o r m e 0103260 d b y s u b s t i t u t i n 0103300 g { l i s p ( { a r g E { 0103320 s u b 1 } } { e l l i p s i 0103340 s } { a r g E { s u b N } 0103360 } ) } , i . e . , { f n C 0103400 D R } o f t h e c o m m a 0103420 n d , f o r { a r g A R G 0103440 } t h r o u g h o u t { a r 0103460 g C O M S { s u b 1 } } { 0103500 e l l i p s i s } { a r g C 0103520 O M S { s u b M } } , a n d 0103540 t h e n e x e c u t i n g 0103560 { a r g C O M S { s u b 1 } 0103600 } { e l l i p s i s } { a r 0103620 g C O M S { s u b M } } . \r 0103640 } } \r \r \r F o r e x a m p l e 0103660 , t h e c o m m a n d { e 0103700 d i t c o m 2 N D } ( { P a 0103720 g e R e f E d i t C o m 2 N 0103740 D } ) , c o u l d b e d e 0103760 f i n e d a s a m a c r o 0104000 b y { l i s p ( M ( 2 N 0104020 D ) X ( O R R ( ( L C . 0104040 X ) ( L C . X ) ) ) ) } 0104060 . \r \r \r N o t e t h a t f o 0104100 r a l l e d i t o r c o m 0104120 m a n d s , " b u i l t i n 0104140 " c o m m a n d s a s w e 0104160 l l a s c o m m a n d s d 0104200 e f i n e d b y m a c r o s 0104220 a s a t o m i c c o m m a 0104240 n d s a n d l i s t d e f 0104260 i n i t i o n s a r e { i t 0104300 c o m p l e t e l y } i n d 0104320 e p e n d e n t . I n o t 0104340 h e r w o r d s , t h e e 0104360 x i s t e n c e o f a n a 0104400 t o m i c d e f i n i t i o n 0104420 f o r { a r g C } i n 0104440 { i t n o } w a y a f f e 0104460 c t s t h e t r e a t m e n 0104500 t o f { a r g C } w h e 0104520 n i t a p p e a r s a s 0104540 { f n C A R } o f a l i 0104560 s t c o m m a n d , a n d 0104600 t h e e x i s t e n c e o f 0104620 a l i s t d e f i n i t i 0104640 o n f o r { a r g C } i 0104660 n { i t n o } w a y a f 0104700 f e c t s t h e t r e a t m 0104720 e n t o f { a r g C } w 0104740 h e n i t a p p e a r s a 0104760 s a n a t o m . I n p 0105000 a r t i c u l a r , { a r g 0105020 C } c a n b e u s e d a 0105040 s t h e n a m e o f e i 0105060 t h e r a n a t o m i c c 0105100 o m m a n d , o r a l i s 0105120 t c o m m a n d , o r b o 0105140 t h . I n t h e l a t t 0105160 e r c a s e , t w o e n t 0105200 i r e l y d i f f e r e n t 0105220 d e f i n i t i o n s c a n 0105240 b e u s e d . \r \r \r N o t e 0105260 a l s o t h a t o n c e { 0105300 a r g C } i s d e f i n e 0105320 d a s a n a t o m i c c 0105340 o m m a n d v i a a m a c 0105360 r o d e f i n i t i o n , i 0105400 t w i l l { i t n o t } 0105420 b e s e a r c h e d f o r 0105440 w h e n u s e d i n a l 0105460 o c a t i o n s p e c i f i c 0105500 a t i o n , u n l e s s i t 0105520 i s p r e c e d e d b y 0105540 a n { e d i t c o m F } . 0105560 T h u s { l i s p ( I N S 0105600 E R T - - B E F O R E B P 0105620 ) } w o u l d n o t s e a 0105640 r c h f o r { l i s p B P 0105660 } , b u t i n s t e a d p 0105700 e r f o r m a { l i s p B 0105720 K } , a n d { l i s p U P 0105740 } , a n d a { l i s p P 0105760 } , a n d t h e n d o t 0106000 h e i n s e r t i o n . T 0106020 h e c o r r e s p o n d i n g 0106040 a l s o h o l d s t r u e 0106060 f o r l i s t c o m m a n 0106100 d s . \r \r \r O c c a s i o n a l 0106120 l y , t h e u s e r w i l 0106140 l w a n t t o e m p l o y 0106160 t h e { e d i t c o m S } 0106200 c o m m a n d i n a m a 0106220 c r o t o s a v e s o m e 0106240 t e m p o r a r y r e s u l 0106260 t . F o r e x a m p l e , 0106300 t h e { e d i t c o m S W 0106320 } c o m m a n d c o u l d 0106340 b e d e f i n e d a s : \r \r 0106360 { l i s p c o d e \r ( M ( S W 0106400 ) ( N M ) \r ( N T H 0106420 N ) \r ( S F O O 1 0106440 ) \r M A R K \r 0 0106460 \r ( N T H M ) \r 0106500 ( S F I E 1 ) \r ( 0106520 I 1 F O O ) \r _ _ \r 0106540 ( I 1 F I E ) ) } \r 0106560 \r \r { n o t e A m o r e e 0106600 l e g a n t d e f i n i t i o 0106620 n w o u l d b e : ( M ( 0106640 S W ) ( N M ) ( N T H N 0106660 ) M A R K 0 ( N T H M ) 0106700 ( S F I E 1 ) ( I 1 0106720 ( # # _ 1 ) ) _ _ ( I 0106740 1 F I E ) ) , b u t t h i 0106760 s w o u l d s t i l l u s 0107000 e o n e f r e e v a r i a 0107020 b l e . } \r \r \r S i n c e t h 0107040 i s v e r s i o n o f { e 0107060 d i t c o m S W } s e t s 0107100 { l i s p F O O } a n d { 0107120 l i s p F I E } , u s i n g 0107140 { e d i t c o m S W } m a 0107160 y h a v e u n d e s i r a b 0107200 l e s i d e e f f e c t s , 0107220 e s p e c i a l l y w h e n 0107240 t h e e d i t o r \r w a s 0107260 c a l l e d f r o m d e e p 0107300 i n a c o m p u t a t i o 0107320 n , w e w o u l d h a v e 0107340 t o b e c a r e f u l t 0107360 o m a k e u p u n i q u e 0107400 n a m e s f o r d u m m y 0107420 v a r i a b l e s u s e d 0107440 i n e d i t m a c r o s , 0107460 w h i c h i s b o t h e r s 0107500 o m e . \r F u r t h e r m o r e 0107520 , i t w o u l d b e i m 0107540 p o s s i b l e t o d e f i 0107560 n e a c o m m a n d t h a 0107600 t c a l l e d i t s e l f 0107620 r e c u r s i v e l y w h i l 0107640 e s e t t i n g f r e e v 0107660 a r i a b l e s . T h e { e 0107700 d i t c o m B I N D } c o m 0107720 m a n d s o l v e s b o t h 0107740 p r o b l e m s . \r \r \r { D e 0107760 f { T y p e E d i t C o m } 0110000 \r { n a m e B I N D } { A r 0110020 g s C O M S { s u b 1 } { 0110040 e l l i p s i s } C O M S { s 0110060 u b N } } \r { T e x t \r B i n 0110100 d s t h r e e d u m m y v 0110120 a r i a b l e s { l i s p # 0110140 1 } , { l i s p # 2 } , { 0110160 l i s p # 3 } , ( i n i t i 0110200 a l i z e d t o { l i s p 0110220 N I L } ) , a n d t h e n 0110240 e x e c u t e s t h e e d i 0110260 t c o m m a n d s { a r g 0110300 C O M S { s u b 1 } } { e l 0110320 l i p s i s } { a r g C O M 0110340 S { s u b N } } . { e d i 0110360 t c o m B I N D } u s e s 0110400 a { l i s p P R O G } t o 0110420 m a k e t h e s e b i n d 0110440 i n g s , s o t h e y a r 0110460 e o n l y i n e f f e c t 0110500 w h i l e t h e c o m m a 0110520 n d s a r e b e i n g e x 0110540 e c u t e d a n d { e d i t 0110560 c o m B I N D } s c a n b 0110600 e u s e d r e c u r s i v e 0110620 l y ; t h e v a r i a b l e 0110640 s { l i s p # 1 } , { l i 0110660 s p # 2 } , a n d { l i s 0110700 p # 3 } w i l l b e r e 0110720 b o u n d e a c h t i m e 0110740 { e d i t c o m B I N D } i 0110760 s i n v o k e d . \r } } \r \r \r 0111000 T h u s , w e c a n w r i 0111020 t e { e d i t c o m S W } 0111040 s a f e l y a s : \r \r { l i s 0111060 p c o d e \r ( M ( S W ) ( N 0111100 M ) \r ( B I N D ( N 0111120 T H N ) \r 0111140 ( S # 1 1 ) \r 0111160 M A R K \r 0111200 0 \r ( N 0111220 T H M ) \r 0111240 ( S # 2 1 ) \r 0111260 ( I 1 # 1 ) \r 0111300 _ _ \r 0111320 ( I 1 # 2 ) ) ) } \r \r 0111340 \r { D e f { T y p e E d i t 0111360 C o m } \r { n a m e O R I G I 0111400 N A L } { A r g s C O M S { 0111420 s u b 1 } { e l l i p s i s 0111440 } C O M S { s u b N } } \r { 0111460 T e x t \r E x e c u t e s { a 0111500 r g C O M S { s u b 1 } } 0111520 { e l l i p s i s } { a r g 0111540 C O M S { s u b N } } w i t 0111560 h o u t r e g a r d t o m 0111600 a c r o d e f i n i t i o n s 0111620 . U s e f u l f o r r e 0111640 d e f i n i n g a b u i l t 0111660 i n c o m m a n d i n t 0111700 e r m s o f i t s e l f . , 0111720 i . e . e f f e c t i v e l 0111740 y a l l o w s u s e r t o 0111760 " a d v i s e " e d i t c 0112000 o m m a n d s . \r } } \r \r \r U s 0112020 e r m a c r o s a r e s t 0112040 o r e d o n a l i s t { 0112060 i n d e x * P R I M A R Y * 0112100 U S E R M A C R O S V a r } { 0112120 v a r U S E R M A C R O S } . 0112140 T h e f i l e p a c k a 0112160 g e c o m m a n d { i n d e 0112200 x U S E R M A C R O S F i l 0112220 e C o m } { f i l e c o m U S 0112240 E R M A C R O S } ( { P a g e 0112260 R e f F i l e C o m U S E R 0112300 M A C R O S } ) , i s a v a 0112320 i l a b l e f o r d u m p i 0112340 n g a l l o r s e l e c t 0112360 e d u s e r m a c r o s . \r 0112400 \r \r \r } { E n d S u b S e c 0112420 E d i t M a c r o s } \r \r \r \r 0112440 \r \r { B e g i n S u b S e c 0112460 U n d o } \r { T i t l e U n d 0112500 o } \r { T e x t \r \r \r { i n d e 0112520 x * P R I M A R Y * U n d o 0112540 i n g i n t h e e d i t o 0112560 r } \r \r E a c h c o m m a n d 0112600 t h a t c a u s e s s t r 0112620 u c t u r e m o d i f i c a t 0112640 i o n a u t o m a t i c a l l 0112660 y a d d s a n e n t r y 0112700 t o t h e f r o n t o f 0112720 { i n d e x * P R I M A R Y * 0112740 U N D O L S T V a r } { v a 0112760 r U N D O L S T } t h a t 0113000 c o n t a i n s t h e i n f 0113020 o r m a t i o n r e q u i r e 0113040 d t o r e s t o r e a l l 0113060 p o i n t e r s t h a t w 0113100 e r e c h a n g e d b y t 0113120 h a t c o m m a n d . \r \r { i 0113140 n d e x * P R I M A R Y * U 0113160 N D O E d i t C o m } \r \r { D 0113200 e f { T y p e E d i t C o m 0113220 } { N a m e U N D O } \r { T 0113240 e x t \r U n d o e s t h e l 0113260 a s t , i . e . , m o s t 0113300 r e c e n t , s t r u c t u r 0113320 e m o d i f i c a t i o n c 0113340 o m m a n d t h a t h a s 0113360 n o t y e t b e e n u n d 0113400 o n e , a n d p r i n t s 0113420 t h e n a m e o f t h a t 0113440 c o m m a n d , e . g . , 0113460 { i n d e x u n d o n e ( P 0113500 r i n t e d b y E d i t o r 0113520 ) } { l i s p M B D u n d o 0113540 n e } . T h e e d i t c 0113560 h a i n i s t h e n { i t 0113600 e x a c t l y } w h a t i 0113620 t w a s b e f o r e t h e 0113640 " u n d o n e " c o m m a n 0113660 d h a d b e e n p e r f o 0113700 r m e d . I f t h e r e 0113720 a r e n o c o m m a n d s 0113740 t o u n d o , { e d i t c o 0113760 m U N D O } t y p e s { l 0114000 i s p n o t h i n g s a v e 0114020 d } . { i n d e x n o t h i n 0114040 g s a v e d ( P r i n t e d 0114060 b y E d i t o r ) } \r } } \r 0114100 \r \r { i n d e x X { N a m e 0114120 U N D O } { T y p e E d i t 0114140 C o m } \r { T e x t { l i s p 0114160 ! U N D O } } } \r \r \r { D e 0114200 f { T y p e E d i t C o m } 0114220 { N a m e ! U N D O } \r { T 0114240 e x t \r U n d o e s a l l m 0114260 o d i f i c a t i o n s p e r 0114300 f o r m e d d u r i n g t h 0114320 i s e d i t i n g s e s s i 0114340 o n , i . e . t h i s c a 0114360 l l t o t h e e d i t o r 0114400 . A s e a c h c o m m a 0114420 n d i s u n d o n e , i t 0114440 s n a m e i s p r i n t e 0114460 d a l a { e d i t c o m 0114500 U N D O } . I f t h e r e 0114520 i s n o t h i n g t o b 0114540 e u n d o n e , { e d i t c 0114560 o m ! U N D O } p r i n t s 0114600 { l i s p n o t h i n g s 0114620 a v e d } . { i n d e x n o t 0114640 h i n g s a v e d ( P r i n 0114660 t e d b y E d i t o r ) } \r 0114700 } } \r \r \r \r U n d o i n g a n 0114720 e v e n t c o n t a i n i n 0114740 g a n { e d i t c o m I } 0114760 , { e d i t c o m E } , o 0115000 r { e d i t c o m S } c o 0115020 m m a n d w i l l a l s o 0115040 u n d o t h e s i d e e f 0115060 f e c t s o f t h e e v a 0115100 l u a t i o n ( s ) , e . g . 0115120 , u n d o i n g { l i s p 0115140 ( I 3 ( / N C O N C F O O 0115160 F I E ) ) } w i l l n o t 0115200 o n l y r e s t o r e t h 0115220 e 3 r d e l e m e n t b u 0115240 t a l s o r e s t o r e { 0115260 l i s p F O O } . S i m i l 0115300 a r l y , u n d o i n g a n 0115320 { e d i t c o m S } c o m 0115340 m a n d w i l l u n d o t 0115360 h e s e t . S e e t h e 0115400 d i s c u s s i o n o f { 0115420 p a c o m U N D O } i n { 0115440 P a g e R e f P A c o m U N 0115460 D O } . ( N o t e t h a t 0115500 i f t h e { e d i t c o m 0115520 I } c o m m a n d w a s 0115540 t y p e d d i r e c t l y t 0115560 o t h e e d i t o r , { l 0115600 i s p / N C O N C } w o u l 0115620 d a u t o m a t i c a l l y 0115640 b e s u b s t i t u t e d f 0115660 o r { l i s p N C O N C } 0115700 a s d e s c r i b e d i n 0115720 { P a g e R e f T a g S l a 0115740 s h i f y i n g T y p e d I n F 0115760 n s } . ) \r \r \r S i n c e { e 0116000 d i t c o m U N D O } a n d 0116020 { e d i t c o m ! U N D O } 0116040 c a u s e s t r u c t u r e 0116060 m o d i f i c a t i o n , t 0116100 h e y a l s o a d d a n 0116120 e n t r y t o { i n d e x 0116140 U N D O L S T V a r } { v a r 0116160 U N D O L S T } . H o w e 0116200 v e r , { l i s p U N D O } 0116220 a n d { l i s p ! U N D O 0116240 } e n t r i e s a r e s k 0116260 i p p e d b y { e d i t c o 0116300 m U N D O } , e . g . , i 0116320 f t h e u s e r p e r f o 0116340 r m s a n { e d i t c o m 0116360 I N S E R T } , a n d t h e 0116400 n a n { e d i t c o m M B 0116420 D } , t h e f i r s t { e 0116440 d i t c o m U N D O } w i l 0116460 l u n d o t h e { e d i t 0116500 c o m M B D } , a n d t h 0116520 e s e c o n d w i l l u n 0116540 d o t h e { e d i t c o m 0116560 I N S E R T } . H o w e v e 0116600 r , t h e u s e r c a n 0116620 a l s o s p e c i f y p r e 0116640 c i s e l y w h i c h c o m 0116660 m a n d s h e w a n t s u 0116700 n d o n e b y i d e n t i f 0116720 y i n g t h e c o r r e s p 0116740 o n d i n g e n t r y . I 0116760 n t h i s c a s e , h e 0117000 c a n u n d o a n { e d i 0117020 t c o m U N D O } c o m m a 0117040 n d , e . g . , b y t y p 0117060 i n g { l i s p U N D O U 0117100 N D O } , o r u n d o a 0117120 { e d i t c o m ! U N D O } 0117140 c o m m a n d , o r u n d o 0117160 a c o m m a n d o t h e r 0117200 t h a n t h a t m o s t 0117220 r e c e n t l y p e r f o r m 0117240 e d . \r \r \r W h e n e v e r t 0117260 h e u s e r { i t c o n t 0117300 i n u e s } a n e d i t i n 0117320 g s e s s i o n , t h e u 0117340 n d o i n f o r m a t i o n 0117360 o f t h e p r e v i o u s 0117400 s e s s i o n i s p r o t e 0117420 c t e d b y i n s e r t i n 0117440 g a s p e c i a l b l i p 0117460 , c a l l e d a n u n d o 0117500 - b l o c k , o n t h e f 0117520 r o n t o f { i n d e x U 0117540 N D O L S T V a r } { v a r 0117560 U N D O L S T } . T h i s 0117600 u n d o - b l o c k w i l l 0117620 t e r m i n a t e t h e o p 0117640 e r a t i o n o f a { e d 0117660 i t c o m ! U N D O } , t h 0117700 e r e b y c o n f i n i n g 0117720 i t s e f f e c t t o t h 0117740 e c u r r e n t s e s s i o 0117760 n , a n d w i l l s i m i 0120000 l a r l y p r e v e n t a n 0120020 { e d i t c o m U N D O } 0120040 c o m m a n d f r o m o p e 0120060 r a t i n g o n c o m m a n 0120100 d s e x e c u t e d i n t 0120120 h e p r e v i o u s s e s s 0120140 i o n . \r \r \r T h u s , i f 0120160 t h e u s e r e n t e r s 0120200 t h e e d i t o r c o n t i 0120220 n u i n g a s e s s i o n , 0120240 a n d i m m e d i a t e l y 0120260 e x e c u t e s a n { e d 0120300 i t c o m U N D O } o r { 0120320 e d i t c o m ! U N D O } , 0120340 t h e e d i t o r w i l l 0120360 t y p e { i n d e x B L O C 0120400 K E D ( P r i n t e d b y 0120420 E d i t o r ) } { l i s p B L 0120440 O C K E D } i n s t e a d o 0120460 f { l i s p N O T H I N G 0120500 S A V E D } . S i m i l a r 0120520 l y , i f t h e u s e r 0120540 e x e c u t e s s e v e r a l 0120560 c o m m a n d s a n d t h 0120600 e n u n d o e s t h e m a 0120620 l l , a n o t h e r { e d i 0120640 t c o m U N D O } o r { e 0120660 d i t c o m ! U N D O } w i 0120700 l l a l s o c a u s e { l 0120720 i s p B L O C K E D } t o 0120740 b e t y p e d . \r \r \r \r { D e 0120760 f { T y p e E d i t C o m } 0121000 { N a m e U N B L O C K } \r 0121020 { T e x t \r R e m o v e s a n 0121040 u n d o - b l o c k . I f 0121060 e x e c u t e d a t a n 0121100 o n - b l o c k e d s t a t e 0121120 , i . e . , i f { e d i t 0121140 c o m U N D O } o r { e d 0121160 i t c o m ! U N D O } { i t 0121200 c o u l d } o p e r a t e , 0121220 t y p e s { l i s p N O T 0121240 B L O C K E D } . { i n d e x 0121260 N O T B L O C K E D ( P r 0121300 i n t e d b y E d i t o r ) 0121320 } \r } } \r \r \r { D e f { T y p 0121340 e E d i t C o m } { N a m e 0121360 T E S T } \r { T e x t \r A d d 0121400 s a n u n d o - b l o c k 0121420 a t t h e f r o n t o f 0121440 { i n d e x U N D O L S T V 0121460 a r } { v a r U N D O L S T } 0121500 . \r } } \r \r \r N o t e t h a t 0121520 { e d i t c o m T E S T } 0121540 t o g e t h e r w i t h { e 0121560 d i t c o m ! U N D O } p r 0121600 o v i d e a " t e n t a t i 0121620 v e " m o d e f o r e d i 0121640 t i n g , i . e . , t h e 0121660 u s e r c a n p e r f o r m 0121700 a n u m b e r o f c h a 0121720 n g e s , a n d t h e n u 0121740 n d o a l l o f t h e m 0121760 w i t h a s i n g l e { e 0122000 d i t c o m ! U N D O } c o 0122020 m m a n d . \r \r \r { D e f { T 0122040 y p e E d i t C o m } { N a 0122060 m e U N D O } { A r g s E 0122100 v e n t S p e c } \r { T e x t \r 0122120 { a r g E v e n t S p e c } 0122140 i s a n e v e n t s p e c 0122160 i f i c a t i o n ( s e e { 0122200 P a g e R e f T a g E v e n 0122220 t A d d r e s s } ) . U n d 0122240 o e s t h e i n d i c a t e 0122260 d e v e n t o n t h e h 0122300 i s t o r y l i s t . I n 0122320 t h i s c a s e , t h e 0122340 e v e n t d o e s n o t h 0122360 a v e t o b e i n t h e 0122400 c u r r e n t e d i t i n g 0122420 s e s s i o n , e v e n i 0122440 f t h e p r e v i o u s s 0122460 e s s i o n h a s n o t b 0122500 e e n u n b l o c k e d a s 0122520 d e s c r i b e d a b o v e 0122540 . H o w e v e r , t h e 0122560 u s e r d o e s h a v e t 0122600 o b e e d i t i n g t h e 0122620 s a m e e x p r e s s i o n 0122640 a s w a s b e i n g e d 0122660 i t e d i n t h e i n d i 0122700 c a t e d e v e n t . \r \r I f 0122720 t h e e x p r e s s i o n s 0122740 d i f f e r , t h e e d i 0122760 t o r t y p e s t h e w a 0123000 r n i n g m e s s a g e " { 0123020 l i s p d i f f e r e n t e 0123040 x p r e s s i o n } , " { i n d 0123060 e x d i f f e r e n t e x p 0123100 r e s s i o n ( P r i n t e d 0123120 b y E d i t o r ) } a n d 0123140 d o e s n o t u n d o t 0123160 h e e v e n t . T h e e 0123200 d i t o r e n f o r c e s t 0123220 h i s t o a v o i d t h e 0123240 u s e r a c c i d e n t a l 0123260 l y u n d o i n g a r a n 0123300 d o m c o m m a n d b y g 0123320 i v i n g t h e w r o n g 0123340 e v e n t s p e c i f i c a t 0123360 i o n . \r } } \r \r \r } { E n d 0123400 S u b S e c U n d o } \r \r \r \r 0123420 \0 \0 \0 \0 \0 004 \0 002 \0 ? \0 1 ( D E F 0123440 A U L T F O N T 1 ( G A C H 0123460 A 1 0 ) ( G A C H A 8 ) 0123500 ( T E R M I N A L 8 ) ) \0 \n \0 0123520 \0 \0 \0 \0 \0 \0 \0 \0 ? \0 1 ( D E F A 0123540 U L T F O N T 1 ( G A C H A 0123560 1 0 ) ( G A C H A 8 ) ( 0123600 T E R M I N A L 8 ) ) \0 \n \0 \0 0123620 \0 \0 \0 \0 \0 \0 \0 \0 003 245 \0 \0 \0 \0 002 \0 0123640 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 \a \0 \0 \0 \0 0123660 002 \0 \0 \0 \b \0 \0 \0 \0 001 \0 \0 \0 021 \0 \0 0123700 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 \v 0123720 \0 \0 \0 \0 002 \0 \0 \0 005 \0 \0 \0 \0 001 \0 \0 0123740 9 \v \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 001 0123760 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 036 \0 \0 \0 0124000 \0 001 \0 \0 \0 001 \0 \0 \0 \0 002 \0 \0 \0 006 \0 0124020 \0 \0 \0 001 \0 \0 001 B \0 \0 \0 \0 002 \0 \0 \0 0124040 4 \0 \0 \0 \0 001 \0 \0 \0 > \0 \0 \0 \0 002 \0 0124060 \0 \0 016 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 \0 \0 0124100 002 \0 \0 \0 036 \0 \0 \0 \0 001 \0 \0 \0 001 \0 \0 0124120 \0 \0 002 \0 \0 \0 006 \0 \0 \0 \0 001 \0 \0 Y * 0124140 \0 \0 \0 \0 002 \0 \0 \0 016 \0 \0 \0 \0 001 \0 \0 0124160 \0 004 \0 \0 \0 \0 002 \0 \0 \0 036 \0 \0 \0 \0 001 0124200 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 006 \0 \0 \0 0124220 \0 001 \0 \0 016 224 \0 \0 \0 \0 002 \0 \0 247 020 \0 0124240 035 z 272 0124243