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