$ 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