$ od -c -N 50000 [phylum]<LISPUSERS>Lyric>comparetext.tedit!1 0000000 X E R O X \t C O M P A R E T E X 0000020 T \r 2 \r \r 4 \r \r 1 \r \r C O M P A 0000040 R E T E X T \r 1 \r \r 4 \r \r U n s 0000060 u p p o r t e d \r U s e s T E 0000100 D I T . L C O M , G R A P H E 0000120 R . L C O M \r I N T R O D U C T 0000140 I O N \r C O M P A R E T E X T 0000160 i s a r a t h e r n o n - 0000200 s t a n d a r d t e x t f i 0000220 l e c o m p a r i s o n p r 0000240 o g r a m w h i c h t r i e 0000260 s t o a d d r e s s t w o 0000300 p r o b l e m s : ( 1 ) t 0000320 h e p r o b l e m o f d e 0000340 t e c t i n g c e r t a i n 0000360 t y p e s o f c h a n g e s 0000400 , s u c h a s d e t e c t 0000420 i n g w h e n a p a r a g 0000440 r a p h i s m o v e d t o 0000460 a d i f f e r e n t p a r 0000500 t o f a d o c u m e n t ; 0000520 a n d ( 2 ) t h e p r o 0000540 b l e m o f s h o w i n g 0000560 t h e u s e r w h a t c h 0000600 a n g e s h a v e b e e n 0000620 m a d e i n a d o c u m e 0000640 n t . \r T h e t e x t c o m 0000660 p a r i s o n a l g o r i t h 0000700 m i s a n a d a p t a t i 0000720 o n o f t h e o n e d e 0000740 s c r i b e d i n t h e a 0000760 r t i c l e " A T e c h n i 0001000 q u e f o r I s o l a t i n 0001020 g D i f f e r e n c e s B e 0001040 t w e e n F i l e s " b y 0001060 P a u l H e c k e l , i n 0001100 C A C M , V 2 1 , # 4 , A 0001120 p r i l 1 9 7 8 . T h e 0001140 m a i n i d e a i s t o 0001160 b r e a k e a c h o f t h 0001200 e t w o t e x t f i l e s 0001220 i n t o " c h u n k s " ( 0001240 w o r d s , l i n e s , p a 0001260 r a g r a p h s , . . . ) , 0001300 h a s h e a c h c h u n k 0001320 i n t o a h a s h v a l u 0001340 e , a n d m a t c h u p 0001360 c h u n k s w i t h t h e 0001400 s a m e h a s h v a l u e 0001420 i n t h e t w o f i l e s 0001440 . T h i s m e t h o d d 0001460 e t e c t s s w i t c h i n g 0001500 t w o c h u n k s , o r 0001520 m o v i n g a c h u n k a 0001540 n y w h e r e e l s e i n 0001560 t h e d o c u m e n t . \r C O 0001600 M P A R I N G T E X T F I L 0001620 E S \r T w o t e x t f i l e 0001640 s c a n b e c o m p a r e 0001660 d w i t h t h e f o l l o 0001700 w i n g f u n c t i o n : \r ( 0001720 C O M P A R E T E X T N E W 0001740 F I L E N A M E O L D F I L E 0001760 N A M E H A S H . T Y P E G 0002000 R A P H . R E G I O N ) \t [ F u 0002020 n c t i o n ] \r N E W F I L E N 0002040 A M E a n d O L D F I L E N 0002060 A M E a r e t h e n a m e 0002100 s o f t h e t w o f i l 0002120 e s t o c o m p a r e . 0002140 T h e o r d e r i s n o t 0002160 i m p o r t a n t , e x c e 0002200 p t t h a t i n t h e r 0002220 e s u l t i n g g r a p h t 0002240 h e N E W F I L E N A M E i 0002260 n f o r m a t i o n w i l l 0002300 a p p e a r o n t h e l e 0002320 f t , a n d t h e O L D F 0002340 I L E N A M E i n f o o n 0002360 t h e r i g h t . \r H A S H . 0002400 T Y P E d e t e r m i n e s 0002420 h o w " c h u n k s " o f 0002440 t e x t a r e d e f i n e d 0002460 ; h o w f i n e - g r a i n 0002500 e d t h e c o m p a r i s o 0002520 n w i l l b e . T h i s 0002540 c a n b e P A R A t o 0002560 h a s h b y p a r a g r a p 0002600 h s ( d e l i m i t e d b y 0002620 t w o c o n s e c u t i v e 0002640 C R s ) , L I N E t o h 0002660 a s h b y l i n e s ( d e 0002700 l i m i t e d b y o n e C 0002720 R ) , o r W O R D t o h 0002740 a s h w o r d s ( d e l i m 0002760 i t e d b y a n y w h i t 0003000 e s p a c e ) . H A S H . 0003020 T Y P E = N I L d e f a u l t 0003040 s t o P A R A . \r G R A P H 0003060 . R E G I O N i s t h e r 0003100 e g i o n o n t h e d i s 0003120 p l a y s c r e e n u s e d 0003140 f o r t h e f i l e c o 0003160 m p a r i s o n g r a p h . 0003200 I f G R A P H . R E G I O N 0003220 = N I L , t h e s y s t e m 0003240 a s k s t h e u s e r t 0003260 o s p e c i f y a r e g i 0003300 o n . I f G R A P H . R E 0003320 G I O N = T , a r e g i o n 0003340 i n t h e l o w e r l e 0003360 f t c o r n e r i s u s e 0003400 d . \r C O M P A R E T E X T c 0003420 r e a t e s a g r a p h w 0003440 i t h t w o c o l u m n s . 0003460 E a c h c o l u m n c o 0003500 n t a i n s t h e f i l e 0003520 n a m e o f o n e o f t 0003540 h e f i l e s , a n d l i 0003560 s t s t h e c h u n k s f 0003600 r o m t h a t f i l e . 0003620 E a c h c h u n k i s r e 0003640 p r e s e n t e d b y a n 0003660 a t o m N N N : M M M , w h 0003700 e r e N N N i s t h e f 0003720 i l e p o i n t e r o f t 0003740 h e b e g i n n i n g o f 0003760 t h e c h u n k w i t h i n 0004000 t h e f i l e , a n d M 0004020 M M i s t h e l e n g t h 0004040 o f t h e c h u n k . 0004060 L i n e s a r e d r a w n 0004100 f r o m o n e c o l u m n 0004120 t o t h e o t h e r t o 0004140 s h o w w h i c h c h u n k 0004160 s i n o n e f i l e a r 0004200 e t h e s a m e a s t h 0004220 o s e i n t h e o t h e r 0004240 f i l e . C h u n k s w 0004260 i t h n o l i n e s g o i 0004300 n g t o t h e m d o n o 0004320 t e x i s t i n t h e o 0004340 t h e r f i l e . [ N o t 0004360 e : a s e r i e s o f c 0004400 h u n k s i n o n e f i l 0004420 e w h i c h a r e t h e 0004440 s a m e a s a s e r i e s 0004460 o f c h u n k s i n t h 0004500 e o t h e r f i l e a r e 0004520 m e r g e d i n t o o n e 0004540 b i g c h u n k . A s 0004560 e r i e s o f u n c o n n e 0004600 c t e d c h u n k s i s a 0004620 l s o m e r g e d . ] \r P r e 0004640 s s i n g t h e L E F T m 0004660 o u s e b u t t o n o v e r 0004700 o n e o f t h e c h u n 0004720 k n o d e s c a u s e s t 0004740 h e n o d e t o b e b o 0004760 x e d , a n d a T e d i t 0005000 w i n d o w t o b e o p 0005020 e n e d o n t h e f i l e 0005040 , w i t h t h e a p p r o 0005060 p r i a t e t e x t s e l e 0005100 c t e d . I f a T e d i 0005120 t w i n d o w t o t h e 0005140 f i l e i s a l r e a d y 0005160 a c t i v e , t h e s e l e 0005200 c t i o n i s s i m p l y 0005220 m o v e d . \r P r e s s i n g 0005240 t h e M I D D L E m o u s e 0005260 b u t t o n o v e r a c 0005300 h u n k n o d e r a i s e s 0005320 a p o p - u p m e n u w 0005340 i t h t h e i t e m s : P 0005360 A R A , L I N E , a n d W 0005400 O R D . I f o n e o f 0005420 t h e s e i s s e l e c t e 0005440 d , C O M P A R E T E X T i 0005460 s c a l l e d t o c o m p 0005500 a r e t h e s e l e c t e d 0005520 c h u n k w i t h t h e 0005540 l a s t s e l e c t e d c h 0005560 u n k ( t h e o n e t h a 0005600 t i s b o x e d ) , u s i 0005620 n g t h e h a s h t y p e 0005640 s e l e c t e d , a n d c 0005660 r e a t e a n e w g r a p 0005700 h w i n d o w . \r I f t h e 0005720 m o u s e i s b u t t o n 0005740 e d o u t s i d e o f t h 0005760 e P A R A / L I N E / W O R D 0006000 m e n u , n o c o m p a r 0006020 i s o n i s d o n e , b u 0006040 t t h e s e l e c t e d n 0006060 o d e i s b o x e d . T 0006100 h e P A R A / L I N E / W O R 0006120 D m e n u i s a l w a y s 0006140 b r o u g h t u p a l i 0006160 t t l e a w a y f r o m t 0006200 h e c u r s o r , s o p r 0006220 e s s i n g d o u b l e - M I 0006240 D D L E - b u t t o n o v e r 0006260 a c h u n k n o d e i s 0006300 a w a y t o c h a n g e 0006320 t h e b o x e d n o d e 0006340 w i t h o u t c a l l i n g 0006360 T e d i t . \r I m p o r t a n t 0006400 n o t e : w h i t e s p 0006420 a c e ( s p a c e , t a b , 0006440 C R , L F ) i s u s e d 0006460 t o d e l i m i t c h u n 0006500 k s , b u t i s i g n o r 0006520 e d w h e n c o m p u t i n 0006540 g t h e h a s h v a l u e 0006560 o f a c h u n k . T h 0006600 e r e f o r e , i f t w o 0006620 p a r a g r a p h s a r e i 0006640 d e n t i c a l e x c e p t 0006660 t h a t o n e h a s a f 0006700 e w e x t r a C R s a f t 0006720 e r i t , t h e y w i l l 0006740 b e c o n s i d e r e d i 0006760 d e n t i c a l b y C O M P 0007000 A R E T E X T . \r \0 \0 \0 \0 \0 003 ( 0007020 L I S T ( ( P A G E N I L 0007040 ( F O L I O I N F O ( A R A B 0007060 I C ) S T A R T I N G P A G E 0007100 # 1 ) ( 0 0 6 1 2 7 9 0007120 2 ) ( ( F O L I O N I L ( 0007140 P A R A L O O K S ( Q U A D 0007160 C E N T E R E D ) C H A R L O 0007200 O K S ( S U P E R S C R I P T 0007220 0 S I Z E 1 0 F A M I L 0007240 Y M O D E R N O V E R L I N 0007260 E O F F S T R I K E O U T 0007300 O F F U N D E R L I N E O F 0007320 F S L O P E R E G U L A R 0007340 W E I G H T M E D I U M ) F 0007360 O R M A T I N F O ( A R A B I 0007400 C ) ) ( 1 7 4 3 6 2 8 8 0007420 3 6 ) N I L ) ( H E A D I N 0007440 G N I L ( H E A D I N G T Y 0007460 P E R U N N I N G H E A D ) 0007500 ( 8 4 7 4 4 4 4 4 3 6 ) 0007520 N I L ) ( T E X T N I L N 0007540 I L ( 8 4 9 6 4 5 6 6 0 0007560 0 ) N I L ) ) ) ( P A G E 0007600 N I L N I L ( 0 0 6 1 2 0007620 7 9 2 ) ( ( F O L I O N I 0007640 L ( P A R A L O O K S ( Q U 0007660 A D C E N T E R E D ) C H A 0007700 R L O O K S ( S U P E R S C R 0007720 I P T 0 S I Z E 1 0 F A 0007740 M I L Y M O D E R N O V E R 0007760 L I N E O F F S T R I K E O 0010000 U T O F F U N D E R L I N E 0010020 O F F S L O P E R E G U L 0010040 A R W E I G H T M E D I U M 0010060 ) ) ( 2 8 2 4 2 7 2 3 6 0010100 ) N I L ) ( H E A D I N G 0010120 N I L ( H E A D I N G T Y P E 0010140 R U N N I N G H E A D ) ( 8 0010160 4 7 4 4 4 4 4 3 6 ) N I 0010200 L ) ( T E X T N I L N I L 0010220 ( 8 4 9 6 4 5 6 6 0 0 ) 0010240 N I L ) ) ) ( P A G E N I 0010260 L N I L ( 0 0 6 1 2 7 0010300 9 2 ) ( ( F O L I O N I L 0010320 ( P A R A L O O K S ( Q U A D 0010340 C E N T E R E D ) C H A R L 0010360 O O K S ( S U P E R S C R I P 0010400 T 0 S I Z E 1 0 F A M I 0010420 L Y M O D E R N O V E R L I 0010440 N E O F F S T R I K E O U T 0010460 O F F U N D E R L I N E O 0010500 F F S L O P E R E G U L A R 0010520 W E I G H T M E D I U M ) ) 0010540 ( 2 8 2 4 2 7 2 3 6 ) 0010560 N I L ) ( H E A D I N G N I 0010600 L ( H E A D I N G T Y P E R 0010620 U N N I N G H E A D ) ( 8 4 0010640 7 4 4 4 4 4 3 6 ) N I L ) 0010660 ( T E X T N I L N I L ( 0010700 8 4 9 6 4 5 6 6 0 0 ) N 0010720 I L ) ) ) ) ) \0 \0 \0 \0 \0 005 \0 006 \0 0010740 ( \0 \0 \0 \0 001 310 \0 021 \0 \0 \0 004 002 003 \0 0010760 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011000 \0 \0 \0 \0 \0 \0 \0 \0 1 \0 \0 \0 \0 001 310 \0 0011020 \v \0 \0 \0 004 003 004 \0 \0 002 \0 \0 001 001 310 001 0011040 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011060 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 0011100 \0 006 \0 \0 \0 004 002 003 \0 \0 \0 \0 \0 \0 \0 \0 0011120 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011140 \0 ( \0 \0 \0 \0 001 310 \0 \v \0 \0 \0 004 002 004 0011160 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011200 \0 \0 \0 \0 \0 \0 \0 \0 \0 ( \0 212 \0 212 001 8 0011220 \0 \0 \0 \0 \0 004 002 004 \0 \0 \0 \0 \0 \0 \0 \0 0011240 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011260 \0 D \0 \0 \0 \0 001 310 \0 \0 \0 \0 \0 \0 003 004 0011300 \0 \0 001 001 310 001 \0 \0 \0 \0 \0 \0 \0 \v P A 0011320 G E H E A D I N G \0 \v R U N N I 0011340 N G H E A D \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0011360 \0 \0 \0 \0 \0 \0 \0 \0 \0 004 \0 \a \0 027 \0 \t 0011400 H E L V E T I C A \0 \n \0 \0 \0 \0 \0 0011420 \0 \0 \0 \0 024 \0 006 M O D E R N \0 \n \0 0011440 \0 \0 \0 \0 \0 002 \0 \0 024 \0 006 M O D E R 0011460 N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 024 \0 006 M 0011500 O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 \0 \0 0011520 024 \0 006 M O D E R N \0 006 \0 \0 \0 \0 \0 0011540 \0 \0 \0 \0 024 \0 006 M O D E R N \0 \n \0 0011560 \0 \0 \0 \0 \0 001 \0 \0 022 \0 004 L O G O \0 0011600 030 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 002 \0 0011620 006 \0 \0 \0 005 \0 \0 \0 \0 \a \0 \0 \0 001 \0 \0 0011640 \0 \0 005 \0 \0 \0 \f \0 \0 \0 \0 003 \0 \0 \0 \0 0011660 \0 002 \0 006 \0 \0 \0 002 \0 001 \0 \v H R U L 0011700 E . G E T F N 001 \0 024 \0 006 M O D E 0011720 R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 001 0011740 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 0011760 002 \0 001 \0 \v H R U L E . G E T F N 0012000 001 \0 024 \0 006 M O D E R N \0 \n \0 \0 \0 0012020 \0 \0 \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 003 \0 \0 0012040 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 \v H R 0012060 U L E . G E T F N 001 \0 024 \0 006 M O 0012100 D E R N \0 \n \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 0012120 \0 001 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 003 \0 0012140 \0 \0 \f \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 \0 003 0012160 \0 \0 \0 002 \0 001 \0 \v H R U L E . G E 0012200 T F N 001 \0 024 \0 006 M O D E R N \0 \f 0012220 \0 \0 \0 \0 \0 \0 002 \0 \0 \0 \0 001 \0 \0 \0 \0 0012240 004 \0 \0 \0 \0 \0 002 \0 005 \0 \0 \0 002 \0 001 \0 0012260 \v H R U L E . G E T F N 001 \0 024 \0 0012300 006 M O D E R N \0 \f \0 \0 \0 \0 \0 \0 002 0012320 \0 \0 \0 \0 001 \0 \0 \0 \0 004 \0 \0 \0 \0 \0 002 0012340 \0 001 \0 \0 \0 \f \0 \0 \0 \0 003 \0 \0 \0 \0 \0 0012360 002 \0 001 \0 \0 \0 036 \0 \0 \0 \0 003 \0 \0 \0 \0 0012400 \0 002 \0 004 \0 \0 \0 \r \0 \0 \0 \0 002 \0 \0 \0 0012420 \0 \0 002 \0 004 \0 \0 001 @ \0 \0 \0 \0 003 \0 \0 0012440 \0 \0 \0 002 \0 004 \0 \0 001 332 \0 \0 \0 \0 003 \0 0012460 \0 \0 \0 \0 002 \0 004 \0 \0 \0 025 \0 \0 \0 \0 002 0012500 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 < \0 \0 \0 \0 0012520 003 \0 \0 \0 \0 \0 002 \0 002 \0 \0 \0 016 \0 \0 \0 0012540 \0 003 \0 \0 \0 . \0 \0 \0 \0 006 \0 \0 \0 001 \0 0012560 \0 \0 \0 003 \0 \0 \0 001 \0 \0 \0 \0 001 \0 \0 \0 0012600 \v \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0012620 \0 \v \0 \0 \0 \0 006 \0 \0 \0 005 \0 \0 \0 \0 003 0012640 \0 \0 \0 \v \0 \0 \0 \0 006 \0 \0 \0 p \0 \0 \0 0012660 \0 003 \0 \0 \0 \v \0 \0 \0 \0 006 \0 \0 \0 . \0 0012700 \0 \0 \0 003 \0 \0 \0 \v \0 \0 \0 \0 006 \0 \0 \0 0012720 024 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 0012740 \0 \t \0 \0 \0 \0 006 \0 \0 001 \a \0 \0 \0 \0 003 0012760 \0 \0 \0 \t \0 \0 \0 \0 006 \0 \0 \0 027 \0 \0 \0 0013000 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 \f \0 \0 0013020 \0 \0 006 \0 \0 \0 M \0 \0 \0 \0 003 \0 \0 \0 \f 0013040 \0 \0 \0 \0 006 \0 \0 \0 8 \0 \0 \0 \0 003 \0 \0 0013060 \0 \f \0 \0 \0 \0 006 \0 \0 \0 / \0 \0 \0 \0 003 0013100 \0 \0 \0 \0 \0 002 \0 004 \0 \0 002 232 \0 \0 \0 \0 0013120 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 \0 372 \0 \0 \0 0013140 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 001 3 \0 \0 0013160 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 001 - \0 0013200 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 001 022 0013220 \0 \0 \0 \0 003 \0 \0 \0 \0 \0 002 \0 004 \0 \0 016 0013240 \t \0 J z 272 0013245