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