$ od -c -N 50000 [eris]<LispUsers>Odometer.Memo!1 0000000 \r \t O d o m e t e r P a c k a 0000020 g e \r O d o m e t e r P a c k 0000040 a g e \r X E R O X \t I n t e r n 0000060 a l M e m o r a n d u m \r T o 0000100 : \t W I M C \r F r o m : \t J o h 0000120 n S y b a l s k y \r S u b j e 0000140 c t : \t L i s p O d o m e t e 0000160 r P a c k a g e \r D a t e : \t 0000200 S e p t e m b e r 1 8 , 1 9 0000220 8 1 \r F i l e d O n : \t n a m 0000240 e r [ P h y l u m ] < S y b a l 0000260 s k y > O d o m e t e r . m e m 0000300 o , p r e s s \r I ' v e p a 0000320 c k a g e d u p m y o d o 0000340 m e t e r h a c k , a n d 0000360 i t i s a v a i l a b l e 0000400 f o r g e n e r a l t o y i 0000420 n g a r o u n d \r W h e r e 0000440 t o F i n d I t \r I t i s 0000460 f i l \0 \f \0 \n \0 \v \0 . 200 \0 \0 006 0000500 \n F o r m . S t y l e y \0 \f 200 201 0000520 \b 001 201 001 \f 001 200 201 \f 001 201 201 \f 001 \0 \v 0000540 < 030 032 337 006 235 \0 \0 " 003 006 235 027 \0 037 \0 0000560 \b E 034 001 0 001 \0 \v < 030 003 270 / ! * 377 0000600 " 003 / ! 027 \0 037 \0 \b E 034 001 0 002 \0 \f 0000620 < 030 032 337 006 235 \0 \0 " 003 006 235 027 \0 037 \0 0000640 \b E 034 001 0 001 % 0 200 202 \0 002 034 001 \0 001 0000660 004 023 \b $ \f > 020 G ( [ 020 z ( 223 @ 311 0000700 303 032 311 + \0 017 \0 \0 \0 006 \t \0 \v 006 004 001 0000720 003 377 \r \0 300 \0 302 001 \0 $ 302 ) 310 > 300 A 0000740 310 G 300 L 310 [ 300 c 310 z 300 177 310 223 300 234 0000760 302 311 001 4 \0 \0 \n \0 002 177 \0 \0 327 247 352 342 0001000 e d i n { P h y l u m } < S 0001020 y b a l s k y > O d o m e t e r 0001040 & { P h y l u m } < S y b a 0001060 l s k y > O d o m e t e r . D b 0001100 y t e f o r n o w ; i f 0001120 i t g e t s m o v e d e l 0001140 s e w h e r e , I ' l l l e 0001160 t p e o p l e k n o w . \r W 0001200 h a t ' s a n O d o m e t e 0001220 r ? \r I t ' s a c o l l e c 0001240 t i o n o f 1 o r m o r 0001260 e s i d e - b y - s i d e w 0001300 i n d o w s o n t h e s c 0001320 r e e n , e a c h o f w h 0001340 i c h c a n d i s p l a y 0001360 a s i n g l e d i g i t . 0001400 T h e w i n d o w s c a n 0001420 b e s c r o l l e d u p 0001440 a n d d o w n , e i t h e r 0001460 b y m o u s e a c t i o n 0001500 , o r b y c a l l s t o 0001520 t h e a p p r o p r i a t e 0001540 f u n c t i o n s . T h e 0001560 w i n d o w s a r e c o u 0001600 p l e d s o t h a t c a r 0001620 r y i n g a n d b o r r o w 0001640 i n g o c c u r w h e n e v 0001660 e r a w i n d o w s c r o 0001700 l l s b e t w e e n 0 a n 0001720 d 9 i n e i t h e r d i 0001740 r e c t i o 200 202 \0 002 034 001 \0 177 310 223 0001760 302 \0 001 346 377 + \0 \0 002 7 302 \0 366 363 370 370 0002000 n . C a r r y i n g / b o r 0002020 r o w i n g o f f t h e l 0002040 e f t e n d h a s n o e 0002060 f f e c t . \r T h e O d o m e 0002100 t e r O b j e c t \r A n o d 0002120 o m e t e r i s r e p r e s 0002140 e n t e d i n t e r n a l l y 0002160 a s a l i s t o f t h 0002200 e w i n d o w s w h i c h 0002220 i m p l e m e n t i t . T 0002240 h e e l e m e n t s o f t 0002260 h e l i s t a r e i n t 0002300 h e s a m e o r d e r a s 0002320 t h e d i g i t s i n t 0002340 h e o d o m e t e r , w i t 0002360 h t h e f i r s t e l e m 0002400 e n t i n t h e l i s t 0002420 b e i n g t h e h i g h e s 0002440 t - o r d e r d i g i t i n 0002460 t h e o d o m e t e r , a 0002500 n d t h e l a s t e l e m 0002520 e n t t h e u n i t s d i 0002540 g i t . \r E a c h w i n d o w 0002560 h a s t h e f o l l o w i 0002600 n g d a t a a s s o c i a t 0002620 e d w i t h i t ( u s i n 0002640 g t h e W I N D O W P R O P 0002660 f u n c t i o n ) , u n d e 0002700 r t h e i n d i c a t o r s 0002720 s h o w n : \r \0 \0 302 7 310 K 303 e 0002740 303 330 \0 \0 002 302 \0 300 6 302 7 301 d 001 246 0002760 301 260 001 330 376 223 \0 \0 002 026 \0 \0 355 355 363 361 0003000 I n d i c a t o r \t D e s c r i 0003020 p t i o n \r D G T \r A n i n t 0003040 e g e r ; t h e d i g i t 0003060 t h i s w i n d o w c o n t 0003100 a i n s , o r - 1 i f t 0003120 h e w i n d o w i s b l a 0003140 n k . E v e r y w i n d o 0003160 w i s b l a n k w h e n 0003200 i t i s f i r s t c r e a 0003220 t e d , a n d c a n b e 0003240 b l a n k e d o u t u s i n 0003260 g O D O S E T ( b e l o w ) 0003300 . \r N X T D \r A w i n d o w ; 0003320 t h i s i s t h e n e x 0003340 t h i g h e r w i n d o w , 0003360 a n d i s u s e d f o r 0003400 c a r r y i n g o r b o r 0003420 r o w i n g . T h e h i g 0003440 h e s t - o r d e r w i n d o 0003460 w h a s n o t h i n g a s 0003500 s o c i a t e d w i t h i t 0003520 u n d e r t h i s i n d i 0003540 c a t o r ; y o u m a y s 0003560 u p p r e s s c a r r y i n g 0003600 f r o m a n y g i v e n 0003620 w i n d o w b y d o i n 200 207 0003640 \0 \a " 003 020 211 027 \0 023 \0 003 O 027 \f 200 211 0003660 \0 \t " 003 020 211 027 \0 023 \0 005 312 024 \0 005 312 0003700 0 001 200 206 \0 006 023 \0 023 330 024 \0 023 330 0 002 0003720 \0 026 020 032 $ 302 020 307 004 \0 004 \0 002 0003740 \0 \0 002 \0 \0 004 026 300 031 \b 262 300 270 004 302 0003760 300 306 001 236 377 330 \0 \0 002 ! \0 \0 350 317 362 354 0004000 g ( W I N D O W P R O P w i 0004020 n d o w ' N X T D N I L ) . 0004040 \r B U T T O N E V E N T F N \r T 0004060 h e f u n c t i o n t h a t 0004100 ' s c a l l e d w h e n a 0004120 m o u s e b u t t o n i s 0004140 h i t w i t h t h e c u 0004160 r s o r i n s i d e t h e 0004200 w i n d o w . T h i s i s 0004220 i n i t i a l i z e d t o 0004240 O D O B U T T O N F N f o r 0004260 a l l d i g i t w i n d o w 0004300 s . O D O B U T T O N F N 0004320 s c r o l l s t o t h e n 0004340 e x t h i g h e r d i g i t 0004360 w h e n t h e R E D b u 0004400 t t o n i s h i t , a n d 0004420 t h e n e x t l o w e r 0004440 d i g i t w h e n t h e Y 0004460 E L L O W b u t t o n i s 0004500 h i t . I t w i l l c o 0004520 n t i n u e t o s c r o l l 0004540 a s l o n g a s t h e 0004560 b u t t o n i s h e l d d 0004600 o w n , e v e n i f t h e 0004620 m o u s e i s 200 206 \0 006 023 \0 0004640 023 330 024 \0 023 330 0 002 200 212 \0 \n " 003 020 211 0004660 027 \0 023 \0 005 312 024 \0 005 312 0 001 034 001 \0 ! 0004700 016 / \0 \0 002 004 \0 002 300 \0 \0 003 300 \r 0004720 320 016 300 024 \0 025 300 032 \0 033 300 036 004 ! 300 . 0004740 \0 240 300 253 \0 304 300 317 \0 372 300 375 001 / 301 5 0004760 307 205 001 232 376 307 \0 \0 002 F \0 \0 337 315 345 341 0005000 m o v e d o u t o f t h e 0005020 w i n d o w . T h i s c 0005040 a n l e a d t o c o u n t 0005060 e r - i n t u i t i v e r e s 0005100 u l t s . \r O D O I N C F N \r A 0005120 f u n c t i o n t o b e 0005140 c a l l e d w h e n t h i s 0005160 d i g i t i s i n c r e m 0005200 e n t e d , o r N I L . 0005220 T h i s i s i n i t i a l l 0005240 y N I L , a n d m a y b 0005260 e s e t b y t h e u s e 0005300 r a s n e e d e d . T h 0005320 i s i s i n t e n d e d t 0005340 o p r o v i d e a s y n c 0005360 h r o n i z i n g i n t e r f 0005400 a c e t o o t h e r p a c 0005420 k a g e s . \r O D O D E C F N \r 0005440 A f u n c t i o n t o b e 0005460 c a l l e d w e n t h i s 0005500 d i g i t i s d e c r e m 0005520 e n t e d , o r N I L . 0005540 A n a l o g o u s t o O D O 0005560 I N C F N . \r B M A R R A Y \r A 0005600 n a r r a y o f b i t m a 0005620 p s c 200 206 \0 006 023 \0 023 330 024 \0 023 330 0005640 0 002 200 212 \0 \n " 003 020 211 027 \0 023 \0 005 312 0005660 024 \0 005 312 0 001 034 001 200 202 \0 002 0 001 \0 F 0005700 016 O 001 027 % 001 w % 177 004 \0 002 \0 0005720 \0 002 306 \0 300 027 \0 F 300 N 004 212 300 215 004 242 0005740 300 245 001 027 301 037 005 Z 301 ] 005 m 301 u 001 w 0005760 301 ~ 001 224 376 / \0 \0 002 I \0 \0 337 312 351 345 0006000 o n t a i n i n g t h e d i 0006020 g i t s t h a t c a n b e 0006040 d i s p l a y e d . T h i 0006060 s s h o u l d n o t b e 0006100 c h a n g e d . \r F u n c t i o 0006120 n s A v a i l a b l e \r O D O 0006140 C R E A T E [ # d i g i t s 0006160 f o n t p l a c e ] 234 C r e 0006200 a t e s a n d r e t u r n s 0006220 a n o d o m e t e r c o n 0006240 t a i n i n g # d i g i t s 0006260 d i g i t s . T h e d i g 0006300 i t s w i l l b e d i s p 0006320 l a y e d i n f o n t f o 0006340 n t , a n d p l a c e i s 0006360 t h e P O S I T I O N o f 0006400 t h e l o w e r l e f t h 0006420 a n d c o r n e r o f t h 0006440 e h i g h - o r d e r d i g 0006460 i t ' s w i n d o w . T h 0006500 e r e m a i n i n g d i g i 0006520 t s a r e p o s i t i o n e 0006540 d a u t o m a t i c a l l y , 0006560 a c c o r d i n g t o t h 0006600 e f o n t b e i n g u s e 0006620 d . f o n t d e f a u l t 0006640 s t o 200 206 \0 006 023 \0 023 330 024 \0 023 330 0006660 0 002 \0 I 310 ] 004 \0 002 \0 004 \0 017 \0 \0 0006700 \0 006 \b \0 \v 002 004 \0 003 \0 \r \0 300 \0 302 I 0006720 \0 ] 004 g \0 h 004 z \0 { 312 | 302 } 306 250 0006740 302 257 306 336 302 342 306 350 302 355 006 365 302 375 307 224 0006760 303 230 001 244 377 177 \0 \0 002 b 302 \0 331 322 346 333 0007000 T i m e s R o m a n D 3 6 , 0007020 a n d p l a c e d e f a u 0007040 l t s t o a r e q u e s t 0007060 t h a t t h e u s e r i 0007100 n d i c a t e a s p o t u 0007120 s i n g G E T P O S I T I O N 0007140 . \r O D O C L O S E [ o d o m 0007160 e t e r ] 234 C l o s e s a l 0007200 l t h e w i n d o w s i n 0007220 t h e l i s t o d o m e t 0007240 e r . T h e s e m a y l 0007260 a t e r b e r e o p e n e d 0007300 . \r O D O O P E N [ o d o m e 0007320 t e r ] 234 O p e n s a l l 0007340 t h e w i n d o w s i n t 0007360 h e l i s t o d o m e t e r 0007400 . \r O D O S E T [ o d o m e t 0007420 e r v a l u e ] 234 S e t s 0007440 t h e d i g i t s o f o d 0007460 o m e t e r t o r e p r e s 0007500 e n t v a l u e , w h i c h 0007520 i s a n i n t e g e r . 0007540 A n y h i g h - o r d e r 0007560 d i g i t s o f v a l u e ' 0007600 s r e p r e s e n t a t i o n 0007620 w h i c h d o n ' t f i t 0007640 a r e d i s c a 302 b 302 302 303 002 0007660 \0 017 \0 \0 \0 006 \b \0 \v 002 004 \0 003 \0 \r \0 0007700 004 \0 002 302 \0 306 025 302 032 \0 U 302 ` 020 b 0007720 312 v 302 w 306 232 302 242 020 302 312 325 302 326 306 370 0007740 303 \0 021 002 303 032 307 . 303 6 307 D 303 I 307 z 0007760 303 177 001 252 376 ] \0 \0 002 344 302 \0 325 325 342 330 0010000 r d e d w i t h o u t c o m 0010020 m e n t ; a n y h i g h - o 0010040 r d e r d i g i t s o r t 0010060 h e o d o m e t e r w h i c 0010100 h a r e n ' t n e e d e d 0010120 t o r e p r e s e n t v a l 0010140 u e a r e b l a n k e d o 0010160 u t r a t h e r t h a n b 0010200 e i n g f i l l e d w i t h 0010220 z e r o s . T h e r e f o 0010240 r e , t o b l a n k a l l 0010260 t h e d i g i t s o f a 0010300 n o d o m e t e r , d o ( 0010320 O D O S E T o d o m e t e r 0010340 0 ) . \r O D O P U T [ w i n d 0010360 o w v a l u e ] 234 S e t s 0010400 t h e o d o m e t e r d i g 0010420 i t w i n d o w w i n d o w 0010440 t o c o n t a i n t h e 0010460 d i g i t r e p r e s e n t i 0010500 n g t h e i n t e g e r v 0010520 a l u e . v a l u e s h o 0010540 u l d b e i n t h e r a 0010560 n g e - 1 t o 9 . V a 0010600 l u e s o f 0 233 9 r e p r 0010620 e s e n t t h e m s e l v e s 0010640 ; - 1 b l a n k s t h e 0010660 w i n d o w 302 344 \0 \r \0 \0 \0 005 \v 002 0010700 004 \0 003 \0 \r \0 \0 \a \0 \0 \0 002 \b 001 004 0010720 \0 002 302 \0 306 ] 302 b \0 320 302 326 016 327 302 337 0010740 026 344 312 372 302 373 307 032 303 307 O 303 T 307 W 0010760 303 \ 001 266 377 002 \0 \0 002 002 302 \0 333 333 351 334 0011000 . \r O D O I N C [ w i n d o w 0011020 ] 234 S c r o l l s t h e o 0011040 d o m e t e r w i n d o w w 0011060 i n d o w t o t h e n e x 0011100 t h i g h e r d i g i t , 0011120 c a r r y i n g a s n e e d 0011140 e d . A s a s i d e e 0011160 f f e c t , a n y t h i n g 0011200 a s s o c i a t e d w i t h 0011220 t h e w i n d o w u n d e r 0011240 t h e i n d i c a t o r O 0011260 D O I N C F N w i l l b e 0011300 a p p l i e d t o t h e w 0011320 i n d o w a f t e r t h e 0011340 s c r o l l i n g i s c o m 0011360 p l e t e . \r O D O D E C [ w 0011400 i n d o w ] 234 S c r o l l s 0011420 t h e o d o m e t e r w i n 0011440 d o w w i n d o w t o t h 0011460 e n e x t l o w e r d i g 0011500 i t , b o r r o w i n g a s 0011520 n e e d e d . A s a s 0011540 i d e e f f e c t , a n y t 0011560 h i n g a s s o c i a t e d 0011600 w i t h t h e w i n d o w 0011620 u n d e r t h e i n d i c a 0011640 t o r O D O D E C F N w i l 0011660 l b e a p p l i e d t 302 002 0011700 302 367 004 \0 002 \0 \r \0 \0 \0 005 \v 002 004 \0 0011720 003 \0 \r \0 302 \0 \0 002 312 022 302 023 306 / 302 5 0011740 004 257 302 267 \0 367 313 \a 303 \b 307 $ 303 * 005 244 0011760 303 254 001 276 376 344 \0 \0 002 . 302 . 337 337 352 341 0012000 o t h e w i n d o w a f t 0012020 e r t h e s c r o l l i n g 0012040 i s c o m p l e t e . \r \0 \0 0012060 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0012760 302 \0 \0 . 376 367 \0 \0 \0 . 302 . 370 370 370 370 0013000