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