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