%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: history.dvi %%Pages: 20 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 300 -t letter -o history.ps history.dvi %DVIPSParameters: dpi=300, compressed %DVIPSSource: TeX output 2002.06.27:1354 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (history.dvi) @start %DVIPSBitmapFont: Fa cmti10 10.95 1 /Fa 1 47 df<127012F8A212F012E005057B840E>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmbxti10 14.4 1 /Fb 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmtt9 9 26 /Fc 26 123 df95 D97 D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C1380EB01C0A6EB0380001E1300EA1F0E EA1DFCEA0CF81217809614>II<137EA2130EA5EA07CEEA0FFEEA1C3EEA 301EEA700E12E0A61270EA301EEA383E381FEFC0EA07CF12177F9614>II<13FCEA01FEEA038EEA07041300A3EA7FFE12FFEA0700ACEAFFF8A20F17 7F9614>II<12FCA2121CA51378EA1DFEEA1F86EA1E07121CAA38FF8FE0A21317809614>I<1206 120FA21206C7FCA4B4FCA21207ACEAFFF8A20D187C9714>I<12FCA2121CA5EBFF80A2EB 1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C131C7F38FF1F80A21117809614>107 DII IIIII I<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F00F157F9414>II<38FE3F80A2383C1E00EA1C1CA36C5A A3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700EA380EA3EA39CEA3EA 1B6C121AA3EA1E7CA2EA0E3811107F8F14>II<38FE3F80A2381C0E005B A2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC127E123C11187F8F 14>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmti9 9 1 /Fd 1 47 df<1230127812F0126005047C830C>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmr9 9 24 /Fe 24 122 df48 D<12035AB4FC1207B3A2EA7FF80D187D 9713>I54 D<1240EA7FFF13FEA2EA4004EA80081310A2EA00201340A21380120113005AA25A1206A2 120EA5120410197E9813>II I<39FFE1FFC0390E001C00AB380FFFFC380E001CAC39FFE1FFC01A1A7F991D>72 D83 D97 D99 D<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C 5AEA1C373807C7E0131A7F9915>II103 D<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF014 1A809915>I<1218123CA212181200A612FC121CAE12FF081A80990A>I110 DII< EAFC78EA1D9CEA1E1C1308EA1C00ABEAFF800E10808F0F>114 DI<1208A41218A21238EAFFC0EA3800A81320A41218EA1C40EA07800B177F960F>I<38 FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C5A11107F8F14> 118 D<38FE3F80383C1E00EA1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA 181CEA381E38FC3FC012107F8F14>120 D<38FF0F80383C0700EA1C061304A26C5AA26C 5AA3EA03A0A2EA01C0A36C5AA248C7FCA212E112E212E4127811177F8F14>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmss10 10.95 2 /Ff 2 42 df<13E0EA01C0EA0380120713005A121EA2121C123CA212381278A3127012F0 AE12701278A31238123CA2121C121EA27E7E13801203EA01C0EA00E00B2E7CA112>40 D<12E012707E123C121C121E7EA27E1380A2120313C0A3120113E0AE13C01203A3138012 07A213005AA2121E121C123C12385A5A0B2E7EA112>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmbx10 12 27 /Fg 27 123 df12 D<90380FFF80137F3801FC1F 3803F03FEA07E0EA0FC0141FA7B6FCA2380FC01FB2397FF8FFF0A21C237FA220>I97 DII<49B4FC A2EB003FAB13FE3807FFBF380FC1FF48C67E003E7F127E127CA212FCA7127C127E123E6C 5B380F81FF3907FF3FE0EA01FC1B237EA220>I<13FE3807FF80380F83C0381E01E0383E 00F0127E007C13F8147812FCB512F8A200FCC7FCA3127CA26C1318A26C1330380F80E038 03FFC0C6130015167E951A>II<9038FE0F803903FF9FC0380F83E338 1F01F3391E00F000003E7FA5001E5BEA1F01380F83E0380BFF80D808FEC7FC0018C8FCA2 121C381FFFE014FC6C13FF7E001F1480397C001FC00078130F00F81307A3007CEB0F806C EB1F00381F807E6CB45A000113E01A217F951D>II<121E123FEA7F80A4EA3F00121E C7FCA6EAFF80A2121FB2EAFFF0A20C247EA30F>I107 DI<3AFF03F8 03F890390FFE0FFE3A1F183F183F9039201F201F014001C01380A201801380AE3BFFF0FF F0FFF0A22C167D9531>I<38FF03F0EB0FFC381F187EEB203EEB403FA21380AE39FFF1FF E0A21B167D9520>I<13FF000713E0380F81F0381F00F8003E137C48133EA300FC133FA7 007C133E007E137E003E137C6C13F8380F81F03807FFE0C6130018167E951D>I<38FF87 F0EBBFFC381FF07EEBC01F9038800F8015C0A2EC07E0A715C0140FA2EC1F8001C01300EB F07EEBBFFCEB8FE00180C7FCA8EAFFF0A21B207E9520>II<38FF0F80EB1FE0381F33F013631343A2EBC1E0EB8000AD EAFFF8A214167E9518>I<3807F980EA1FFFEA3807EA7003EAF001A26CC7FCB4FC13F8EA 7FFE6C7E6C1380120738003FC0EAC007130312E0A200F0138038FC0F00EAEFFEEAC3F812 167E9517>I<487EA41203A21207A2120F123FB5FCA2EA1F80ABEB8180A5380F830013C3 EA07FEEA01F811207F9F16>I<38FF81FFA2381F803FAF5C5C380FC1BF3907FF3FE0EA01 FC1B167D9520>I<39FFF01FE0A2391FC00700000F1306EBE00E0007130C13F000035BA2 6C6C5AA26C6C5AA2EBFEE0EB7EC0137F6D5AA26DC7FCA2130EA21B167F951E>I<3AFFF3 FF83FCA23A1F807C00E0D80FC014C08001E013010007017F1380A2D803F0EB0300ECCF83 01F81387D801F913C61487D800FD13ECEBFF0315FC017F5BEB7E01013E5BEB3C00A20118 136026167F9529>I<39FFF07FC0A2390FC01C006C6C5A6D5A00035B6C6C5A3800FD8013 7F91C7FC7F6D7E497EEB37E0EB67F013C33801C1F8380380FC48487E000E137F39FF81FF E0A21B167F951E>I<39FFF01FE0A2391FC00700000F1306EBE00E0007130C13F000035B A26C6C5AA26C6C5AA2EBFEE0EB7EC0137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC38 13305BEA69C0EA7F80001FC8FC1B207F951E>I<387FFFF0A2387C07E038700FC0EA601F 00E0138038C03F005B137EC65A1201485AEBF030EA07E0120FEBC070EA1F80003F1360EB 00E0EA7E03B5FCA214167E9519>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmtt10 12 27 /Fh 27 119 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F FF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42 D<1338137CA2136C13EEA313 C6A2EA01C7A438038380A4380701C0A213FFA24813E0EA0E00A4481370387F01FC38FF83 FE387F01FC171E7F9D1A>65 D69 D<38FF83FEA3381C0070AA381FFFF0A3381C 0070AB38FF83FEA3171E7F9D1A>72 D I<38FE03FE12FFA2381D8070A213C0121CA213E0A213601370A213301338A21318131CA2 130C130EA21306A213071303A238FF81F0A21380171E7F9D1A>78 DI82 D<3803F1C0EA0FFDEA3FFFEA7C0FEA700312E01301A390C7FC12 701278123FEA1FF0EA07FE3800FF80EB0FC0EB01E013001470A2126012E0A214E0EAF001 38FC03C0B5128000EF1300EAE3FC141E7D9D1A>I<387FFFFEB5FCA238E0380EA5000013 00B33803FF80A3171E7F9D1A>I<38FF01FEA3381C00706C13E0A2380701C0A213830003 138013C700011300A2EA00EEA2137CA21338AA48B4FCA3171E7F9D1A>89 D<387FFFC0B512E0A26C13C013047D7E1A>95 D97 D<12FEA3120EA6133EEBFF80000F13E0EBC1F0EB8070EB0038120E14 1CA7000F13381478EB80F0EBC1E0EBFFC0000E138038063E00161E7F9D1A>IIIII<12FEA3120EA6133EEBFF80000F13C013C1EB80E01300120EAC38FFE3 FE13E713E3171E7F9D1A>104 DI108 D 110 DI<387F81F838FF8F FC387F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>114 D<487E1203A6387FFFE0B5FCA238038000AA1470A43801C1E013FF6C1380EB3F00141C7F 9B1A>116 D<38FE0FE0A3EA0E00AD1301EA0F033807FFFE7EEA00FC17157F941A>I<387F C7FC00FF13FE007F13FC380E00E0A3380701C0A338038380A33801C700A3EA00EEA3137C A2133817157F941A>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmbx12 13.14 41 /Fi 41 123 df12 D<123C127E12FFA4127E123C08087C8711>46 D<131C133C13FC12FFA21200B3AA387FFF FCA216237CA21F>49 D<48B4FC000713C0381E07F0383803F8386001FC387C00FE12FE14 FF147FA2127C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B1370 EBE003EA01C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F>I<48 B4FC000713E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB03F8 EB07F0EB0FC03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FEA214 FEA2387C01FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A214F8 1301130313071306130C131C13381330136013E0EA01C01380EA03005A120E5A12185A12 705AB612C0A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEBFFF8 14F014E014C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FCC712 7EA3147FA2127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE0018 237DA21F>II<1230123C003FB512C0A2 15804814005C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133CA25B A213F8A41201A66C5A13601A257DA41F>I<141CA2143EA3147FA24A7EA39038019FC0A2 9038031FE0140F01077FEB0607A2010C7F1403011C7FEB1801A2496C7EA2017FB5FCA290 39E0007F8049133FA2484880151F00038190C7120FA2486E7ED8FFF090B51280A229257E A42E>65 D68 DII72 DI76 D I<01FF1380000713E3380F80F7381E001F48130F481307140312F81401A27E91C7FCB4FC EA7FE013FE383FFFE014F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200 C01303A315C07E6C13076C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>83 D87 D97 DIII<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E 12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80 17187E971C>II<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800 007E7FA6003E5B6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C 13FC806C7F481480383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807 FFF8C613C01B247E971F>II<120FEA1F80EA3FC0A4EA1F80EA0F00 C7FCA7EA7FC0A2120FB3A2EAFFF8A20D277EA611>I108 D<26FF80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E8 03F001A013F0A201C013E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80 390F8E0FC0139890389007E013A0A213C0AF39FFFC7FFEA21F187E9722>II<38FFC1FCEBCFFF390FFC1FC09038F0 07E001C013F0140315F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038 CFFF00EBC3F801C0C7FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC 13B013A01478EBE0005BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA70 01EAF000A300FC1300B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212 E014C0EAF00338FC078038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F 121FB512C0A2380FC000AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39 FFC07FE0A2000F1307B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I< 39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC0000 5B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21D187F9720>I<39FFF83FF0A239 0FC00F003807E00E6C6C5A6D5A6C6C5A00001360EB7EC06D5AA2131F6D7E497E80EB33F8 1361EBE0FC3801C07E3803807F3907003F8048131F39FFC07FF8A21D187F9720>120 D<39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC00 005B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21306A25B1230EA781CEAFC185B 1370EA68E0EA7FC0001FC8FC1D237F9720>I<387FFFF8A2387C03F0EA700738600FE000 E013C0EB1F80EAC03F1400137EEA00FE5B485A0003130C13F0EA07E0120FEBC01C381F80 18003F1338387F0078387E01F8B5FCA216187E971B>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmsl10 10.95 30 /Fj 30 122 df<903803F07C90381E0DC69038380F0FEB701E01E0130EEC0C003801C01C A548485A007FB512C03903803800A448485AA6000E5BA648485A001E7F38FF8FFC20207E 9F1B>11 DI<903803F03F9039 1E09E0809039380F80C09039701F01E0EBE03E021E13C02601C01CC7FCA548485A007FB6 12803903803803A43A0700700700A6000EEBE00EA64848485A001EEBE01E3AFF8FF8FFC0 23207E9F26>14 D<13201360A4383061C0383C4380380E4E00EA0778EA01E0A2EA07B8EA 1C9CEA708FEAE083EA0180A490C7FC12147AA117>42 D<13181338EA01F8EA0E701200A5 13E0A6EA01C0A6EA0380A6EA07001380EAFFFC0E1E7B9D17>49 DI<13 FFEA01FE1380A5EA0300A61206A65AA65AA65AA65AA6B4FCA2102D7EA10D>91 D<13FFEA01FEEA0006A5130CA61318A61330A61360A613C0A6EA0180A6EAFF00A2102D82 A10D>93 D97 D<13FEEA0383380E0780121C00 38130090C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314>99 D<1438EB01F8EB00781438A21470A614E013FCEA0382EA0601121CEA3C00383801C01278 12F0A438E00380A412F0EA700738380F00381C37803807C7E015207D9F19>I<13F8EA07 0EEA0E07381C038012381278127012F0B5FC00F0C7FCA25AA46C5AEA7002EA3004EA1C18 EA07E011147D9314>II<140EEB3E11EBE1A33801C1C238 0381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218121CEA0FFF14C0 14E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F809417>I<13E012 0712011200A2485AA6485AEB8F80EB90E013A0EBC0601380000713E01300A5380E01C0A6 381C0380001E13C038FF8FF014207E9F19>II<13E0120712011200 A2EA01C0A6EA0380A6EA0700A6120EA65A121EEAFF800B207F9F0C>108 D<390387C07C391F9861863907A072073903C03403EB80380007EB7807EB0070A5000EEB E00EA64848485A001EEBE01E3AFFCFFCFFC022147E9326>I<38038F80381F90E0EA07A0 3803C0601380000713E01300A5380E01C0A6381C0380001E13C038FF8FF014147E9319> I<13FCEA0387380E0180381C00C04813E0A24813F012F0A438E001E0A214C0130300F013 8038700700EA380E6C5AEA07E014147D9317>IIIII<1380EA0100 A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<38 1C0380EAFC1FEA3C07EA1C03A238380700A6EA700EA4131EA25BEA305E381F9F8011147B 9319>I<38FF83F8381E00E0001C13C01480121E380E01005B13025B12075BA25BEA0390 13A013E05B5B120190C7FC15147C9318>I<39FF9FE1FC393C078070391C030060148015 401580EA0E0790380D81001309EB19C21311380F21C4EA0720EB40C814E8EB80F0A26C48 5A1460000213401E147C9321>I<381FF0FF3803C0780001137014403800E0C0EBE180EB 73001376133CA2131C132E134E1387EA0107380203801204380C01C0383C03E038FE07FC 18147F9318>I<390FF83F803901E00E00EBC00C140813E000005B143014205C13705CA2 0171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8FC12E61278 191D809318>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmcsc10 10.95 3 /Fk 3 118 df103 D<38FC01FC381E007014201217EA1380A2EA11C0EA10E0A213701338A2131C130E1307A2 EB03A0EB01E0A213001460123800FE132016177E961C>110 D<38FF81FC381C00701420 B0000C1340120E6C138038018300EA007C16177E961C>117 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmbx12 17.28 36 /Fl 36 122 df49 DI<1578A215FCA34A7E A24A7EA24A7FA34A7FEC0E7F021E7FEC1C3FA202387F151F02787FEC700FA202E07F1507 010180ECC003A249486C7EA201078191C7FC498191B6FCA24981011CC7123F013C810138 141FA24981160F01F081491407A2484881486C1403B549B512FCA336317DB03D>65 DI<913A03FF800180023F EBF00349B5EAFC0701079038003F0FD91FF8EB079FD93FC0EB01FFD9FF807F4848C8127F 4848153F0007161F49150F485A001F1607A2485A1703127FA24992C7FCA212FFA9127FA2 7FEF0380123FA26C7E1707000F17006C7E6D150E0003161E6C6C151C6C6C6C1478D93FC0 5CD91FF8EB03E0D907FFEB3F800101D9FFFEC7FCD9003F13F80203138031317CB03A>I< B812E0A3C6903880007FEE0FF016031601A21600A21770A31738A21507A21700A35D5D5D 91B5FCA3EC803F818181A592C8FCACB612C0A32D317EB033>70 DIII78 D80 D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A3481603 A5C792C7FCB3AA017FB6FCA331307DAF38>84 DII97 DIIIII<90391FF007C09039FFFE3F E03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF000A2003F80A5001F5CA2 000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC121EA2121F7F90B57E6C 14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C140F00FC1407A4007EEC 0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0D8001F90C7FC242F7E9F 28>III108 D<2703F007F8EB1FE000FFD93FFEEBFFF8913A783F01 E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602F8148001FC5CA3495CB3 B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFEEC783F02C013803A0FF1 801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F2D>II<3901F83FE000FFEBFFFC9038FBE07F9039FF00 3F80D80FFEEB1FC06C48EB0FE04914F0ED07F8A216FC1503A216FEA816FC1507A216F8A2 ED0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC3FC091C8FCABB512C0A3 272E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF30FF0EA07F6A29038FC07 E0EC03C091C7FCA25BB2B512E0A31C207E9F21>114 D<3801FF86000713FEEA1F00003C 133E48131E140E12F8A36C90C7FCB47E13FC387FFFC06C13F0806C7F00077F00017FEA00 3F01001380143F0060131F00E0130FA27E15007E6C131E6C131C38FF807838F3FFF038C0 7F8019207D9F20>I<131CA5133CA3137CA213FC120112031207381FFFFEB5FCA2D803FC C7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB07F0192E7FAD1F>IIII<3A7FFF807FFCA33A03FC000F006C6C131E6C6C5BEC803890387FC078013F5B90 381FE1E090380FF3C0ECFF806D90C7FC6D5A13016D7E81815B903803DFE09038078FF081 90380F07FC90381E03FEEB3C01496C7E4914804848EB7FC00003EC3FE026FFFC01B5FCA3 28207F9F2B>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmsy10 10.95 1 /Fm 1 14 df<14FE903807FFC090381F01F0903878003C01E0130ED80180130348C7EA01 800006EC00C0481560A2481530481518A248150CA4481506A90060150CA46C1518A26C15 306C1560A26C15C06CEC01806C6CEB0300D800E0130E0178133C90381F01F0903807FFC0 D900FEC7FC272B7DA02E>13 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmbx12 14.4 44 /Fn 44 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 0E5A5A12100A157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46 D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49 DII<140FA25C5C5C5C5BA2EB03 BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8 A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091 C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218 127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6 22>I65 DI<91387FE003903907FFFC07011FEBFF0F90397FF0 0F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A160F485A1607127FA290 C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C14786CB4EB01F09039 7FF007C0011FB512800107EBFE009038007FF028297CA831>I69 DI<91387FE003903907 FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F484880484880484880485A82 485A82127FA290CAFC5AA892B512F87E7F03001300123FA26C7EA26C7E6C7E6C7E6C7E6C B45B90387FF007011FB5129F0107EBFE0F9039007FF0032D297CA835>III78 D80 D82 D<9038FF80600003EBF0E0 000F13F8381F80FD383F001F003E1307481303A200FC1301A214007EA26C140013C0EA7F FCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E0 1303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA8 25>I85 DII<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801 FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B 7E9A21>97 DIIIII<9038FF80F000 03EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E 6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C 14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512 0038007FF01E287E9A22>II<1207EA0F80EA1FC0EA3FE0 A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I108 D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0 C1F8D80FC49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFF E0A3331B7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013 D0A213E0B039FFFE3FFFA3201B7D9A25>II<38FFE1FE9038EFFF809038FE 0FE0390FF803F09038F001F801E013FC140015FEA2157FA8157E15FEA215FC140101F013 F89038F807F09038FC0FE09038EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25> I<38FFC1F0EBC7FCEBC63E380FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B> 114 D<3803FE30380FFFF0EA3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14 C06C13E06C13F0000713F8C6FCEB07FC130000E0137C143C7E14387E6C137038FF01E038 E7FFC000C11300161B7E9A1B>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380F E000AD1470A73807F0E0000313C03801FF8038007F0014267FA51A>I<39FFE07FF0A300 0F1307B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FF A3390FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0E A2149EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B 0FE00FE001C02607F007EB0380A201F8EBF00700031600EC0FF801FC5C0001150EEC1FFC 2600FE1C5B15FE9039FF387E3C017F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C 5AA2EC800701075CA22E1B7F9A31>I<39FFFC1FFEA33907F003803803F8079038FC0F00 3801FE1E00005BEB7F3814F86D5A6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038 F03F803901E01FC0D803C013E0EB800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA339 0FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA214 9EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E13 1C5BEA74F0EA3FE0EA0F8020277F9A23>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmtt10 10.95 76 /Fo 76 127 df<127012F8B012701200A5127012F8A31270051C779B18>33 DI I<13C01201A3EA03F0EA0FFCEA3FFEEA7DCFEA71C738E1C38013C7A338F1C0001279123F 6C7EEA0FF8EA01FC13DE13CF13C73861C38012F1A212E1EBC7001271EA79DEEA3FFEEA1F F8EA07E0EA01C0A3120011247D9F18>III<1238127CA2127E 123E120EA3121CA2123812F812F012C0070E789B18>I<137013F0EA01E0EA03C0EA0780 EA0F00121E121C5AA25AA45AA81270A47EA27E121E7EEA0780EA03C0EA01F0120013700C 24799F18>I<126012F012787E7E7EEA07801203EA01C0A2EA00E0A41370A813E0A4EA01 C0A2EA03801207EA0F00121E5A5A5A12600C247C9F18>II<136013F0A7387FFFC0B512E0A26C13C03800F000A7136013147E9718>I<121C 123E127E127F123F121F1207120E121E127C12F81260080C788518>I<387FFFC0B512E0 A26C13C013047E8F18>I<1230127812FCA2127812300606778518>I<1303EB0780A2130F 14005B131EA2133E133C137C1378A213F85B12015B12035BA212075B120F90C7FCA25A12 1E123E123CA2127C127812F85AA2126011247D9F18>IIII<131F5B1377A213E7120113C7EA038712 071307120E121E123C1238127812F0B512F8A338000700A6EB7FF0A3151C7F9B18>52 D<137E48B4FC00071380380F83C0EA1E03121C3838018090C7FC5AA2EAE1F8EAE7FEB5FC 38FE078038F803C0EAF001EB00E05AA21270A3383801C0EA3C03381E0780380FFF006C5A EA01F8131C7E9B18>54 D<1230127812FCA2127812301200A81230127812FCA212781230 0614779318>58 D<1218123C127EA2123C12181200A81218123C127EA2123E121E120E12 1C123C127812F01260071A789318>I<14C0EB03E01307EB1FC0EB3F80EBFE00485AEA07 F0485AEA3F8048C7FC12FCA2127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E013 03EB00C013187E9918>I<387FFFC0B512E0A26C13C0C8FCA4387FFFC0B512E0A26C13C0 130C7E9318>I<126012F87E127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2 EB1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A126013187E9918>II<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707 A5380FFF80A3EA0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>65 D68 DII<387F07F038FF 8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F9B18 >72 DI76 D<387E07F038FF0FF8387F07F0381D81C0 A313C1121CA213E1A313611371A213311339A31319A2131D130DA3EA7F07EAFF87EA7F03 151C7F9B18>78 DII< EA7FF8EAFFFE6C7E381C0F80130314C01301A313031480130F381FFF005BA2EA1C0F7FEB 0380A5149CA3387F01F8EAFF81387F00F0161C7F9B18>82 D<3803F1C0EA1FFF5AEA7C0F EA7003EAE001A390C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00E0A2 126012E0130100F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5FCA2 38E07038A400001300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0EA0F 01380783C03803FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03381C01C0 EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A21370A9EA01FC487E6C 5A151C7F9B18>89 D91 D<126012F0A27E1278127C123CA2123E121E121F7EA27F12077F1203A27F12017F12007F 1378A2137C133C133E131EA2131F7F14801307A2EB030011247D9F18>III<387FFFC0B512E0A26C13C013047E7F18>I<1206121E123E12381270A212E0A312F8 12FC127CA21238070E789E18>II<127E 12FE127E120EA5133EEBFF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2EB80 E013C1EBFFC0000E138038063E00151C809B18>II< EB1F80133F131F1303A5EA03E3EA0FFBEA1FFFEA3C1FEA380FEA7007130312E0A6EA7007 A2EA380FEA3C1F381FFFF0380FFBF83803E3F0151C7E9B18>III<3801E1F03807FFF85A381E1E30381C0E00 487EA5EA1C0EEA1E1EEA1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F03870 0070481338A4007813F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12FE12 7E120EA5133EEBFF80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC17 1C809B18>II<127E12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA 0E0F7FEB038014C0387FC7F812FF127F151C7F9B18>107 DI<38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E 7EEB3E3E1714809318>IIII<3801F380EA07FB EA1FFFEA3E1FEA380FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3 EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060 EBC0005BA290C7FCA9EAFFFC7F5B14147E9318>II<487E1203A4387FFFC0B5FCA238038000A9144014E0A33801C1C013FF6C 1380EB3E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F033807FFFC6C 13FE3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E0380A33807 0700A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F8138F13073838 00E0A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA23807070015147F93 18>I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013F07FEA01DC EA039E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I<387F8FF000 FF13F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA213CC120013 DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<383FFFF05AA2 387001E0EB03C0EB078038000F00131E5B13F8485AEA03C0485A380F0070121E5A5AB512 F0A314147F9318>II<126012F0B3B012600424769F18>I<127CB4FC 13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005BABEA03C012FF90C7FC127C13247E 9F18>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmr10 10.95 74 /Fp 74 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>II<90381F81F89038F04F043901C07C063903 80F80FEB00F05A0270C7FCA6B7FC3907007007B23A3FE3FE3FE02320809F26>I34 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39 D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012 30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812 0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A 5A0A2E7EA112>I<127012F012F8A212781208A31210A31220A21240050E7C840D>44 DI<127012F8A3127005057C840D>I48 D<13801203120F12F31203B3A6EA07C0EA7FFE0F1E7C9D17>III<1306A2130EA2131E132EA2134E138EA2EA010E1202A212041208A212101220A2 124012C0B512F038000E00A7EBFFE0141E7F9D17>II<137CEA0182EA0701380E0380EA0C07121838 38030090C7FC12781270A2EAF1F0EAF21CEAF406EAF807EB0380A200F013C0A51270A214 801238EB07001218EA0C0E6C5AEA01F0121F7E9D17>I<1240387FFFE014C0A238400080 38800100A21302485AA25B5BA25BA21360A213E05B1201A41203A76C5A131F7E9D17>I< EA03F0EA0C0CEA1006EA3003382001801260A3127038780300123EEA3F06EA1FC8EA0FF0 EA03F8487EEA0C7EEA103F38300F80EA6007EB01C012C01300A31480EA600100201300EA 1002EA0C0CEA03F0121F7E9D17>II<127012F8A312701200AA127012F8A3127005147C93 0D>I<127012F8A312701200AA127012F012F8A212781208A31210A31220A21240051D7C 930D>I<5B497EA3497EA3EB09E0A3EB10F0A3EB2078A3497EA2EBC03EEB801EA248B5FC EB000FA20002EB0780A348EB03C0A2120C001E14E039FF801FFE1F207F9F22>65 DI<90380FE0109038381C30 9038E002703803C00139078000F048C71270121E15305A1510127C127800F81400A91278 007C1410123CA26C1420A27E6C6C13406C6C13803900E00300EB380CEB0FF01C217E9F21 >IIII<90380FE02090 387818609038E004E03803800238070001481300001E1460A25A1520127C127800F81400 A7EC7FFCEC03E000781301127C123CA27EA27E7E380380023900E0046090387818209038 0FE0001E217D9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF81D1F7E 9E22>II76 DIIIIII<38 03F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF86CB4 FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F8018038C6 0300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C0143000 801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC0080B3 A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003FE39 1F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213F8EB 7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF07FF8 1FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C000035DEC 19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C144090 383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<12FFA2 12C0B3B3A512FFA2082D7CA10D>91 DI<12FFA21203B3B3A512FFA2082D80A10D>I<12 0812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 DI<121C12FC121CAA137CEA1D87381E0180EB00 C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F 19>IIII<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE010 20809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33 E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C13 C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A212 1CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F 9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA61 80EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0 EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC 121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D019018001EEBE01CA200 1C13C0AE3AFF8FF8FF8021147E9326>IIII<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A61270 12781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>III<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F 9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8 383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3 132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D807 04138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E147F 9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F0137013 7813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>I< 38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8 A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmbx12 20.736 13 /Fq 13 122 df71 DI76 D78 D85 D97 D<13FE12FFA412071203B04AB4 FC021F13F0027F13FC9138FC03FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF0 17F8A2EE07FCA317FEA917FCA3160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EB FF009039F0FC07FE91387FFFF8D9E01F13E09026C003FEC7FC2F3C7DBB36>I105 D<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE0D807F8EB0FF0 48486D7EA248486D7E003F81A248486D7EA400FF1680A9007F1600A36C6C495AA2001F5D 6D1307000F5D6C6C495AD803FEEB3FE03A00FF80FF806DB5C7FC010F13F8010113C02926 7DA530>111 D<3901FC03F000FFEB0FFC4AB4FC91383C3F80EC707F00079038E0FFC000 035BEBFD80A201FFEB7F809138003F00151E92C7FC5BB3A3B512FCA422267DA528>114 D<90383FF0383903FFFE7848EBFFF8381FC00F383F0003003E13005A157812FCA27E6C14 0013C013FC387FFFF06C13FEECFF806C14C06C14E0000314F0C614F8011F13FCEB007FEC 07FE0070130100F01300157E7EA27E157C6C14FC6C14F890388001F09038F00FE000F9B5 12C0D8F07F130038C01FF81F267DA526>I<130FA55BA45BA25BA25B5A5A5A001FEBFFF0 B6FCA3000190C7FCB3153CA86C14781480017F13F090383FC1E090381FFFC06D13809038 01FE001E377EB626>I121 D E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%BeginPaperSize: Letter letter %%EndPaperSize %%EndSetup %%Page: 1 1 1 0 bop 75 659 a Fq(GNU)33 b(History)f(Library)p 75 709 1800 17 v 960 757 a Fp(Edition)16 b(4.3,)e(for)h Fo(History)f(Library)g Fp(V)l(ersion)i(4.3.)1643 811 y(Marc)o(h)e(2002)75 2467 y Fn(Brian)23 b(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F) -6 b(oundation)75 2534 y(Chet)22 b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)p 75 2570 1800 9 v eop %%Page: 2 2 2 1 bop 75 217 a Fp(This)21 b(do)q(cumen)o(t)g(describ)q(es)h(the)f (GNU)f(History)g(library)l(,)j(a)d(programming)g(to)q(ol)g(that)g(pro)o (vides)h(a)75 271 y(consisten)o(t)15 b(user)h(in)o(terface)f(for)g (recalling)i(lines)f(of)f(previously)i(t)o(yp)q(ed)e(input.)75 339 y(Published)i(b)o(y)f(the)f(F)l(ree)g(Soft)o(w)o(are)f(F)l (oundation)75 394 y(59)h(T)l(emple)h(Place,)f(Suite)i(330,)75 448 y(Boston,)d(MA)h(02111)f(USA)75 516 y(P)o(ermission)j(is)f(gran)o (ted)g(to)f(mak)o(e)h(and)g(distribute)i(v)o(erbatim)d(copies)i(of)f (this)h(man)o(ual)f(pro)o(vided)h(the)75 570 y(cop)o(yrigh)o(t)e (notice)h(and)f(this)h(p)q(ermission)g(notice)g(are)f(preserv)o(ed)h (on)f(all)h(copies.)75 638 y(P)o(ermission)c(is)h(gran)o(ted)e(to)g (cop)o(y)h(and)g(distribute)h(mo)q(di\014ed)g(v)o(ersions)f(of)f(this)h (man)o(ual)g(under)h(the)f(con-)75 692 y(ditions)k(for)e(v)o(erbatim)h (cop)o(ying,)g(pro)o(vided)h(that)e(the)h(en)o(tire)h(resulting)g (deriv)o(ed)g(w)o(ork)e(is)h(distributed)75 747 y(under)h(the)f(terms)g (of)g(a)f(p)q(ermission)j(notice)f(iden)o(tical)h(to)e(this)g(one.)75 814 y(P)o(ermission)i(is)g(gran)o(ted)f(to)g(cop)o(y)h(and)f (distribute)i(translations)f(of)f(this)h(man)o(ual)g(in)o(to)f(another) g(lan-)75 869 y(guage,)e(under)h(the)f(ab)q(o)o(v)o(e)g(conditions)i (for)d(mo)q(di\014ed)j(v)o(ersions,)e(except)h(that)f(this)h(p)q (ermission)g(notice)75 924 y(ma)o(y)f(b)q(e)i(stated)f(in)h(a)f (translation)g(appro)o(v)o(ed)g(b)o(y)g(the)g(F)l(ree)h(Soft)o(w)o(are) d(F)l(oundation.)75 2661 y(Cop)o(yrigh)o(t)301 2660 y(c)289 2661 y Fm(\015)h Fp(1988-2002)f(F)l(ree)i(Soft)o(w)o(are)f(F)l (oundation,)h(Inc.)p eop %%Page: 1 3 1 2 bop 75 -58 a Fp(Chapter)15 b(1:)k(Using)d(History)f(In)o(teractiv)o (ely)1007 b(1)75 149 y Fl(1)41 b(Using)26 b(History)h(In)n(teractiv)n (ely)137 289 y Fp(This)17 b(c)o(hapter)g(describ)q(es)h(ho)o(w)e(to)g (use)h(the)g Fk(gnu)f Fp(History)g(Library)h(in)o(teractiv)o(ely)l(,)h (from)e(a)g(user's)75 344 y(standp)q(oin)o(t.)38 b(It)21 b(should)h(b)q(e)g(considered)g(a)f(user's)g(guide.)38 b(F)l(or)21 b(information)g(on)g(using)h(the)f Fk(gnu)75 398 y Fp(History)c(Library)h(in)h(y)o(our)e(o)o(wn)g(programs,)f(see)i (Chapter)f(2)h([Programming)e(with)i(GNU)f(History],)75 453 y(page)e(5.)75 600 y Fn(1.1)33 b(History)22 b(Expansion)137 704 y Fp(The)c(History)g(library)h(pro)o(vides)f(a)f(history)h (expansion)h(feature)e(that)h(is)g(similar)h(to)e(the)h(history)75 759 y(expansion)12 b(pro)o(vided)g(b)o(y)f Fo(csh)p Fp(.)18 b(This)11 b(section)h(describ)q(es)g(the)g(syn)o(tax)e(used)h(to)g (manipulate)h(the)f(history)75 814 y(information.)137 888 y(History)k(expansions)h(in)o(tro)q(duce)h(w)o(ords)d(from)g(the)i (history)f(list)h(in)o(to)f(the)h(input)g(stream,)e(making)75 943 y(it)h(easy)g(to)g(rep)q(eat)g(commands,)g(insert)h(the)f(argumen)o (ts)f(to)h(a)g(previous)h(command)f(in)o(to)g(the)g(curren)o(t)75 998 y(input)h(line,)h(or)d(\014x)i(errors)e(in)i(previous)g(commands)f (quic)o(kly)l(.)137 1072 y(History)j(expansion)i(tak)o(es)d(place)i(in) h(t)o(w)o(o)d(parts.)28 b(The)19 b(\014rst)f(is)g(to)g(determine)i (whic)o(h)f(line)h(from)75 1127 y(the)h(history)f(list)i(should)g(b)q (e)f(used)g(during)h(substitution.)37 b(The)21 b(second)g(is)g(to)f (select)i(p)q(ortions)e(of)75 1182 y(that)15 b(line)i(for)d(inclusion)k (in)o(to)d(the)h(curren)o(t)f(one.)20 b(The)c(line)g(selected)h(from)e (the)g(history)g(is)h(called)h(the)75 1237 y Fj(ev)o(en)o(t)p Fp(,)c(and)h(the)g(p)q(ortions)g(of)f(that)g(line)i(that)e(are)g(acted) h(up)q(on)g(are)f(called)j Fj(w)o(ords)p Fp(.)i(V)l(arious)c Fj(mo)q(di\014ers)75 1292 y Fp(are)i(a)o(v)m(ailable)i(to)e(manipulate) i(the)e(selected)i(w)o(ords.)23 b(The)17 b(line)h(is)f(brok)o(en)f(in)o (to)h(w)o(ords)e(in)j(the)e(same)75 1346 y(fashion)c(that)e(Bash)i(do)q (es,)g(so)f(that)g(sev)o(eral)g(w)o(ords)g(surrounded)h(b)o(y)f(quotes) h(are)f(considered)h(one)g(w)o(ord.)75 1401 y(History)18 b(expansions)h(are)g(in)o(tro)q(duced)g(b)o(y)f(the)h(app)q(earance)g (of)f(the)g(history)h(expansion)g(c)o(haracter,)75 1456 y(whic)o(h)d(is)g(`)p Fo(!)p Fp(')e(b)o(y)h(default.)75 1583 y Fi(1.1.1)30 b(Ev)n(en)n(t)21 b(Designators)137 1687 y Fp(An)16 b(ev)o(en)o(t)f(designator)g(is)g(a)g(reference)h(to)f (a)g(command)g(line)i(en)o(try)d(in)i(the)g(history)f(list.)75 1777 y Fo(!)216 b Fp(Start)16 b(a)g(history)h(substitution,)g(except)h (when)f(follo)o(w)o(ed)g(b)o(y)f(a)h(space,)g(tab,)f(the)h(end)g(of)315 1832 y(the)e(line,)i(`)p Fo(=)p Fp(')d(or)h(`)p Fo(\()p Fp('.)75 1919 y Fo(!)p Fj(n)191 b Fp(Refer)15 b(to)f(command)h(line)i Fj(n)p Fp(.)75 2006 y Fo(!-)p Fj(n)167 b Fp(Refer)15 b(to)f(the)i(command)f Fj(n)g Fp(lines)i(bac)o(k.)75 2094 y Fo(!!)192 b Fp(Refer)15 b(to)f(the)i(previous)f(command.)20 b(This)c(is)g(a)f(synon)o(ym)g(for)f(`)p Fo(!-1)p Fp('.)75 2181 y Fo(!)p Fj(string)102 b Fp(Refer)15 b(to)f(the)i(most)e(recen)o (t)h(command)g(starting)g(with)g Fj(string)p Fp(.)75 2268 y Fo(!?)p Fj(string)t Fo([?])315 2323 y Fp(Refer)h(to)g(the)h (most)f(recen)o(t)h(command)g(con)o(taining)g Fj(string)p Fp(.)25 b(The)17 b(trailing)g(`)p Fo(?)p Fp(')f(ma)o(y)g(b)q(e)315 2377 y(omitted)f(if)h(the)f Fj(string)k Fp(is)d(follo)o(w)o(ed)f (immediately)i(b)o(y)e(a)g(newline.)75 2464 y Fo(^)p Fj(string1)t Fo(^)p Fj(string2)t Fo(^)315 2519 y Fp(Quic)o(k)i (Substitution.)23 b(Rep)q(eat)16 b(the)g(last)f(command,)h(replacing)h Fj(string1)i Fp(with)e Fj(string2)p Fp(.)315 2574 y(Equiv)m(alen)o(t)g (to)d Fo(!!:s/)p Fj(string1)t Fo(/)p Fj(string2)t Fo(/)p Fp(.)75 2661 y Fo(!#)192 b Fp(The)15 b(en)o(tire)h(command)f(line)i(t)o (yp)q(ed)f(so)e(far.)p eop %%Page: 2 4 2 3 bop 75 -58 a Fp(2)1347 b(GNU)15 b(History)g(Library)75 149 y Fi(1.1.2)30 b(W)-5 b(ord)20 b(Designators)137 247 y Fp(W)l(ord)d(designators)g(are)g(used)h(to)f(select)h(desired)h(w)o (ords)d(from)h(the)g(ev)o(en)o(t.)26 b(A)18 b(`)p Fo(:)p Fp(')e(separates)h(the)75 302 y(ev)o(en)o(t)j(sp)q(eci\014cation)h (from)e(the)h(w)o(ord)f(designator.)34 b(It)20 b(ma)o(y)f(b)q(e)h (omitted)g(if)g(the)g(w)o(ord)f(designator)75 357 y(b)q(egins)f(with)g (a)e(`)p Fo(^)p Fp(',)h(`)p Fo($)p Fp(',)f(`)p Fo(*)p Fp(',)g(`)p Fo(-)p Fp(',)g(or)h(`)p Fo(\045)p Fp('.)24 b(W)l(ords)17 b(are)g(n)o(um)o(b)q(ered)g(from)g(the)g(b)q(eginning)i (of)e(the)g(line,)75 411 y(with)j(the)g(\014rst)f(w)o(ord)h(b)q(eing)h (denoted)f(b)o(y)g(0)f(\(zero\).)33 b(W)l(ords)20 b(are)f(inserted)i (in)o(to)f(the)g(curren)o(t)f(line)75 466 y(separated)c(b)o(y)g(single) i(spaces.)137 535 y(F)l(or)e(example,)75 616 y Fo(!!)192 b Fp(designates)18 b(the)g(preceding)i(command.)28 b(When)18 b(y)o(ou)g(t)o(yp)q(e)g(this,)h(the)f(preceding)h(com-)315 671 y(mand)c(is)h(rep)q(eated)g(in)g(toto.)75 752 y Fo(!!:$)144 b Fp(designates)12 b(the)f(last)g(argumen)o(t)f(of)h(the)g(preceding)i (command.)19 b(This)11 b(ma)o(y)g(b)q(e)h(shortened)315 807 y(to)j Fo(!$)p Fp(.)75 887 y Fo(!fi:2)120 b Fp(designates)15 b(the)g(second)g(argumen)o(t)f(of)g(the)h(most)f(recen)o(t)g(command)h (starting)f(with)h(the)315 942 y(letters)g Fo(fi)p Fp(.)137 1024 y(Here)h(are)f(the)g(w)o(ord)f(designators:)75 1105 y Fo(0)h(\(zero\))57 b Fp(The)15 b Fo(0)p Fp(th)g(w)o(ord.)20 b(F)l(or)14 b(man)o(y)h(applications,)h(this)g(is)g(the)f(command)g(w)o (ord.)75 1186 y Fj(n)215 b Fp(The)15 b Fj(n)p Fp(th)h(w)o(ord.)75 1267 y Fo(^)216 b Fp(The)15 b(\014rst)g(argumen)o(t;)f(that)h(is,)g(w)o (ord)g(1.)75 1348 y Fo($)216 b Fp(The)15 b(last)h(argumen)o(t.)75 1429 y Fo(\045)216 b Fp(The)15 b(w)o(ord)g(matc)o(hed)g(b)o(y)g(the)g (most)g(recen)o(t)g(`)p Fo(?)p Fj(string)t Fo(?)p Fp(')f(searc)o(h.)75 1510 y Fj(x)p Fo(-)p Fj(y)168 b Fp(A)15 b(range)g(of)g(w)o(ords;)f(`)p Fo(-)p Fj(y)t Fp(')g(abbreviates)i(`)p Fo(0-)p Fj(y)t Fp('.)75 1591 y Fo(*)216 b Fp(All)15 b(of)f(the)f(w)o(ords,)g(except)i (the)f Fo(0)p Fp(th.)19 b(This)14 b(is)h(a)e(synon)o(ym)h(for)f(`)p Fo(1-$)p Fp('.)18 b(It)c(is)g(not)g(an)g(error)315 1645 y(to)g(use)h(`)p Fo(*)p Fp(')f(if)i(there)e(is)i(just)e(one)h(w)o(ord)f (in)i(the)f(ev)o(en)o(t;)f(the)h(empt)o(y)g(string)g(is)g(returned)g (in)315 1700 y(that)f(case.)75 1781 y Fj(x)s Fo(*)189 b Fp(Abbreviates)16 b(`)p Fj(x)p Fo(-$)p Fp(')75 1862 y Fj(x)p Fo(-)192 b Fp(Abbreviates)16 b(`)p Fj(x)p Fo(-$)p Fp(')e(lik)o(e)i(`)p Fj(x)s Fo(*)p Fp(',)e(but)i(omits)f(the)g(last)g (w)o(ord.)137 1943 y(If)i(a)g(w)o(ord)f(designator)h(is)h(supplied)h (without)e(an)g(ev)o(en)o(t)f(sp)q(eci\014cation,)j(the)e(previous)h (command)75 1998 y(is)e(used)f(as)g(the)h(ev)o(en)o(t.)75 2113 y Fi(1.1.3)30 b(Mo)r(di\014ers)137 2210 y Fp(After)10 b(the)h(optional)g(w)o(ord)e(designator,)i(y)o(ou)f(can)h(add)f(a)g (sequence)i(of)e(one)g(or)g(more)g(of)g(the)g(follo)o(wing)75 2265 y(mo)q(di\014ers,)16 b(eac)o(h)f(preceded)i(b)o(y)e(a)g(`)p Fo(:)p Fp('.)75 2346 y Fo(h)216 b Fp(Remo)o(v)o(e)14 b(a)h(trailing)h(pathname)f(comp)q(onen)o(t,)g(lea)o(ving)h(only)g(the) f(head.)75 2427 y Fo(t)216 b Fp(Remo)o(v)o(e)14 b(all)i(leading)h (pathname)e(comp)q(onen)o(ts,)g(lea)o(ving)h(the)f(tail.)75 2508 y Fo(r)216 b Fp(Remo)o(v)o(e)14 b(a)h(trailing)h(su\016x)f(of)g (the)g(form)g(`)p Fo(.)p Fj(su\016x)s Fp(',)f(lea)o(ving)i(the)f (basename.)75 2589 y Fo(e)216 b Fp(Remo)o(v)o(e)14 b(all)i(but)g(the)f (trailing)h(su\016x.)75 2670 y Fo(p)216 b Fp(Prin)o(t)15 b(the)g(new)h(command)f(but)g(do)g(not)g(execute)h(it.)p eop %%Page: 3 5 3 4 bop 75 -58 a Fp(Chapter)15 b(1:)k(Using)d(History)f(In)o(teractiv)o (ely)1007 b(3)75 149 y Fo(s/)p Fj(old)r Fo(/)p Fj(new)t Fo(/)315 204 y Fp(Substitute)17 b Fj(new)j Fp(for)c(the)h(\014rst)e(o)q (ccurrence)j(of)e Fj(old)i Fp(in)f(the)g(ev)o(en)o(t)f(line.)25 b(An)o(y)16 b(delimiter)315 259 y(ma)o(y)c(b)q(e)h(used)g(in)g(place)g (of)f(`)p Fo(/)p Fp('.)18 b(The)13 b(delimiter)h(ma)o(y)e(b)q(e)h (quoted)f(in)i Fj(old)g Fp(and)f Fj(new)k Fp(with)12 b(a)315 314 y(single)j(bac)o(kslash.)20 b(If)15 b(`)p Fo(&)p Fp(')e(app)q(ears)h(in)h Fj(new)p Fp(,)f(it)g(is)h(replaced)g(b) o(y)f Fj(old)p Fp(.)20 b(A)14 b(single)i(bac)o(kslash)315 369 y(will)j(quote)e(the)h(`)p Fo(&)p Fp('.)25 b(The)17 b(\014nal)i(delimiter)g(is)f(optional)g(if)f(it)h(is)g(the)f(last)g(c)o (haracter)g(on)315 423 y(the)e(input)h(line.)75 503 y Fo(&)216 b Fp(Rep)q(eat)15 b(the)g(previous)h(substitution.)75 583 y Fo(g)216 b Fp(Cause)19 b(c)o(hanges)h(to)e(b)q(e)i(applied)h(o)o (v)o(er)e(the)g(en)o(tire)h(ev)o(en)o(t)f(line.)34 b(Used)20 b(in)g(conjunction)315 638 y(with)c(`)p Fo(s)p Fp(',)d(as)i(in)h Fo(gs/)p Fj(old)r Fo(/)p Fj(new)t Fo(/)p Fp(,)f(or)g(with)g(`)p Fo(&)p Fp('.)p eop %%Page: 4 6 4 5 bop 75 -58 a Fp(4)1347 b(GNU)15 b(History)g(Library)p eop %%Page: 5 7 5 6 bop 75 -58 a Fp(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (History)889 b(5)75 149 y Fl(2)41 b(Programming)28 b(with)e(GNU)i (History)137 269 y Fp(This)17 b(c)o(hapter)f(describ)q(es)i(ho)o(w)e (to)f(in)o(terface)i(programs)e(that)g(y)o(ou)h(write)g(with)h(the)f Fk(gnu)g Fp(History)75 324 y(Library)l(.)24 b(It)17 b(should)g(b)q(e)g (considered)h(a)e(tec)o(hnical)i(guide.)25 b(F)l(or)15 b(information)i(on)f(the)h(in)o(teractiv)o(e)g(use)75 379 y(of)e Fk(gnu)g Fp(History)l(,)g(see)g(Chapter)g(1)g([Using)g (History)g(In)o(teractiv)o(ely],)h(page)f(1.)75 509 y Fn(2.1)33 b(In)n(tro)r(duction)24 b(to)e(History)137 607 y Fp(Man)o(y)11 b(programs)f(read)h(input)i(from)d(the)i(user)f(a)g (line)i(at)e(a)g(time.)19 b(The)12 b Fk(gnu)f Fp(History)g(library)h (is)g(able)75 661 y(to)i(k)o(eep)g(trac)o(k)g(of)g(those)g(lines,)i (asso)q(ciate)e(arbitrary)g(data)g(with)g(eac)o(h)h(line,)h(and)e (utilize)j(information)75 716 y(from)d(previous)i(lines)h(in)f(comp)q (osing)g(new)f(ones.)137 784 y(The)f(programmer)f(using)h(the)g (History)g(library)g(has)g(a)o(v)m(ailable)h(functions)g(for)e(remem)o (b)q(ering)h(lines)75 839 y(on)c(a)g(history)h(list,)g(asso)q(ciating)g (arbitrary)f(data)f(with)i(a)f(line,)j(remo)o(ving)d(lines)i(from)d (the)i(list,)h(searc)o(hing)75 894 y(through)17 b(the)h(list)g(for)f(a) h(line)h(con)o(taining)f(an)g(arbitrary)f(text)g(string,)h(and)g (referencing)h(an)o(y)e(line)i(in)75 949 y(the)c(list)i(directly)l(.)22 b(In)16 b(addition,)g(a)f(history)g Fj(expansion)h Fp(function)h(is)e (a)o(v)m(ailable)i(whic)o(h)g(pro)o(vides)f(for)e(a)75 1003 y(consisten)o(t)h(user)h(in)o(terface)f(across)g(di\013eren)o(t)g (programs.)137 1072 y(The)f(user)h(using)f(programs)f(written)h(with)g (the)g(History)g(library)h(has)f(the)g(b)q(ene\014t)h(of)e(a)h (consisten)o(t)75 1126 y(user)20 b(in)o(terface)f(with)h(a)f(set)h(of)f (w)o(ell-kno)o(wn)h(commands)g(for)e(manipulating)k(the)d(text)g(of)g (previous)75 1181 y(lines)c(and)f(using)h(that)e(text)g(in)i(new)f (commands.)19 b(The)14 b(basic)h(history)e(manipulation)j(commands)d (are)75 1236 y(similar)j(to)f(the)g(history)g(substitution)h(pro)o (vided)g(b)o(y)g Fo(csh)p Fp(.)137 1304 y(If)f(the)g(programmer)f (desires,)h(he)g(can)g(use)g(the)g(Readline)h(library)l(,)g(whic)o(h)f (includes)j(some)c(history)75 1359 y(manipulation)j(b)o(y)e(default,)g (and)h(has)f(the)g(added)h(adv)m(an)o(tage)f(of)f(command)h(line)i (editing.)137 1427 y(Before)i(declaring)i(an)o(y)d(functions)i(using)g (an)o(y)f(functionalit)o(y)h(the)f(History)g(library)h(pro)o(vides)f (in)75 1482 y(other)14 b(co)q(de,)h(an)f(application)i(writer)e(should) i(include)g(the)f(\014le)g Fo()d Fp(in)j(an)o(y)f(\014le)75 1537 y(that)d(uses)h(the)h(History)e (library's)i(features.)18 b(It)12 b(supplies)i(extern)e(declarations)h (for)e(all)i(of)f(the)g(library's)75 1591 y(public)17 b(functions)f(and)g(v)m(ariables,)g(and)f(declares)h(all)g(of)f(the)h (public)h(data)d(structures.)75 1722 y Fn(2.2)33 b(History)22 b(Storage)137 1819 y Fp(The)16 b(history)f(list)h(is)g(an)f(arra)o(y)f (of)g(history)i(en)o(tries.)k(A)15 b(history)g(en)o(try)g(is)h (declared)g(as)f(follo)o(ws:)195 1885 y Fo(typedef)23 b(void)g(*histdata_t;)195 1988 y(typedef)g(struct)g(_hist_entry)f({)243 2040 y(char)h(*line;)243 2092 y(histdata_t)f(data;)195 2144 y(})i(HIST_ENTRY;)137 2212 y Fp(The)16 b(history)f(list)h(itself)g (migh)o(t)f(therefore)g(b)q(e)h(declared)g(as)195 2277 y Fo(HIST_ENTRY)22 b(**the_history_list;)137 2345 y Fp(The)16 b(state)e(of)h(the)g(History)g(library)h(is)g(encapsulated)g(in)o(to)f (a)g(single)i(structure:)195 2411 y Fo(/*)219 2462 y(*)24 b(A)f(structure)g(used)g(to)h(pass)f(around)g(the)h(current)f(state)g (of)g(the)h(history.)219 2514 y(*/)195 2566 y(typedef)f(struct)g (_hist_state)f({)243 2618 y(HIST_ENTRY)g(**entries;)h(/*)g(Pointer)g (to)h(the)f(entries)g(themselves.)g(*/)243 2670 y(int)g(offset;)262 b(/*)23 b(The)h(location)f(pointer)f(within)h(this)h(array.)f(*/)p eop %%Page: 6 8 6 7 bop 75 -58 a Fp(6)1347 b(GNU)15 b(History)g(Library)243 149 y Fo(int)23 b(length;)262 b(/*)23 b(Number)g(of)h(elements)f (within)g(this)g(array.)g(*/)243 201 y(int)g(size;)310 b(/*)23 b(Number)g(of)h(slots)f(allocated)g(to)g(this)h(array.)f(*/)243 253 y(int)g(flags;)195 305 y(})h(HISTORY_STATE;)137 372 y Fp(If)16 b(the)f(\015ags)g(mem)o(b)q(er)g(includes)j Fo(HS_STIFLED)p Fp(,)13 b(the)i(history)h(has)f(b)q(een)h(sti\015ed.)75 498 y Fn(2.3)33 b(History)22 b(F)-6 b(unctions)137 593 y Fp(This)13 b(section)g(describ)q(es)h(the)e(calling)i(sequence)g(for) e(the)g(v)m(arious)h(functions)g(exp)q(orted)f(b)o(y)h(the)f Fk(gnu)75 648 y Fp(History)j(library)l(.)75 758 y Fi(2.3.1)30 b(Initializing)20 b(History)h(and)f(State)g(Managemen)n(t)137 853 y Fp(This)e(section)g(describ)q(es)h(functions)f(used)g(to)e (initialize)21 b(and)c(manage)g(the)g(state)g(of)g(the)g(History)75 908 y(library)f(when)g(y)o(ou)f(w)o(an)o(t)f(to)g(use)i(the)f(history)g (functions)h(in)g(y)o(our)f(program.)1762 1021 y(F)l(unction)-1861 b Fh(void)20 b Fg(using)p 333 1021 18 3 v 20 w(history)j Ff(\()p Fo(void)p Ff(\))195 1075 y Fp(Begin)e(a)f(session)g(in)h(whic)o (h)g(the)f(history)g(functions)g(migh)o(t)g(b)q(e)h(used.)34 b(This)21 b(initializes)i(the)195 1130 y(in)o(teractiv)o(e)16 b(v)m(ariables.)1762 1243 y(F)l(unction)-1861 b Fh(HISTORY_STATE)21 b(*)e Fg(history)p 657 1243 V 21 w(get)p 755 1243 V 21 w(history)p 951 1243 V 21 w(state)j Ff(\()p Fo(void)p Ff(\))195 1298 y Fp(Return)15 b(a)g(structure)g(describing)i(the)e (curren)o(t)g(state)f(of)h(the)g(input)i(history)l(.)1762 1411 y(F)l(unction)-1861 b Fh(void)20 b Fg(history)p 377 1411 V 20 w(set)p 468 1411 V 21 w(history)p 664 1411 V 21 w(state)j Ff(\()p Fo(HISTORY_STATE)13 b(*state)p Ff(\))195 1466 y Fp(Set)i(the)h(state)e(of)h(the)g(history)g(list)h (according)g(to)e Fj(state)p Fp(.)75 1575 y Fi(2.3.2)30 b(History)20 b(List)h(Managemen)n(t)137 1671 y Fp(These)11 b(functions)h(manage)e(individual)k(en)o(tries)d(on)g(the)g(history)f (list,)i(or)f(set)f(parameters)g(managing)75 1725 y(the)15 b(list)h(itself.)1762 1838 y(F)l(unction)-1861 b Fh(void)20 b Fg(add)p 294 1838 V 20 w(history)j Ff(\()p Fo(const)14 b(char)g(*string)p Ff(\))195 1893 y Fp(Place)i Fj(string)i Fp(at)d(the)g(end)h(of)e(the)h(history)g(list.)21 b(The)15 b(asso)q(ciated)g(data)g(\014eld)h(\(if)f(an)o(y\))f(is)i(set)f(to)195 1948 y Fo(NULL)p Fp(.)1762 2061 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(remo)n(v)n(e)p 584 2061 V 20 w(history)k Ff(\()p Fo(int)14 b(which)p Ff(\))195 2115 y Fp(Remo)o(v)o(e)22 b(history)g(en)o(try)h(at)f(o\013set)g Fj(whic)o(h)h Fp(from)f(the)h(history)l(.)43 b(The)23 b(remo)o(v)o(ed)f(elemen)o(t)h(is)195 2170 y(returned)16 b(so)e(y)o(ou)h(can)h(free)f(the)g(line,)i(data,)d(and)h(con)o(taining) h(structure.)1762 2283 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(replace)p 580 2283 V 22 w(history)p 777 2283 V 20 w(en)n(try)24 b Ff(\()p Fo(int)14 b(which,)g(const)h(char)283 2338 y(*line,)f(histdata_t)g(data)p Ff(\))195 2393 y Fp(Mak)o(e)f(the)h(history)g(en)o(try)f(at)g(o\013set)g Fj(whic)o(h)i Fp(ha)o(v)o(e)e Fj(line)18 b Fp(and)c Fj(data)p Fp(.)19 b(This)14 b(returns)g(the)g(old)g(en)o(try)195 2448 y(so)19 b(y)o(ou)f(can)i(disp)q(ose)g(of)e(the)i(data.)30 b(In)20 b(the)f(case)g(of)g(an)g(in)o(v)m(alid)i Fj(whic)o(h)p Fp(,)g(a)d Fo(NULL)h Fp(p)q(oin)o(ter)g(is)195 2502 y(returned.)1762 2615 y(F)l(unction)-1861 b Fh(void)20 b Fg(clear)p 320 2615 V 21 w(history)j Ff(\()p Fo(void)p Ff(\))195 2670 y Fp(Clear)15 b(the)h(history)f(list)h(b)o(y)f(deleting)i(all)f(the)f (en)o(tries.)p eop %%Page: 7 9 7 8 bop 75 -58 a Fp(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (History)889 b(7)1762 149 y(F)l(unction)-1861 b Fh(void)20 b Fg(sti\015e)p 320 149 18 3 v 21 w(history)j Ff(\()p Fo(int)14 b(max)p Ff(\))195 204 y Fp(Sti\015e)i(the)f(history)h(list,)f (remem)o(b)q(ering)h(only)g(the)f(last)g Fj(max)j Fp(en)o(tries.)1762 302 y(F)l(unction)-1861 b Fh(int)20 b Fg(unsti\015e)p 358 302 V 21 w(history)i Ff(\()p Fo(void)p Ff(\))195 357 y Fp(Stop)14 b(sti\015ing)g(the)g(history)l(.)20 b(This)14 b(returns)f(the)h(previously-set)h(maxim)o(um)f(n)o(um)o(b)q (er)g(of)f(history)195 411 y(en)o(tries)h(\(as)e(set)i(b)o(y)f Fo(stifle_history\(\))p Fp(\).)k(The)c(v)m(alue)i(is)f(p)q(ositiv)o(e)g (if)g(the)g(history)f(w)o(as)f(sti\015ed,)195 466 y(negativ)o(e)j(if)h (it)f(w)o(asn't.)1762 564 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 564 V 20 w(is)p 409 564 V 21 w(sti\015ed)k Ff(\()p Fo(void)p Ff(\))195 619 y Fp(Returns)15 b(non-zero)g(if)h(the)f (history)g(is)h(sti\015ed,)g(zero)f(if)g(it)h(is)g(not.)75 719 y Fi(2.3.3)30 b(Information)19 b(Ab)r(out)i(the)f(History)h(List) 137 811 y Fp(These)13 b(functions)h(return)f(information)g(ab)q(out)f (the)h(en)o(tire)h(history)e(list)i(or)e(individual)k(list)e(en)o (tries.)1762 909 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(**)e Fg(history)p 605 909 V 21 w(list)24 b Ff(\()p Fo(void)p Ff(\))195 964 y Fp(Return)15 b(a)g Fo(NULL)f Fp(terminated)i(arra)o(y)e(of)h Fo(HIST_ENTRY)f(*)h Fp(whic)o(h)h(is)f (the)h(curren)o(t)f(input)h(history)l(.)195 1018 y(Elemen)o(t)g(0)f(of) f(this)i(list)g(is)g(the)f(b)q(eginning)i(of)e(time.)20 b(If)c(there)f(is)h(no)f(history)l(,)g(return)g Fo(NULL)p Fp(.)1762 1116 y(F)l(unction)-1861 b Fh(int)20 b Fg(where)p 325 1116 V 20 w(history)j Ff(\()p Fo(void)p Ff(\))195 1171 y Fp(Returns)15 b(the)g(o\013set)f(of)h(the)g(curren)o(t)g (history)g(elemen)o(t.)1762 1268 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(curren)n(t)p 587 1268 V 21 w(history)k Ff(\()p Fo(void)p Ff(\))195 1323 y Fp(Return)12 b(the)h(history)f(en)o(try)g(at)g(the)g(curren)o(t)h(p)q(osition,)g(as) f(determined)i(b)o(y)e Fo(where_history\(\))p Fp(.)195 1378 y(If)j(there)h(is)f(no)h(en)o(try)e(there,)h(return)g(a)g Fo(NULL)g Fp(p)q(oin)o(ter.)1762 1475 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(history)p 579 1475 V 21 w(get)j Ff(\()p Fo(int)15 b(offset)p Ff(\))195 1530 y Fp(Return)20 b(the)h(history)g(en)o(try)f(at)h(p)q(osition)g Fj(o\013set)p Fp(,)g(starting)f(from)g Fo(history_base)f Fp(\(see)i(Sec-)195 1585 y(tion)15 b(2.4)f([History)g(V)l(ariables],)h(page)g(10\).)j(If)d (there)g(is)g(no)g(en)o(try)f(there,)h(or)f(if)h Fj(o\013set)g Fp(is)g(greater)195 1640 y(than)g(the)g(history)g(length,)h(return)f(a) g Fo(NULL)g Fp(p)q(oin)o(ter.)1762 1737 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 1737 V 20 w(total)p 487 1737 V 22 w(b)n(ytes)j Ff(\()p Fo(void)p Ff(\))195 1792 y Fp(Return)13 b(the)h(n)o(um)o(b)q(er)g(of)g(b)o(ytes)f(that)g(the)h (primary)g(history)g(en)o(tries)g(are)g(using.)20 b(This)14 b(function)195 1847 y(returns)h(the)g(sum)h(of)e(the)i(lengths)f(of)g (all)h(the)g(lines)g(in)g(the)g(history)l(.)75 1947 y Fi(2.3.4)30 b(Mo)n(ving)21 b(Around)f(the)h(History)g(List)137 2040 y Fp(These)16 b(functions)g(allo)o(w)f(the)g(curren)o(t)h(index)g (in)o(to)f(the)h(history)f(list)h(to)e(b)q(e)i(set)f(or)g(c)o(hanged.) 1762 2137 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 2137 V 20 w(set)p 442 2137 V 21 w(p)r(os)h Ff(\()p Fo(int)15 b(pos)p Ff(\))195 2192 y Fp(Set)j(the)h(curren)o(t)f(history) g(o\013set)g(to)f Fj(p)q(os)p Fp(,)i(an)f(absolute)h(index)h(in)o(to)e (the)g(list.)30 b(Returns)18 b(1)g(on)195 2247 y(success,)d(0)g(if)h Fj(p)q(os)h Fp(is)f(less)g(than)f(zero)g(or)g(greater)f(than)h(the)g(n) o(um)o(b)q(er)h(of)e(history)i(en)o(tries.)1762 2344 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(previous)p 615 2344 V 20 w(history)k Ff(\()p Fo(void)p Ff(\))195 2399 y Fp(Bac)o(k)14 b(up)h(the)g(curren)o(t)f(history)g(o\013set)g(to) f(the)i(previous)g(history)f(en)o(try)l(,)g(and)h(return)f(a)g(p)q(oin) o(ter)195 2454 y(to)h(that)f(en)o(try)l(.)20 b(If)15 b(there)g(is)h(no)f(previous)h(en)o(try)l(,)f(return)g(a)g Fo(NULL)g Fp(p)q(oin)o(ter.)1762 2552 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(next)p 514 2552 V 21 w(history)k Ff(\()p Fo(void)p Ff(\))195 2606 y Fp(Mo)o(v)o(e)17 b(the)h(curren)o(t) f(history)h(o\013set)f(forw)o(ard)f(to)h(the)h(next)g(history)g(en)o (try)l(,)g(and)g(return)f(the)h(a)195 2661 y(p)q(oin)o(ter)e(to)e(that) h(en)o(try)l(.)k(If)d(there)f(is)h(no)f(next)g(en)o(try)l(,)g(return)g (a)g Fo(NULL)g Fp(p)q(oin)o(ter.)p eop %%Page: 8 10 8 9 bop 75 -58 a Fp(8)1347 b(GNU)15 b(History)g(Library)75 149 y Fi(2.3.5)30 b(Searc)n(hing)21 b(the)f(History)h(List)137 245 y Fp(These)14 b(functions)g(allo)o(w)g(searc)o(hing)g(of)e(the)i (history)f(list)h(for)f(en)o(tries)h(con)o(taining)g(a)f(sp)q(eci\014c) i(string.)75 300 y(Searc)o(hing)f(ma)o(y)g(b)q(e)g(p)q(erformed)g(b)q (oth)g(forw)o(ard)e(and)i(bac)o(kw)o(ard)f(from)g(the)h(curren)o(t)g (history)f(p)q(osition.)75 355 y(The)j(searc)o(h)f(ma)o(y)g(b)q(e)i Fj(anc)o(hored)p Fp(,)e(meaning)h(that)f(the)h(string)g(m)o(ust)f(matc) o(h)g(at)g(the)h(b)q(eginning)i(of)d(the)75 410 y(history)g(en)o(try)l (.)1762 524 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 524 18 3 v 20 w(searc)n(h)j Ff(\()p Fo(const)14 b(char)h(*string,)f (int)h(direction)p Ff(\))195 578 y Fp(Searc)o(h)g(the)f(history)g(for)g Fj(string)p Fp(,)g(starting)g(at)g(the)h(curren)o(t)f(history)g (o\013set.)19 b(If)c Fj(direction)g Fp(is)g(less)195 633 y(than)20 b(0,)g(then)h(the)f(searc)o(h)f(is)i(through)f(previous)g (en)o(tries,)i(otherwise)e(through)f(subsequen)o(t)195 688 y(en)o(tries.)h(If)c Fj(string)j Fp(is)d(found,)f(then)g(the)h (curren)o(t)f(history)g(index)h(is)g(set)f(to)g(that)f(history)h(en)o (try)l(,)195 743 y(and)i(the)g(v)m(alue)h(returned)f(is)g(the)g (o\013set)e(in)j(the)f(line)h(of)e(the)h(en)o(try)g(where)g Fj(string)j Fp(w)o(as)c(found.)195 798 y(Otherwise,)g(nothing)f(is)h(c) o(hanged,)f(and)h(a)e(-1)h(is)h(returned.)1762 912 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 912 V 20 w(searc)n(h)p 527 912 V 21 w(pre\014x)i Ff(\()p Fo(const)14 b(char)h(*string,)f(int)h (direction)p Ff(\))195 966 y Fp(Searc)o(h)20 b(the)h(history)f(for)g Fj(string)p Fp(,)h(starting)e(at)h(the)g(curren)o(t)h(history)f (o\013set.)34 b(The)20 b(searc)o(h)g(is)195 1021 y(anc)o(hored:)g(matc) o(hing)14 b(lines)j(m)o(ust)d(b)q(egin)i(with)f Fj(string)p Fp(.)20 b(If)15 b Fj(direction)h Fp(is)f(less)g(than)g(0,)f(then)h(the) 195 1076 y(searc)o(h)g(is)i(through)e(previous)h(en)o(tries,)g (otherwise)g(through)f(subsequen)o(t)h(en)o(tries.)22 b(If)16 b Fj(string)j Fp(is)195 1131 y(found,)e(then)g(the)f(curren)o (t)h(history)f(index)i(is)f(set)f(to)g(that)g(en)o(try)l(,)g(and)h(the) f(return)h(v)m(alue)h(is)f(0.)195 1186 y(Otherwise,)f(nothing)f(is)h(c) o(hanged,)f(and)h(a)e(-1)h(is)h(returned.)1762 1300 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 1300 V 20 w(searc)n(h)p 527 1300 V 21 w(p)r(os)h Ff(\()p Fo(const)14 b(char)h(*string,)f(int)h (direction,)f(int)283 1355 y(pos)p Ff(\))195 1409 y Fp(Searc)o(h)j(for) g Fj(string)k Fp(in)d(the)f(history)g(list,)h(starting)e(at)h Fj(p)q(os)p Fp(,)g(an)g(absolute)h(index)g(in)o(to)f(the)h(list.)195 1464 y(If)g Fj(direction)i Fp(is)e(negativ)o(e,)h(the)f(searc)o(h)g (pro)q(ceeds)g(bac)o(kw)o(ard)g(from)f Fj(p)q(os)p Fp(,)h(otherwise)h (forw)o(ard.)195 1519 y(Returns)j(the)g(absolute)g(index)h(of)f(the)g (history)g(elemen)o(t)h(where)f Fj(string)k Fp(w)o(as)21 b(found,)j(or)d(-1)195 1574 y(otherwise.)75 1684 y Fi(2.3.6)30 b(Managing)20 b(the)g(History)h(File)137 1780 y Fp(The)16 b(History)g(library)h(can)e(read)h(the)g(history)g(from)f(and)h(write)g (it)g(to)f(a)h(\014le.)22 b(This)17 b(section)f(do)q(cu-)75 1835 y(men)o(ts)f(the)g(functions)h(for)f(managing)g(a)g(history)g (\014le.)1762 1949 y(F)l(unction)-1861 b Fh(int)20 b Fg(read)p 286 1949 V 20 w(history)i Ff(\()p Fo(const)15 b(char)f(*filename)p Ff(\))195 2003 y Fp(Add)h(the)g(con)o(ten)o(ts)f (of)h Fj(\014lename)j Fp(to)c(the)h(history)g(list,)g(a)g(line)h(at)f (a)f(time.)20 b(If)15 b Fj(\014lename)k Fp(is)c Fo(NULL)p Fp(,)195 2058 y(then)h(read)f(from)f(`)p Fo(~/.history)p Fp('.)k(Returns)d(0)f(if)i(successful,)g(or)f Fo(errno)f Fp(if)i(not.)1762 2172 y(F)l(unction)-1861 b Fh(int)20 b Fg(read)p 286 2172 V 20 w(history)p 481 2172 V 20 w(range)i Ff(\()p Fo(const)14 b(char)h(*filename,)f(int)h(from,)f(int)h(to)p Ff(\))195 2227 y Fp(Read)f(a)f(range)h(of)f(lines)j(from)d Fj(\014lename)p Fp(,)i(adding)g(them)f(to)f(the)h(history)g(list.)20 b(Start)13 b(reading)i(at)195 2282 y(line)g Fj(from)d Fp(and)h(end)h(at)f Fj(to)p Fp(.)18 b(If)c Fj(from)e Fp(is)i(zero,)f(start)f(at)g(the)h(b)q(eginning.)22 b(If)13 b Fj(to)i Fp(is)e(less)h(than)f Fj(from)p Fp(,)195 2337 y(then)i(read)g(un)o(til)i(the)e(end)g(of)g(the)g(\014le.)21 b(If)15 b Fj(\014lename)k Fp(is)d Fo(NULL)p Fp(,)e(then)h(read)g(from)f (`)p Fo(~/.history)p Fp('.)195 2392 y(Returns)h(0)g(if)g(successful,)h (or)f Fo(errno)g Fp(if)g(not.)1762 2506 y(F)l(unction)-1861 b Fh(int)20 b Fg(write)p 304 2506 V 22 w(history)i Ff(\()p Fo(const)15 b(char)f(*filename)p Ff(\))195 2560 y Fp(W)l(rite)k(the)f (curren)o(t)g(history)h(to)f Fj(\014lename)p Fp(,)h(o)o(v)o(erwriting)f Fj(\014lename)k Fp(if)d(necessary)l(.)27 b(If)18 b Fj(\014lename)195 2615 y Fp(is)f Fo(NULL)p Fp(,)e(then)h(write)h(the)f(history)g(list)h (to)e(`)p Fo(~/.history)p Fp('.)21 b(Returns)16 b(0)f(on)h(success,)h (or)f Fo(errno)195 2670 y Fp(on)f(a)g(read)g(or)g(write)g(error.)p eop %%Page: 9 11 9 10 bop 75 -58 a Fp(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (History)889 b(9)1762 149 y(F)l(unction)-1861 b Fh(int)20 b Fg(app)r(end)p 360 149 18 3 v 19 w(history)j Ff(\()p Fo(int)14 b(nelements,)g(const)h(char)f(*filename)p Ff(\))195 204 y Fp(App)q(end)19 b(the)e(last)g Fj(nelemen)o(ts)k Fp(of)16 b(the)i(history)f(list)h(to)f Fj(\014lename)p Fp(.)27 b(If)18 b Fj(\014lename)j Fp(is)d Fo(NULL)p Fp(,)f(then)195 259 y(app)q(end)f(to)f(`)p Fo(~/.history)p Fp('.)j(Returns)c(0)h(on)g (success,)h(or)e Fo(errno)h Fp(on)g(a)g(read)g(or)g(write)g(error.)1762 404 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 404 V 20 w(truncate)p 582 404 V 21 w(\014le)k Ff(\()p Fo(const)14 b(char)h(*filename,)e(int)i(nlines)p Ff(\))195 459 y Fp(T)l(runcate)k(the)h(history)f(\014le)h Fj(\014lename)p Fp(,)h(lea)o(ving)f(only)g(the)f(last)g Fj(nlines)k Fp(lines.)34 b(If)20 b Fj(\014lename)i Fp(is)195 513 y Fo(NULL)p Fp(,)14 b(then)i(`)p Fo(~/.history)p Fp(')d(is)j(truncated.)j(Returns)c(0)g(on) g(success,)h(or)e Fo(errno)h Fp(on)g(failure.)75 644 y Fi(2.3.7)30 b(History)20 b(Expansion)137 750 y Fp(These)c(functions)g (implemen)o(t)g(history)f(expansion.)1762 895 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p 351 895 V 20 w(expand)j Ff(\()p Fo(char)14 b(*string,)g(char)h(**output)p Ff(\))195 949 y Fp(Expand)j Fj(string)p Fp(,)f(placing)h(the)g(result)f(in)o(to)g Fj(output)p Fp(,)h(a)e(p)q(oin)o(ter)i(to)f(a)g(string)g(\(see)g (Section)h(1.1)195 1004 y([History)d(In)o(teraction],)f(page)h(1\).)20 b(Returns:)195 1098 y Fo(0)216 b Fp(If)19 b(no)g(expansions)g(to)q(ok)f (place)i(\(or,)e(if)i(the)e(only)i(c)o(hange)e(in)i(the)f(text)f(w)o (as)g(the)435 1152 y(remo)o(v)m(al)d(of)g(escap)q(e)h(c)o(haracters)e (preceding)i(the)f(history)g(expansion)h(c)o(haracter\);)195 1241 y Fo(1)216 b Fp(if)16 b(expansions)g(did)g(tak)o(e)e(place;)195 1330 y Fo(-1)192 b Fp(if)16 b(there)f(w)o(as)f(an)h(error)g(in)h (expansion;)195 1419 y Fo(2)216 b Fp(if)14 b(the)g(returned)g(line)i (should)f(b)q(e)f(displa)o(y)o(ed,)h(but)f(not)f(executed,)i(as)e(with) h(the)g Fo(:p)435 1474 y Fp(mo)q(di\014er)i(\(see)f(Section)h(1.1.3)e ([Mo)q(di\014ers],)h(page)g(2\).)195 1568 y(If)g(an)h(error)e(o)q (curred)i(in)g(expansion,)f(then)h Fj(output)g Fp(con)o(tains)f(a)g (descriptiv)o(e)i(error)d(message.)1762 1713 y(F)l(unction)-1861 b Fh(char)20 b(*)f Fg(get)p 324 1713 V 21 w(history)p 520 1713 V 20 w(ev)n(en)n(t)25 b Ff(\()p Fo(const)14 b(char)h(*string,)f(int)g(*cindex,)g(int)283 1767 y(qchar)p Ff(\))195 1822 y Fp(Returns)22 b(the)h(text)f(of)h(the)f(history)h(ev)o (en)o(t)g(b)q(eginning)h(at)f Fj(string)j Fo(+)d Fj(*cindex)p Fp(.)43 b Fj(*cindex)27 b Fp(is)195 1877 y(mo)q(di\014ed)16 b(to)e(p)q(oin)o(t)h(to)f(after)g(the)h(ev)o(en)o(t)f(sp)q(eci\014er.) 22 b(A)o(t)14 b(function)h(en)o(try)l(,)g Fj(cindex)k Fp(p)q(oin)o(ts)c(to)f(the)195 1932 y(index)19 b(in)o(to)f Fj(string)k Fp(where)c(the)g(history)g(ev)o(en)o(t)g(sp)q (eci\014cation)h(b)q(egins.)30 b Fj(qc)o(har)21 b Fp(is)d(a)g(c)o (haracter)195 1987 y(that)13 b(is)h(allo)o(w)o(ed)g(to)e(end)i(the)g (ev)o(en)o(t)f(sp)q(eci\014cation)j(in)e(addition)g(to)f(the)h (\\normal")f(terminating)195 2041 y(c)o(haracters.)1762 2186 y(F)l(unction)-1861 b Fh(char)20 b(**)f Fg(history)p 448 2186 V 21 w(tok)n(enize)25 b Ff(\()p Fo(const)14 b(char)h(*string)p Ff(\))195 2241 y Fp(Return)g(an)g(arra)o(y)g(of)g (tok)o(ens)g(parsed)g(out)g(of)g Fj(string)p Fp(,)g(m)o(uc)o(h)h(as)f (the)g(shell)i(migh)o(t.)k(The)15 b(tok)o(ens)195 2296 y(are)h(split)h(on)e(the)h(c)o(haracters)g(in)g(the)g Fj(history)p 1007 2296 14 2 v 17 w(w)o(ord)p 1122 2296 V 15 w(delimiters)k Fp(v)m(ariable,)d(and)f(shell)i(quoting)195 2351 y(con)o(v)o(en)o(tions)d(are)g(ob)q(ey)o(ed.)1762 2496 y(F)l(unction)-1861 b Fh(char)20 b(*)f Fg(history)p 422 2496 18 3 v 21 w(arg)p 524 2496 V 19 w(extract)24 b Ff(\()p Fo(int)14 b(first,)h(int)g(last,)f(const)g(char)283 2550 y(*string)p Ff(\))195 2605 y Fp(Extract)19 b(a)h(string)g(segmen)o (t)g(consisting)h(of)f(the)g Fj(\014rst)h Fp(through)f Fj(last)h Fp(argumen)o(ts)e(presen)o(t)h(in)195 2660 y Fj(string)p Fp(.)g(Argumen)o(ts)15 b(are)f(split)j(using)f Fo(history_tokenize)p Fp(.)p eop %%Page: 10 12 10 11 bop 75 -58 a Fp(10)1324 b(GNU)15 b(History)g(Library)75 149 y Fn(2.4)33 b(History)22 b(V)-6 b(ariables)137 251 y Fp(This)18 b(section)f(describ)q(es)i(the)e(externally-visible)k(v)m (ariables)d(exp)q(orted)f(b)o(y)g(the)g Fk(gnu)g Fp(History)g(Li-)75 306 y(brary)l(.)1773 438 y(V)l(ariable)-1861 b Fh(int)20 b Fg(history)p 351 438 18 3 v 20 w(base)195 493 y Fp(The)15 b(logical)i(o\013set)d(of)h(the)g(\014rst)g(en)o(try)g(in)h(the)f (history)g(list.)1773 625 y(V)l(ariable)-1861 b Fh(int)20 b Fg(history)p 351 625 V 20 w(length)195 680 y Fp(The)15 b(n)o(um)o(b)q(er)h(of)f(en)o(tries)g(curren)o(tly)h(stored)f(in)h(the) f(history)g(list.)1773 812 y(V)l(ariable)-1861 b Fh(int)20 b Fg(history)p 351 812 V 20 w(max)p 478 812 V 20 w(en)n(tries)195 867 y Fp(The)j(maxim)o(um)g(n)o(um)o(b)q(er)g(of)g(history)g(en)o (tries.)43 b(This)24 b(m)o(ust)e(b)q(e)i(c)o(hanged)f(using)h Fo(stifle_)195 922 y(history\(\))p Fp(.)1773 1054 y(V)l(ariable)-1861 b Fh(char)20 b Fg(history)p 377 1054 V 20 w(expansion)p 644 1054 V 21 w(c)n(har)195 1109 y Fp(The)e(c)o(haracter)f(that)g(in)o (tro)q(duces)h(a)f(history)h(ev)o(en)o(t.)27 b(The)18 b(default)g(is)g(`)p Fo(!)p Fp('.)26 b(Setting)18 b(this)g(to)f(0)195 1164 y(inhibits)g(history)f(expansion.)1773 1296 y(V)l(ariable)-1861 b Fh(char)20 b Fg(history)p 377 1296 V 20 w(subst)p 529 1296 V 20 w(c)n(har)195 1351 y Fp(The)h(c)o(haracter)e(that)h(in)o(v)o (ok)o(es)g(w)o(ord)g(substitution)h(if)g(found)f(at)g(the)h(start)e(of) h(a)g(line.)37 b(The)195 1406 y(default)16 b(is)f(`)p Fo(^)p Fp('.)1773 1538 y(V)l(ariable)-1861 b Fh(char)20 b Fg(history)p 377 1538 V 20 w(commen)n(t)p 627 1538 V 19 w(c)n(har)195 1593 y Fp(During)f(tok)o(enization,)h(if)f(this)h(c) o(haracter)e(is)h(seen)h(as)e(the)h(\014rst)g(c)o(haracter)f(of)g(a)h (w)o(ord,)g(then)195 1648 y(it)j(and)g(all)g(subsequen)o(t)h(c)o (haracters)d(up)j(to)e(a)g(newline)i(are)f(ignored,)h(suppressing)g (history)195 1702 y(expansion)16 b(for)f(the)g(remainder)h(of)f(the)g (line.)21 b(This)16 b(is)g(disabled)h(b)o(y)e(default.)1773 1835 y(V)l(ariable)-1861 b Fh(char)20 b(*)f Fg(history)p 422 1835 V 21 w(w)n(ord)p 567 1835 V 20 w(delimiters)195 1889 y Fp(The)14 b(c)o(haracters)f(that)g(separate)g(tok)o(ens)h(for)f Fo(history_tokenize\(\))p Fp(.)k(The)d(default)g(v)m(alue)h(is)f Fo(")195 1944 y(\\t\\n\(\)<>;&|")p Fp(.)1773 2077 y(V)l(ariable)-1861 b Fh(char)20 b(*)f Fg(history)p 422 2077 V 21 w(no)p 504 2077 V 20 w(expand)p 704 2077 V 20 w(c)n(hars)195 2131 y Fp(The)c(list)h(of)e(c)o(haracters)g(whic)o(h)i(inhibit)h (history)e(expansion)h(if)f(found)h(immediately)g(follo)o(wing)195 2186 y Fj(history)p 336 2186 14 2 v 16 w(expansion)p 547 2186 V 18 w(c)o(har)p Fp(.)j(The)d(default)f(is)h(space,)f(tab,)g (newline,)h(carriage)f(return,)g(and)h(`)p Fo(=)p Fp('.)1773 2318 y(V)l(ariable)-1861 b Fh(char)20 b(*)f Fg(history)p 422 2318 18 3 v 21 w(searc)n(h)p 599 2318 V 20 w(delimiter)p 843 2318 V 23 w(c)n(hars)195 2373 y Fp(The)13 b(list)h(of)f(additional) h(c)o(haracters)e(whic)o(h)i(can)g(delimit)g(a)f(history)g(searc)o(h)g (string,)g(in)h(addition)195 2428 y(to)h(space,)g(T)l(AB,)g(`)p Fo(:)p Fp(')f(and)h(`)p Fo(?)p Fp(')g(in)h(the)f(case)g(of)g(a)g (substring)g(searc)o(h.)20 b(The)c(default)f(is)h(empt)o(y)l(.)1773 2560 y(V)l(ariable)-1861 b Fh(int)20 b Fg(history)p 351 2560 V 20 w(quotes)p 533 2560 V 21 w(inhibit)p 717 2560 V 23 w(expansion)195 2615 y Fp(If)15 b(non-zero,)f(single-quoted)j(w)o (ords)c(are)i(not)f(scanned)h(for)f(the)h(history)g(expansion)g(c)o (haracter.)195 2670 y(The)g(default)h(v)m(alue)h(is)e(0.)p eop %%Page: 11 13 11 12 bop 75 -58 a Fp(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (History)867 b(11)1773 149 y(V)l(ariable)-1861 b Fh(rl_linebuf_func_t) 22 b(*)d Fg(history)p 762 149 18 3 v 21 w(inhibit)p 946 149 V 23 w(expansion)p 1216 149 V 20 w(function)195 204 y Fp(This)e(should)h(b)q(e)f(set)g(to)f(the)g(address)h(of)f(a)h (function)g(that)f(tak)o(es)g(t)o(w)o(o)f(argumen)o(ts:)22 b(a)17 b Fo(char)d(*)195 259 y Fp(\()p Fj(string)t Fp(\))e(and)i(an)f Fo(int)g Fp(index)i(in)o(to)e(that)f(string)i(\()p Fj(i)r Fp(\).)19 b(It)14 b(should)g(return)f(a)g(non-zero)h(v)m(alue)g(if)g (the)195 314 y(history)h(expansion)g(starting)f(at)g Fj(string[i])i Fp(should)g(not)e(b)q(e)h(p)q(erformed;)g(zero)f(if)h (the)g(expansion)195 369 y(should)i(b)q(e)g(done.)22 b(It)16 b(is)h(in)o(tended)g(for)e(use)i(b)o(y)f(applications)h(lik)o (e)g(Bash)f(that)g(use)g(the)g(history)195 423 y(expansion)g(c)o (haracter)f(for)f(additional)j(purp)q(oses.)j(By)c(default,)f(this)h(v) m(ariable)g(is)g(set)f(to)f Fo(NULL)p Fp(.)75 543 y Fn(2.5)33 b(History)22 b(Programming)h(Example)137 637 y Fp(The)16 b(follo)o(wing)g(program)e(demonstrates)g(simple)j(use)e(of)g(the)g Fk(gnu)g Fp(History)g(Library)l(.)195 698 y Fo(#include)23 b()195 750 y(#include)g()195 854 y(main)g(\(argc,)g(argv\))314 906 y(int)h(argc;)314 958 y(char)g(**argv;)195 1010 y({)243 1061 y(char)f(line[1024],)f(*t;) 243 1113 y(int)h(len,)g(done)h(=)g(0;)243 1217 y(line[0])f(=)g(0;)243 1321 y(using_history)f(\(\);)243 1373 y(while)h(\(!done\))290 1425 y({)338 1477 y(printf)g(\("history$)g("\);)338 1528 y(fflush)g(\(stdout\);)338 1580 y(t)h(=)g(fgets)f(\(line,)g(sizeof)g (\(line\))g(-)h(1,)f(stdin\);)338 1632 y(if)h(\(t)f(&&)h(*t\))386 1684 y({)434 1736 y(len)f(=)h(strlen)f(\(t\);)434 1788 y(if)g(\(t[len)g(-)h(1])g(==)f('\\n'\))481 1840 y(t[len)h(-)f(1])h(=)g ('\\0';)386 1892 y(})338 1995 y(if)g(\(!t\))386 2047 y(strcpy)f(\(line,)g("quit"\);)338 2151 y(if)h(\(line[0]\))386 2203 y({)434 2255 y(char)f(*expansion;)434 2307 y(int)g(result;)434 2411 y(result)g(=)g(history_expand)f(\(line,)h(&expansion\);)434 2462 y(if)g(\(result\))481 2514 y(fprintf)g(\(stderr,)g("\045s\\n",)g (expansion\);)434 2618 y(if)g(\(result)g(<)h(0)g(||)f(result)g(==)h (2\))481 2670 y({)p eop %%Page: 12 14 12 13 bop 75 -58 a Fp(12)1324 b(GNU)15 b(History)g(Library)529 149 y Fo(free)23 b(\(expansion\);)529 201 y(continue;)481 253 y(})434 357 y(add_history)f(\(expansion\);)434 409 y(strncpy)h(\(line,)g(expansion,)f(sizeof)h(\(line\))g(-)h(1\);)434 461 y(free)f(\(expansion\);)386 513 y(})338 616 y(if)h(\(strcmp)f (\(line,)g("quit"\))g(==)g(0\))386 668 y(done)g(=)h(1;)338 720 y(else)f(if)h(\(strcmp)f(\(line,)g("save"\))g(==)h(0\))386 772 y(write_history)e(\("history_file"\);)338 824 y(else)h(if)h (\(strcmp)f(\(line,)g("read"\))g(==)h(0\))386 876 y(read_history)e (\("history_file"\);)338 928 y(else)h(if)h(\(strcmp)f(\(line,)g ("list"\))g(==)h(0\))386 980 y({)434 1032 y(register)e(HIST_ENTRY)h (**the_list;)434 1083 y(register)f(int)i(i;)434 1187 y(the_list)e(=)i(history_list)e(\(\);)434 1239 y(if)h(\(the_list\))481 1291 y(for)h(\(i)f(=)h(0;)g(the_list[i];)e(i++\))529 1343 y(printf)h(\("\045d:)g(\045s\\n",)g(i)h(+)g(history_base,)e (the_list[i]->line\);)386 1395 y(})338 1447 y(else)h(if)h(\(strncmp)f (\(line,)g("delete",)g(6\))g(==)h(0\))386 1499 y({)434 1550 y(int)f(which;)434 1602 y(if)g(\(\(sscanf)g(\(line)g(+)h(6,)f ("\045d",)h(&which\)\))e(==)i(1\))481 1654 y({)529 1706 y(HIST_ENTRY)f(*entry)g(=)g(remove_history)f(\(which\);)529 1758 y(if)i(\(!entry\))577 1810 y(fprintf)f(\(stderr,)f("No)i(such)f (entry)g(\045d\\n",)g(which\);)529 1862 y(else)577 1914 y({)625 1966 y(free)g(\(entry->line\);)625 2017 y(free)g(\(entry\);)577 2069 y(})481 2121 y(})434 2173 y(else)481 2225 y({)529 2277 y(fprintf)g(\(stderr,)g("non-numeric)f(arg)h(given)h(to)f (`delete'\\n"\);)481 2329 y(})386 2381 y(})290 2433 y(})195 2484 y(})p eop %%Page: 13 15 13 14 bop 75 -58 a Fp(App)q(endix)17 b(A:)e(Concept)g(Index)1196 b(13)75 149 y Fl(App)r(endix)25 b(A)41 b(Concept)27 b(Index)75 321 y Fn(A)75 383 y Fe(anc)o(hored)14 b(searc)o(h)s Fd(.)8 b(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)16 b Fe(8)75 507 y Fn(E)75 568 y Fe(ev)o(en)o(t)d(designators)g Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Fe(1)1012 321 y Fn(H)1012 431 y Fe(history)15 b(ev)o(en)o(ts)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24 b Fe(1)1012 500 y(history)15 b(expansion)8 b Fd(.)g(.)e(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)21 b Fe(1)1012 568 y(History)14 b(Searc)o(hing)6 b Fd(.)j(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Fe(8)p eop %%Page: 14 16 14 15 bop 75 -58 a Fp(14)1324 b(GNU)15 b(History)g(Library)p eop %%Page: 15 17 15 16 bop 75 -58 a Fp(App)q(endix)17 b(B:)e(F)l(unction)h(and)g(V)l (ariable)g(Index)919 b(15)75 149 y Fl(App)r(endix)25 b(B)41 b(F)-7 b(unction)26 b(and)h(V)-7 b(ariable)26 b(Index)75 321 y Fn(A)75 382 y Fc(add_histor)o(y)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Fe(6)75 428 y Fc(append_his)o(to)o(ry)8 b Fd(.)s(.)f(.)f(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)21 b Fe(9)75 557 y Fn(C)75 618 y Fc(clear_hist)o(or)o(y)6 b Fd(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)22 b Fe(6)75 664 y Fc(current_hi)o(st)o(ory)7 b Fd(.)s(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fe(7)75 793 y Fn(G)75 854 y Fc(get_histor)o(y_)o(eve)o(nt)5 b Fd(.)t(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Fe(9)75 984 y Fn(H)75 1044 y Fc(history_ar)o(g_)o(ext)o(ra)o(ct)5 b Fd(.)s(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)18 b Fe(9)75 1090 y Fc(history_ba)o(se) 6 b Fd(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Fe(10)75 1136 y Fc(history_co)o(mm)o(ent)o(_c)o(har)s Fd(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)16 b Fe(10)75 1182 y Fc(history_ex)o(pa)o(nd)8 b Fd(.)s(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fe(9)75 1227 y Fc(history_ex)o(pa)o(nsi)o(on)o(_ch)o(ar)8 b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)24 b Fe(10)75 1273 y Fc(history_ge)o(t)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Fe(7)75 1319 y Fc(history_ge)o(t_)o(his)o(to)o(ry_)o(sta)o(te)6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)22 b Fe(6)75 1364 y Fc(history_in)o(hi)o(bit)o(_e)o(xpa)o(nsi)o(on) o(_fu)o(nc)o(tio)o(n)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)h(.)24 b Fe(11)75 1410 y Fc(history_is)o(_s)o(tif)o(le)o(d)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fe(7)75 1456 y Fc(history_le)o(ng)o(th)8 b Fd(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)21 b Fe(10)75 1501 y Fc(history_li)o(st)6 b Fd(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fe(7)75 1547 y Fc(history_ma)o(x_)o(ent)o(ri)o(es)t Fd(.)s(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)17 b Fe(10)75 1593 y Fc(history_no)o(_e)o(xpa)o(nd)o (_ch)o(ars)7 b Fd(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)h(.)23 b Fe(10)75 1638 y Fc(history_qu)o(ot)o(es_)o (in)o(hib)o(it_)o(ex)o(pan)o(si)o(on)t Fd(.)s(.)6 b(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)17 b Fe(10)75 1684 y Fc(history_se)o(ar)o(ch)8 b Fd(.)s(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Fe(8)75 1730 y Fc(history_se)o(ar)o(ch_)o(de)o(lim)o(ite)o(r_)o(cha)o (rs)5 b Fd(.)s(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fe(10)75 1776 y Fc(history_se)o(ar)o(ch_)o(po)o(s)6 b Fd(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Fe(8)75 1821 y Fc(history_se)o(ar)o(ch_)o(pr)o(efi)o(x)s Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)16 b Fe(8)75 1867 y Fc(history_se)o(t_)o(his)o(to)o(ry_) o(sta)o(te)6 b Fd(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)22 b Fe(6)75 1913 y Fc(history_se)o(t_)o(pos)7 b Fd(.)s(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Fe(7)1012 321 y Fc(history_sub)o(st)o(_ch)o(ar)t Fd(.)t(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)19 b Fe(10)1012 368 y Fc(history_tok)o(en)o(ize) 6 b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)20 b Fe(9)1012 414 y Fc(history_tot)o(al)o(_by)o(te)o(s)5 b Fd(.)s(.)h(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)18 b Fe(7)1012 460 y Fc(history_tru)o(nc)o(ate)o(_f)o(ile)s Fd(.)s(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)17 b Fe(9)1012 507 y Fc(history_wor)o(d_)o(del) o(im)o(ite)o(rs)7 b Fd(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Fe(10)1012 640 y Fn(N)1012 702 y Fc(next_histor)o(y)7 b Fd(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)23 b Fe(7)1012 836 y Fn(P)1012 898 y Fc(previous_hi)o(st)o(ory)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)20 b Fe(7)1012 1031 y Fn(R)1012 1094 y Fc(read_histor)o(y)7 b Fd(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Fe(8)1012 1140 y Fc(read_histor)o(y_)o(ran)o(ge)5 b Fd(.)s(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19 b Fe(8)1012 1186 y Fc(remove_hist)o(or)o(y)9 b Fd(.)s(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)22 b Fe(6)1012 1233 y Fc(replace_his)o(to)o(ry_)o(en)o(try)s Fd(.)s(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)17 b Fe(6)1012 1366 y Fn(S)1012 1429 y Fc(stifle_hist)o(or)o(y)9 b Fd(.)s(.)d(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)22 b Fe(7)1012 1562 y Fn(U)1012 1624 y Fc(unstifle_hi)o(st)o(ory)6 b Fd(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)20 b Fe(7)1012 1671 y Fc(using_histo)o(ry)6 b Fd(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Fe(6)1012 1804 y Fn(W)1012 1866 y Fc(where_histo)o(ry)6 b Fd(.)g(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Fe(7)1012 1913 y Fc(write_histo)o(ry)6 b Fd(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Fe(8)p eop %%Page: 16 18 16 17 bop 75 -58 a Fp(16)1324 b(GNU)15 b(History)g(Library)p eop %%Page: -1 19 -1 18 bop 1862 -58 a Fp(i)75 149 y Fl(T)-7 b(able)27 b(of)f(Con)n(ten)n(ts)75 320 y Fn(1)67 b(Using)22 b(History)h(In)n (teractiv)n(ely)9 b Fb(.)k(.)d(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)h(.)31 b Fn(1)224 389 y Fp(1.1)45 b(History)15 b(Expansion)5 b Fa(.)j(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)19 b Fp(1)374 444 y(1.1.1)44 b(Ev)o(en)o(t)14 b(Designators)e Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)26 b Fp(1)374 499 y(1.1.2)44 b(W)l(ord)15 b(Designators)5 b Fa(.)h(.)i(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)19 b Fp(2)374 553 y(1.1.3)44 b(Mo)q(di\014ers)t Fa(.)8 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)19 b Fp(2)75 675 y Fn(2)67 b(Programming)23 b(with)g(GNU)f(History)16 b Fb(.)10 b(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f (.)g(.)38 b Fn(5)224 743 y Fp(2.1)45 b(In)o(tro)q(duction)16 b(to)f(History)10 b Fa(.)d(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)24 b Fp(5)224 798 y(2.2)45 b(History)15 b(Storage)c Fa(.)d(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26 b Fp(5)224 853 y(2.3)45 b(History)15 b(F)l(unctions)d Fa(.)c(.)f(.)h(.)f(.)h(.)f(.)h (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26 b Fp(6)374 907 y(2.3.1)44 b(Initializing)18 b(History)d(and)h(State)e (Managemen)o(t)g Fa(.)7 b(.)h(.)g(.)f(.)h(.)f(.)29 b Fp(6)374 962 y(2.3.2)44 b(History)15 b(List)h(Managemen)o(t)d Fa(.)7 b(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)h(.)f(.)29 b Fp(6)374 1017 y(2.3.3)44 b(Information)15 b(Ab)q(out)g(the)h(History)f(List)c Fa(.)d(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)26 b Fp(7)374 1072 y(2.3.4)44 b(Mo)o(ving)15 b(Around)g(the)g(History)g (List)c Fa(.)d(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)h(.)25 b Fp(7)374 1127 y(2.3.5)44 b(Searc)o(hing)16 b(the)f(History)g(List)7 b Fa(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)22 b Fp(8)374 1181 y(2.3.6)44 b(Managing)15 b(the)g(History)g(File)6 b Fa(.)i(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)20 b Fp(8)374 1236 y(2.3.7)44 b(History)15 b(Expansion)9 b Fa(.)f(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)24 b Fp(9)224 1291 y(2.4)45 b(History)15 b(V)l(ariables)6 b Fa(.)i(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)21 b Fp(10)224 1346 y(2.5)45 b(History)15 b(Programming)f(Example)7 b Fa(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)22 b Fp(11)75 1467 y Fn(App)r(endix)i(A)67 b(Concept)22 b(Index)17 b Fb(.)10 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)h(.)f(.)g(.)38 b Fn(13)75 1602 y(App)r(endix)24 b(B)67 b(F)-6 b(unction)25 b(and)e(V)-6 b(ariable)24 b(Index)16 b Fb(.)10 b(.)g(.)g(.)38 b Fn(15)p eop %%Page: -2 20 -2 19 bop 75 -58 a Fp(ii)1346 b(GNU)15 b(History)g(Library)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF