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