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