$ od -c -N 50000 [phylum]<LISPUSERS>koto>XORCURSORPATCH.TEDIT!1 0000000 X E R O X \t X O R C U R S O R P 0000020 A T C H \r 2 \r \r 4 \r \r 1 \r \r X O 0000040 R c u r s o r P a t c h \r 1 \r \r 0000060 4 \r \r B y : C h r i s t o p 0000100 h e r L a n e ( L a n e @ s 0000120 u m e x - a i m . s t a n f o r 0000140 d . e d u ) \r \r T h i s d o c 0000160 u m e n t l a s t e d i t e 0000200 d o n J u l y 2 2 , 1 9 0000220 8 7 \r I N T R O D U C T I O N \r 0000240 T h i s m o d u l e a l l o 0000260 w s t h e 1 1 8 6 / D a y b 0000300 r e a k ( o n l y ) u s e r 0000320 s t o t w i d d l e t h e 0000340 h a r d w a r e b i t s s 0000360 o t h a t t h e y c a n 0000400 h a v e a n i n v e r t i n 0000420 g c u r s o r ( w h i t e 0000440 o n b l a c k a n d b l a 0000460 c k o n w h i t e i n s t 0000500 e a d o f b l a c k o n 0000520 e v e r y t h i n g ) a n d 0000540 p r o v i d e s a p a t c h 0000560 t o k e e p t h e s y s 0000600 t e m f r o m u n d o i n g 0000620 t h e e f f e c t w h e n 0000640 c a l l i n g V I D E O C O 0000660 L O R t o r e s e t t h e 0000700 s c r e e n . \r U S E \r ( D 0000720 O V E . X O R . C U R S O R 0000740 F L G ) \t [ F u n c t i o n ] \r 0000760 T h e a r g u m e n t F L G 0001000 , i f T , w i l l s w i 0001020 t c h t o t h e i n v e r 0001040 t i n g c u r s o r m o d e 0001060 . I f F L G i s N I L 0001100 i t w i l l s w i t c h 0001120 b a c k t o n o r m a l m 0001140 o d e . I f F L G i s 0001160 a n u m b e r b e t w e e n 0001200 0 a n d 1 5 t h e n i 0001220 t i s u s e d a s t h e 0001240 ' m i x - i n r u l e ' a 0001260 n d h a s a n e f f e c t 0001300 a c c o r d i n g t o t h 0001320 e t a b l e b e l o w . \r 0001340 M i x - i n r u l e s \r \t \t \t 0001360 \t C u r s o r \r \t \t S c r e e n 0001400 \t S o u r c e \t M o d e \r \r \t 0 0001420 \t A l l B l a c k \t N o n e \t 0001440 \t T h i s t a b l e i s 0001460 r e l a t i v e t o t h e 0001500 n o r m a l \r \t 1 \t N o r m a l 0001520 \t N o r m a l \t P a i n t \t m o 0001540 d e o f t h e d i s p l a 0001560 y ( 1 ) , n o r m a l \r \t 2 0001600 \t N o r m a l \t I n v e r t e d 0001620 \t P a i n t \t s c r e e n , n 0001640 o r m a l c u r s o r i n 0001660 p a i n t \r \t 3 \t N o r m a l \t 0001700 N o n e \t m o d e . \t T h e i 0001720 n v e r t e d d i s p l a y , 0001740 \r \t 4 \t I n v e r t e d \t N o r 0001760 m a l \t E r a s e \t ( V I D E O 0002000 C O L O R T ) , w o u l d 0002020 b e 1 3 , \r \t 5 \t A l l B l 0002040 a c k \t I n v e r t e d \t P a i 0002060 n t \t i n v e r t e d s c r e 0002100 e n a n d i n v e r t e d \t 0002120 c u r s o r \r \t 6 \t I n v e r t 0002140 e d \t N o r m a l \t I n v e r t 0002160 \t i n p a i n t m o d e . 0002200 T h e r e i s p r o b a b 0002220 l y \r \t 7 \t N o r m a l \t I n v 0002240 e r t e d \t E r a s e \t a m o 0002260 r e p r e c i s e o r l o 0002300 g i c a l w a y t o \r \t 8 \t 0002320 I n v e r t e d \t I n v e r t e 0002340 d \t E r a s e \t n o t a t e t 0002360 h e s e m o d e s , b u t 0002400 t h i s s h o u l d \r \t 9 \t N 0002420 o r m a l \t N o r m a l \t I n v 0002440 e r t \t g i v e y o u a r 0002460 o u g h i d e a o f w h a t 0002500 ' s \r \t 1 0 \t A l l W h i t e 0002520 \t I n v e r t e d \t P a i n t \t 0002540 a v a i l a b l e \r \t 1 1 \t N o 0002560 r m a l \t N o r m a l \t E r a s 0002600 e \r \t 1 2 \t I n v e r t e d \t N 0002620 o n e \r \t 1 3 \t I n v e r t e d 0002640 \t I n v e r t e d \t P a i n t \r 0002660 \t 1 4 \t I n v e r t e d \t N o r 0002700 m a l \t P a i n t \r \t 1 5 \t A l 0002720 l W h i t e \t N o n e \r N o t 0002740 e \r T h e f u n c t i o n i 0002760 s s e t u p s u c h t h 0003000 a t w h e n t r y i n g d 0003020 i f f e r e n t m o d e s , 0003040 y o u m u s t d o a ( D 0003060 O V E . X O R . C U R S O R ) 0003100 ( n o a r g u m e n t ) b e 0003120 t w e e n c a l l s . \r N o 0003140 w a r r a n t y e x p r e s s 0003160 e d o r i m p l i e d , b 0003200 u t w e h a v e b e e n 0003220 u s i n g i t l o c a l l y 0003240 w i t h o u t p r o b l e m 0003260 ( a t l e a s t a s f a 0003300 r a s I k n o w ) . E 0003320 n j o y . \r \r \0 \0 \0 \0 \0 003 ( L I 0003340 S T ( ( P A G E N I L ( F 0003360 O L I O I N F O ( A R A B I C 0003400 ) S T A R T I N G P A G E # 0003420 1 ) ( 0 0 6 1 2 7 9 2 ) 0003440 ( ( F O L I O N I L ( P A 0003460 R A L O O K S ( Q U A D C E 0003500 N T E R E D ) C H A R L O O K 0003520 S ( S U P E R S C R I P T 0 0003540 S I Z E 1 0 F A M I L Y 0003560 M O D E R N O V E R L I N E 0003600 O F F S T R I K E O U T O F 0003620 F U N D E R L I N E O F F 0003640 S L O P E R E G U L A R W E 0003660 I G H T M E D I U M ) F O R 0003700 M A T I N F O ( A R A B I C ) 0003720 ) ( 1 7 4 3 6 2 8 8 3 6 0003740 ) N I L ) ( H E A D I N G 0003760 N I L ( H E A D I N G T Y P E 0004000 R U N N I N G H E A D ) ( 8 0004020 4 7 4 4 4 4 4 3 6 ) N I 0004040 L ) ( T E X T N I L N I L 0004060 ( 8 4 9 6 4 5 6 6 0 0 ) 0004100 N I L ) ) ) ( P A G E N I 0004120 L N I L ( 0 0 6 1 2 7 0004140 9 2 ) ( ( F O L I O N I L 0004160 ( P A R A L O O K S ( Q U A D 0004200 C E N T E R E D ) C H A R L 0004220 O O K S ( S U P E R S C R I P 0004240 T 0 S I Z E 1 0 F A M I 0004260 L Y M O D E R N O V E R L I 0004300 N E O F F S T R I K E O U T 0004320 O F F U N D E R L I N E O 0004340 F F S L O P E R E G U L A R 0004360 W E I G H T M E D I U M ) ) 0004400 ( 2 8 2 4 2 7 2 3 6 ) 0004420 N I L ) ( H E A D I N G N I 0004440 L ( H E A D I N G T Y P E R 0004460 U N N I N G H E A D ) ( 8 4 0004500 7 4 4 4 4 4 3 6 ) N I L ) 0004520 ( T E X T N I L N I L ( 0004540 8 4 9 6 4 5 6 6 0 0 ) N 0004560 I L ) ) ) ( P A G E N I L 0004600 N I L ( 0 0 6 1 2 7 9 2 0004620 ) ( ( F O L I O N I L ( P 0004640 A R A L O O K S ( Q U A D C 0004660 E N T E R E D ) C H A R L O O 0004700 K S ( S U P E R S C R I P T 0004720 0 S I Z E 1 0 F A M I L Y 0004740 M O D E R N O V E R L I N E 0004760 O F F S T R I K E O U T O 0005000 F F U N D E R L I N E O F F 0005020 S L O P E R E G U L A R W 0005040 E I G H T M E D I U M ) ) ( 0005060 2 8 2 4 2 7 2 3 6 ) N I 0005100 L ) ( H E A D I N G N I L 0005120 ( H E A D I N G T Y P E R U N 0005140 N I N G H E A D ) ( 8 4 7 4 0005160 4 4 4 4 3 6 ) N I L ) ( 0005200 T E X T N I L N I L ( 8 4 0005220 9 6 4 5 6 6 0 0 ) N I L 0005240 ) ) ) ) ) \0 \0 \0 \0 \0 005 \0 \t \0 @ \0 0005260 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 \0 \a 0005300 \0 030 001 \0 0 \0 \0 x \0 \0 300 \0 001 \b \0 001 0005320 274 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005340 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 @ \0 0005360 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 \0 \a 0005400 \0 \f \0 \0 0 \0 \0 x \0 \0 300 \0 001 \b \0 001 0005420 274 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005440 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 0005460 \0 \0 \0 001 310 \0 021 \0 \0 \0 004 002 003 \0 \0 \0 0005500 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005520 \0 \0 \0 \0 \0 \0 1 \0 \0 \0 \0 001 310 \0 \v \0 0005540 \0 \0 004 003 004 \0 \0 002 \0 \0 001 001 310 001 \0 \0 0005560 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005600 \0 \0 \0 \0 \0 \0 \0 1 \0 \0 \0 \0 001 310 \0 \v 0005620 \0 \0 \0 004 003 004 \0 \0 002 001 274 001 001 310 001 \0 0005640 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005660 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 \0 0005700 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005720 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0005740 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 004 \0 0005760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006000 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 \0 0006020 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006060 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 \0 0006100 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \v P A G 0006120 E H E A D I N G \0 \v R U N N I N 0006140 G H E A D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006160 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 \a \0 027 \0 \t H 0006200 E L V E T I C A \0 \n \0 \0 \0 \0 \0 \0 0006220 \0 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0006240 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R N 0006260 \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M O 0006300 D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 024 0006320 \0 006 M O D E R N \0 006 \0 \0 \0 \0 \0 \0 0006340 \0 \0 \0 024 \0 006 M O D E R N \0 \n \0 \0 0006360 \0 \0 \0 \0 001 \0 \0 022 \0 004 L O G O \0 030 0006400 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 \t 0006420 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 \0 0006440 \0 005 \0 \0 \0 017 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0006460 002 \0 \t \0 \0 \0 002 \0 001 \0 \v H R U L E 0006500 . G E T F N 001 \0 024 \0 006 M O D E R 0006520 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 0006540 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 002 0006560 \0 001 \0 \v H R U L E . G E T F N 001 0006600 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 \0 0006620 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 0006640 \0 \0 002 \0 \b \0 \0 \0 002 \0 001 \0 \v H R U 0006660 L E . G E T F N 001 \0 024 \0 006 M O D 0006700 E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0006720 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 006 \0 \0 0006740 \0 017 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 006 \0 0006760 \0 \0 002 \0 001 \0 \v H R U L E . G E T 0007000 F N 001 \0 024 \0 006 M O D E R N \0 \f \0 0007020 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 004 0007040 \0 \0 \0 \0 \0 002 \0 \b \0 \0 \0 002 \0 001 \0 \v 0007060 H R U L E . G E T F N 001 \0 024 \0 006 0007100 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 0007120 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 0007140 003 \0 \0 \0 4 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0007160 \0 003 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0007200 002 \0 \a \0 \0 \0 + \0 \0 \0 \0 003 \0 \0 \0 \0 0007220 \0 002 \0 \a \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 \0 0007240 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \a \0 \0 0007260 001 * \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 \a \0 0007300 \0 \0 003 \0 \0 \0 \0 002 \0 \0 \0 001 \0 \0 \0 \0 0007320 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 022 \0 \0 \0 0007340 \0 003 \0 \0 \0 003 \0 \0 \0 \0 006 \0 \0 \0 001 \0 0007360 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 0007400 \v \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0007420 \0 \r \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 \0 006 0007440 \0 \0 \0 6 \0 \0 \0 \0 003 \0 \0 \0 003 \0 \0 \0 0007460 \0 006 \0 \0 \0 0 \0 \0 \0 \0 003 \0 \0 \0 003 \0 0007500 \0 \0 \0 006 \0 \0 \0 t \0 \0 \0 \0 003 \0 \0 \0 0007520 \0 \0 002 \0 005 \0 \0 \0 \f \0 \0 \0 \0 002 \0 \0 0007540 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 \0 0007560 \0 \0 \v \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 002 0007600 \0 \0 \0 025 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0007620 002 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0007640 \0 001 \0 \0 \0 9 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0007660 002 \0 001 \0 \0 \0 7 \0 \0 \0 \0 003 \0 \0 \0 \0 0007700 \0 002 \0 001 \0 \0 \0 8 \0 \0 \0 \0 003 \0 \0 \0 0007720 \0 \0 002 \0 001 \0 \0 \0 + \0 \0 \0 \0 003 \0 \0 0007740 \0 \0 \0 002 \0 001 \0 \0 \0 6 \0 \0 \0 \0 003 \0 0007760 \0 \0 \0 \0 002 \0 001 \0 \0 \0 @ \0 \0 \0 \0 003 0010000 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 < \0 \0 \0 \0 0010020 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 : \0 \0 \0 0010040 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 ? \0 \0 0010060 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 7 \0 0010100 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 ' 0010120 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 \0 0010140 030 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 \0 0010160 \0 022 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 \0 0010200 \0 \0 034 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 001 0010220 \0 \0 \0 032 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 0010240 001 \0 \0 \0 023 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 0010260 \0 005 \0 \0 \0 004 \0 \0 \0 \0 002 \0 \0 \0 001 \0 0010300 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 { 0010320 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0010340 y \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 0010360 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 0010400 \0 006 327 \0 e z 272 0010407