diff options
Diffstat (limited to 'doc/history.ps')
-rw-r--r-- | doc/history.ps | 1838 |
1 files changed, 930 insertions, 908 deletions
diff --git a/doc/history.ps b/doc/history.ps index abd7810..4532736 100644 --- a/doc/history.ps +++ b/doc/history.ps @@ -1,5 +1,5 @@ %!PS-Adobe-2.0 -%%Creator: dvips(k) 5.82 Copyright 1998 Radical Eye Software +%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: history.dvi %%Pages: 20 %%PageOrder: Ascend @@ -8,7 +8,7 @@ %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 300 -t letter -o history.ps history.dvi %DVIPSParameters: dpi=300, compressed -%DVIPSSource: TeX output 2000.01.19:1217 +%DVIPSSource: TeX output 2001.04.16:1105 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S @@ -20,9 +20,9 @@ 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/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +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 IE N end A{/foo setfont}2 +/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 @@ -50,7 +50,7 @@ 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/IE 256 array N 2 string 0 1 255{IE S A 360 add 36 4 +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) @@ -107,8 +107,8 @@ A2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7FC127E123C11187F8F 14>I<EA3FFF5AEA700E131C1338EA007013E0EA01C0EA0380EA0700120EEA1C07123812 70B5FCA210107F8F14>I E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fd cmsl9 9 1 -/Fd 1 47 df<1270A212F0126004047D830B>46 D E +%DVIPSBitmapFont: Fd cmti9 9 1 +/Fd 1 47 df<1230127812F0126005047C830C>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmr9 9 24 /Fe 24 122 df<EA07E0EA1C38EA381CEA300CEA700EEA6006A2EAE007AAEA6006A2EA70 @@ -194,16 +194,15 @@ A26C6C5AA26C6C5AA2EBFEE0EB7EC0137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC38 00E0138038C03F005B137EC65A1201485AEBF030EA07E0120FEBC070EA1F80003F1360EB 00E0EA7E03B5FCA214167E9519>I E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fh cmtt10 12 24 -/Fh 24 119 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F +%DVIPSBitmapFont: Fh cmtt10 12 27 +/Fh 27 119 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F FF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42 D<1338137CA2136C13EEA313 C6A2EA01C7A438038380A4380701C0A213FFA24813E0EA0E00A4481370387F01FC38FF83 FE387F01FC171E7F9D1A>65 D<B512F8A3381C0038A51400A2130EA3EA1FFEA3EA1C0EA3 -90C7FCA3141CA5B512FCA3161E7E9D1A>69 D<387FFFFCB5FC7E380E001CA51400A2EB03 -80A3EA0FFFA3EA0E03A390C7FCA8EA7FE012FF127F161E7F9D1A>I<38FF83FEA3381C00 -70AA381FFFF0A3381C0070AB38FF83FEA3171E7F9D1A>72 D<B51280A33801C000B3A6B5 -1280A3111E7C9D1A>I<38FE03FE12FFA2381D8070A213C0121CA213E0A213601370A213 -301338A21318131CA2130C130EA21306A213071303A238FF81F0A21380171E7F9D1A>78 +90C7FCA3141CA5B512FCA3161E7E9D1A>69 D<38FF83FEA3381C0070AA381FFFF0A3381C +0070AB38FF83FEA3171E7F9D1A>72 D<B51280A33801C000B3A6B51280A3111E7C9D1A> +I<38FE03FE12FFA2381D8070A213C0121CA213E0A213601370A213301338A21318131CA2 +130C130EA21306A213071303A238FF81F0A21380171E7F9D1A>78 D<EA0FFE383FFF804813C0EA7C07EA700100F013E0EAE000B1EAF001A2007013C0EA7C07 EA7FFF6C1380380FFE00131E7D9D1A>I<EAFFFC13FF1480381C07C0EB01E0EB00F01470 A414F0EB01E0EB07C0381FFF8014001480381C07C01301EB00E0A514E214E7A338FF807E @@ -214,16 +213,21 @@ A21438181E7F9D1A>82 D<3803F1C0EA0FFDEA3FFFEA7C0FEA700312E01301A390C7FC12 138013C700011300A2EA00EEA2137CA21338AA48B4FCA3171E7F9D1A>89 D<387FFFC0B512E0A26C13C013047D7E1A>95 D<EA1FF0EA3FFC487EEA780FEA30073800 0380A2137FEA07FF121FEA3F83EA7803127012E0A3EA7007EA780F383FFFFCEA1FFDEA07 -F016157D941A>97 D<EBFF80000313C0000F13E0EA1F01383C00C04813001270A25AA512 -70A2007813707E381F01F0380FFFE0000313C03800FE0014157D941A>99 -D<EB1FC0A31301A6EA01F1EA07FDEA0FFFEA1E0FEA3C07EA7803EA700112E0A7EA7003A2 -EA3807EA3E0F381FFFFCEA07FDEA01F1161E7E9D1A>I<12FEA3120EA6133EEBFF80000F -13C013C1EB80E01300120EAC38FFE3FE13E713E3171E7F9D1A>104 -D<EA01C0487EA36C5AC8FCA5EA7FE0A31200AF387FFF80B512C06C1380121F7C9E1A>I< -EAFE3EEBFF80B512C0EA0FC1EB80E01300120EAC38FFE3FE13E713E317157F941A>110 -D<EA01F0EA07FCEA1FFF383E0F80EA3C07387803C0EA700138E000E0A6EAF001007013C0 -EA7803383C0780EA3E0F381FFF00EA07FCEA01F013157D941A>I<387F81F838FF8FFC38 -7F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>114 +F016157D941A>97 D<12FEA3120EA6133EEBFF80000F13E0EBC1F0EB8070EB0038120E14 +1CA7000F13381478EB80F0EBC1E0EBFFC0000E138038063E00161E7F9D1A>I<EBFF8000 +0313C0000F13E0EA1F01383C00C04813001270A25AA51270A2007813707E381F01F0380F +FFE0000313C03800FE0014157D941A>I<EB1FC0A31301A6EA01F1EA07FDEA0FFFEA1E0F +EA3C07EA7803EA700112E0A7EA7003A2EA3807EA3E0F381FFFFCEA07FDEA01F1161E7E9D +1A>I<EA01F8EA07FF481380381E07C0EA3C01387800E01270481370A2B512F0A300E0C7 +FC1270A2007813707E381F01F0380FFFE0000313803800FE0014157D941A>I<EB07E0EB +1FF0EB3FF8EB7878EBF030EBE000A4387FFFF0B5FCA23800E000AF383FFF804813C06C13 +80151E7F9D1A>I<12FEA3120EA6133EEBFF80000F13C013C1EB80E01300120EAC38FFE3 +FE13E713E3171E7F9D1A>104 D<EA01C0487EA36C5AC8FCA5EA7FE0A31200AF387FFF80 +B512C06C1380121F7C9E1A>I<EAFFE0A31200B3A6B512E0A3131E7D9D1A>108 +D<EAFE3EEBFF80B512C0EA0FC1EB80E01300120EAC38FFE3FE13E713E317157F941A> +110 D<EA01F0EA07FCEA1FFF383E0F80EA3C07387803C0EA700138E000E0A6EAF0010070 +13C0EA7803383C0780EA3E0F381FFF00EA07FCEA01F013157D941A>I<387F81F838FF8F +FC387F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>114 D<487E1203A6387FFFE0B5FCA238038000AA1470A43801C1E013FF6C1380EB3F00141C7F 9B1A>116 D<38FE0FE0A3EA0E00AD1301EA0F033807FFFE7EEA00FC17157F941A>I<387F C7FC00FF13FE007F13FC380E00E0A3380701C0A338038380A33801C700A3EA00EEA3137C @@ -325,7 +329,7 @@ A10D>93 D<EA07F8EA0C0CEA1E061307121C1200A313FFEA07C7EA1E07EA3C0E127800F0 38130090C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314>99 D<1438EB01F8EB00781438A21470A614E013FCEA0382EA0601121CEA3C00383801C01278 12F0A438E00380A412F0EA700738380F00381C37803807C7E015207D9F19>I<13F8EA07 -0EEA0E07121C383803801278127012F0A2B5FC00F0C7FC5AA46C5AEA7002EA3004EA1C18 +0EEA0E07381C038012381278127012F0B5FC00F0C7FCA25AA46C5AEA7002EA3004EA1C18 EA07E011147D9314>I<EB07C0EB1C60EB30F01360EBE0E0EBC0001201A5485AEA3FFCEA 0380A448C7FCA6120EA65A121EEAFFC014207F9F0E>I<140EEB3E11EBE1A33801C1C238 0381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218121CEA0FFF14C0 @@ -356,8 +360,15 @@ A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<38 0171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8FC12E61278 191D809318>I E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fk cmbx12 17.28 36 -/Fk 36 122 df<EB01C01303130F137FEA1FFFB5FC13BFEAE03F1200B3B1007FB512F0A3 +%DVIPSBitmapFont: Fk cmcsc10 10.95 3 +/Fk 3 118 df<EB7E083803819838070078000C1338001C13185A00781308127000F013 +00A5EB03FEEB00381270127812387E120C1207380380D838007F0817177E961D>103 +D<38FC01FC381E007014201217EA1380A2EA11C0EA10E0A213701338A2131C130E1307A2 +EB03A0EB01E0A213001460123800FE132016177E961C>110 D<38FF81FC381C00701420 +B0000C1340120E6C138038018300EA007C16177E961C>117 D E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fl cmbx12 17.28 36 +/Fl 36 122 df<EB01C01303130F137FEA1FFFB5FC13BFEAE03F1200B3B1007FB512F0A3 1C2E7AAD28>49 D<EB3FE03801FFFE0007EBFF80D80F8013C0391E003FE00038EB1FF000 7CEB0FF8007EEB07FCB4FC018013FEA21403A2EA7F00003E1307C7FC15FCA2EC0FF8A215 F0EC1FE015C0EC3F80EC7F00147E14F8495A495A495A49C7FC011E130E5B133849131E49 @@ -444,14 +455,14 @@ F9C09138FC01FD16FF010F5D4A7EA26D486DC7FCA20103147E4A133EA26D48131C35207E FF6D90C7FCA26D5AA26D5AA21478A21470A214F05C1301007C5BEAFE035C49C8FC5BEAFC 1EEA787CEA3FF0EA0FC0262E7E9F2B>I E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fl cmsy10 10.95 1 -/Fl 1 14 df<14FF010713E090381F00F80178131E01E01307D80180EB018048C812C000 -061560481530A248151848150CA2481506A4481503A900601506A46C150CA26C15186C15 -30A26C15606C15C06C6CEB0180D800E0EB07000178131E011F13F8903807FFE0010090C7 -FC282B7EA02D>13 D E +%DVIPSBitmapFont: Fm cmsy10 10.95 1 +/Fm 1 14 df<14FE903807FFC090381F01F0903878003C01E0130ED80180130348C7EA01 +800006EC00C0481560A2481530481518A248150CA4481506A90060150CA46C1518A26C15 +306C1560A26C15C06CEC01806C6CEB0300D800E0130E0178133C90381F01F0903807FFC0 +D900FEC7FC272B7DA02E>13 D E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fm cmbx12 14.4 45 -/Fm 45 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 +%DVIPSBitmapFont: Fn cmbx12 14.4 44 +/Fn 44 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 0E5A5A12100A157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46 D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49 D<EBFF80000713F04813FC381E03FE393800FF80007C133F00FE14C06C131F15E0140FA2 @@ -481,75 +492,71 @@ FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F484880484880484880485A82 485A82127FA290CAFC5AA892B512F87E7F03001300123FA26C7EA26C7E6C7E6C7E6C7E6C B45B90387FF007011FB5129F0107EBFE0F9039007FF0032D297CA835>I<B5D8F00FB5FC A3D803FCC7EA3FC0AF90B7FCA301FCC7123FB1B5D8F00FB5FCA330297EA835>I<B512F0 -A33803FC00B3B1B512F0A314297EA819>I<D8FFFE92383FFF80A26D5D0003EFE000A2D9 -BF8014EFA2D99FC0EB01CFA2D98FE0EB038FA3D987F0EB070FA2D983F8130EA2D981FC13 -1CA3D980FE1338A2027F1370A291383F80E0A391381FC1C0A291380FE380A2913807F700 -A3EC03FEA26E5AA26E5AD8FFFE0203B51280A2157039297DA840>77 -D<D8FFFCEC7FFF7F7F00036DEB01C080EBBFE0139F80EB8FF8EB87FCEB83FEEB81FF0180 -1380147F15C0EC3FE0EC1FF0EC0FF8EC07FC140315FEEC01FF6E1381ED7FC1ED3FE1ED1F -F1150F16F9ED07FDED03FF8181167FA2163F161F160F1607D8FFFE14031601A230297EA8 -35>I<B612F815FF16C03A03FC003FE0ED07F0ED03F816FC150116FEA716FC150316F8ED -07F0ED3FE090B61280EDFE0001FCC8FCB0B512F0A327297EA82E>80 -D<B612E015FE6F7E3A03FC003FE0ED0FF06F7E6F7E150182A65E4B5A1507ED0FE0ED3FC0 -90B500FEC7FCA29039FC00FF80ED3FC06F7E6F7E6F7EA9170EA21503923801FC1CB538F0 -00FEEE7FF8EE0FE02F297EA832>82 D<9038FF80600003EBF0E0000F13F8381F80FD383F -001F003E1307481303A200FC1301A214007EA26C140013C0EA7FFCEBFFE06C13F86C13FE -80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E01303A46C14E0A26C1307 -6C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA825>I<B500F0EBFFFEA3 -D803FCC7EA0380B3AA0001ED07007F0000150E137F6D143CD91FC05B90390FF003F06DB5 -5A01001480DA1FFCC7FC2F297EA834>85 D<B500F0EB7FFFA3D803FEC7EA01C00001ED03 -80A26D14076C16006E5B017F140E80013F5CA26E133C011F14386E1378010F1470800107 -5CA26D6C485AA2ECFE0301015CECFF076D91C7FC1587EC7F8EA215DEEC3FDC15FC6E5AA2 -6E5AA36E5AA26E5AA230297FA833>I<B53CE07FFFE01FFFC0A32803FC0003FCC7EA7000 -A26D6D7E000160A26D6E13016C604B138002801503017F5F4B13C0D93FC0013F49C7FCA2 -913AE00E1FE00F011F160E17F09126F01C0F131E010F161C033C13F8902707F838075BA2 -037813FC902703FC70035BA2913AFEE001FEF001015E02FF14FF4B7E6D5EA26E486D5AA3 -6EC76CC8FCA2023E80021E141EA242297FA845>I<3803FF80000F13F0381F01FC383F80 -FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E -13DF393F839FFC381FFE0F3803FC031E1B7E9A21>97 D<EAFFE0A3120FACEBE1FE9038EF -FF809038FE07E09038F803F09038F001F89038E000FCA2157EA2157FA8157EA315FCA290 -38F001F89038F803F090389C0FE090380FFF80390E01FC00202A7EA925>I<EB3FF03801 -FFFC3803F03E380FC07FEA1F80EA3F00A248133E007E90C7FCA212FEA7127EA2127F6CEB -03801380001FEB0700380FE00E3803F83C3801FFF838003FC0191B7E9A1E>I<EC7FF0A3 -1407ACEB3F873801FFF73807F03F380FC00F381F8007EA3F00A2127EA312FEA8127EA27E -A2381F800F380FC01F3907E07FFF3801FFE738007F87202A7EA925>I<EB3FC03801FFF0 -3803E07C380F803E001F7F130048EB0F80127E15C0A200FE1307A2B6FCA248C8FCA3127E -A2127F6CEB01C07E390F8003803907C007003803F01E3800FFFCEB3FE01A1B7E9A1F>I< -EB07F8EB3FFCEB7E3E3801FC7FEA03F813F01207143E1400A7B512C0A33807F000B3A338 -7FFF80A3182A7EA915>I<9038FF80F00003EBE3F8390FC1FE1C391F007C7C48137E003E -EB3E10007EEB3F00A6003E133E003F137E6C137C380FC1F8380BFFE00018138090C8FC12 -38A2123C383FFFF814FF6C14C06C14E06C14F0121F383C0007007CEB01F8481300A4007C -EB01F0A2003FEB07E0390FC01F806CB5120038007FF01E287E9A22>I<EAFFE0A3120FAC -147E9038E1FF809038E30FC001E413E0EBE80701F813F013F0A213E0B039FFFE3FFFA320 -2A7DA925>I<1207EA0F80EA1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120F -B3A3EAFFFEA30F2B7EAA12>I<EAFFE0A3120FB3B2EAFFFEA30F2A7EA912>108 -D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039C803F200 -01D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC07E9038C1 -FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA3201B7D9A25 ->I<EB3FE03801FFFC3803F07E390FC01F80391F800FC0393F0007E0A2007EEB03F0A300 -FE14F8A8007E14F0A26CEB07E0A2391F800FC0390FC01F803907F07F003801FFFC38003F -E01D1B7E9A22>I<38FFE1FE9038EFFF809038FE0FE0390FF803F09038F001F801E013FC -140015FEA2157FA8157E15FEA215FC140101F013F89038F807F09038FC0FE09038EFFF80 -9038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC1F0EBC7FCEBC63E380FCC7F13 -D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA3E03EA78 -00127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FCEB07FC -130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B>I<13E0 -A41201A31203A21207120F381FFFE0B5FCA2380FE000AD1470A73807F0E0000313C03801 -FF8038007F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA2000713173903F067FF -3801FFC738007F87201B7D9A25>I<39FFFC03FFA3390FF000F0000714E07F0003EB01C0 -A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA36D5A -A26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB0380A201F8 -EBF00700031600EC0FF801FC5C0001150EEC1FFC2600FE1C5B15FE9039FF387E3C017F14 -38EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2EC800701075CA22E1B7F9A31>I< -39FFFC1FFEA33907F003803803F8079038FC0F003801FE1E00005BEB7F3814F86D5A6D5A -130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F803901E01FC0D803C013E0EB800F -39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF000F0000714E07F0003EB01C0A2EB -FC0300011480EBFE070000140013FFEB7F0EA2149EEB3F9C14FC6D5AA26D5AA36D5AA26D -5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5BEA74F0EA3FE0EA0F8020277F9A23 ->I E +A33803FC00B3B1B512F0A314297EA819>I<D8FFFCEC7FFF7F7F00036DEB01C080EBBFE0 +139F80EB8FF8EB87FCEB83FEEB81FF01801380147F15C0EC3FE0EC1FF0EC0FF8EC07FC14 +0315FEEC01FF6E1381ED7FC1ED3FE1ED1FF1150F16F9ED07FDED03FF8181167FA2163F16 +1F160F1607D8FFFE14031601A230297EA835>78 D<B612F815FF16C03A03FC003FE0ED07 +F0ED03F816FC150116FEA716FC150316F8ED07F0ED3FE090B61280EDFE0001FCC8FCB0B5 +12F0A327297EA82E>80 D<B612E015FE6F7E3A03FC003FE0ED0FF06F7E6F7E150182A65E +4B5A1507ED0FE0ED3FC090B500FEC7FCA29039FC00FF80ED3FC06F7E6F7E6F7EA9170EA2 +1503923801FC1CB538F000FEEE7FF8EE0FE02F297EA832>82 D<9038FF80600003EBF0E0 +000F13F8381F80FD383F001F003E1307481303A200FC1301A214007EA26C140013C0EA7F +FCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E0 +1303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA8 +25>I<B500F0EBFFFEA3D803FCC7EA0380B3AA0001ED07007F0000150E137F6D143CD91F +C05B90390FF003F06DB55A01001480DA1FFCC7FC2F297EA834>85 +D<B500F0EB7FFFA3D803FEC7EA01C00001ED0380A26D14076C16006E5B017F140E80013F +5CA26E133C011F14386E1378010F14708001075CA26D6C485AA2ECFE0301015CECFF076D +91C7FC1587EC7F8EA215DEEC3FDC15FC6E5AA26E5AA36E5AA26E5AA230297FA833>I<B5 +3CE07FFFE01FFFC0A32803FC0003FCC7EA7000A26D6D7E000160A26D6E13016C604B1380 +02801503017F5F4B13C0D93FC0013F49C7FCA2913AE00E1FE00F011F160E17F09126F01C +0F131E010F161C033C13F8902707F838075BA2037813FC902703FC70035BA2913AFEE001 +FEF001015E02FF14FF4B7E6D5EA26E486D5AA36EC76CC8FCA2023E80021E141EA242297F +A845>I<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801 +FC3FEA0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B +7E9A21>97 D<EAFFE0A3120FACEBE1FE9038EFFF809038FE07E09038F803F09038F001F8 +9038E000FCA2157EA2157FA8157EA315FCA29038F001F89038F803F090389C0FE090380F +FF80390E01FC00202A7EA925>I<EB3FF03801FFFC3803F03E380FC07FEA1F80EA3F00A2 +48133E007E90C7FCA212FEA7127EA2127F6CEB03801380001FEB0700380FE00E3803F83C +3801FFF838003FC0191B7E9A1E>I<EC7FF0A31407ACEB3F873801FFF73807F03F380FC0 +0F381F8007EA3F00A2127EA312FEA8127EA27EA2381F800F380FC01F3907E07FFF3801FF +E738007F87202A7EA925>I<EB3FC03801FFF03803E07C380F803E001F7F130048EB0F80 +127E15C0A200FE1307A2B6FCA248C8FCA3127EA2127F6CEB01C07E390F8003803907C007 +003803F01E3800FFFCEB3FE01A1B7E9A1F>I<EB07F8EB3FFCEB7E3E3801FC7FEA03F813 +F01207143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<9038FF80F000 +03EBE3F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E +6C137C380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C +14F0121F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512 +0038007FF01E287E9A22>I<EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EB +E80701F813F013F0A213E0B039FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0 +A3EA1FC0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I<EAFFE0A3 +120FB3B2EAFFFEA30F2A7EA912>108 D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0 +C1F8D80FC49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFF +E0A3331B7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013 +D0A213E0B039FFFE3FFFA3201B7D9A25>I<EB3FE03801FFFC3803F07E390FC01F80391F +800FC0393F0007E0A2007EEB03F0A300FE14F8A8007E14F0A26CEB07E0A2391F800FC039 +0FC01F803907F07F003801FFFC38003FE01D1B7E9A22>I<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: Fn cmtt10 10.95 75 -/Fn 75 127 df<127012F8B012701200A5127012F8A31270051C779B18>33 +%DVIPSBitmapFont: Fo cmtt10 10.95 76 +/Fo 76 127 df<127012F8B012701200A5127012F8A31270051C779B18>33 D<EA4010EAE038EAF078EAE038AAEA60300D0E7B9C18>I<EA0306EA078FA6387FFFC0B5 12E0A26C13C0380F1E00A6387FFFC0B512E0A26C13C0381E3C00A6EA0C18131C7E9B18> I<13C01201A3EA03F0EA0FFCEA3FFEEA7DCFEA71C738E1C38013C7A338F1C0001279123F @@ -589,8 +596,8 @@ EA0380487EA36C5A111C7D9B18>I<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707 A5380FFF80A3EA0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>65 D<EA7FF8EAFFFE6C7E381C0F80EB03C0A2EB01E01300A214F01470A814F014E0A2130114 C01303EB0F80387FFF00485AEA7FF8141C7F9B18>68 D<B512F0A3381C0070A41400A213 -0EA3EA1FFEA3EA1C0EA390C7FCA21438A5B512F8A3151C7F9B18>I<B512F8A3381C0038 -A41400A21307A3EA1FFFA3EA1C07A390C7FCA7EAFFC0A3151C7F9B18>I<387F07F038FF +0EA3EA1FFEA3EA1C0EA390C7FCA21438A5B512F8A3151C7F9B18>I<B512F0A3381C0070 +A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA7EAFFC0A3141C7E9B18>I<387F07F038FF 8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F9B18 >72 D<EA7FFFB512806C1300EA01C0B3A4EA7FFFB512806C1300111C7D9B18>I<EAFFC0 A3001CC7FCB114E0A5B5FCA3131C7E9B18>76 D<387E07F038FF0FF8387F07F0381D81C0 @@ -624,34 +631,36 @@ B5FCA23801C000AEEA7FFFA3131C7F9B18>I<3801E1F03807FFF85A381E1E30381C0E00 0070481338A4007813F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12FE12 7E120EA5133EEBFF80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC17 1C809B18>I<EA0380EA07C0A3EA0380C7FCA4EA7FC012FF127F1201AEB5FCA3101D7C9C -18>I<EAFFC0A31201B3A4B51280A3111C7D9B18>108 D<38F9C1C038FFF7F013FF383E3E -38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E1714809318>I<EA7E3E38FEFF80007F13 -C0EA0FC1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC1714809318>I<EA01F0EA0F -FE487E383E0F80EA3803387001C0A238E000E0A5EAF001007013C0EA7803383C0780EA3E -0F381FFF006C5AEA01F013147E9318>I<EA7E3E38FEFF80007F13C0380FC1E01380EB00 -70120E1438A6000F1370A2EB80E013C1EBFFC0000E1380EB3E0090C7FCA7EA7FC0487E6C -5A151E809318>I<3801F380EA07FBEA1FFFEA3E1FEA380FEA7007A2EAE003A6EA7007A2 -EA380FEA3C1FEA1FFFEA0FFBEA03E3EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38 -FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0005BA290C7FCA9EAFFFC7F5B14147E9318>I< -EA07F7EA3FFF5AEA780FEAE007A3007CC7FCEA7FE0EA1FFCEA03FEEA001F38600780EAE0 -03A212F038F80F00B5FC13FCEAE7F011147D9318>I<487E1203A4387FFFC0B5FCA23803 -8000A9144014E0A33801C1C013FF6C1380EB3E0013197F9818>I<387E07E0EAFE0FEA7E -07EA0E00AC1301EA0F033807FFFC6C13FE3801FCFC1714809318>I<387F8FF000FF13F8 -007F13F0381C01C0380E0380A338070700A3138FEA038EA3EA01DCA3EA00F8A213701514 -7F9318>I<38FF07F8138F1307383800E0A4381C01C0137113F9A213D9EA1DDD000D1380 -A3138DEA0F8FA23807070015147F9318>I<387F8FF0139F138F380F0700EA078EEA039E -EA01DC13F81200137013F07FEA01DCEA039E138EEA0707000E1380387F8FF000FF13F800 -7F13F015147F9318>I<387F8FF000FF13F8007F13F0380E01C0EB0380A21207EB0700A2 -EA0387A2138EEA01CEA213CC120013DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC -121E151E7F9318>I<383FFFF05AA2387001E0EB03C0EB078038000F00131E5B13F8485A -EA03C0485A380F0070121E5A5AB512F0A314147F9318>I<EB07E0131F137FEB780013E0 -AB1201EA7FC0485AA26C7EEA01E01200AB1378EB7FE0131F130713247E9F18>I<126012 -F0B3B012600424769F18>I<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0 -005BABEA03C012FF90C7FC127C13247E9F18>I<EA060CEA1F1EEA3FBEEAFBF8EAF1F0EA -60C00F067C9B18>I E +18>I<127E12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA +0E0F7FEB038014C0387FC7F812FF127F151C7F9B18>107 D<EAFFC0A31201B3A4B51280 +A3111C7D9B18>I<38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E +7EEB3E3E1714809318>I<EA7E3E38FEFF80007F13C0EA0FC1EB80E01300120EAB387FC7 +FC38FFE7FE387FC7FC1714809318>I<EA01F0EA0FFE487E383E0F80EA3803387001C0A2 +38E000E0A5EAF001007013C0EA7803383C0780EA3E0F381FFF006C5AEA01F013147E9318 +>I<EA7E3E38FEFF80007F13C0380FC1E01380EB0070120E1438A6000F1370A2EB80E013 +C1EBFFC0000E1380EB3E0090C7FCA7EA7FC0487E6C5A151E809318>I<3801F380EA07FB +EA1FFFEA3E1FEA380FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3 +EA0003A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060 +EBC0005BA290C7FCA9EAFFFC7F5B14147E9318>I<EA07F7EA3FFF5AEA780FEAE007A300 +7CC7FCEA7FE0EA1FFCEA03FEEA001F38600780EAE003A212F038F80F00B5FC13FCEAE7F0 +11147D9318>I<487E1203A4387FFFC0B5FCA238038000A9144014E0A33801C1C013FF6C +1380EB3E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F033807FFFC6C +13FE3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E0380A33807 +0700A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F8138F13073838 +00E0A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA23807070015147F93 +18>I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013F07FEA01DC +EA039E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I<387F8FF000 +FF13F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA213CC120013 +DC1378A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<383FFFF05AA2 +387001E0EB03C0EB078038000F00131E5B13F8485AEA03C0485A380F0070121E5A5AB512 +F0A314147F9318>I<EB07E0131F137FEB780013E0AB1201EA7FC0485AA26C7EEA01E012 +00AB1378EB7FE0131F130713247E9F18>I<126012F0B3B012600424769F18>I<127CB4FC +13C01203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005BABEA03C012FF90C7FC127C13247E +9F18>I<EA060CEA1F1EEA3FBEEAFBF8EAF1F0EA60C00F067C9B18>I +E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fo cmr10 10.95 75 -/Fo 75 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 +%DVIPSBitmapFont: Fp cmr10 10.95 74 +/Fp 74 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>I<EB3FE013E0EA01C1EA0381EA07 00A8B5FCEA0700B2383FE7FC1620809F19>I<90381F81F89038F04F043901C07C063903 @@ -664,7 +673,7 @@ D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012 5A0A2E7EA112>I<127012F012F8A212781208A31210A31220A21240050E7C840D>44 D<EAFFF0A20C02808A0F>I<127012F8A3127005057C840D>I<EA03F0EA0E1C487EEA1806 EA380738700380A400F013C0AD00701380A3EA780700381300EA1806EA1C0E6C5AEA03F0 -121F7E9D17>48 D<13801203120F12F31203B3A6EA07C0EAFFFE0F1E7C9D17>I<EA03F0 +121F7E9D17>48 D<13801203120F12F31203B3A6EA07C0EA7FFE0F1E7C9D17>I<EA03F0 EA0C1CEA100E487E00401380128000F013C0EAF803A3EA200712001480A2EB0F00130E5B 5B5B13605B485A48C7FC000613405A5A00101380EA3FFF5AB5FC121E7E9D17>I<EA03F0 EA0C1CEA100EEA200F007813801307A2EA380F12001400A2131E131C1370EA07F0EA003C @@ -692,77 +701,76 @@ D<B512E0380F0078141EA2801580A515005C141E147CEBFFF0EB007C141FEC0F80EC07C0 7C1578A215F0EC01E0EC03C0EC0780EC1E00B512F81F1F7F9E23>I<B61280380F000F14 031401140015C01540A314401500A214C0130113FF130113001440A3EC0020A31540A315 C01401EC0380140FB6FC1B1F7E9E1F>I<B61280380780071401A2140015C01540A4EC20 -00A3146014E013FF138014601420A391C7FCA87FEAFFFE1A1F7F9E1E>I<90380FE01090 -38381C309038E002703803C00139078000F048C71270121E15305A1510127C127800F814 -00A7EC3FFEEC01F000781300127C123CA27EA27E6C7E3903C001703900E002309038380C -1090380FF0001F217E9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF8 -1D1F7E9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<3807FFC038003E00131EB3A3 -122012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F9E17>I<EAFFF8EA0F8090C7FC -B21402A414061404A2140C141C147CB512FC171F7E9E1C>76 D<B46CEB07FE000715C0A2 -D805C0130BA2D804E01313A301701323A26D1343A36D1383A290380E0103A3EB0702A3EB -0384A2EB01C8A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E2A>I<B4EB0FF8390F8003 -E0EC0080EA0BC0EA09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F014 -78A2143C141EA2140F1407A214031401123E38FF80001D1F7E9E22>I<EB1FE0EB703838 -01C00E48487E39070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F814 -7CA900781478007C14F8A2003C14F0003E1301001E14E06CEB03C06C1480390380070038 -01E01E38007038EB1FE01E217E9F23>I<B512E0380F007C141E80EC0780A215C0A41580 -A2EC0F00141E147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<EB1FE0EB70383801C00E48 -487E39070003804814C0001EEB01E0003E14F0003C1300007C14F8A20078147800F8147C -A900781478007C14F8A2003C14F0383E0781391E0841E0390F1023C00007148039039017 -003801D01E3900783804EB1FF8EB001CEC0C0CEC0E1CEC0FF8A2140715F0EC01E01E297E -9F23>I<B57E380F00F0143C8080A21580A41500A2141E5C14F0EBFF80EB01C0EB0070A2 -80143CA3143EA31504143F141FEC0F0839FFF00788C7EA01F01E207E9E21>I<3803F040 -380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF86CB4FC0007 -1380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F8018038C60300EA -81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C0143000801410 -A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC0080B3A46CEB -01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003FE391F8000 -F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213F8EB7804A2 -6D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF07FF81FF03B -1F000FC007C06C903907800180170015C001805C00071502EC09E013C000035DEC19F014 -10D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C144090383D00 -0F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<12FFA212C0B3 -B3A512FFA2082D7CA10D>91 D<EA0804EA1008EA2010A2EA4020A2EA8040A3EAB85CEAFC -7EA2EA7C3EEA381C0F0E7A9F17>I<12FFA21203B3B3A512FFA2082D80A10D>I<12081210 -1220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 D<EA1FE0EA3030EA781813 -1CEA300E1200A313FEEA078EEA1E0E1238127800F01310A3131E127838386720380F83C0 -14147E9317>I<121C12FC121CAA137CEA1D87381E0180EB00C0001C13E01470A21478A6 -147014F014E0001E13C0381A018038198700EA107C15207E9F19>I<EA01FCEA0706EA1C -0F123813060078C7FC127012F0A61270127800381380A2381C0100EA0706EA01F811147F -9314>I<EB01C0130F1301AAEA01F1EA070DEA0C03EA180112381278127012F0A61270A2 -1238EA1803120CEA070D3801F1F815207F9F19>I<EA03F0EA0E1C487E487EA21270EB03 -8012F0A2B5FC00F0C7FCA31270A26C1380A2381C0100EA0706EA01F811147F9314>I<13 -7CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE01020809F0E>I<14E03803 -E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33E00020C7FCA21230A2EA -3FFE381FFF8014C0383001E038600070481330A4006013606C13C0381C03803803FC0014 -1F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A2121CAE38FF8FF014207E9F -19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F9E0C>I<13E0EA01F0A3EA -00E01300A61370EA07F012001370B3A31260EAF06013C0EA6180EA3F000C28829E0E>I< -121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0EA1DF0EA1E70EA1C38133C -131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC121CB3ABEAFF8009207F9F -0C>I<391C3E03E039FCC30C30391D039038391E01E01CA2001C13C0AE3AFF8FF8FF8021 -147E9326>I<EA1C7CEAFC86EA1D03001E1380A2121CAE38FF8FF014147E9319>I<EA01F8 -EA070E381C0380383801C0A2387000E0A200F013F0A6007013E0A2383801C0A2381C0380 -38070E00EA01F814147F9317>I<EA1C7CEAFD87381E018014C0381C00E014F014701478 -A6147014F014E0381E01C0EB0380381D8700EA1C7C90C7FCA8B47E151D7E9319>I<3801 -F04038070CC0EA0E02EA1C03EA38011278127012F0A6127012781238EA1C03EA0C05EA07 -09EA01F1EA0001A8EB0FF8151D7F9318>I<EA1CF0EAFD18EA1E3CA21318EA1C00AEEAFF -C00E147E9312>I<EA0FC8EA3038EA6018EAC008A3EAE000127CEA3FE0EA1FF0EA07F8EA -003CEA800E130612C0A21304EAE00CEAD818EA87E00F147F9312>I<1202A31206A2120E -A2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F9B12>I<381C0380EAFC1FEA -1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8383E00E0001C13C06C1380 -A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3132015147F9318>I<39FF -9FE1FC393C078070391C030060EC8020000E1440A214C0D80704138014E0A23903886100 -1471A23801D032143A143E3800E01CA2EB6018EB40081E147F9321>I<38FF87F8381E03 -C0380E0180EB0300EA0702EA0384EA01C813D8EA00F01370137813F8139CEA010E1202EA -060738040380000C13C0003C13E038FE07FC16147F9318>I<38FF83F8383E00E0001C13 -C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A31320A25BA3EAF0 -80A200F1C7FC1262123C151D7F9318>I<EA7FFFEA700E1260EA401C133813781370EA00 -E0120113C0EA038012071301120E121EEA1C03EA3802EA7006130EEAFFFE10147F9314> -I E +00A3146014E013FF138014601420A391C7FCA87FEAFFFE1A1F7F9E1E>I<90380FE02090 +387818609038E004E03803800238070001481300001E1460A25A1520127C127800F81400 +A7EC7FFCEC03E000781301127C123CA27EA27E7E380380023900E0046090387818209038 +0FE0001E217D9F24>I<39FFF07FF8390F000780AD90B5FCEB0007AF39FFF07FF81D1F7E +9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<EAFFF8EA0F8090C7FCB21402A41406 +1404A2140C141C147CB512FC171F7E9E1C>76 D<B46CEB07FE000715C0A2D805C0130BA2 +D804E01313A301701323A26D1343A36D1383A290380E0103A3EB0702A3EB0384A2EB01C8 +A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E2A>I<B4EB0FF8390F8003E0EC0080EA0B +C0EA09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F01478A2143C141E +A2140F1407A214031401123E38FF80001D1F7E9E22>I<EB1FE0EB70383801C00E48487E +39070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F8147CA900781478 +007C14F8A2003C14F0003E1301001E14E06CEB03C06C148039038007003801E01E380070 +38EB1FE01E217E9F23>I<B512E0380F007C141E80EC0780A215C0A41580A2EC0F00141E +147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<EB1FE0EB70383801C00E48487E39070003 +804814C0001EEB01E0003E14F0003C1300007C14F8A20078147800F8147CA90078147800 +7C14F8A2003C14F0383E0781391E0841E0390F1023C00007148039039017003801D01E39 +00783804EB1FF8EB001CEC0C0CEC0E1CEC0FF8A2140715F0EC01E01E297E9F23>I<B512 +E0380F80780007131E80EC0780A215C0A41580A2EC0F00141E1478EBFFE0EB8060143814 +3C141C141EA3141FA315011581140F390FC0078239FFFC03C4C812F820207F9E22>I<38 +03F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF86CB4 +FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F8018038C6 +0300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C0143000 +801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC0080B3 +A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003FE39 +1F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213F8EB +7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF07FF8 +1FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C000035DEC +19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C144090 +383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<12FFA2 +12C0B3B3A512FFA2082D7CA10D>91 D<EA0804EA1008EA2010A2EA4020A2EA8040A3EAB8 +5CEAFC7EA2EA7C3EEA381C0F0E7A9F17>I<12FFA21203B3B3A512FFA2082D80A10D>I<12 +0812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 +D<EA1FE0EA3030EA7818131CEA300E1200A313FEEA0F8EEA1E0E1238127800F01310A313 +1E127838386720380F83C014147E9317>I<121C12FC121CAA137CEA1D87381E0180EB00 +C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F +19>I<EA01FCEA0706EA1C0F123813060078C7FC127012F0A61270127800381380A2381C +0100EA0706EA01F811147F9314>I<EB01C0130F1301AAEA01F1EA070DEA0C03EA180112 +381278127012F0A61270A21238EA1803120CEA070D3801F1F815207F9F19>I<EA03F0EA +0E1C487E487EA238700380A212F0B5FC00F0C7FCA41270A26C1380A2381C0100EA0706EA +01F811147F9314>I<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE010 +20809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33 +E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C13 +C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A212 +1CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F +9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA61 +80EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0 +EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC +121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D019018001EEBE01CA200 +1C13C0AE3AFF8FF8FF8021147E9326>I<EA1C7CEAFC86EA1D03001E1380A2121CAE38FF +8FF014147E9319>I<EA01F8EA070E381C0380383801C0A2387000E0A200F013F0A60070 +13E0A2383801C0A2381C038038070E00EA01F814147F9317>I<EA1C7CEAFD87381E0180 +14C0381C00E014F014701478A6147014F014E0381E01C0EB0380381D8700EA1C7C90C7FC +A8B47E151D7E9319>I<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A61270 +12781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>I<EA1CF0EAFD18 +EA1E3CA21318EA1C00AEEAFFC00E147E9312>I<EA0FC8EA3038EA6018EAC008A3EAE000 +127CEA3FE0EA1FF0EA07F8EA003CEA800E130612C0A21304EAE00CEAD818EA87E00F147F +9312>I<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F +9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8 +383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3 +132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D807 +04138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E147F +9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F0137013 +7813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>I< +38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8 +A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>I<EA7FFFEA700E1260 +EA401C133813781370EA00E0120113C0EA038012071301120E121EEA1C03EA3802EA7006 +130EEAFFFE10147F9314>I E %EndDVIPSBitmapFont -%DVIPSBitmapFont: Fp cmbx12 20.736 13 -/Fp 13 122 df<DB1FFC14C00203B5EAC001021FECF003027FECFC07903B01FFFC00FE0F +%DVIPSBitmapFont: Fq cmbx12 20.736 13 +/Fq 13 122 df<DB1FFC14C00203B5EAC001021FECF003027FECFC07903B01FFFC00FE0F 010701C0EB1F9F4948C7EA07FFD93FF880494814004948157F485B4A153F4890C9121F48 5A000F170F5B001F1707A2485A1803A2127FA24993C8FCA212FFAA041FB61280127FA27F DC0001EBC000123FA36C7EA26C7EA26C7E7E6C7F806C7F6D6C5CEB3FFCD90FFF5C6D01C0 @@ -811,824 +819,838 @@ letter %%EndSetup %%Page: 1 1 -1 0 bop 75 693 a Fp(GNU)33 b(History)f(Library)p 75 743 -1800 17 v 960 791 a Fo(Edition)16 b(4.1,)e(for)h Fn(History)f(Library)g -Fo(V)l(ersion)i(4.1.)1609 845 y(Jan)o(uary)f(2000)75 -2467 y Fm(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 +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.2,)e(for)h Fo(History)f(Library)g +Fp(V)l(ersion)i(4.2.)1692 811 y(Apr)f(2001)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 250 a Fo(This)21 b(do)q(cumen)o(t)g(describ)q(es)h(the)f +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 305 y(consisten)o(t)15 b(user)h(in)o(terface)f(for)g +(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 -373 y(Published)i(b)o(y)f(the)f(F)l(ree)g(Soft)o(w)o(are)f(F)l -(oundation)75 427 y(59)h(T)l(emple)h(Place,)f(Suite)i(330,)75 -482 y(Boston,)d(MA)h(02111)f(USA)75 549 y(P)o(ermission)j(is)f(gran)o +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 604 y(cop)o(yrigh)o(t)e +(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 671 y(P)o(ermission)c(is)h(gran)o(ted)e(to)g +(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 726 y(ditions)k(for)e(v)o(erbatim)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 781 y(under)h(the)f(terms)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 -848 y(P)o(ermission)i(is)g(gran)o(ted)f(to)g(cop)o(y)h(and)f +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 903 y(guage,)e(under)h(the)f(ab)q(o)o(v)o(e)g(conditions)i +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 958 y(ma)o(y)f(b)q(e)i(stated)f(in)h(a)f +(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 Fl(\015)i Fo(1988-1999)e(F)l(ree)i(Soft)o(w)o(are)f(F)l +2661 y Fm(\015)h Fp(1988-2001)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 Fo(Chapter)15 b(1:)k(Using)d(History)f(In)o(teractiv)o -(ely)1007 b(1)75 183 y Fk(1)41 b(Using)26 b(History)h(In)n(teractiv)n -(ely)137 317 y Fo(This)16 b(c)o(hapter)f(describ)q(es)i(ho)o(w)d(to)h -(use)g(the)g(GNU)g(History)g(Library)h(in)o(teractiv)o(ely)l(,)g(from)e -(a)h(user's)75 372 y(standp)q(oin)o(t.)35 b(It)20 b(should)g(b)q(e)h -(considered)h(a)d(user's)h(guide.)35 b(F)l(or)19 b(information)h(on)g -(using)h(the)f(GNU)75 427 y(History)d(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 482 y(page)e(5.)75 625 y Fm(1.1)33 b(History)22 b(Expansion)137 -727 y Fo(The)c(History)g(library)h(pro)o(vides)f(a)f(history)h +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 -782 y(expansion)12 b(pro)o(vided)g(b)o(y)f Fn(csh)p Fo(.)18 +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 836 y(information.)137 -909 y(History)k(expansions)h(in)o(tro)q(duce)h(w)o(ords)d(from)g(the)i +(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 -964 y(it)h(easy)g(to)g(rep)q(eat)g(commands,)g(insert)h(the)f(argumen)o +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 -1019 y(input)h(line,)h(or)d(\014x)i(errors)e(in)i(previous)g(commands)f -(quic)o(kly)l(.)137 1092 y(History)j(expansion)i(tak)o(es)d(place)i(in) +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 1147 y(the)h(history)f(list)i(should)g(b)q +(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 1202 y(that)15 b(line)i(for)d(inclusion)k +(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 1256 y Fj(ev)o(en)o(t)p -Fo(,)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 Fo(.)i(V)l(arious)c -Fj(mo)q(di\014ers)75 1311 y Fo(are)i(a)o(v)m(ailable)i(to)e(manipulate) +(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 1366 y(fashion)c(that)e(Bash)i(do)q +(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 1421 y(History)18 +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 1475 -y(whic)o(h)d(is)g(`)p Fn(!)p Fo(')e(b)o(y)h(default.)75 -1599 y Fi(1.1.1)30 b(Ev)n(en)n(t)21 b(Designators)137 -1701 y Fo(An)16 b(ev)o(en)o(t)f(designator)g(is)g(a)g(reference)h(to)f +(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 -1789 y Fn(!)216 b Fo(Start)16 b(a)g(history)h(substitution,)g(except)h +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 -1844 y(the)e(line,)i(`)p Fn(=)p Fo(')d(or)h(`)p Fn(\()p -Fo('.)75 1929 y Fn(!)p Fj(n)191 b Fo(Refer)16 b(to)e(command)h(line)i -Fj(n)p Fo(.)75 2015 y Fn(!-)p Fj(n)167 b Fo(Refer)16 -b(to)e(the)i(command)f Fj(n)g Fo(lines)i(bac)o(k.)75 -2100 y Fn(!!)192 b Fo(Refer)16 b(to)e(the)i(previous)f(command.)20 -b(This)c(is)g(a)f(synon)o(ym)g(for)f(`)p Fn(!-1)p Fo('.)75 -2186 y Fn(!)p Fj(string)102 b Fo(Refer)16 b(to)e(the)i(most)e(recen)o -(t)h(command)g(starting)g(with)g Fj(string)p Fo(.)75 -2271 y Fn(!?)p Fj(string)t Fn([?])315 2326 y Fo(Refer)i(to)f(the)h +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 -Fo(.)25 b(The)17 b(trailing)g(`)p Fn(?)p Fo(')f(ma)o(y)g(b)q(e)315 -2381 y(omitted)f(if)h(the)f Fj(string)k Fo(is)d(follo)o(w)o(ed)f -(immediately)i(b)o(y)e(a)g(newline.)75 2466 y Fn(^)p -Fj(string1)t Fn(^)p Fj(string2)t Fn(^)315 2521 y Fo(Quic)o(k)i -(Substitution.)23 b(Rep)q(eat)17 b(the)f(last)f(command,)h(replacing)h -Fj(string1)i Fo(with)e Fj(string2)p Fo(.)315 2576 y(Equiv)m(alen)o(t)g -(to)d Fn(!!:s/)p Fj(string1)t Fn(/)p Fj(string2)t Fn(/)p -Fo(.)75 2661 y Fn(!#)192 b Fo(The)15 b(en)o(tire)h(command)f(line)i(t)o +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 Fo(2)1347 b(GNU)15 b(History)g(Library)75 -183 y Fi(1.1.2)30 b(W)-5 b(ord)20 b(Designators)137 279 -y Fo(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 Fn(:)p -Fo(')e(separates)h(the)75 334 y(ev)o(en)o(t)j(sp)q(eci\014cation)h +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 389 y(b)q(egins)f(with)g -(a)e(`)p Fn(^)p Fo(',)h(`)p Fn($)p Fo(',)f(`)p Fn(*)p -Fo(',)g(`)p Fn(-)p Fo(',)g(or)h(`)p Fn(\045)p Fo('.)24 +(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 444 y(with)j(the)g(\014rst)f(w)o(ord)h(b)q(eing)h +(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 498 y(separated)c(b)o(y)g(single) -i(spaces.)137 574 y(F)l(or)e(example,)75 653 y Fn(!!)192 -b Fo(designates)18 b(the)g(preceding)i(command.)28 b(When)18 +(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 -708 y(mand)c(is)h(rep)q(eated)g(in)g(toto.)75 787 y Fn(!!:$)144 -b Fo(designates)12 b(the)f(last)g(argumen)o(t)f(of)h(the)g(preceding)i +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 -842 y(to)j Fn(!$)p Fo(.)75 921 y Fn(!fi:2)120 b Fo(designates)15 +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 976 y(letters)g Fn(fi)p Fo(.)137 -1055 y(Here)h(are)f(the)g(w)o(ord)f(designators:)75 1134 -y Fn(0)h(\(zero\))57 b Fo(The)15 b Fn(0)p Fo(th)g(w)o(ord.)20 +(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 1214 y Fj(n)215 b Fo(The)15 b Fj(n)p Fo(th)h(w)o(ord.)75 -1293 y Fn(^)216 b Fo(The)15 b(\014rst)g(argumen)o(t;)f(that)h(is,)g(w)o -(ord)g(1.)75 1372 y Fn($)216 b Fo(The)15 b(last)h(argumen)o(t.)75 -1451 y Fn(\045)216 b Fo(The)15 b(w)o(ord)g(matc)o(hed)g(b)o(y)g(the)g -(most)g(recen)o(t)g(`)p Fn(?)p Fj(string)t Fn(?)p Fo(')f(searc)o(h.)75 -1530 y Fj(x)p Fn(-)p Fj(y)168 b Fo(A)15 b(range)g(of)g(w)o(ords;)f(`)p -Fn(-)p Fj(y)t Fo(')g(abbreviates)i(`)p Fn(0-)p Fj(y)t -Fo('.)75 1610 y Fn(*)216 b Fo(All)15 b(of)f(the)f(w)o(ords,)g(except)i -(the)f Fn(0)p Fo(th.)19 b(This)14 b(is)h(a)e(synon)o(ym)h(for)f(`)p -Fn(1-$)p Fo('.)18 b(It)c(is)g(not)g(an)g(error)315 1664 -y(to)g(use)h(`)p Fn(*)p Fo(')f(if)i(there)e(is)i(just)e(one)h(w)o(ord)f +(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 1719 y(that)f(case.)75 1798 y Fj(x)s Fn(*)189 -b Fo(Abbreviates)16 b(`)p Fj(x)p Fn(-$)p Fo(')75 1878 -y Fj(x)p Fn(-)192 b Fo(Abbreviates)16 b(`)p Fj(x)p Fn(-$)p -Fo(')e(lik)o(e)i(`)p Fj(x)s Fn(*)p Fo(',)e(but)i(omits)f(the)g(last)g -(w)o(ord.)137 1957 y(If)i(a)g(w)o(ord)f(designator)h(is)h(supplied)h +(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 2012 y(is)e(used)f(as)g(the)h(ev)o(en)o(t.)75 -2123 y Fi(1.1.3)30 b(Mo)r(di\014ers)137 2219 y Fo(After)10 +(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 -2274 y(mo)q(di\014ers,)16 b(eac)o(h)f(preceded)i(b)o(y)e(a)g(`)p -Fn(:)p Fo('.)75 2353 y Fn(h)216 b Fo(Remo)o(v)o(e)15 -b(a)g(trailing)h(pathname)f(comp)q(onen)o(t,)g(lea)o(ving)h(only)g(the) -f(head.)75 2432 y Fn(t)216 b Fo(Remo)o(v)o(e)15 b(all)h(leading)h +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 -2512 y Fn(r)216 b Fo(Remo)o(v)o(e)15 b(a)g(trailing)h(su\016x)f(of)g -(the)g(form)g(`)p Fn(.)p Fj(su\016x)s Fo(',)f(lea)o(ving)i(the)f -(basename.)75 2591 y Fn(e)216 b Fo(Remo)o(v)o(e)15 b(all)h(but)g(the)f -(trailing)h(su\016x.)75 2670 y Fn(p)216 b Fo(Prin)o(t)15 +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 Fo(Chapter)15 b(1:)k(Using)d(History)f(In)o(teractiv)o -(ely)1007 b(3)75 183 y Fn(s/)p Fj(old)r Fn(/)p Fj(new)t -Fn(/)315 238 y Fo(Substitute)17 b Fj(new)j Fo(for)c(the)h(\014rst)e(o)q -(ccurrence)j(of)e Fj(old)i Fo(in)f(the)g(ev)o(en)o(t)f(line.)25 -b(An)o(y)16 b(delimiter)315 293 y(ma)o(y)c(b)q(e)h(used)g(in)g(place)g -(of)f(`)p Fn(/)p Fo('.)18 b(The)13 b(delimiter)h(ma)o(y)e(b)q(e)h -(quoted)f(in)i Fj(old)g Fo(and)f Fj(new)k Fo(with)12 -b(a)315 348 y(single)j(bac)o(kslash.)20 b(If)15 b(`)p -Fn(&)p Fo(')e(app)q(ears)h(in)h Fj(new)p Fo(,)f(it)g(is)h(replaced)g(b) -o(y)f Fj(old)p Fo(.)20 b(A)14 b(single)i(bac)o(kslash)315 -402 y(will)j(quote)e(the)h(`)p Fn(&)p Fo('.)25 b(The)17 +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 457 y(the)e(input)h(line.)75 537 y -Fn(&)216 b Fo(Rep)q(eat)16 b(the)f(previous)h(substitution.)75 -617 y Fn(g)216 b Fo(Cause)19 b(c)o(hanges)h(to)e(b)q(e)i(applied)h(o)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 671 y(with)c(`)p Fn(s)p Fo(',)d(as)i(in)h -Fn(gs/)p Fj(old)r Fn(/)p Fj(new)t Fn(/)p Fo(,)f(or)g(with)g(`)p -Fn(&)p Fo('.)p eop +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 Fo(4)1347 b(GNU)15 b(History)g(Library)p +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 Fo(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g -(History)889 b(5)75 183 y Fk(2)41 b(Programming)28 b(with)e(GNU)i -(History)137 282 y Fo(This)16 b(c)o(hapter)e(describ)q(es)j(ho)o(w)d -(to)g(in)o(terface)h(programs)e(that)h(y)o(ou)h(write)g(with)g(the)g -(GNU)f(History)75 337 y(Library)l(.)24 b(It)17 b(should)g(b)q(e)g +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 -391 y(of)e(GNU)g(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 Fm(2.1)33 -b(In)n(tro)r(duction)24 b(to)e(History)137 602 y Fo(Man)o(y)c(programs) -g(read)h(input)g(from)f(the)h(user)g(a)f(line)j(at)d(a)g(time.)31 -b(The)19 b(GNU)g(History)f(library)75 656 y(is)k(able)g(to)e(k)o(eep)i -(trac)o(k)e(of)h(those)g(lines,)j(asso)q(ciate)d(arbitrary)g(data)f -(with)i(eac)o(h)f(line,)j(and)e(utilize)75 711 y(information)15 -b(from)g(previous)h(lines)h(in)f(comp)q(osing)f(new)h(ones.)137 -775 y(The)e(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 -830 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 884 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 939 y(the)c(list)i(directly)l(.)22 -b(In)16 b(addition,)g(a)f(history)g Fj(expansion)h Fo(function)h(is)e +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 -994 y(consisten)o(t)h(user)h(in)o(terface)f(across)g(di\013eren)o(t)g -(programs.)137 1058 y(The)f(user)h(using)f(programs)f(written)h(with)g +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 1112 y(user)20 b(in)o(terface)f(with)h(a)f(set)h(of)f +(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 1167 y(lines)c(and)f(using)h(that)e(text)g(in)i(new)f +(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 1222 y(similar)j(to)f(the)g(history)g(substitution)h(pro)o -(vided)g(b)o(y)g Fn(csh)p Fo(.)137 1286 y(If)f(the)g(programmer)f -(desires,)h(he)g(can)g(use)g(the)g(Readline)i(library)l(,)f(whic)o(h)f -(includes)j(some)c(history)75 1340 y(manipulation)j(b)o(y)e(default,)g +(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 1404 y(Before)i(declaring)i(an)o(y)d(functions)i(using)g +(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 1459 y(other)14 b(co)q(de,)h(an)f(application)i(writer)e(should) -i(include)g(the)f(\014le)g Fn(<readline/history.h>)d -Fo(in)j(an)o(y)f(\014le)75 1513 y(that)d(uses)h(the)h(History)e +(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(<readline/history.h>)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 1568 y(public)17 +(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 1686 y Fm(2.2)33 b(History)22 -b(Storage)137 1778 y Fo(The)16 b(history)f(list)h(is)g(an)f(arra)o(y)f +(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 1839 y Fn(typedef)23 -b(struct)g(_hist_entry)f({)243 1891 y(char)h(*line;)243 -1943 y(char)g(*data;)195 1995 y(})h(HIST_ENTRY;)137 2058 -y Fo(The)16 b(history)f(list)h(itself)g(migh)o(t)f(therefore)g(b)q(e)h -(declared)g(as)195 2119 y Fn(HIST_ENTRY)22 b(**the_history_list;)137 -2183 y Fo(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 -2243 y Fn(/*)24 b(A)f(structure)g(used)g(to)h(pass)f(the)h(current)f -(state)g(of)g(the)h(history)f(stuff)g(around.)g(*/)p -2033 2253 21 42 v 195 2295 a(typedef)g(struct)g(_hist_state)f({)243 -2347 y(HIST_ENTRY)g(**entries;)214 b(/*)23 b(Pointer)g(to)h(the)f -(entries)g(themselves.)f(*/)243 2399 y(int)h(offset;)453 -b(/*)23 b(The)h(location)e(pointer)h(within)g(this)h(array.)f(*/)p -2033 2409 V 243 2451 a(int)g(length;)453 b(/*)23 b(Number)g(of)h -(elements)f(within)g(this)g(array.)g(*/)p 1985 2461 V -243 2503 a(int)g(size;)501 b(/*)23 b(Number)g(of)h(slots)f(allocated)g -(to)g(this)h(array.)f(*/)p 2057 2513 V 243 2555 a(int)g(flags;)195 -2606 y(})h(HISTORY_STATE;)137 2670 y Fo(If)16 b(the)f(\015ags)g(mem)o -(b)q(er)g(includes)j Fn(HS_STIFLED)p Fo(,)13 b(the)i(history)h(has)f(b) -q(een)h(sti\015ed.)p eop +(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 Fo(6)1347 b(GNU)15 b(History)g(Library)75 -183 y Fm(2.3)33 b(History)22 b(F)-6 b(unctions)137 278 -y Fo(This)21 b(section)g(describ)q(es)h(the)f(calling)h(sequence)g(for) -e(the)g(v)m(arious)h(functions)g(presen)o(t)g(in)g(GNU)75 -333 y(History)l(.)75 441 y Fi(2.3.1)30 b(Initializing)20 -b(History)h(and)f(State)g(Managemen)n(t)137 536 y Fo(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 -591 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.)1650 679 y(F)l(unction)-1749 -b Fh(void)20 b Fg(using)p 333 679 18 3 v 20 w(history)j -Ff(\(\))195 734 y Fo(Begin)18 b(a)f(session)h(in)g(whic)o(h)g(the)g -(history)f(functions)h(migh)o(t)f(b)q(e)h(used.)27 b(This)18 -b(initializes)195 788 y(the)d(in)o(teractiv)o(e)h(v)m(ariables.)1650 -877 y(F)l(unction)-1749 b Fh(HISTORY_STATE)21 b(*)e Fg(history)p -657 877 V 21 w(get)p 755 877 V 21 w(history)p 951 877 -V 21 w(state)j Ff(\(\))195 931 y Fo(Return)16 b(a)f(structure)g -(describing)i(the)e(curren)o(t)g(state)f(of)h(the)g(input)i(history)l -(.)1650 1019 y(F)l(unction)-1749 b Fh(void)20 b Fg(history)p -377 1019 V 20 w(set)p 468 1019 V 21 w(history)p 664 1019 -V 21 w(state)j Ff(\()p Fn(HISTORY_STATE)13 b(*state)p -Ff(\))195 1074 y Fo(Set)i(the)h(state)e(of)h(the)g(history)g(list)h -(according)g(to)e Fj(state)p Fo(.)75 1182 y Fi(2.3.2)30 -b(History)20 b(List)h(Managemen)n(t)137 1277 y Fo(These)11 +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 1332 y(the)15 -b(list)h(itself.)1650 1420 y(F)l(unction)-1749 b Fh(void)20 -b Fg(add)p 294 1420 V 20 w(history)j Ff(\()p Fn(char)14 -b(*string)p Ff(\))195 1475 y Fo(Place)i Fj(string)j Fo(at)c(the)g(end)i -(of)d(the)i(history)f(list.)22 b(The)15 b(asso)q(ciated)h(data)f -(\014eld)h(\(if)g(an)o(y\))e(is)195 1530 y(set)h(to)g -Fn(NULL)p Fo(.)1650 1618 y(F)l(unction)-1749 b Fh(HIST_ENTRY)21 -b(*)e Fg(remo)n(v)n(e)p 584 1618 V 20 w(history)k Ff(\()p -Fn(int)14 b(which)p Ff(\))195 1673 y Fo(Remo)o(v)o(e)g(history)g(en)o -(try)f(at)h(o\013set)f Fj(whic)o(h)h Fo(from)g(the)g(history)l(.)19 -b(The)14 b(remo)o(v)o(ed)g(elemen)o(t)g(is)195 1727 y(returned)i(so)e -(y)o(ou)h(can)h(free)f(the)g(line,)i(data,)d(and)h(con)o(taining)h -(structure.)1650 1816 y(F)l(unction)-1749 b Fh(HIST_ENTRY)21 -b(*)e Fg(replace)p 580 1816 V 22 w(history)p 777 1816 -V 20 w(en)n(try)24 b Ff(\()p Fn(int)14 b(which,)g(char)283 -1870 y(*line,)g(char)g(*data)p Ff(\))195 1925 y Fo(Mak)o(e)f(the)h -(history)f(en)o(try)g(at)g(o\013set)g Fj(whic)o(h)h Fo(ha)o(v)o(e)g -Fj(line)k Fo(and)13 b Fj(data)p Fo(.)19 b(This)14 b(returns)g(the)f -(old)195 1980 y(en)o(try)k(so)g(y)o(ou)g(can)g(disp)q(ose)i(of)d(the)i -(data.)25 b(In)18 b(the)f(case)h(of)f(an)g(in)o(v)m(alid)i -Fj(whic)o(h)p Fo(,)g(a)e Fn(NULL)195 2035 y Fo(p)q(oin)o(ter)f(is)f -(returned.)1650 2123 y(F)l(unction)-1749 b Fh(void)20 -b Fg(clear)p 320 2123 V 21 w(history)j Ff(\(\))195 2178 -y Fo(Clear)15 b(the)h(history)f(list)h(b)o(y)f(deleting)i(all)f(the)f -(en)o(tries.)1650 2266 y(F)l(unction)-1749 b Fh(void)20 -b Fg(sti\015e)p 320 2266 V 21 w(history)j Ff(\()p Fn(int)14 -b(max)p Ff(\))195 2321 y Fo(Sti\015e)i(the)f(history)h(list,)f(remem)o -(b)q(ering)h(only)g(the)f(last)g Fj(max)j Fo(en)o(tries.)1650 -2409 y(F)l(unction)-1749 b Fh(int)20 b Fg(unsti\015e)p -358 2409 V 21 w(history)i Ff(\(\))195 2463 y Fo(Stop)e(sti\015ing)i -(the)f(history)l(.)36 b(This)21 b(returns)g(the)f(previous)i(amoun)o(t) -e(the)g(history)h(w)o(as)195 2518 y(sti\015ed.)g(The)15 -b(v)m(alue)i(is)e(p)q(ositiv)o(e)i(if)e(the)g(history)h(w)o(as)e -(sti\015ed,)i(negativ)o(e)f(if)h(it)f(w)o(asn't.)1650 -2606 y(F)l(unction)-1749 b Fh(int)20 b Fg(history)p 351 -2606 V 20 w(is)p 409 2606 V 21 w(sti\015ed)k Ff(\(\))195 -2661 y Fo(Returns)16 b(non-zero)f(if)h(the)f(history)g(is)h(sti\015ed,) -g(zero)f(if)g(it)h(is)g(not.)p eop +(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 Fo(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g -(History)889 b(7)75 183 y Fi(2.3.3)30 b(Information)19 -b(Ab)r(out)i(the)f(History)h(List)137 279 y Fo(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.)1650 -371 y(F)l(unction)-1749 b Fh(HIST_ENTRY)21 b(**)e Fg(history)p -605 371 18 3 v 21 w(list)24 b Ff(\(\))195 426 y Fo(Return)f(a)g -Fn(NULL)f Fo(terminated)g(arra)o(y)g(of)g Fn(HIST_ENTRY)f -Fo(whic)o(h)j(is)f(the)f(curren)o(t)h(input)195 481 y(history)l(.)j -(Elemen)o(t)18 b(0)e(of)h(this)h(list)g(is)f(the)h(b)q(eginning)h(of)e -(time.)26 b(If)17 b(there)g(is)h(no)f(history)l(,)195 -535 y(return)e Fn(NULL)p Fo(.)1650 627 y(F)l(unction)-1749 -b Fh(int)20 b Fg(where)p 325 627 V 20 w(history)j Ff(\(\))195 -682 y Fo(Returns)16 b(the)f(o\013set)f(of)h(the)g(curren)o(t)g(history) -g(elemen)o(t.)1650 773 y(F)l(unction)-1749 b Fh(HIST_ENTRY)21 -b(*)e Fg(curren)n(t)p 587 773 V 21 w(history)k Ff(\(\))195 -828 y Fo(Return)g(the)f(history)g(en)o(try)g(at)f(the)h(curren)o(t)g(p) -q(osition,)j(as)c(determined)j(b)o(y)e Fn(where_)195 -883 y(history)14 b(\(\))p Fo(.)20 b(If)15 b(there)g(is)h(no)f(en)o(try) -g(there,)g(return)g(a)g Fn(NULL)g Fo(p)q(oin)o(ter.)1650 -975 y(F)l(unction)-1749 b Fh(HIST_ENTRY)21 b(*)e Fg(history)p -579 975 V 21 w(get)j Ff(\()p Fn(int)15 b(offset)p Ff(\))195 -1029 y Fo(Return)21 b(the)g(history)g(en)o(try)f(at)g(p)q(osition)i -Fj(o\013set)p Fo(,)e(starting)g(from)g Fn(history_base)p -Fo(.)35 b(If)195 1084 y(there)16 b(is)h(no)g(en)o(try)f(there,)g(or)g -(if)g Fj(o\013set)h Fo(is)g(greater)e(than)h(the)h(history)f(length,)h -(return)f(a)195 1139 y Fn(NULL)f Fo(p)q(oin)o(ter.)1650 -1231 y(F)l(unction)-1749 b Fh(int)20 b Fg(history)p 351 -1231 V 20 w(total)p 487 1231 V 22 w(b)n(ytes)j Ff(\(\))195 -1285 y Fo(Return)c(the)f(n)o(um)o(b)q(er)g(of)g(b)o(ytes)g(that)f(the)h -(primary)h(history)f(en)o(tries)g(are)g(using.)29 b(This)195 -1340 y(function)16 b(returns)f(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 1452 y +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 +307 y(F)l(unction)-1861 b Fh(int)20 b Fg(unsti\015e)p +358 307 V 21 w(history)i Ff(\()p Fo(void)p Ff(\))195 +361 y Fp(Stop)c(sti\015ing)i(the)e(history)l(.)29 b(This)19 +b(returns)f(the)h(previous)g(amoun)o(t)e(the)i(history)f(w)o(as)f +(sti\015ed.)195 416 y(The)e(v)m(alue)i(is)f(p)q(ositiv)o(e)g(if)f(the)h +(history)f(w)o(as)f(sti\015ed,)i(negativ)o(e)f(if)h(it)f(w)o(asn't.) +1762 518 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p +351 518 V 20 w(is)p 409 518 V 21 w(sti\015ed)k Ff(\()p +Fo(void)p Ff(\))195 573 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 +676 y Fi(2.3.3)30 b(Information)19 b(Ab)r(out)i(the)f(History)h(List) +137 770 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 872 y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 +b(**)e Fg(history)p 605 872 V 21 w(list)24 b Ff(\()p +Fo(void)p Ff(\))195 927 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 982 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 1084 y(F)l(unction)-1861 b Fh(int)20 b Fg(where)p +325 1084 V 20 w(history)j Ff(\()p Fo(void)p Ff(\))195 +1139 y Fp(Returns)15 b(the)g(o\013set)f(of)h(the)g(curren)o(t)g +(history)g(elemen)o(t.)1762 1241 y(F)l(unction)-1861 +b Fh(HIST_ENTRY)21 b(*)e Fg(curren)n(t)p 587 1241 V 21 +w(history)k Ff(\()p Fo(void)p Ff(\))195 1296 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 +1350 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 1453 y(F)l(unction)-1861 +b Fh(HIST_ENTRY)21 b(*)e Fg(history)p 579 1453 V 21 w(get)j +Ff(\()p Fo(int)15 b(offset)p Ff(\))195 1508 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 +1562 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 1617 y(than)g(the)g(history)g(length,)h(return)f(a) +g Fo(NULL)g Fp(p)q(oin)o(ter.)1762 1719 y(F)l(unction)-1861 +b Fh(int)20 b Fg(history)p 351 1719 V 20 w(total)p 487 +1719 V 22 w(b)n(ytes)j Ff(\()p Fo(void)p Ff(\))195 1774 +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 1829 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 1932 y Fi(2.3.4)30 b(Mo)n(ving)21 b(Around)f(the)h(History)g(List)137 -1548 y Fo(These)16 b(functions)g(allo)o(w)f(the)g(curren)o(t)h(index)g +2026 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.) -1650 1640 y(F)l(unction)-1749 b Fh(int)20 b Fg(history)p -351 1640 V 20 w(set)p 442 1640 V 21 w(p)r(os)h Ff(\()p -Fn(int)15 b(pos)p Ff(\))195 1694 y Fo(Set)g(the)h(p)q(osition)g(in)g -(the)f(history)g(list)h(to)f Fj(p)q(os)p Fo(,)g(an)g(absolute)g(index)i -(in)o(to)e(the)g(list.)1650 1786 y(F)l(unction)-1749 -b Fh(HIST_ENTRY)21 b(*)e Fg(previous)p 615 1786 V 20 -w(history)k Ff(\(\))195 1841 y Fo(Bac)o(k)17 b(up)h(the)f(curren)o(t)g -(history)g(o\013set)f(to)h(the)g(previous)h(history)f(en)o(try)l(,)g -(and)g(return)g(a)195 1896 y(p)q(oin)o(ter)f(to)e(that)h(en)o(try)l(.)k -(If)d(there)f(is)h(no)f(previous)h(en)o(try)l(,)f(return)g(a)g -Fn(NULL)f Fo(p)q(oin)o(ter.)1650 1987 y(F)l(unction)-1749 -b Fh(HIST_ENTRY)21 b(*)e Fg(next)p 514 1987 V 21 w(history)k -Ff(\(\))195 2042 y Fo(Mo)o(v)o(e)17 b(the)h(curren)o(t)g(history)f -(o\013set)g(forw)o(ard)g(to)g(the)h(next)g(history)g(en)o(try)l(,)g -(and)g(return)195 2097 y(the)d(a)g(p)q(oin)o(ter)h(to)e(that)h(en)o -(try)l(.)20 b(If)15 b(there)g(is)h(no)f(next)g(en)o(try)l(,)g(return)g -(a)g Fn(NULL)g Fo(p)q(oin)o(ter.)75 2208 y Fi(2.3.5)30 -b(Searc)n(hing)21 b(the)f(History)h(List)137 2304 y Fo(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 -2359 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 2414 y(The)j(searc)o(h)f(ma)o(y)g(b)q(e)i -Fj(anc)o(hored)p Fo(,)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 2469 y(history)g(en)o(try)l -(.)1650 2560 y(F)l(unction)-1749 b Fh(int)20 b Fg(history)p -351 2560 V 20 w(searc)n(h)j Ff(\()p Fn(char)14 b(*string,)g(int)h -(direction)p Ff(\))195 2615 y Fo(Searc)o(h)g(the)h(history)f(for)f -Fj(string)p Fo(,)h(starting)f(at)h(the)g(curren)o(t)g(history)g -(o\013set.)k(If)d Fj(direction)195 2670 y Fn(<)j Fo(0,)g(then)g(the)h -(searc)o(h)e(is)i(through)e(previous)i(en)o(tries,)g(else)g(through)f -(subsequen)o(t.)32 b(If)p eop +1762 2128 y(F)l(unction)-1861 b Fh(int)20 b Fg(history)p +351 2128 V 20 w(set)p 442 2128 V 21 w(p)r(os)h Ff(\()p +Fo(int)15 b(pos)p Ff(\))195 2183 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 2237 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 2340 +y(F)l(unction)-1861 b Fh(HIST_ENTRY)21 b(*)e Fg(previous)p +615 2340 V 20 w(history)k Ff(\()p Fo(void)p Ff(\))195 +2394 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 2449 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 Fo(8)1347 b(GNU)15 b(History)g(Library)195 -183 y Fj(string)k Fo(is)d(found,)f(then)h(the)f(curren)o(t)g(history)g -(index)i(is)f(set)f(to)f(that)h(history)g(en)o(try)l(,)g(and)195 -238 y(the)g(v)m(alue)h(returned)f(is)g(the)g(o\013set)f(in)h(the)g -(line)h(of)e(the)h(en)o(try)g(where)g Fj(string)j Fo(w)o(as)c(found.) -195 293 y(Otherwise,)i(nothing)f(is)h(c)o(hanged,)f(and)h(a)e(-1)h(is)h -(returned.)1650 396 y(F)l(unction)-1749 b Fh(int)20 b -Fg(history)p 351 396 18 3 v 20 w(searc)n(h)p 527 396 -V 21 w(pre\014x)i Ff(\()p Fn(char)15 b(*string,)f(int)g(direction)p -Ff(\))195 451 y Fo(Searc)o(h)i(the)f(history)g(for)g -Fj(string)p Fo(,)g(starting)g(at)g(the)g(curren)o(t)h(history)f -(o\013set.)k(The)d(searc)o(h)195 506 y(is)h(anc)o(hored:)23 -b(matc)o(hing)17 b(lines)h(m)o(ust)e(b)q(egin)i(with)f -Fj(string)p Fo(.)25 b(If)17 b Fj(direction)h Fn(<)e Fo(0,)h(then)g(the) -195 560 y(searc)o(h)f(is)g(through)f(previous)i(en)o(tries,)f(else)g -(through)g(subsequen)o(t.)22 b(If)16 b Fj(string)k Fo(is)c(found,)195 -615 y(then)i(the)g(curren)o(t)g(history)g(index)h(is)g(set)e(to)h(that) -f(en)o(try)l(,)h(and)g(the)g(return)g(v)m(alue)h(is)g(0.)195 -670 y(Otherwise,)d(nothing)f(is)h(c)o(hanged,)f(and)h(a)e(-1)h(is)h -(returned.)1650 773 y(F)l(unction)-1749 b Fh(int)20 b -Fg(history)p 351 773 V 20 w(searc)n(h)p 527 773 V 21 -w(p)r(os)h Ff(\()p Fn(char)15 b(*string,)f(int)g(direction,)g(int)283 -828 y(pos)p Ff(\))195 883 y Fo(Searc)o(h)h(for)g Fj(string)k -Fo(in)d(the)f(history)g(list,)g(starting)g(at)f Fj(p)q(os)p -Fo(,)h(an)g(absolute)g(index)i(in)o(to)e(the)195 937 -y(list.)21 b(If)15 b Fj(direction)h Fo(is)g(negativ)o(e,)f(the)g(searc) -o(h)g(pro)q(ceeds)g(bac)o(kw)o(ard)g(from)f Fj(p)q(os)p -Fo(,)h(otherwise)195 992 y(forw)o(ard.)27 b(Returns)18 -b(the)g(absolute)g(index)h(of)f(the)g(history)f(elemen)o(t)i(where)f -Fj(string)k Fo(w)o(as)195 1047 y(found,)15 b(or)g(-1)g(otherwise.)75 -1170 y Fi(2.3.6)30 b(Managing)20 b(the)g(History)h(File)137 -1272 y Fo(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 1327 y(men)o(ts)f(the)g(functions)h(for)f -(managing)g(a)g(history)g(\014le.)1650 1430 y(F)l(unction)-1749 -b Fh(int)20 b Fg(read)p 286 1430 V 20 w(history)i Ff(\()p -Fn(char)15 b(*filename)p Ff(\))195 1485 y Fo(Add)h(the)f(con)o(ten)o -(ts)f(of)h Fj(\014lename)j Fo(to)d(the)g(history)g(list,)g(a)g(line)h -(at)f(a)f(time.)21 b(If)15 b Fj(\014lename)j Fo(is)195 -1539 y Fn(NULL)p Fo(,)c(then)i(read)f(from)f(`)p Fn(~/.history)p -Fo('.)k(Returns)e(0)f(if)g(successful,)i(or)d(errno)h(if)h(not.)1650 -1643 y(F)l(unction)-1749 b Fh(int)20 b Fg(read)p 286 -1643 V 20 w(history)p 481 1643 V 20 w(range)i Ff(\()p -Fn(char)15 b(*filename,)e(int)i(from,)g(int)f(to)p Ff(\))195 -1697 y Fo(Read)21 b(a)f(range)g(of)g(lines)i(from)e Fj(\014lename)p -Fo(,)i(adding)f(them)g(to)f(the)g(history)h(list.)36 -b(Start)195 1752 y(reading)15 b(at)e(line)j Fj(from)e -Fo(and)g(end)h(at)e Fj(to)p Fo(.)19 b(If)c Fj(from)e -Fo(is)i(zero,)f(start)f(at)g(the)h(b)q(eginning.)22 b(If)15 -b Fj(to)195 1807 y Fo(is)i(less)g(than)f Fj(from)p Fo(,)g(then)h(read)f -(un)o(til)i(the)e(end)h(of)f(the)h(\014le.)24 b(If)17 -b Fj(\014lename)j Fo(is)d Fn(NULL)p Fo(,)f(then)195 1862 -y(read)f(from)g(`)p Fn(~/.history)p Fo('.)i(Returns)f(0)f(if)h -(successful,)g(or)e Fn(errno)h Fo(if)h(not.)1650 1965 -y(F)l(unction)-1749 b Fh(int)20 b Fg(write)p 304 1965 -V 22 w(history)i Ff(\()p Fn(char)15 b(*filename)p Ff(\))195 -2020 y Fo(W)l(rite)23 b(the)f(curren)o(t)g(history)h(to)f -Fj(\014lename)p Fo(,)j(o)o(v)o(erwriting)d Fj(\014lename)k -Fo(if)d(necessary)l(.)42 b(If)195 2074 y Fj(\014lename)20 -b Fo(is)d Fn(NULL)p Fo(,)f(then)g(write)h(the)f(history)h(list)g(to)f -(`)p Fn(~/.history)p Fo('.)21 b(V)l(alues)d(returned)195 -2129 y(are)d(as)g(in)h Fn(read_history)d(\(\))p Fo(.)1650 -2232 y(F)l(unction)-1749 b Fh(int)20 b Fg(app)r(end)p -360 2232 V 19 w(history)j Ff(\()p Fn(int)14 b(nelements,)g(char)h -(*filename)p Ff(\))195 2287 y Fo(App)q(end)i(the)e(last)g -Fj(nelemen)o(ts)j Fo(of)d(the)g(history)g(list)h(to)f -Fj(\014lename)p Fo(.)1650 2390 y(F)l(unction)-1749 b -Fh(int)20 b Fg(history)p 351 2390 V 20 w(truncate)p 582 -2390 V 21 w(\014le)k Ff(\()p Fn(char)14 b(*filename,)g(int)h(nlines)p -Ff(\))195 2445 y Fo(T)l(runcate)g(the)h(history)f(\014le)h -Fj(\014lename)p Fo(,)g(lea)o(ving)g(only)g(the)f(last)g -Fj(nlines)k Fo(lines.)75 2568 y Fi(2.3.7)30 b(History)20 -b(Expansion)137 2670 y Fo(These)c(functions)g(implemen)o(t)g -Fn(csh)p Fo(-lik)o(e)g(history)g(expansion.)p eop +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 Fo(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g -(History)889 b(9)1650 183 y(F)l(unction)-1749 b Fh(int)20 -b Fg(history)p 351 183 18 3 v 20 w(expand)j Ff(\()p Fn(char)14 -b(*string,)g(char)h(**output)p Ff(\))195 238 y Fo(Expand)k -Fj(string)p Fo(,)g(placing)h(the)e(result)h(in)o(to)g -Fj(output)p Fo(,)g(a)f(p)q(oin)o(ter)h(to)f(a)g(string)h(\(see)f(Sec-) -195 293 y(tion)d(1.1)g([History)f(In)o(teraction],)h(page)g(1\).)k -(Returns:)195 370 y Fn(0)216 b Fo(If)16 b(no)g(expansions)h(to)q(ok)e -(place)i(\(or,)d(if)j(the)f(only)g(c)o(hange)g(in)h(the)e(text)h(w)o -(as)435 425 y(the)f(de-slashifying)j(of)c(the)i(history)f(expansion)h -(c)o(haracter\);)195 502 y Fn(1)216 b Fo(if)16 b(expansions)g(did)g -(tak)o(e)e(place;)195 580 y Fn(-1)192 b Fo(if)16 b(there)f(w)o(as)f(an) -h(error)g(in)h(expansion;)195 657 y Fn(2)216 b Fo(if)16 -b(the)g(returned)f(line)j(should)e(b)q(e)g(displa)o(y)o(ed,)h(but)e -(not)g(executed,)i(as)e(with)435 712 y(the)g Fn(:p)g -Fo(mo)q(di\014er)h(\(see)f(Section)i(1.1.3)c([Mo)q(di\014ers],)i(page)g -(2\).)195 789 y(If)g(an)g(error)f(o)q(curred)i(in)g(expansion,)f(then)h -Fj(output)f Fo(con)o(tains)g(a)g(descriptiv)o(e)i(error)d(mes-)195 -844 y(sage.)1650 932 y(F)l(unction)-1749 b Fh(char)20 -b(*)f Fg(history)p 422 932 V 21 w(arg)p 524 932 V 19 -w(extract)24 b Ff(\()p Fn(int)14 b(first,)h(int)g(last,)f(char)283 -987 y(*string)p Ff(\))195 1042 y Fo(Extract)g(a)g(string)g(segmen)o(t)g -(consisting)i(of)e(the)g Fj(\014rst)i Fo(through)e Fj(last)h -Fo(argumen)o(ts)f(presen)o(t)195 1097 y(in)i Fj(string)p -Fo(.)k(Argumen)o(ts)15 b(are)f(brok)o(en)i(up)f(as)g(in)h(Bash.)1650 -1185 y(F)l(unction)-1749 b Fh(char)20 b(*)f Fg(get)p -324 1185 V 21 w(history)p 520 1185 V 20 w(ev)n(en)n(t)25 -b Ff(\()p Fn(char)14 b(*string,)g(int)h(*cindex,)f(int)283 -1240 y(qchar)p Ff(\))195 1295 y Fo(Returns)h(the)g(text)f(of)g(the)h -(history)g(ev)o(en)o(t)f(b)q(eginning)j(at)d Fj(string)k -Fn(+)d Fj(*cindex)p Fo(.)20 b Fj(*cindex)f Fo(is)195 -1350 y(mo)q(di\014ed)e(to)e(p)q(oin)o(t)h(to)f(after)g(the)h(ev)o(en)o -(t)f(sp)q(eci\014er.)23 b(A)o(t)16 b(function)g(en)o(try)l(,)f -Fj(cindex)21 b Fo(p)q(oin)o(ts)195 1404 y(to)16 b(the)h(index)h(in)o -(to)e Fj(string)21 b Fo(where)c(the)g(history)f(ev)o(en)o(t)h(sp)q -(eci\014cation)h(b)q(egins.)26 b Fj(qc)o(har)19 b Fo(is)195 -1459 y(a)h(c)o(haracter)g(that)g(is)h(allo)o(w)o(ed)f(to)g(end)h(the)g -(ev)o(en)o(t)f(sp)q(eci\014cation)i(in)g(addition)f(to)f(the)195 -1514 y(\\normal")15 b(terminating)g(c)o(haracters.)1650 -1602 y(F)l(unction)-1749 b Fh(char)20 b(**)f Fg(history)p -448 1602 V 21 w(tok)n(enize)25 b Ff(\()p Fn(char)14 b(*string)p -Ff(\))195 1657 y Fo(Return)j(an)g(arra)o(y)f(of)g(tok)o(ens)g(parsed)h -(out)g(of)f Fj(string)p Fo(,)h(m)o(uc)o(h)g(as)f(the)h(shell)h(migh)o -(t.)25 b(The)195 1712 y(tok)o(ens)d(are)g(split)i(on)f(white)g(space)g -(and)f(on)h(the)g(c)o(haracters)f Fn(\(\)<>;&|$)p Fo(,)h(and)f(shell) -195 1767 y(quoting)15 b(con)o(v)o(en)o(tions)h(are)e(ob)q(ey)o(ed.)75 -1892 y Fm(2.4)33 b(History)22 b(V)-6 b(ariables)137 1987 -y Fo(This)23 b(section)f(describ)q(es)h(the)f(externally)h(visible)h(v) -m(ariables)f(exp)q(orted)f(b)o(y)g(the)g(GNU)f(History)75 -2042 y(Library)l(.)1661 2130 y(V)l(ariable)-1749 b Fh(int)20 -b Fg(history)p 351 2130 V 20 w(base)195 2185 y Fo(The)15 +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.)1661 2274 y(V)l(ariable)-1749 b Fh(int)20 -b Fg(history)p 351 2274 V 20 w(length)195 2329 y Fo(The)15 +(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.)1661 2417 y(V)l(ariable)-1749 b Fh(int)20 -b Fg(max)p 283 2417 V 19 w(input)p 435 2417 V 21 w(history)195 -2472 y Fo(The)14 b(maxim)o(um)f(n)o(um)o(b)q(er)h(of)e(history)i(en)o -(tries.)19 b(This)14 b(m)o(ust)f(b)q(e)h(c)o(hanged)g(using)g -Fn(stifle_)195 2527 y(history)g(\(\))p Fo(.)1661 2615 -y(V)l(ariable)-1749 b Fh(char)20 b Fg(history)p 377 2615 -V 20 w(expansion)p 644 2615 V 21 w(c)n(har)195 2670 y -Fo(The)15 b(c)o(haracter)g(that)f(starts)g(a)h(history)g(ev)o(en)o(t.) -20 b(The)15 b(default)h(is)g(`)p Fn(!)p Fo('.)p eop -%%Page: 10 12 -10 11 bop 75 -58 a Fo(10)1324 b(GNU)15 b(History)g(Library)1661 -183 y(V)l(ariable)-1749 b Fh(char)20 b Fg(history)p 377 -183 18 3 v 20 w(subst)p 529 183 V 20 w(c)n(har)195 238 -y Fo(The)13 b(c)o(haracter)e(that)h(in)o(v)o(ok)o(es)g(w)o(ord)g -(substitution)h(if)g(found)g(at)e(the)i(start)e(of)h(a)g(line.)21 -b(The)195 293 y(default)16 b(is)f(`)p Fn(^)p Fo('.)1661 -388 y(V)l(ariable)-1749 b Fh(char)20 b Fg(history)p 377 -388 V 20 w(commen)n(t)p 627 388 V 19 w(c)n(har)195 443 -y Fo(During)e(tok)o(enization,)h(if)f(this)h(c)o(haracter)e(is)i(seen)f -(as)g(the)g(\014rst)g(c)o(haracter)f(of)g(a)h(w)o(ord,)195 -498 y(then)e(it)g(and)g(all)h(subsequen)o(t)g(c)o(haracters)e(up)h(to)g -(a)f(newline)j(are)e(ignored,)g(suppressing)195 553 y(history)f -(expansion)h(for)f(the)g(remainder)h(of)f(the)g(line.)22 -b(This)15 b(is)h(disabled)h(b)o(y)e(default.)1661 648 -y(V)l(ariable)-1749 b Fh(char)20 b(*)f Fg(history)p 422 -648 V 21 w(no)p 504 648 V 20 w(expand)p 704 648 V 20 -w(c)n(hars)195 703 y Fo(The)j(list)h(of)f(c)o(haracters)f(whic)o(h)i -(inhibit)h(history)e(expansion)h(if)g(found)f(immediately)195 -758 y(follo)o(wing)16 b Fj(history)p 528 758 14 2 v 16 -w(expansion)p 739 758 V 18 w(c)o(har)p Fo(.)j(The)d(default)f(is)h -(whitespace)g(and)g(`)p Fn(=)p Fo('.)1661 853 y(V)l(ariable)-1749 -b Fh(char)20 b(*)f Fg(history)p 422 853 18 3 v 21 w(searc)n(h)p -599 853 V 20 w(delimiter)p 843 853 V 23 w(c)n(hars)195 -908 y Fo(The)f(list)h(of)e(additional)i(c)o(haracters)e(whic)o(h)i(can) -f(delimit)h(a)f(history)g(searc)o(h)f(string,)h(in)195 -963 y(addition)c(to)d(whitespace,)j(`)p Fn(:)p Fo(')d(and)i(`)p -Fn(?)p Fo(')f(in)h(the)f(case)h(of)f(a)g(substring)h(searc)o(h.)19 -b(The)12 b(default)195 1018 y(is)k(empt)o(y)l(.)1661 -1113 y(V)l(ariable)-1749 b Fh(int)20 b Fg(history)p 351 -1113 V 20 w(quotes)p 533 1113 V 21 w(inhibit)p 717 1113 -V 23 w(expansion)195 1168 y Fo(If)13 b(non-zero,)f(single-quoted)i(w)o -(ords)e(are)g(not)g(scanned)h(for)f(the)g(history)h(expansion)g(c)o -(har-)195 1223 y(acter.)19 b(The)d(default)g(v)m(alue)g(is)g(0.)1661 -1318 y(V)l(ariable)-1749 b Fh(Function)20 b(*)g Fg(history)p -527 1318 V 20 w(inhibit)p 710 1318 V 23 w(expansion)p -980 1318 V 21 w(function)195 1373 y Fo(This)12 b(should)g(b)q(e)g(set)f -(to)f(the)i(address)f(of)g(a)g(function)h(that)e(tak)o(es)h(t)o(w)o(o)f -(argumen)o(ts:)17 b(a)11 b Fn(char)195 1428 y(*)j Fo(\()p -Fj(string)t Fo(\))f(and)i(an)f(in)o(teger)g(index)h(in)o(to)f(that)g -(string)g(\()p Fj(i)r Fo(\).)20 b(It)14 b(should)h(return)f(a)g -(non-zero)195 1482 y(v)m(alue)g(if)e(the)h(history)f(expansion)h -(starting)f(at)g Fj(string[i])i Fo(should)f(not)f(b)q(e)h(p)q -(erformed;)g(zero)195 1537 y(if)g(the)h(expansion)f(should)h(b)q(e)g -(done.)20 b(It)13 b(is)g(in)o(tended)i(for)d(use)h(b)o(y)g -(applications)i(lik)o(e)f(Bash)195 1592 y(that)j(use)h(the)g(history)f -(expansion)i(c)o(haracter)e(for)g(additional)i(purp)q(oses.)28 -b(By)18 b(default,)195 1647 y(this)e(v)m(ariable)g(is)g(set)f(to)f -(NULL.)75 1780 y Fm(2.5)33 b(History)22 b(Programming)h(Example)137 -1878 y Fo(The)16 b(follo)o(wing)g(program)e(demonstrates)g(simple)j -(use)e(of)g(the)g(GNU)g(History)g(Library)l(.)195 1944 -y Fn(main)23 b(\(\))195 1995 y({)243 2047 y(char)g(line[1024],)f(*t;) -243 2099 y(int)h(len,)g(done)h(=)g(0;)243 2203 y(line[0])f(=)g(0;)243 -2307 y(using_history)f(\(\);)243 2359 y(while)h(\(!done\))290 -2411 y({)338 2462 y(printf)g(\("history$)g("\);)338 2514 -y(fflush)g(\(stdout\);)338 2566 y(t)h(=)g(fgets)f(\(line,)g(sizeof)g -(\(line\))g(-)h(1,)f(stdin\);)338 2618 y(if)h(\(t)f(&&)h(*t\))386 -2670 y({)p eop +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)e(c)o(haracters)g(that)f(separate)h(tok)o(ens)g(for)f +Fo(\\)p Fp(fBhistory)p 1217 1889 14 2 v 17 w(tok)o(enize\(\))p +Fo(\\)p Fp(fP)l(.)g(The)i(default)g(v)m(alue)195 1944 +y(is)e Fo(")f(\\t\\n\(\)<>;&|")p Fp(.)1773 2077 y(V)l(ariable)-1861 +b Fh(char)20 b(*)f Fg(history)p 422 2077 18 3 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 Fo(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g -(History)867 b(11)434 183 y Fn(len)23 b(=)h(strlen)f(\(t\);)434 -235 y(if)g(\(t[len)g(-)h(1])g(==)f('\\n'\))481 287 y(t[len)h(-)f(1])h -(=)g('\\0';)386 339 y(})338 443 y(if)g(\(!t\))386 495 -y(strcpy)f(\(line,)g("quit"\);)338 598 y(if)h(\(line[0]\))386 -650 y({)434 702 y(char)f(*expansion;)434 754 y(int)g(result;)434 -858 y(result)g(=)g(history_expand)f(\(line,)h(&expansion\);)434 -910 y(if)g(\(result\))481 962 y(fprintf)g(\(stderr,)g("\045s\\n",)g -(expansion\);)434 1065 y(if)g(\(result)g(<)h(0)g(||)f(result)g(==)h -(2\))481 1117 y({)529 1169 y(free)f(\(expansion\);)529 -1221 y(continue;)481 1273 y(})434 1377 y(add_history)f(\(expansion\);) -434 1429 y(strncpy)h(\(line,)g(expansion,)f(sizeof)h(\(line\))g(-)h -(1\);)434 1480 y(free)f(\(expansion\);)386 1532 y(})338 -1636 y(if)h(\(strcmp)f(\(line,)g("quit"\))g(==)g(0\))386 -1688 y(done)g(=)h(1;)338 1740 y(else)f(if)h(\(strcmp)f(\(line,)g -("save"\))g(==)h(0\))386 1792 y(write_history)e(\("history_file"\);)338 -1844 y(else)h(if)h(\(strcmp)f(\(line,)g("read"\))g(==)h(0\))386 -1896 y(read_history)e(\("history_file"\);)338 1947 y(else)h(if)h -(\(strcmp)f(\(line,)g("list"\))g(==)h(0\))386 1999 y({)434 -2051 y(register)e(HIST_ENTRY)h(**the_list;)434 2103 y(register)f(int)i -(i;)434 2207 y(the_list)e(=)i(history_list)e(\(\);)434 -2259 y(if)h(\(the_list\))481 2311 y(for)h(\(i)f(=)h(0;)g(the_list[i];)e -(i++\))529 2363 y(printf)h(\("\045d:)g(\045s\\n",)g(i)h(+)g -(history_base,)e(the_list[i]->line\);)386 2414 y(})338 -2466 y(else)h(if)h(\(strncmp)f(\(line,)g("delete",)g(6\))g(==)h(0\))386 -2518 y({)434 2570 y(int)f(which;)434 2622 y(if)g(\(\(sscanf)g(\(line)g -(+)h(6,)f("\045d",)h(&which\)\))e(==)i(1\))p eop +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(<stdio.h>)195 750 y(#include)g(<readline/history.h>)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 Fo(12)1324 b(GNU)15 b(History)g(Library)481 -183 y Fn({)529 235 y(HIST_ENTRY)23 b(*entry)g(=)g(remove_history)f -(\(which\);)529 287 y(if)i(\(!entry\))577 339 y(fprintf)f(\(stderr,)f -("No)i(such)f(entry)g(\045d\\n",)g(which\);)529 391 y(else)577 -443 y({)625 495 y(free)g(\(entry->line\);)625 546 y(free)g(\(entry\);) -577 598 y(})481 650 y(})434 702 y(else)481 754 y({)529 -806 y(fprintf)g(\(stderr,)g("non-numeric)f(arg)h(given)h(to)f -(`delete'\\n"\);)481 858 y(})386 910 y(})290 962 y(})195 -1013 y(})p eop +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 Fo(App)q(endix)17 b(A:)e(Concept)g(Index)1196 -b(13)75 183 y Fk(App)r(endix)25 b(A)41 b(Concept)27 b(Index)75 -359 y Fm(A)75 417 y Fe(anc)o(hored)14 b(searc)o(h)s Fd(.)7 -b(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 -b Fe(7)75 517 y Fm(E)75 575 y Fe(ev)o(en)o(t)d(designators)c -Fd(.)g(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)21 -b Fe(1)1012 359 y Fm(H)1012 417 y Fe(history)15 b(ev)o(en)o(ts)s -Fd(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)16 b Fe(1)1012 467 y(history)f(expansion)6 b Fd(.)j(.)d(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Fe(1)1012 517 y(History)14 -b(Searc)o(hing)5 b Fd(.)j(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)18 b Fe(7)p eop +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 Fo(14)1324 b(GNU)15 b(History)g(Library)p +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 Fo(App)q(endix)17 b(B:)e(F)l(unction)h(and)g(V)l -(ariable)g(Index)919 b(15)75 183 y Fk(App)r(endix)25 +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 359 y Fm(A)75 417 y Fc(add)p 137 417 12 2 -v 13 w(history)6 b Fd(.)s(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)h(.)18 b Fe(6)75 467 y Fc(append)p -197 467 V 12 w(history)8 b Fd(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)23 b Fe(8)75 567 y Fm(C)75 625 y Fc(clear)p -177 625 V 12 w(history)s Fd(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)16 b Fe(6)75 675 y Fc(current)p -217 675 V 11 w(history)7 b Fd(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)22 b Fe(7)75 774 y Fm(G)75 832 y Fc(get)p -137 832 V 13 w(history)p 290 832 V 11 w(event)8 b Fd(.)e(.)g(.)g(.)g(.) -g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)22 b Fe(9)75 932 y Fm(H)75 -990 y Fc(history)p 217 990 V 11 w(arg)p 288 990 V 13 -w(extract)7 b Fd(.)t(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 -b Fe(9)75 1040 y Fc(history)p 217 1040 V 11 w(base)f -Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 -b Fe(9)75 1090 y Fc(history_co)o(mm)o(ent)o(_c)o(har)g -Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)23 b Fe(10)75 1139 y Fc(history)p -217 1139 V 11 w(expand)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) -g(.)g(.)g(.)g(.)23 b Fe(9)75 1189 y Fc(history)p 217 -1189 V 11 w(expansion)p 408 1189 V 11 w(char)17 b Fd(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)18 b Fe(9)75 1239 y Fc(history)p 217 -1239 V 11 w(get)6 b Fd(.)f(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)h(.)18 b Fe(7)75 1289 y Fc(history)p -217 1289 V 11 w(get)p 288 1289 V 13 w(history)p 441 1289 -V 12 w(state)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fe(6)75 1339 y Fc(history_in)o(hi)o -(bit)o(_e)o(xpa)o(nsi)o(on)o(_fu)o(nc)o(tio)o(n)c Fd(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)22 b Fe(10)75 1389 y Fc(history)p -217 1389 V 11 w(is)p 268 1389 V 14 w(stifled)8 b Fd(.)s(.)f(.)f(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b Fe(6)75 1438 y Fc(history)p -217 1438 V 11 w(length)15 b Fd(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)17 b Fe(9)75 1488 y Fc(history)p 217 -1488 V 11 w(list)5 b Fd(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)17 b Fe(7)75 1538 y Fc(history_no)o(_e)o(xpa)o(nd)o -(_ch)o(ars)e Fd(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Fe(10)75 1588 y Fc(history_qu)o(ot)o -(es_)o(in)o(hib)o(it_)o(ex)o(pan)o(si)o(on)13 b Fd(.)6 -b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Fe(10)75 1638 -y Fc(history)p 217 1638 V 11 w(search)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Fe(7)75 1687 y Fc(history_se)o(ar)o -(ch_)o(de)o(lim)o(ite)o(r_)o(cha)o(rs)15 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)h(.)f(.)g(.)18 b Fe(10)75 1737 y Fc(history)p -217 1737 V 11 w(search)p 348 1737 V 12 w(pos)8 b Fd(.)d(.)i(.)f(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)21 b Fe(8)75 1787 y Fc(history)p -217 1787 V 11 w(search)p 348 1787 V 12 w(prefix)5 b Fd(.)t(.)h(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)g(.)17 b Fe(8)75 1837 y Fc(history)p 217 1837 -V 11 w(set)p 288 1837 V 13 w(history)p 441 1837 V 12 -w(state)9 b Fd(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)23 b Fe(6)75 1887 y Fc(history)p -217 1887 V 11 w(set)p 288 1887 V 13 w(pos)t Fd(.)5 b(.)h(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Fe(7)1012 359 -y Fc(history_sub)o(st)o(_ch)o(ar)d Fd(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -17 b Fe(10)1012 409 y Fc(history)p 1154 409 V 12 w(tokenize)8 -b Fd(.)s(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 -b Fe(9)1012 459 y Fc(history)p 1154 459 V 12 w(total)p -1266 459 V 12 w(bytes)7 b Fd(.)t(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 -b Fe(7)1012 509 y Fc(history)p 1154 509 V 12 w(truncate)p -1326 509 V 11 w(file)5 b Fd(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h -(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 -b Fe(8)1012 612 y Fm(M)1012 670 y Fc(max)p 1074 670 V -13 w(input)p 1187 670 V 13 w(history)13 b Fd(.)6 b(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)16 b Fe(9)1012 773 y Fm(N)1012 831 -y Fc(next)p 1094 831 V 13 w(history)5 b Fd(.)s(.)h(.)g(.)g(.)g(.)g(.)g -(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) -f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Fe(7)1012 -934 y Fm(P)1012 992 y Fc(previous)p 1174 992 V 11 w(history)8 -b Fd(.)t(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 -b Fe(7)1012 1096 y Fm(R)1012 1154 y Fc(read)p 1094 1154 -V 13 w(history)5 b Fd(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)18 b Fe(8)1012 1204 y Fc(read)p 1094 -1204 V 13 w(history)p 1247 1204 V 11 w(range)8 b Fd(.)d(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)h(.)f(.)21 b Fe(8)1012 1253 y Fc(remove)p -1134 1253 V 12 w(history)8 b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)24 b Fe(6)1012 1303 y Fc(replace)p 1154 -1303 V 12 w(history)p 1306 1303 V 11 w(entry)5 b Fd(.)t(.)h(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)18 b Fe(6)1012 1406 y Fm(S)1012 1464 y Fc(stifle)p -1134 1464 V 12 w(history)8 b Fd(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)24 b Fe(6)1012 1568 y Fm(U)1012 1626 -y Fc(unstifle)p 1174 1626 V 11 w(history)8 b Fd(.)t(.)e(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)21 b Fe(6)1012 1676 y Fc(using)p -1114 1676 V 13 w(history)s Fd(.)s(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)g(.)g(.)g(.)g(.)g(.)17 b Fe(6)1012 1779 y Fm(W)1012 -1837 y Fc(where)p 1114 1837 V 13 w(history)s Fd(.)s(.)6 -b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f -(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 -b Fe(7)1012 1887 y Fc(write)p 1114 1887 V 13 w(history)s -Fd(.)s(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) -g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 +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 Fo(16)1324 b(GNU)15 b(History)g(Library)p +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 Fo(i)75 183 y Fk(T)-7 b(able)27 -b(of)f(Con)n(ten)n(ts)75 354 y Fm(1)67 b(Using)22 b(History)h(In)n +-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 Fm(1)224 423 y Fo(1.1)45 b(History)15 +(.)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 Fo(1)374 478 y(1.1.1)44 +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 Fo(1)374 532 y(1.1.2)44 b(W)l(ord)15 +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 Fo(2)374 587 y(1.1.3)44 b(Mo)q(di\014ers)t Fa(.)8 +(.)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 Fo(2)75 708 y Fm(2)67 b(Programming)23 +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 Fm(5)224 777 y Fo(2.1)45 b(In)o(tro)q(duction)16 +(.)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 Fo(5)224 832 y(2.2)45 b(History)15 +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 Fo(5)224 886 +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 Fo(6)374 941 y(2.3.1)44 b(Initializing)18 b(History)d(and)h(State)e +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 -Fo(6)374 996 y(2.3.2)44 b(History)15 b(List)h(Managemen)o(t)d +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 Fo(6)374 1051 y(2.3.3)44 +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 Fo(7)374 1106 y(2.3.4)44 b(Mo)o(ving)15 b(Around)g(the)g(History)g +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 Fo(7)374 1160 y(2.3.5)44 b(Searc)o(hing)16 +(.)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 Fo(7)374 1215 y(2.3.6)44 b(Managing)15 b(the)g(History)g(File)6 +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 Fo(8)374 1270 y(2.3.7)44 +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 Fo(8)224 1325 y(2.4)45 b(History)15 b(V)l(ariables)6 -b Fa(.)j(.)e(.)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(.)h -(.)f(.)h(.)f(.)h(.)f(.)21 b Fo(9)224 1380 y(2.5)45 b(History)15 +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 Fo(10)75 1501 y Fm(App)r(endix)i(A)67 b(Concept)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 Fm(13)75 1636 y(App)r(endix)24 b(B)67 +(.)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 Fm(15)p eop +b Fb(.)10 b(.)g(.)g(.)38 b Fn(15)p eop %%Page: -2 20 --2 19 bop 75 -58 a Fo(ii)1346 b(GNU)15 b(History)g(Library)p +-2 19 bop 75 -58 a Fp(ii)1346 b(GNU)15 b(History)g(Library)p eop %%Trailer end |