%!PS-Adobe-2.0 %%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software %%Title: readline.dvi %%Pages: 66 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -D 300 -t letter -o readline.ps readline.dvi %DVIPSParameters: dpi=300, compressed %DVIPSSource: TeX output 2002.06.27:1354 %%BeginProcSet: texc.pro %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B /chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ /cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 {2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ 1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (readline.dvi) @start %DVIPSBitmapFont: Fa cmbxti10 14.4 1 /Fa 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmsl9 9 1 /Fb 1 121 df<383FC7E038078380EB0200EA038413C8EA01D8EA00F05B7F1201133812 02487EEA081E123838FC3FC013107F8F14>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmsltt10 9 4 /Fc 4 78 df45 D48 D<134013E0EA01C01203120F123D12111201EA0380A6EA0700A6120EEAFFE0A20B177B96 14>I<381F81F813C1380FC3E0EA0EC213C6A213CE13CC381CCDC013DD13D9A213F1A238 38E3801303A53870070038FC0FC0A215177F9614>77 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmtt9 9 47 /Fd 47 127 df<126012F0AD12601200A4126012F0A212600417789614>33 D35 D40 D<128012C01260123012381218121C120EA31207A9120EA3121C121812 381230126012C01280081D7C9914>II<127012F812FCA2127C120C1218 123012E012C0060A798414>44 DI<127012F8A3127005057984 14>I<1203A25A5A123F12F712471207AEEA7FF0A20C177C9614>49 D<1306131E133E13F8EA01F0EA03C0EA0F80EA1F00123C12F85A7E123C121FEA0F80EA03 C0EA01F0EA00F8133E131E13060F157E9514>60 D<12C012F07E123E7EEA0780EA03E0EA 01F0EA0078133E131E133E1378EA01F0EA03E0EA0780EA1F00123E12F85A12C00F157E95 14>62 DIII<3801F180EA07FFEA0E1FEA1C071238EA7003A348C7FCA738 700380A338380700121CEA0E0EEA07FCEA01F011177F9614>67 D<38FC1F80A2007C1300 EA7637A4EA7777A2EA7367A313E7EA71C7A2EA7007A638F80F80A211177F9614>77 D<38FE3F80A2383E0E00123BA4138E1239A213CEA31238A213EE136EA4133E12FEA21117 7F9614>I82 D93 D95 D97 D<12FCA2121CA513F8EA1DFEEA 1F07EA1E03001C1380EB01C0A6EB0380001E1300EA1F0EEA1DFCEA0CF81217809614>I< EA03F8EA0FFEEA1C0EEA3804EA7000126012E0A412601270EA380EEA1C1EEA0FFCEA03F0 0F107E8F14>I<137EA2130EA5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270EA301E EA383E381FEFC0EA07CF12177F9614>II<13FCEA01FEEA 038EEA07041300A3EA7FFE12FFEA0700ACEAFFF8A20F177F9614>II<12FCA2121CA51378EA1D FEEA1F86EA1E07121CAA38FF8FE0A21317809614>I<1206120FA21206C7FCA4B4FCA212 07ACEAFFF8A20D187C9714>I<136013F0A213601300A4EA1FF0A2EA0070B2EA40E0EAE0 C0EA7F80EA3F000C207E9714>I<12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA1FE0 A2EA1E70EA1C38133C131C7F38FF1F80A21117809614>IIIIIIIII<1206120EA4EA7FFC12FFEA0E 00A8130EA3131CEA07F8EA01F00F157F9414>II<38FE3F80A2383C1E00EA1C1CA36C5AA3EA0630EA0770A36C5AA31110 7F8F14>I<38FE3F80A238700700EA380EA3EA39CEA3EA1B6C121AA3EA1E7CA2EA0E3811 107F8F14>II<38FE3F80A2381C0E005BA2120E5BA212071330A2EA0370 A25B1201A25BA3485A12730077C7FC127E123C11187F8F14>II126 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmti9 9 1 /Fe 1 47 df<1230127812F0126005047C830C>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ff cmr9 9 39 /Ff 39 123 df<13FEEA038138060180EA0E03381C010090C7FCA5B51280EA1C03AE38FF 8FF0141A809915>12 DI<126012F0A212701210A31220A21240A2040B7D830B>44 DI48 D<12035AB4FC1207B3A2EA 7FF80D187D9713>III<1318A2133813 7813F813B8EA01381202A212041208121812101220124012C0B5FCEA0038A6EA03FF1018 7F9713>III<1240EA7FFF13FEA2EA4004EA80081310A2 EA00201340A21380120113005AA25A1206A2120EA5120410197E9813>III97 D<12FC121CA913FCEA1D07381E0380381C01C0130014E0A6EB01C01480381E0300EA1906 EA10F8131A809915>II<133F1307A9EA03E7EA0C17EA180F487E127012E0A6126012706C5A EA1C373807C7E0131A7F9915>IIII<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF0141A809915>I<1218 123CA212181200A612FC121CAE12FF081A80990A>I<12FC121CA9EB1FC0EB0F00130C5B 13205B13E0121DEA1E70EA1C7813387F131E7F148038FF9FE0131A809914>107 D<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301 AB39FF9FE7F81D107F8F20>I IIIIII<1208A41218A21238EAFFC0 EA3800A81320A41218EA1C40EA07800B177F960F>I<38FC1F80EA1C03AB1307120CEA0E 0B3803F3F01410808F15>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2 EA01C0A36C5A11107F8F14>I<39FE7F1F8039381C0700003C1306381C0C04130E380E16 081317A238072310149013A33803C1A014E0380180C0A319107F8F1C>I<38FE3F80383C 1E00EA1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC0 12107F8F14>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C 5AA248C7FCA212E112E212E4127811177F8F14>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fg cmss10 10.95 2 /Fg 2 42 df<13E0EA01C0EA0380120713005A121EA2121C123CA212381278A3127012F0 AE12701278A31238123CA2121C121EA27E7E13801203EA01C0EA00E00B2E7CA112>40 D<12E012707E123C121C121E7EA27E1380A2120313C0A3120113E0AE13C01203A3138012 07A213005AA2121E121C123C12385A5A0B2E7EA112>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fh cmbx10 12 27 /Fh 27 123 df<90380FF83F90397FFDFFC03A01FC1FE3E03903F03FC7EA07E0D80FC013 87ED83C091381F8000A6B612FCA2390FC01F80B2397FF8FFF8A223237FA221>11 DI97 DII<49B4FCA2EB003FAB13FE3807FFBF380FC1FF48 C67E003E7F127E127CA212FCA7127C127E123E6C5B380F81FF3907FF3FE0EA01FC1B237E A220>I<13FE3807FF80380F83C0381E01E0383E00F0127E007C13F8147812FCB512F8A2 00FCC7FCA3127CA26C1318A26C1330380F80E03803FFC0C6130015167E951A>II<9038FE0F803903FF9FC0380F83E3381F01F3391E00F000003E7FA5001E5BEA 1F01380F83E0380BFF80D808FEC7FC0018C8FCA2121C381FFFE014FC6C13FF7E001F1480 397C001FC00078130F00F81307A3007CEB0F806CEB1F00381F807E6CB45A000113E01A21 7F951D>II<121E123FEA7F80A4EA3F00121EC7FCA6EAFF80A2121FB2EAFFF0A20C24 7EA30F>I107 DI<3AFF03F803F890390FFE0FFE3A1F183F 183F9039201F201F014001C01380A201801380AE3BFFF0FFF0FFF0A22C167D9531>I<38 FF03F0EB0FFC381F187EEB203EEB403FA21380AE39FFF1FFE0A21B167D9520>I<13FF00 0713E0380F81F0381F00F8003E137C48133EA300FC133FA7007C133E007E137E003E137C 6C13F8380F81F03807FFE0C6130018167E951D>I<38FF87F0EBBFFC381FF07EEBC01F90 38800F8015C0A2EC07E0A715C0140FA2EC1F8001C01300EBF07EEBBFFCEB8FE00180C7FC A8EAFFF0A21B207E9520>I I<38FF0F80EB1FE0381F33F013631343A2EBC1E0EB8000ADEAFFF8A214167E9518>I<38 07F980EA1FFFEA3807EA7003EAF001A26CC7FCB4FC13F8EA7FFE6C7E6C1380120738003F C0EAC007130312E0A200F0138038FC0F00EAEFFEEAC3F812167E9517>I<487EA41203A2 1207A2120F123FB5FCA2EA1F80ABEB8180A5380F830013C3EA07FEEA01F811207F9F16> I<38FF81FFA2381F803FAF5C5C380FC1BF3907FF3FE0EA01FC1B167D9520>I<39FFF01F E0A2391FC00700000F1306EBE00E0007130C13F000035BA26C6C5AA26C6C5AA2EBFEE0EB 7EC0137F6D5AA26DC7FCA2130EA21B167F951E>I<3AFFF3FF83FCA23A1F807C00E0D80F C014C08001E013010007017F1380A2D803F0EB0300ECCF8301F81387D801F913C61487D8 00FD13ECEBFF0315FC017F5BEB7E01013E5BEB3C00A20118136026167F9529>I<39FFF0 7FC0A2390FC01C006C6C5A6D5A00035B6C6C5A3800FD80137F91C7FC7F6D7E497EEB37E0 EB67F013C33801C1F8380380FC48487E000E137F39FF81FFE0A21B167F951E>I<39FFF0 1FE0A2391FC00700000F1306EBE00E0007130C13F000035BA26C6C5AA26C6C5AA2EBFEE0 EB7EC0137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC3813305BEA69C0EA7F80001FC8 FC1B207F951E>I<387FFFF0A2387C07E038700FC0EA601F00E0138038C03F005B137EC6 5A1201485AEBF030EA07E0120FEBC070EA1F80003F1360EB00E0EA7E03B5FCA214167E95 19>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fi cmtt10 12 29 /Fi 29 122 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F FF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42 D69 D<387FFFFCB5FC7E380E001CA51400A2EB0380A3EA0FFFA3EA0E03A390C7FCA8EA7FE012 FF127F161E7F9D1A>I73 D<387F03F838FF87FC387F03F8381C01E0EB03C01480EB07005B131E131C5B13785B7F12 1DEA1FDC139C130EEA1E0F7F001C13801303EB01C0A2EB00E0A21470007F13FC38FF81FE 387F00FC171E7F9D1A>75 DI<387FFFC0B512E0A26C13C013047D7E1A>95 D97 D<12FEA3120EA6133EEBFF80000F13E0EBC1F0EB8070EB00 38120E141CA7000F13381478EB80F0EBC1E0EBFFC0000E138038063E00161E7F9D1A>I< EBFF80000313C0000F13E0EA1F01383C00C04813001270A25AA51270A2007813707E381F 01F0380FFFE0000313C03800FE0014157D941A>III< EB07E0EB1FF0EB3FF8EB7878EBF030EBE000A4387FFFF0B5FCA23800E000AF383FFF8048 13C06C1380151E7F9D1A>I<3801F87C3807FFFE5A381E078C381C0380383801C0A5381C 0380EA1E07381FFF005BEA39F80038C7FCA27E381FFF8014E04813F83878007C0070131C 48130EA40070131C0078133C003E13F8381FFFF0000713C00001130017217F941A>I<12 FEA3120EA6133EEBFF80000F13C013C1EB80E01300120EAC38FFE3FE13E713E3171E7F9D 1A>I I<12FEA3120EA6EB0FFCEB1FFEEB0FFCEB03C0EB0780EB0F00131E5B5B13FC120F13DE13 8F380E07801303EB01C014E0EB00F038FFE3FE14FF14FE181E7F9D1A>107 DI<387CE0E038FFFBF8EA7FFF381F1F1CEA 1E1EA2EA1C1CAC387F1F1F39FF9F9F80397F1F1F00191580941A>IIII<3801F8E0EA07FEEA0FFFEA1E07EA3C03EA78011270EAE000A613011270EA 7803123CEA1E0FEA0FFFEA07FCEA01F0C7FCA8EB0FFEA317207E941A>I<387F81F838FF 8FFC387F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>I<3807FB 80EA1FFF127FEA7807EAE003A30078C7FCEA7FC0EA1FFCEA07FE38003F801307386001C0 12E0A2EAF00338FC0780B51200EAEFFEEAE3F812157C941A>I<487E1203A6387FFFE0B5 FCA238038000AA1470A43801C1E013FF6C1380EB3F00141C7F9B1A>I<38FE0FE0A3EA0E 00AD1301EA0F033807FFFE7EEA00FC17157F941A>I<387FC7FC00FF13FE007F13FC380E 00E0A3380701C0A338038380A33801C700A3EA00EEA3137CA2133817157F941A>I<387F C7FC00FF13FE007F13FC380E00E0A27EEB01C013811203EB8380EA01C3A2EBC700EA00E7 A213E61366136E133CA31338A3137813701230EA78E01271EA7FC06C5A001EC7FC17207F 941A>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmbx12 13.14 52 /Fj 52 122 df<123C127E12FFA4127E123C08087C8711>46 D48 D<131C133C13FC12FFA21200B3AA 387FFFFCA216237CA21F>I<48B4FC000713C0381E07F0383803F8386001FC387C00FE12 FE14FF147FA2127C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B 1370EBE003EA01C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F> I<48B4FC000713E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB 03F8EB07F0EB0FC03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FE A214FEA2387C01FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A2 14F81301130313071306130C131C13381330136013E0EA01C01380EA03005A120E5A1218 5A12705AB612C0A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEB FFF814F014E014C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FC C7127EA3147FA2127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE 0018237DA21F>II<1230123C003FB512 C0A215804814005C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133C A25BA213F8A41201A66C5A13601A257DA41F>II<13FF000313C0380F83E0381F00F04813F8007E13 7CA2147E12FEA3147FA4127E14FF123EEA3F01001F137FEA0FFEEA03FCC7FC147EA2123C 007E13FCA214F814F0EA7C01383003E0381C0F80380FFF00EA03F818237DA21F>I<141C A2143EA3147FA24A7EA39038019FC0A29038031FE0140F01077FEB0607A2010C7F140301 1C7FEB1801A2496C7EA2017FB5FCA29039E0007F8049133FA2484880151F00038190C712 0FA2486E7ED8FFF090B51280A229257EA42E>65 DI<9138FF8008010FEBF01890393FC03C789039FE0006F8D801F8130348481301 4848130048481478121F48481438A2007F151890C8FCA2481500A97E16187F123FA26C6C 1430120F6C6C14606C6C14C06C6CEB0180D800FEEB070090383FC01E90380FFFF8010013 C025257DA42C>I69 DI72 DI75 DIII82 D<01FF1380000713E3380F80F7381E001F48130F481307140312F81401A2 7E91C7FCB4FCEA7FE013FE383FFFE014F86C13FE00077F6C1480C67E010313C0EB003FEC 0FE01407A200C01303A315C07E6C13076C14806CEB0F0038FFC03E38E3FFF838803FE01B 257DA422>I<007FB612F8A2397E00FE010078EC00780070153800601518A200E0151C16 0C5AA4C71400B3A390B512FEA226247EA32B>IIII89 D97 DIII<137F3803FFC03807C1F0380F80F8EA1F0048 137C127E147E12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803 FFE038007F8017187E971C>II<3901FF07C00007EBDFE0380F83F1EA1F 01393E00F800007E7FA6003E5B6C485A380F83E0EBFFC0001190C7FC0030C8FCA2123812 3C383FFFE06C13FC806C7F481480383C003F48EB0FC000F81307A4007CEB0F806CEB1F00 381F807E3807FFF8C613C01B247E971F>II<120FEA1F80EA3FC0A4 EA1F80EA0F00C7FCA7EA7FC0A2120FB3A2EAFFF8A20D277EA611>I107 DI<26FF80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A 9007E803F001A013F0A201C013E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE9038 83FF80390F8E0FC0139890389007E013A0A213C0AF39FFFC7FFEA21F187E9722>II<38FFC1FCEBCFFF390FFC1FC0 9038F007E001C013F0140315F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F 809038CFFF00EBC3F801C0C7FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7C EB90FC13B013A01478EBE0005BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C 07EA7001EAF000A300FC1300B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC0 01A212E014C0EAF00338FC078038EFFF00EAC3FC13187E9718>I<13C0A41201A3120312 07120F121FB512C0A2380FC000AC1460A63807E0C013E13801FF8038007E0013237FA218 >I<39FFC07FE0A2000F1307B0140FA200071317EBE0673903FFC7FE38007F071F187E97 22>I<39FFF80FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13 FC00005B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21D187F9720>I<3BFFF9FF E0FF80A23B1FC03F001C00000F6D13181580D807E05CA29039F03FC07000030137136015 E02601F8635BA29038FCE3F1000001C15B15F990267F80FBC7FCA215FF90383F007EA201 1E133CA3010C131829187F972C>I<39FFF83FF0A2390FC00F003807E00E6C6C5A6D5A6C 6C5A00001360EB7EC06D5AA2131F6D7E497E80EB33F81361EBE0FC3801C07E3803807F39 07003F8048131F39FFC07FF8A21D187F9720>I<39FFF80FF8A2390FC001C015803907E0 0300A26D5A00031306EBF80E0001130C13FC00005B13FEEB7E30A26D5AA214E06D5AA26D 5AA26DC7FCA21306A25B1230EA781CEAFC185B1370EA68E0EA7FC0001FC8FC1D237F9720 >I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmsl10 10.95 48 /Fk 48 122 df12 DI 45 D<137EEA01C338030180000713C0EA0E0014E05AA2EA3C0112381278A538F003C0A5 1480130712E01400A2130E1260EA701CEA3038EA3870EA0FC0131F7C9D17>48 D<13181338EA01F8EA0E701200A513E0A6EA01C0A6EA0380A6EA07001380EAFFFC0E1E7B 9D17>I<1408140C141C143CA2147C147E149EA2EB011EA21302801304A21308A2011013 8014071320A2EB7FFF90384007C0EB8003A2EA0100A21202EC01E01206001F130339FF80 1FFE1F207F9F22>65 D<0007B5FC3900F803C090387801E0EC00F04913F8A515F03801E0 01EC03E015C0EC0F809038FFFE009038E00F803903C003C0EC01E015F0A21400A2485A14 01A215E01403EC07C0390F000F80EC3E00B512F01D1F7E9E20>II<0007B57E3900F801E0903878007081497F151E150E150FA348481480A6 484814005DA3151E153E4848133C5DA25D4A5A4A5A260F000FC7FC143CB512F0211F7E9E 23>I<0007B512FC3900F8007C0178131C150C5B1504A414043901E00800A31438EBFFF8 EBE0383803C010A4EC00081510485AA21520A2156015C0380F00011407B612801E1F7E9E 1F>I<0007B512F83900F800780178133815185B1508A53901E00800A314181438EBFFF8 3803C0301410A491C7FC485AA648C8FC7FEAFFFC1D1F7E9E1E>I<3A07FF83FFC03A00F8 007C000178133CA2495BA648485BA490B5FCEBE0004848485AA64848485AA64848485A01 807F39FFF07FF8221F7E9E22>72 D<3807FF803800F8001378A25BA6485AA6485AA6485A A648C7FC7FEAFFF0111F7E9E10>I<3A07FF803FE03A00F8001F000178130C5D4913205D 5D4AC7FC1402140848485A5C146014F013E1EBE4F83803C878EBD07CEBE03CEBC03E141E 141F48487E81140781140381380F00016D487E39FFF00FFE231F7E9E23>75 D<3807FFE0D800FCC7FC1378A25BA6485AA6485AA41580EC0100EA0780A25C1402140614 0E380F001E147CB512FC191F7E9E1C>IIII<0007B5FC3900F803C090387800F015785B157CA41578484813F815F0EC 01E0EC03C0EC0F00EBFFFCD803C0C7FCA6485AA648C8FC7FEAFFF81E1F7E9E1F>I<3807 FFFE3900F8078090387801E0EC00F05B15F8A415F03801E00115E0EC03C0EC0780EC1E00 EBFFF03803C03880141E140EA2140F48485AA51501D80F0013029038800F8239FFF8078C C7EA01F020207E9E22>82 DI<003FB512 F0383C078000301430126039400F0010A212C01280A3D8001E1300A65BA65BA65B7F383F FFE01C1F7A9E21>I<39FFF00FF8391F0003E06CEB01801400001EEB0100A6481302A648 5BA600705BA25CA200785B1238001813C06C48C7FCEA0706EA01F81D20799E22>I<3BFF F07FF81FF03B1F000FC007C0001E903907800380001FED01006C1502140F5EEC17C00213 5B142301805C000713435E14C3913883E0401481D981015B13C1D803C213E193C7FC13C4 15F2EBC80015F4EA01F015F85B5D5B15605B000014402C207A9E2F>87 D97 D<1207123F120F7EA2120EA65A137CEA1D 83381E0180001C13C0EB00E05A14F0A5387001E0A214C013031480EB0700EAE80EEACC38 EA83E014207B9F19>I<13FEEA0383380E0780121C0038130090C7FC12785AA45AA37E5B EA70026C5AEA1C18EA07E011147D9314>I<1438EB01F8EB00781438A21470A614E013FC EA0382EA0601121CEA3C00383801C0127812F0A438E00380A412F0EA700738380F00381C 37803807C7E015207D9F19>I<13F8EA070EEA0E07381C038012381278127012F0B5FC00 F0C7FCA25AA46C5AEA7002EA3004EA1C18EA07E011147D9314>II<140EEB3E11EBE1A33801C1C2380381E0EA07801301120FA3380703C01480EB87 00EA04FC48C7FCA21218121CEA0FFF14C014E0381800F04813305A5AA3006013606C13C0 381C0700EA07FC181F809417>I<13E0120712011200A2485AA6485AEB8F80EB90E013A0 EBC0601380000713E01300A5380E01C0A6381C0380001E13C038FF8FF014207E9F19>I< EA01C0EA03E0A213C0EA0180C7FCA6EA0380121F12071203A2EA0700A6120EA65A121EEA FF800B1F7F9E0C>I<13E0120712011200A2485AA6485AEB81FCEB80F014C0EB81801400 EA07045B13181338137C131C120E7FA2130F7F1480EA1C03381E07C038FF8FF016207E9F 18>107 D<13E0120712011200A2EA01C0A6EA0380A6EA0700A6120EA65A121EEAFF800B 207F9F0C>I<390387C07C391F9861863907A072073903C03403EB80380007EB7807EB00 70A5000EEBE00EA64848485A001EEBE01E3AFFCFFCFFC022147E9326>I<38038F80381F 90E0EA07A03803C0601380000713E01300A5380E01C0A6381C0380001E13C038FF8FF014 147E9319>I<13FCEA0387380E0180381C00C04813E0A24813F012F0A438E001E0A214C0 130300F0138038700700EA380E6C5AEA07E014147D9317>IIIII< 1380EA0100A35A5A5A121EEAFFF8EA0E00A45AA65A1310A41320A2EA1840EA0F800D1C7C 9B12>I<381C0380EAFC1FEA3C07EA1C03A238380700A6EA700EA4131EA25BEA305E381F 9F8011147B9319>I<38FF83F8381E00E0001C13C01480121E380E01005B13025B12075B A25BEA039013A013E05B5B120190C7FC15147C9318>I<39FF9FE1FC393C078070391C03 0060148015401580EA0E0790380D81001309EB19C21311380F21C4EA0720EB40C814E8EB 80F0A26C485A1460000213401E147C9321>I<381FF0FF3803C0780001137014403800E0 C0EBE180EB73001376133CA2131C132E134E1387EA0107380203801204380C01C0383C03 E038FE07FC18147F9318>I<390FF83F803901E00E00EBC00C140813E000005B14301420 5C13705CA20171C7FC1339133A133E133C133813181310A25BA25BEA70C0EAF08000F1C8 FC12E61278191D809318>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmti10 10.95 20 /Fl 20 122 df12 D<127012F8A212F012E005057B840E>46 D 97 D<137EEA01C138030080EA0E07121E001C1300003CC7FC5AA35AA45B12701302EA30 0CEA1830EA07C011147C9315>99 D<1478EB03F8EB0070A414E0A4EB01C0A213F1EA0389 38070780EA0E03121C123C383807001278A3EAF00EA31420EB1C40A2EA703C135C38308C 80380F070015207C9F17>I<137CEA01C2EA0701120E121C123CEA3802EA780CEA7FF0EA 78005AA4EA7001A21302EA380CEA1830EA07C010147C9315>I103 D<13C0EA01E0A213C0C7FC A7120E12131223EA4380EA4700A21287120EA35AA3EA38401380A21270EA31001232121C 0B1F7C9E0E>105 D108 D<391C0F80F0392630C318394740640C903880680EEB0070 A2008E495A120EA34848485AA3ED70803A3803807100A215E115623970070064D8300313 3821147C9325>I<381C0F80382630C0384740601380EB0070A2008E13E0120EA3381C01 C0A3EB038400381388A2EB0708EB031000701330383001C016147C931A>I<137CEA01C3 38030180000E13C0121E001C13E0123C1278A338F003C0A3EB07801400EA700F130EEA30 18EA1870EA07C013147C9317>I<3801C1E0380262183804741C1378EB701EA2EA08E012 00A33801C03CA3143838038078147014E0EBC1C038072380EB1E0090C7FCA2120EA45AA2 B47E171D809317>I114 D<13FCEA0302EA0601EA0C03130713061300EA0F8013F0 EA07F8EA03FCEA003E130E1270EAF00CA2EAE008EA4010EA2060EA1F8010147D9313>I< EA018013C0EA0380A4EA0700A2EAFFF0EA0700120EA45AA45AA31320EA7040A21380A2EA 3100121E0C1C7C9B0F>I<000E13C0001313E0382301C0EA4381EA4701A238870380120E A3381C0700A31410EB0E201218A2381C1E40EA0C263807C38014147C9318>I<380E0380 EA1307002313C0EA4383EA4701130000871380120EA3381C0100A31302A25BA25BEA0E30 EA03C012147C9315>I<000EEBC1C0001313E3392301C3E0384381C1384701C015603987 038040120EA3391C070080A3EC0100A21306EB0F02000C5B380E13083803E1F01B147C93 1E>I<000E13C0001313E0382301C0EA4381EA4701A238870380120EA3381C0700A4130E 1218A2EA1C1EEA0C3CEA07DCEA001CA25B12F05BEAE060485AEA4380003EC7FC131D7C93 16>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fm cmr8 8 29 /Fm 29 118 df<126012F0A212701210A21220A21240A2040A7D960A>39 D45 D<1206120E12FE120EB1EAFFE00B157D9412>49 D<13101338A3135CA3138EA3EA0107A238020380A33807FFC0EA0401A2380800E0A20018 13F0123838FE03FE17177F961A>65 DIIIII76 D<00FEEB03F8001E14C000171305A338138009A23811C011A3 3810E021A2EB7041A3EB3881A2EB1D01A2130EA2123839FE040FF81D177F9620>I80 D82 DI<387FFFF83860381800401308A200801304A300001300AF3803FF 8016177F9619>I<12FCA212C0B3AB12FCA206217D980A>91 D97 D<12F81238A8EA39F0EA3E0CEA380613077F1480A414005B1306EA361CEA21F011177F96 14>II101 D<1203EA0780A2EA0300C7FCA5EA1F801203AF1243EAE300 12E7127C091D82960B>106 D<12F81238A8133E13381330134013801239EA3FC0EA39E0 123813F01378133CA2EAFE7F10177F9613>I110 DII114 DI<1208A31218A21238EAFFC0EA3800A71340A4EA1C80EA0F000A147F93 0E>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmsy9 9 2 /Fn 2 106 df<13801201EA0300A31206A25AA35AA35AA25AA35AA21260A37EA27EA37E A37EA27EA3EA0180120009267D9B0F>104 D<12C0A21260A37EA27EA37EA37EA27EA3EA 0180A2EA0300A31206A25AA35AA35AA25AA35AA209267E9B0F>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmsltt10 10.95 29 /Fo 29 122 df<1206120FEA1F80120FA21203EA0700A25A120E123C127C12F01260090E 769B18>39 D<387FFFC0B512E0A26C13C013047C8F18>45 D<133E13FF000313803807C3 C0EA0F01000E13E0EA1C00123C003813F014705AA34813E0A4EB01C0A2130300F01380EA 7007EB0F00EA781E6C5AEA1FF85BEA07C0141C7C9B18>48 D<13181338A2137813F81203 120F137012041200A413E0A6EA01C0A6EA7FFE12FF127F0F1C7B9B18>I67 D<3807FFC014E014F03801C0F814 78143C141CEA0380141EA2140EA33807001CA4143C1438120E147014F0EB01E0EB03C013 07387FFF8038FFFE00EA7FF8171C7F9B18>I<0007B5FC5A7E3801C007A3140638038000 A2EB818014C0A213FF481380A21303A2140090C7FC120E140C141CA4387FFFF8B5FC7E18 1C7F9B18>I74 D76 D<3907E01F80000FEB3FC0000714803903 B02E00146EA214CE380730DC1331149CA21333141C000E5B13371336133E133C131848C6 5AA638FE03F800FF7F00FE5B1A1C7F9B18>I<126012F0A37E1278A3127C123CA3123E12 1EA3121F7EA313801207A313C01203A413E01201A313F0120013600C24789F18>92 D<387FFFC0B512E0A26C13C013047E7F18>95 D97 D<127EA3120EA45A137CEA1DFF001F13801383381E01C0123CEB00E012 38A4387801C0A2EB0380A2EB0F00EA7C1FEAFFFCEAEFF8EA63E0131C7C9B18>I100 D<13F8EA07FE487E381F 0780EA3C03387801C0127012E0A2B5FCA2148000E0C7FCA213033870078038780F00EA3F FE6C5AEA07F012147B9318>III<14C0EB01E013031301EB00C01400A4EBFFC0A31301A2EB0380A6 EB0700A6130EA65BA2EA6038EAF078B45A5BEA3F8013277F9C18>106 DII<13FCEA03FF000F1380 EA1F07383C03C0EA7801007013E0EAE000A4EB01C0A2EB0380EAF007EB0F00EA7C3EEA3F FC6C5AEA07E013147C9318>111 D113 D<381FE1F8EBE7FCEBEFFE3800FE1EEBFC0C3801F8005B5B5BA3485AA6EA FFFC7F5B17147E9318>II<387E07E0EAFE0FEA7E07EA0E00A2381C01C0A638380380A41307131F383FFF E06C13F03807E3E014147D9318>117 D<38FF87F8138F1387383800E0EB01C0A3148013 E3EA39F31233EB7700A212371376EA3666136EEA3C7CA2EA383815147C9318>119 D<381FE3FC13E713E33803C3C000011380EBE700EA00EE13FC137C1338137813FCEA01DC EA038E12071307120E38FF1FE0EB9FF0EB1FE016147E9318>I<380FF1FE381FF9FF380F F1FE3803807013C0000113E0A213C114C0A23800E380A2EBE700A213E6136E136C137C13 78A21370A25BA2485A12F3EAF780B4C7FC5A1278181E7F9318>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmcsc10 10.95 12 /Fp 12 121 df<1318A2133CA3134EA213CF1387A238010380A2000313C0EA0201A23807 FFE0EA0400A2481370A2001813380038137838FE01FF18177F961C>97 D99 D101 DII105 D<38FC01FC381E007014201217EA1380A2EA11C0EA10E0A213701338A2131C13 0E1307A2EB03A0EB01E0A213001460123800FE132016177E961C>110 D<13FE38038380380E00E0481370003C1378003813380078133C0070131C00F0131EA700 70131C0078133C00381338003C1378001C13706C13E0380383803800FE0017177E961D> II115 D<38FF81FC381C00701420B0000C1340120E6C138038018300EA007C16177E961C>117 D<38FF80FE381F0070000E13606C1340EB80803803C100EA01C3EA00E213F4137813387F 133E134E13C7EB8780380103C0EA0201380600E0000413F0000C1370003C137800FE13FF 18177F961C>120 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fq cmbx12 17.28 34 /Fq 34 121 df49 DI<913A03FF80018002 3FEBF00349B5EAFC0701079038003F0FD91FF8EB079FD93FC0EB01FFD9FF807F4848C812 7F4848153F0007161F49150F485A001F1607A2485A1703127FA24992C7FCA212FFA9127F A27FEF0380123FA26C7E1707000F17006C7E6D150E0003161E6C6C151C6C6C6C1478D93F C05CD91FF8EB03E0D907FFEB3F800101D9FFFEC7FCD9003F13F80203138031317CB03A> 67 D69 DII73 D76 D78 D80 D 82 D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A348 1603A5C792C7FCB3AA017FB6FCA331307DAF38>84 DII97 DIIIII<90 391FF007C09039FFFE3FE03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF0 00A2003F80A5001F5CA2000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC 121EA2121F7F90B57E6C14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C 140F00FC1407A4007EEC0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0 D8001F90C7FC242F7E9F28>III108 D<2703F007F8EB1FE000FFD9 3FFEEBFFF8913A783F01E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602 F8148001FC5CA3495CB3B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFE EC783F02C013803A0FF1801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F 2D>II<3901F83FE000FFEBFF FC9038FBE07F9039FF003F80D80FFEEB1FC06C48EB0FE04914F0ED07F8A216FC1503A216 FEA816FC1507A216F8A2ED0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC 3FC091C8FCABB512C0A3272E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF3 0FF0EA07F6A29038FC07E0EC03C091C7FCA25BB2B512E0A31C207E9F21>114 D<3801FF86000713FEEA1F00003C133E48131E140E12F8A36C90C7FCB47E13FC387FFFC0 6C13F0806C7F00077F00017FEA003F01001380143F0060131F00E0130FA27E15007E6C13 1E6C131C38FF807838F3FFF038C07F8019207D9F20>I<131CA5133CA3137CA213FC1201 12031207381FFFFEB5FCA2D803FCC7FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB 07F0192E7FAD1F>II119 D<3A7FFF807FFCA33A03FC000F006C6C131E6C6C5BEC803890387FC078013F5B 90381FE1E090380FF3C0ECFF806D90C7FC6D5A13016D7E81815B903803DFE09038078FF0 8190380F07FC90381E03FEEB3C01496C7E4914804848EB7FC00003EC3FE026FFFC01B5FC A328207F9F2B>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fr cmsy10 10.95 1 /Fr 1 14 df<14FE903807FFC090381F01F0903878003C01E0130ED80180130348C7EA01 800006EC00C0481560A2481530481518A248150CA4481506A90060150CA46C1518A26C15 306C1560A26C15C06CEC01806C6CEB0300D800E0130E0178133C90381F01F0903807FFC0 D900FEC7FC272B7DA02E>13 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fs cmbx12 14.4 55 /Fs 55 122 df<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A2120612 0E5A5A12100A157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46 D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49 DII<140FA25C5C5C5C5BA2EB03 BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8 A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091 C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218 127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6 22>II<1238123E003FB512F0A34814E015C0158015003870000EA25C485B5C5CC6485AA249 5A130791C7FC5B5B131E133EA2137E137CA213FCA41201A76C5A13701C297CA822>I57 D65 DI<91387FE003903907FFFC07011FEBFF0F90397FF00F9F 9039FF0001FFD801FC7F4848147F4848143F4848141F485A160F485A1607127FA290C9FC 5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C14786CB4EB01F090397FF0 07C0011FB512800107EBFE009038007FF028297CA831>IIII<91387FE003 903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F484880484880484880 485A82485A82127FA290CAFC5AA892B512F87E7F03001300123FA26C7EA26C7E6C7E6C7E 6C7E6CB45B90387FF007011FB5129F0107EBFE0F9039007FF0032D297CA835>II< B512F0A33803FC00B3B1B512F0A314297EA819>I75 DIII< ECFFC0010F13FC90383F807F9039FE001FC0D801F8EB07E048486D7E48486D7E000F8148 486D7EA24848147FA2007F168090C8123FA34816C0AA6C16806D147FA2003F1600A26C6C 14FEA26C6C495A6C6C495A6C6C495A6C6C495A6C6C495A90263FC0FFC7FC90380FFFFC01 0013C02A297CA833>IIII<9038FF80600003EBF0E000 0F13F8381F80FD383F001F003E1307481303A200FC1301A214007EA26C140013C0EA7FFC EBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E013 03A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA825 >I<007FB71280A39039807F807FD87C00140F00781507A20070150300F016C0A2481501 A5C791C7FCB3A490B612C0A32A287EA72F>IIII89 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA 0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B7E9A21 >97 DIIIII<9038FF80F00003EBE3 F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E6C137C 380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C14F012 1F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512003800 7FF01E287E9A22>II<1207EA0F80EA1FC0EA3FE0A3EA1F C0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I108 D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D8 0FC49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A333 1B7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213 E0B039FFFE3FFFA3201B7D9A25>II<38FFE1FE9038EFFF809038FE0FE039 0FF803F09038F001F801E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038 F807F09038FC0FE09038EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FF C1F0EBC7FCEBC63E380FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114 D<3803FE30380FFFF0EA3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C 13E06C13F0000713F8C6FCEB07FC130000E0137C143C7E14387E6C137038FF01E038E7FF C000C11300161B7E9A1B>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000 AD1470A73807F0E0000313C03801FF8038007F0014267FA51A>I<39FFE07FF0A3000F13 07B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA339 0FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA214 9EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE0 0FE001C02607F007EB0380A201F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600 FE1C5B15FE9039FF387E3C017F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2 EC800701075CA22E1B7F9A31>I<39FFFC1FFEA33907F003803803F8079038FC0F003801 FE1E00005BEB7F3814F86D5A6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F 803901E01FC0D803C013E0EB800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF0 00F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB 3F9C14FC6D5AA26D5AA36D5AA26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5B EA74F0EA3FE0EA0F8020277F9A23>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Ft cmtt10 10.95 91 /Ft 91 127 df<127012F8B012701200A5127012F8A31270051C779B18>33 DI I<13C01201A3EA03F0EA0FFCEA3FFEEA7DCFEA71C738E1C38013C7A338F1C0001279123F 6C7EEA0FF8EA01FC13DE13CF13C73861C38012F1A212E1EBC7001271EA79DEEA3FFEEA1F F8EA07E0EA01C0A3120011247D9F18>III<1238127CA2127E 123E120EA3121CA2123812F812F012C0070E789B18>I<137013F0EA01E0EA03C0EA0780 EA0F00121E121C5AA25AA45AA81270A47EA27E121E7EEA0780EA03C0EA01F0120013700C 24799F18>I<126012F012787E7E7EEA07801203EA01C0A2EA00E0A41370A813E0A4EA01 C0A2EA03801207EA0F00121E5A5A5A12600C247C9F18>II<136013F0A7387FFFC0B512E0A26C13C03800F000A7136013147E9718>I<121C 123E127E127F123F121F1207120E121E127C12F81260080C788518>I<387FFFC0B512E0 A26C13C013047E8F18>I<1230127812FCA2127812300606778518>I<1303EB0780A2130F 14005B131EA2133E133C137C1378A213F85B12015B12035BA212075B120F90C7FCA25A12 1E123E123CA2127C127812F85AA2126011247D9F18>IIII<131F5B1377A213E7120113C7EA038712 071307120E121E123C1238127812F0B512F8A338000700A6EB7FF0A3151C7F9B18>52 D<383FFF80A30038C7FCA8EA3BF8EA3FFE7F383C0780383003C0EA0001EB00E0A2126012 F0A238E001C0EA7003387C0F80383FFF00EA1FFCEA03F0131C7E9B18>I<137E48B4FC00 071380380F83C0EA1E03121C3838018090C7FC5AA2EAE1F8EAE7FEB5FC38FE078038F803 C0EAF001EB00E05AA21270A3383801C0EA3C03381E0780380FFF006C5AEA01F8131C7E9B 18>I<12E0B512E0A214C038E00380EB0700C65A131E131C5BA25B13F05BA2485AA3485A A448C7FCA7131D7E9C18>II<1230127812FCA2127812301200A8 1230127812FCA2127812300614779318>58 D<1218123C127EA2123C12181200A8121812 3C127EA2123E121E120E121C123C127812F01260071A789318>I<14C0EB03E01307EB1F C0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FCA2127F6C7EEA0FE06C7EEA01FC6C 7EEB3F80EB1FC0EB07E01303EB00C013187E9918>I<387FFFC0B512E0A26C13C0C8FCA4 387FFFC0B512E0A26C13C0130C7E9318>I<126012F87E127F6C7EEA0FE06C7EEA01FC6C 7EEB3F80EB1FC0EB07E0A2EB1FC0EB3F80EBFE00485AEA07F0485AEA3F8048C7FC12FC5A 126013187E9918>II<137CEA01FEEA07FF380F 8780381E03C0EA3C1DEA387F3870FFE0EA71E313C112E1EAE380A638E1C1C0127113E338 70FF8038387F00EA3C1C381E00E0EA0F833807FFC00001138038007E00131C7E9B18>I< 137013F8A213D8A2EA01DCA3138CEA038EA4EA0707A5380FFF80A3EA0E03381C01C0A338 7F07F000FF13F8007F13F0151C7F9B18>II IIII<3801F1C0EA03FD EA0FFFEA1F0FEA1C03123813011270A290C7FC5AA5EB0FF0131F130F387001C0A2130312 38A2EA1C07EA1F0FEA0FFFEA03FDEA01F1141C7E9B18>I<387F07F038FF8FF8387F07F0 381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F0151C7F9B18>II<3801FFC0A338000E00B3 12F0A2133CEA7FFCEA3FF0EA0FC0121C7D9B18>I<387F07F038FF87F8387F07F0381C03 C0EB07801400130E131E5B13385B13F0121DA2EA1FB8A2131C121EEA1C0EA27FA2EB0380 A2EB01C0387F03F038FF87F8387F03F0151C7F9B18>II<38FC01F8EAFE03A2383B06E0A4138EA2EA398CA213DCA3EA38D8A2 13F81370A21300A638FE03F8A3151C7F9B18>I<387E07F038FF0FF8387F07F0381D81C0 A313C1121CA213E1A313611371A213311339A31319A2131D130DA3EA7F07EAFF87EA7F03 151C7F9B18>IIIII<3803F1C0EA1FFF5AEA7C0FEA7003EAE001A3 90C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00E0A2126012E0130100 F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5FCA238E07038A40000 1300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0EA0F01380783C03803 FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C01E0001C13C0A3EA1E 03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A21370151C7F9B18>I< 38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3138CA2EA1D8DA31305 000D1380EA0F07A2EA0E03151C7F9B18>I<387F0FE0139F130F380E0700120FEA070E13 8EEA039C13DCEA01F8A212005B137013F07F487E13DCEA039E138EEA070F7F000E138013 03001E13C0387F07F000FF13F8007F13F0151C7F9B18>I<38FE03F8EAFF07EAFE03381C 01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00F8A21370A9EA01FC48 7E6C5A151C7F9B18>I<383FFFE05AA2387001C01303EB07801400C65A131E131C133C5B 137013F0485A5B1203485A90C7FC5A001E13E0121C123C5A1270B5FCA3131C7E9B18>I< EAFFF8A3EAE000B3ACEAFFF8A30D24779F18>I<126012F0A27E1278127C123CA2123E12 1E121F7EA27F12077F1203A27F12017F12007F1378A2137C133C133E131EA2131F7F1480 1307A2EB030011247D9F18>II<387FFFC0 B512E0A26C13C013047E7F18>95 D<1206121E123E12381270A212E0A312F812FC127CA2 1238070E789E18>II<127E12FE127E12 0EA5133EEBFF80000F13C0EBC1E01380EB0070120E1438A6000F1370A2EB80E013C1EBFF C0000E138038063E00151C809B18>IIIII<3801E1F03807FFF85A381E1E30381C0E00487EA5EA1C 0EEA1E1EEA1FFC5BEA39E00038C7FC7EEA1FFEEBFFC04813E0387801F038700070481338 A4007813F0EA7E03381FFFC06C13803801FC00151F7F9318>I<127E12FE127E120EA513 3EEBFF80000F13C013C1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC171C809B18> II<1338 137CA313381300A4EA0FFCA3EA001CB3A4EA6038EAF078EAFFF0EA7FE0EA3F800E277E9C 18>I<127E12FE127E120EA5EB3FF0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA 0E0F7FEB038014C0387FC7F812FF127F151C7F9B18>II<38F9C1C038FFF7F013FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB 3E3E1714809318>III< EA7E3E38FEFF80007F13C0380FC1E01380EB0070120E1438A6000F1370A2EB80E013C1EB FFC0000E1380EB3E0090C7FCA7EA7FC0487E6C5A151E809318>I<3801F380EA07FBEA1F FFEA3E1FEA380FEA7007A2EAE003A6EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3EA00 03A7EB1FF0EB3FF8EB1FF0151E7E9318>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0 005BA290C7FCA9EAFFFC7F5B14147E9318>II<487E1203A4387FFFC0B5FCA238038000A9144014E0A33801C1C013FF6C1380 EB3E0013197F9818>I<387E07E0EAFE0FEA7E07EA0E00AC1301EA0F033807FFFC6C13FE 3801FCFC1714809318>I<387F8FF000FF13F8007F13F0381C01C0380E0380A338070700 A3138FEA038EA3EA01DCA3EA00F8A2137015147F9318>I<38FF07F8138F1307383800E0 A4381C01C0137113F9A213D9EA1DDD000D1380A3138DEA0F8FA23807070015147F9318> I<387F8FF0139F138F380F0700EA078EEA039EEA01DC13F81200137013F07FEA01DCEA03 9E138EEA0707000E1380387F8FF000FF13F8007F13F015147F9318>I<387F8FF000FF13 F8007F13F0380E01C0EB0380A21207EB0700A2EA0387A2138EEA01CEA213CC120013DC13 78A31370A313F05B1279EA7BC0EA7F806CC7FC121E151E7F9318>I<383FFFF05AA23870 01E0EB03C0EB078038000F00131E5B13F8485AEA03C0485A380F0070121E5A5AB512F0A3 14147F9318>II<126012F0B3B012600424769F18>I<127CB4FC13C0 1203C67EAB7FEB7FC0EB3FE0A2EB7FC0EBF0005BABEA03C012FF90C7FC127C13247E9F18 >II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fu cmr10 10.95 77 /Fu 77 123 df<90381F83E09038F06E303901C07878380380F8903800F03048EB7000A7 B612803907007000B2383FE3FF1D20809F1B>11 D<133FEBE0C0EA01C0380381E0EA0701 A290C7FCA6B512E0EA0700B2383FC3FC1620809F19>II<90381F81F89038F04F043901C07C063903 80F80FEB00F05A0270C7FCA6B7FC3907007007B23A3FE3FE3FE02320809F26>I34 D<1340A2EA03F0EA0C4EEA10413820408012600040134038C041C01343A238E04180EB40 001270127CEA3FC0EA1FF86C7EEA03FEEA007FEB4F801343EB41C0A2EAF040A312801480 EA404100201300EA3042EA0C4CEA03F0EA0040A312257EA117>36 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39 D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012 30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812 0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A 5A0A2E7EA112>I<127012F012F8A212781208A31210A31220A21240050E7C840D>44 DI<127012F8A3127005057C840D>I<144014C0EB0180A3EB0300 A31306A25BA35BA35BA25BA35BA3485AA348C7FCA21206A35AA35AA25AA35AA35AA2122D 7EA117>II<13801203120F12F31203B3A6EA 07C0EA7FFE0F1E7C9D17>III<1306A2130EA2131E132EA2134E138EA2EA 010E1202A212041208A212101220A2124012C0B512F038000E00A7EBFFE0141E7F9D17> II<137CEA 0182EA0701380E0380EA0C0712183838030090C7FC12781270A2EAF1F0EAF21CEAF406EA F807EB0380A200F013C0A51270A214801238EB07001218EA0C0E6C5AEA01F0121F7E9D17 >I<1240387FFFE014C0A23840008038800100A21302485AA25B5BA25BA21360A213E05B 1201A41203A76C5A131F7E9D17>III<127012F8A312 701200AA127012F8A3127005147C930D>I<127012F8A312701200AA127012F012F8A212 781208A31210A31220A21240051D7C930D>I<5B497EA3497EA3EB09E0A3EB10F0A3EB20 78A3497EA2EBC03EEB801EA248B5FCEB000FA20002EB0780A348EB03C0A2120C001E14E0 39FF801FFE1F207F9F22>65 DI<90380FE0109038381C309038E002703803C00139078000F048C71270121E15305A15 10127C127800F81400A91278007C1410123CA26C1420A27E6C6C13406C6C13803900E003 00EB380CEB0FF01C217E9F21>IIII<90380FE02090387818609038E004E03803800238070001481300001E1460 A25A1520127C127800F81400A7EC7FFCEC03E000781301127C123CA27EA27E7E38038002 3900E00460903878182090380FE0001E217D9F24>I<39FFF07FF8390F000780AD90B5FC EB0007AF39FFF07FF81D1F7E9E22>II<39FFF0 07FC390F0003E0EC0180150014025C5C5C5C5C5C49C7FC5B497E130FEB13C0EB21E01341 EB80F0EB0078A28080A280EC0780A2EC03C015E015F039FFF01FFE1F1F7E9E23>75 DI IIII82 D<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF8 6CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F80180 38C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C014 3000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC00 80B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003 FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213 F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF0 7FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C00003 5DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C14 4090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<39 FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB7C06 EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>89 D<12FFA212C0B3B3A512FFA2082D7CA10D>91 DI<12FFA21203B3B3A512FFA2082D80 A10D>I<120812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96 DI<121C12FC121CAA137CEA1D87381E0180EB00 C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F 19>IIII<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE010 20809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA33 E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C13 C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A212 1CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F7F 9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA61 80EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013E0 EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12FC 121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D019018001EEBE01CA200 1C13C0AE3AFF8FF8FF8021147E9326>IIII<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A61270 12781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>III<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C7F 9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83F8 383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3 132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D807 04138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E147F 9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F0137013 7813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>I< 38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8 A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fv cmbx12 20.736 14 /Fv 14 122 df71 D76 D78 D82 D85 D97 D<13FE12FFA412071203B04AB4 FC021F13F0027F13FC9138FC03FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF0 17F8A2EE07FCA317FEA917FCA3160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EB FF009039F0FC07FE91387FFFF8D9E01F13E09026C003FEC7FC2F3C7DBB36>I100 D<49B47E010F13F0017F13FC9038FF81FE3A03FE007F80D807F8133F4848EB1FC0ED0FE0 485A003F15F01507485A16F8A212FFA290B6FCA301C0C8FCA4127FA36C7E1678121F7F00 0F15F06C6C13016C6CEB03E06C6CEB0FC03A00FFC07F8090393FFFFE00010F13F8010013 C025267DA52C>I105 D<13FE12FFA412071203B3B3AEB512F8A415 3C7DBB1A>108 D110 D<3901FC03F000FFEB0FFC4AB4FC91383C3F80EC707F00079038E0FFC000035BEBFD80A2 01FFEB7F809138003F00151E92C7FC5BB3A3B512FCA422267DA528>114 D121 D E %EndDVIPSBitmapFont end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%BeginPaperSize: Letter letter %%EndPaperSize %%EndSetup %%Page: 1 1 1 0 bop 75 659 a Fv(GNU)33 b(Readline)h(Library)p 75 709 1800 17 v 936 757 a Fu(Edition)17 b(4.3,)c(for)i Ft(Readline)f(Library)g Fu(V)l(ersion)i(4.3.)1643 811 y(Marc)o(h)e(2002)75 2467 y Fs(Brian)23 b(F)-6 b(o)n(x,)23 b(F)-6 b(ree)23 b(Soft)n(w)n(are)f(F)-6 b(oundation)75 2534 y(Chet)22 b(Ramey)-6 b(,)23 b(Case)e(W)-6 b(estern)23 b(Reserv)n(e)f(Univ)n(ersit)n(y)p 75 2570 1800 9 v eop %%Page: 2 2 2 1 bop 75 217 a Fu(This)14 b(do)q(cumen)o(t)h(describ)q(es)g(the)f (GNU)g(Readline)h(Library)l(,)f(a)g(utilit)o(y)h(whic)o(h)f(aids)g(in)h (the)f(consistency)75 271 y(of)h(user)g(in)o(terface)h(across)e (discrete)i(programs)e(that)h(need)h(to)e(pro)o(vide)i(a)f(command)g (line)i(in)o(terface.)75 339 y(Published)g(b)o(y)f(the)f(F)l(ree)g (Soft)o(w)o(are)f(F)l(oundation)75 394 y(59)h(T)l(emple)h(Place,)f (Suite)i(330,)75 448 y(Boston,)d(MA)h(02111)f(USA)75 516 y(P)o(ermission)j(is)f(gran)o(ted)g(to)f(mak)o(e)h(and)g (distribute)i(v)o(erbatim)d(copies)i(of)f(this)h(man)o(ual)f(pro)o (vided)h(the)75 570 y(cop)o(yrigh)o(t)e(notice)h(and)f(this)h(p)q (ermission)g(notice)g(are)f(preserv)o(ed)h(on)f(all)h(copies.)75 638 y(P)o(ermission)c(is)h(gran)o(ted)e(to)g(cop)o(y)h(and)g (distribute)h(mo)q(di\014ed)g(v)o(ersions)f(of)f(this)h(man)o(ual)g (under)h(the)f(con-)75 692 y(ditions)k(for)e(v)o(erbatim)h(cop)o(ying,) g(pro)o(vided)h(that)e(the)h(en)o(tire)h(resulting)g(deriv)o(ed)g(w)o (ork)e(is)h(distributed)75 747 y(under)h(the)f(terms)g(of)g(a)f(p)q (ermission)j(notice)f(iden)o(tical)h(to)e(this)g(one.)75 814 y(P)o(ermission)i(is)g(gran)o(ted)f(to)g(cop)o(y)h(and)f (distribute)i(translations)f(of)f(this)h(man)o(ual)g(in)o(to)f(another) g(lan-)75 869 y(guage,)e(under)h(the)f(ab)q(o)o(v)o(e)g(conditions)i (for)d(mo)q(di\014ed)j(v)o(ersions,)e(except)h(that)f(this)h(p)q (ermission)g(notice)75 924 y(ma)o(y)f(b)q(e)i(stated)f(in)h(a)f (translation)g(appro)o(v)o(ed)g(b)o(y)g(the)g(F)l(ree)h(Soft)o(w)o(are) d(F)l(oundation.)75 2661 y(Cop)o(yrigh)o(t)301 2660 y(c)289 2661 y Fr(\015)h Fu(1988-2002)f(F)l(ree)i(Soft)o(w)o(are)f(F)l (oundation,)h(Inc.)p eop %%Page: 1 3 1 2 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 b(1)75 149 y Fq(1)41 b(Command)28 b(Line)e(Editing)137 271 y Fu(This)16 b(c)o(hapter)f(describ)q(es)i(the)e(basic)h(features)f (of)g(the)g Fp(gnu)g Fu(command)g(line)i(editing)f(in)o(terface.)75 403 y Fs(1.1)33 b(In)n(tro)r(duction)24 b(to)e(Line)i(Editing)137 501 y Fu(The)16 b(follo)o(wing)g(paragraphs)e(describ)q(e)j(the)e (notation)g(used)h(to)e(represen)o(t)i(k)o(eystrok)o(es.)137 569 y(The)h(text)f Fo(C-k)h Fu(is)g(read)g(as)f(`Con)o(trol-K')g(and)h (describ)q(es)h(the)f(c)o(haracter)f(pro)q(duced)h(when)h(the)1831 567 y Fn(h)p 1844 541 19 2 v 1844 569 a Fm(k)p 1844 577 V 1860 567 a Fn(i)75 624 y Fu(k)o(ey)d(is)h(pressed)g(while)g(the)f (Con)o(trol)g(k)o(ey)g(is)h(depressed.)137 693 y(The)g(text)g Fo(M-k)f Fu(is)i(read)f(as)f(`Meta-K')g(and)h(describ)q(es)i(the)e(c)o (haracter)f(pro)q(duced)i(when)g(the)f(Meta)75 747 y(k)o(ey)e(\(if)g(y) o(ou)g(ha)o(v)o(e)g(one\))g(is)h(depressed,)g(and)f(the)930 745 y Fn(h)p 942 719 V 942 747 a Fm(k)p 942 755 V 958 745 a Fn(i)987 747 y Fu(k)o(ey)g(is)h(pressed.)20 b(The)15 b(Meta)e(k)o(ey)h(is)h(lab)q(eled)1779 745 y Fn(h)p 1791 719 72 2 v 1791 747 a Fm(AL)m(T)p 1791 755 V 1860 745 a Fn(i)75 802 y Fu(on)e(man)o(y)g(k)o(eyb)q(oards.)19 b(On)13 b(k)o(eyb)q(oards)g(with)h(t)o(w)o(o)e(k)o(eys)g(lab)q(eled) 1213 800 y Fn(h)p 1225 774 V 1225 802 a Fm(AL)m(T)p 1225 810 V 1294 800 a Fn(i)1322 802 y Fu(\(usually)i(to)e(either)i(side)g (of)f(the)75 857 y(space)j(bar\),)f(the)388 855 y Fn(h)p 400 829 V 400 857 a Fm(AL)m(T)p 400 865 V 469 855 a Fn(i)499 857 y Fu(on)h(the)g(left)g(side)g(is)g(generally)h(set)f(to)f(w)o(ork)g (as)g(a)g(Meta)g(k)o(ey)l(.)22 b(The)1697 855 y Fn(h)p 1709 829 V 1709 857 a Fm(AL)m(T)p 1709 865 V 1778 855 a Fn(i)1808 857 y Fu(k)o(ey)75 912 y(on)17 b(the)f(righ)o(t)h(ma)o(y)f (also)h(b)q(e)g(con\014gured)g(to)f(w)o(ork)g(as)g(a)h(Meta)f(k)o(ey)g (or)g(ma)o(y)g(b)q(e)i(con\014gured)f(as)f(some)75 967 y(other)f(mo)q(di\014er,)h(suc)o(h)f(as)g(a)g(Comp)q(ose)g(k)o(ey)g (for)f(t)o(yping)i(accen)o(ted)f(c)o(haracters.)137 1035 y(If)c(y)o(ou)g(do)g(not)f(ha)o(v)o(e)h(a)f(Meta)h(or)694 1033 y Fn(h)p 706 1007 V 706 1035 a Fm(AL)m(T)p 706 1043 V 775 1033 a Fn(i)801 1035 y Fu(k)o(ey)l(,)g(or)g(another)f(k)o(ey)h(w) o(orking)f(as)h(a)f(Meta)h(k)o(ey)l(,)g(the)g(iden)o(tical)75 1090 y(k)o(eystrok)o(e)f(can)i(b)q(e)g(generated)f(b)o(y)g(t)o(yping) 809 1088 y Fn(h)p 822 1062 70 2 v 822 1090 a Fm(ESC)p 822 1098 V 888 1088 a Fn(i)915 1090 y Fl(\014rst)p Fu(,)g(and)g(then)h (t)o(yping)1339 1088 y Fn(h)p 1351 1062 19 2 v 1351 1090 a Fm(k)p 1351 1098 V 1368 1088 a Fn(i)1383 1090 y Fu(.)18 b(Either)12 b(pro)q(cess)f(is)h(kno)o(wn)75 1145 y(as)j Fk(metafying)k Fu(the)425 1143 y Fn(h)p 437 1117 V 437 1145 a Fm(k)p 437 1153 V 454 1143 a Fn(i)484 1145 y Fu(k)o(ey)l(.)137 1214 y(The)i(text)e Fo(M-C-k)h Fu(is)h(read)f(as)f(`Meta-Con)o(trol-k') g(and)h(describ)q(es)i(the)e(c)o(haracter)g(pro)q(duced)h(b)o(y)75 1268 y Fk(metafying)e Fo(C-k)p Fu(.)137 1337 y(In)g(addition,)h(sev)o (eral)f(k)o(eys)f(ha)o(v)o(e)g(their)h(o)o(wn)f(names.)30 b(Sp)q(eci\014cally)l(,)1384 1335 y Fn(h)p 1396 1309 73 2 v 1396 1337 a Fm(DEL)p 1396 1345 V 1467 1335 a Fn(i)1482 1337 y Fu(,)1514 1335 y Fn(h)p 1526 1309 70 2 v 1526 1337 a Fm(ESC)p 1526 1345 V 1593 1335 a Fn(i)1608 1337 y Fu(,)1640 1335 y Fn(h)p 1652 1309 72 2 v 1652 1337 a Fm(LFD)p 1652 1345 V 1722 1335 a Fn(i)1737 1337 y Fu(,)1768 1335 y Fn(h)p 1780 1309 70 2 v 1780 1337 a Fm(SPC)p 1780 1345 V 1847 1335 a Fn(i)1862 1337 y Fu(,)75 1390 y Fn(h)p 87 1364 76 2 v 87 1392 a Fm(RET)p 87 1399 V 160 1390 a Fn(i)175 1392 y Fu(,)23 b(and)306 1390 y Fn(h)p 318 1364 74 2 v 318 1392 a Fm(T)m(AB)p 318 1399 V 390 1390 a Fn(i)427 1392 y Fu(all)f(stand)g(for)f(themselv)o(es)h(when)h(seen)f (in)g(this)g(text,)h(or)e(in)i(an)e(init)i(\014le)g(\(see)75 1447 y(Section)d(1.3)f([Readline)h(Init)g(File],)h(page)e(4\).)32 b(If)19 b(y)o(our)g(k)o(eyb)q(oard)h(lac)o(ks)f(a)1444 1445 y Fn(h)p 1456 1419 72 2 v 1456 1447 a Fm(LFD)p 1456 1454 V 1526 1445 a Fn(i)1560 1447 y Fu(k)o(ey)l(,)h(t)o(yping)1802 1445 y Fn(h)p 1814 1419 49 2 v 1814 1447 a Fm(C-j)p 1814 1454 V 1860 1445 a Fn(i)75 1501 y Fu(will)c(pro)q(duce)g(the)f(desired) h(c)o(haracter.)j(The)874 1499 y Fn(h)p 886 1473 76 2 v 886 1501 a Fm(RET)p 886 1509 V 959 1499 a Fn(i)989 1501 y Fu(k)o(ey)c(ma)o(y)f(b)q(e)h(lab)q(eled)1385 1499 y Fn(h)p 1397 1473 109 2 v 1397 1501 a Fm(Return)p 1397 1509 V 1503 1499 a Fn(i)1533 1501 y Fu(or)1588 1499 y Fn(h)p 1600 1473 86 2 v 1600 1501 a Fm(En)o(ter)p 1600 1509 V 1684 1499 a Fn(i)1714 1501 y Fu(on)f(some)75 1556 y(k)o(eyb)q(oards.)75 1688 y Fs(1.2)33 b(Readline)23 b(In)n(teraction)137 1786 y Fu(Often)13 b(during)h(an)e(in)o(teractiv)o (e)h(session)g(y)o(ou)g(t)o(yp)q(e)f(in)i(a)e(long)h(line)h(of)e(text,) h(only)g(to)f(notice)h(that)f(the)75 1841 y(\014rst)k(w)o(ord)f(on)h (the)h(line)h(is)e(missp)q(elled.)26 b(The)16 b(Readline)i(library)f (giv)o(es)f(y)o(ou)g(a)g(set)g(of)g(commands)g(for)75 1896 y(manipulating)g(the)f(text)g(as)f(y)o(ou)h(t)o(yp)q(e)g(it)g(in,) g(allo)o(wing)h(y)o(ou)f(to)f(just)h(\014x)g(y)o(our)f(t)o(yp)q(o,)g (and)h(not)g(forcing)75 1950 y(y)o(ou)f(to)f(ret)o(yp)q(e)h(the)g(ma)s (jorit)o(y)f(of)h(the)g(line.)21 b(Using)15 b(these)f(editing)h (commands,)f(y)o(ou)g(mo)o(v)o(e)f(the)h(cursor)75 2005 y(to)i(the)i(place)g(that)e(needs)i(correction,)g(and)f(delete)h(or)f (insert)g(the)h(text)e(of)h(the)g(corrections.)26 b(Then,)75 2060 y(when)16 b(y)o(ou)f(are)h(satis\014ed)g(with)g(the)f(line,)i(y)o (ou)e(simply)i(press)1160 2058 y Fn(h)p 1172 2032 76 2 v 1172 2060 a Fm(RET)p 1172 2068 V 1245 2058 a Fn(i)1260 2060 y Fu(.)k(Y)l(ou)16 b(do)f(not)h(ha)o(v)o(e)f(to)g(b)q(e)h(at)f (the)75 2115 y(end)k(of)e(the)h(line)i(to)d(press)563 2113 y Fn(h)p 575 2087 V 575 2115 a Fm(RET)p 575 2122 V 648 2113 a Fn(i)663 2115 y Fu(;)i(the)f(en)o(tire)h(line)g(is)g (accepted)f(regardless)g(of)g(the)g(lo)q(cation)g(of)g(the)75 2170 y(cursor)d(within)h(the)g(line.)75 2284 y Fj(1.2.1)30 b(Readline)20 b(Bare)g(Essen)n(tials)137 2382 y Fu(In)12 b(order)g(to)f(en)o(ter)g(c)o(haracters)g(in)o(to)g(the)h(line,)h (simply)g(t)o(yp)q(e)f(them.)18 b(The)12 b(t)o(yp)q(ed)g(c)o(haracter)f (app)q(ears)75 2437 y(where)16 b(the)h(cursor)f(w)o(as,)f(and)h(then)h (the)f(cursor)g(mo)o(v)o(es)g(one)g(space)g(to)g(the)g(righ)o(t.)23 b(If)17 b(y)o(ou)f(mist)o(yp)q(e)g(a)75 2492 y(c)o(haracter,)e(y)o(ou)h (can)g(use)h(y)o(our)f(erase)g(c)o(haracter)f(to)h(bac)o(k)g(up)g(and)h (delete)g(the)f(mist)o(yp)q(ed)h(c)o(haracter.)137 2560 y(Sometimes)g(y)o(ou)f(ma)o(y)g(mist)o(yp)q(e)h(a)f(c)o(haracter,)f (and)i(not)f(notice)h(the)f(error)g(un)o(til)i(y)o(ou)e(ha)o(v)o(e)g(t) o(yp)q(ed)75 2615 y(sev)o(eral)g(other)f(c)o(haracters.)19 b(In)c(that)e(case,)i(y)o(ou)f(can)g(t)o(yp)q(e)h Fo(C-b)f Fu(to)g(mo)o(v)o(e)f(the)i(cursor)f(to)g(the)g(left,)h(and)75 2670 y(then)h(correct)e(y)o(our)h(mistak)o(e.)20 b(Afterw)o(ards,)13 b(y)o(ou)i(can)g(mo)o(v)o(e)g(the)g(cursor)g(to)g(the)g(righ)o(t)g (with)g Fo(C-f)p Fu(.)p eop %%Page: 2 4 2 3 bop 75 -58 a Fu(2)1322 b(GNU)15 b(Readline)h(Library)137 149 y(When)h(y)o(ou)f(add)g(text)g(in)h(the)g(middle)h(of)e(a)f(line,)j (y)o(ou)e(will)i(notice)f(that)f(c)o(haracters)f(to)h(the)g(righ)o(t)75 204 y(of)e(the)g(cursor)g(are)g(`pushed)h(o)o(v)o(er')f(to)f(mak)o(e)h (ro)q(om)g(for)f(the)i(text)f(that)f(y)o(ou)h(ha)o(v)o(e)g(inserted.)21 b(Lik)o(ewise,)75 259 y(when)e(y)o(ou)g(delete)h(text)e(b)q(ehind)j (the)e(cursor,)g(c)o(haracters)f(to)g(the)h(righ)o(t)f(of)g(the)h (cursor)g(are)f(`pulled)75 314 y(bac)o(k')11 b(to)g(\014ll)h(in)h(the)e (blank)h(space)g(created)f(b)o(y)h(the)f(remo)o(v)m(al)g(of)g(the)h (text.)18 b(A)11 b(list)h(of)f(the)h(bare)f(essen)o(tials)75 369 y(for)k(editing)h(the)f(text)g(of)g(an)g(input)h(line)h(follo)o (ws.)75 449 y Fo(C-b)168 b Fu(Mo)o(v)o(e)14 b(bac)o(k)h(one)h(c)o (haracter.)75 530 y Fo(C-f)168 b Fu(Mo)o(v)o(e)14 b(forw)o(ard)g(one)h (c)o(haracter.)75 608 y Fn(h)p 87 582 73 2 v 87 610 a Fm(DEL)p 87 618 V 158 608 a Fn(i)188 610 y Fu(or)244 608 y Fn(h)p 256 582 159 2 v 256 610 a Fm(Bac)o(kspace)p 256 618 V 412 608 a Fn(i)315 665 y Fu(Delete)h(the)f(c)o(haracter)g(to) f(the)h(left)h(of)f(the)g(cursor.)75 745 y Fo(C-d)168 b Fu(Delete)16 b(the)f(c)o(haracter)g(underneath)h(the)f(cursor.)75 825 y(Prin)o(ting)h(c)o(haracters)315 880 y(Insert)f(the)h(c)o (haracter)e(in)o(to)h(the)h(line)h(at)d(the)h(cursor.)75 961 y Fo(C-_)g Fu(or)f Fo(C-x)h(C-u)315 1015 y Fu(Undo)i(the)g(last)f (editing)i(command.)25 b(Y)l(ou)17 b(can)g(undo)g(all)g(the)g(w)o(a)o (y)f(bac)o(k)h(to)f(an)g(empt)o(y)315 1070 y(line.)75 1151 y(\(Dep)q(ending)i(on)f(y)o(our)g(con\014guration,)g(the)863 1149 y Fn(h)p 875 1123 V 875 1151 a Fm(Bac)o(kspace)p 875 1159 V 1032 1149 a Fn(i)1063 1151 y Fu(k)o(ey)g(b)q(e)h(set)f(to)f (delete)i(the)f(c)o(haracter)g(to)f(the)75 1206 y(left)h(of)f(the)h (cursor)f(and)g(the)596 1204 y Fn(h)p 608 1178 73 2 v 608 1206 a Fm(DEL)p 608 1213 V 679 1204 a Fn(i)710 1206 y Fu(k)o(ey)h(set)f(to)g(delete)h(the)g(c)o(haracter)f(underneath)h (the)g(cursor,)f(lik)o(e)75 1260 y Fo(C-d)p Fu(,)e(rather)h(than)g(the) g(c)o(haracter)g(to)f(the)i(left)f(of)g(the)g(cursor.\))75 1374 y Fj(1.2.2)30 b(Readline)20 b(Mo)n(v)n(emen)n(t)i(Commands)137 1471 y Fu(The)14 b(ab)q(o)o(v)o(e)e(table)i(describ)q(es)g(the)g(most)e (basic)i(k)o(eystrok)o(es)d(that)i(y)o(ou)g(need)h(in)f(order)g(to)g (do)g(editing)75 1526 y(of)f(the)h(input)h(line.)21 b(F)l(or)12 b(y)o(our)g(con)o(v)o(enience,)i(man)o(y)f(other)f(commands)h(ha)o(v)o (e)f(b)q(een)i(added)f(in)h(addition)75 1580 y(to)h Fo(C-b)p Fu(,)h Fo(C-f)p Fu(,)f Fo(C-d)p Fu(,)g(and)522 1578 y Fn(h)p 534 1552 V 534 1580 a Fm(DEL)p 534 1588 V 605 1578 a Fn(i)619 1580 y Fu(.)23 b(Here)16 b(are)g(some)f(commands)h(for) f(mo)o(ving)h(more)g(rapidly)h(ab)q(out)f(the)75 1635 y(line.)75 1716 y Fo(C-a)168 b Fu(Mo)o(v)o(e)14 b(to)h(the)g(start)f (of)h(the)g(line.)75 1796 y Fo(C-e)168 b Fu(Mo)o(v)o(e)14 b(to)h(the)g(end)h(of)f(the)g(line.)75 1876 y Fo(M-f)168 b Fu(Mo)o(v)o(e)14 b(forw)o(ard)g(a)h(w)o(ord,)f(where)i(a)e(w)o(ord)h (is)h(comp)q(osed)f(of)g(letters)g(and)h(digits.)75 1957 y Fo(M-b)168 b Fu(Mo)o(v)o(e)14 b(bac)o(kw)o(ard)h(a)g(w)o(ord.)75 2037 y Fo(C-l)168 b Fu(Clear)15 b(the)h(screen,)f(reprin)o(ting)h(the)f (curren)o(t)g(line)i(at)e(the)g(top.)137 2118 y(Notice)e(ho)o(w)f Fo(C-f)g Fu(mo)o(v)o(es)f(forw)o(ard)g(a)h(c)o(haracter,)g(while)i Fo(M-f)e Fu(mo)o(v)o(es)f(forw)o(ard)g(a)h(w)o(ord.)18 b(It)13 b(is)g(a)f(lo)q(ose)75 2173 y(con)o(v)o(en)o(tion)j(that)f(con) o(trol)h(k)o(eystrok)o(es)f(op)q(erate)h(on)f(c)o(haracters)h(while)h (meta)e(k)o(eystrok)o(es)g(op)q(erate)h(on)75 2227 y(w)o(ords.)75 2341 y Fj(1.2.3)30 b(Readline)20 b(Killing)h(Commands)137 2438 y Fk(Killing)26 b Fu(text)18 b(means)g(to)g(delete)i(the)f(text)f (from)g(the)h(line,)i(but)d(to)g(sa)o(v)o(e)g(it)h(a)o(w)o(a)o(y)e(for) h(later)h(use,)75 2493 y(usually)f(b)o(y)f Fk(y)o(anking)22 b Fu(\(re-inserting\))17 b(it)g(bac)o(k)g(in)o(to)g(the)h(line.)27 b(\(`Cut')15 b(and)j(`paste')e(are)g(more)h(recen)o(t)75 2547 y(jargon)d(for)h(`kill')h(and)g(`y)o(ank'.\))137 2615 y(If)g(the)f(description)h(for)f(a)g(command)g(sa)o(ys)f(that)h (it)g(`kills')h(text,)e(then)i(y)o(ou)f(can)g(b)q(e)h(sure)f(that)f(y)o (ou)75 2670 y(can)h(get)g(the)g(text)g(bac)o(k)g(in)h(a)f(di\013eren)o (t)g(\(or)g(the)g(same\))g(place)h(later.)p eop %%Page: 3 5 3 4 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 b(3)137 149 y(When)12 b(y)o(ou)g(use)g(a)f(kill)i(command,)f(the)g (text)f(is)h(sa)o(v)o(ed)f(in)i(a)e Fk(kill-ring)p Fu(.)21 b(An)o(y)12 b(n)o(um)o(b)q(er)g(of)f(consecutiv)o(e)75 204 y(kills)17 b(sa)o(v)o(e)e(all)h(of)f(the)h(killed)i(text)d (together,)f(so)h(that)g(when)h(y)o(ou)f(y)o(ank)g(it)h(bac)o(k,)f(y)o (ou)g(get)g(it)h(all.)22 b(The)75 259 y(kill)c(ring)f(is)f(not)g(line)i (sp)q(eci\014c;)g(the)e(text)g(that)f(y)o(ou)h(killed)j(on)d(a)g (previously)h(t)o(yp)q(ed)g(line)h(is)e(a)o(v)m(ailable)75 314 y(to)f(b)q(e)g(y)o(ank)o(ed)g(bac)o(k)h(later,)e(when)i(y)o(ou)f (are)g(t)o(yping)g(another)g(line.)137 380 y(Here)h(is)f(the)h(list)g (of)e(commands)h(for)g(killing)j(text.)75 458 y Fo(C-k)168 b Fu(Kill)17 b(the)f(text)e(from)h(the)g(curren)o(t)g(cursor)g(p)q (osition)h(to)f(the)g(end)h(of)f(the)g(line.)75 535 y Fo(M-d)168 b Fu(Kill)15 b(from)e(the)g(cursor)g(to)f(the)i(end)g(of)e (the)i(curren)o(t)f(w)o(ord,)f(or,)h(if)g(b)q(et)o(w)o(een)h(w)o(ords,) e(to)h(the)315 590 y(end)j(of)f(the)g(next)g(w)o(ord.)k(W)l(ord)c(b)q (oundaries)i(are)e(the)g(same)g(as)g(those)f(used)i(b)o(y)f Fo(M-f)p Fu(.)75 668 y Fo(M-)123 666 y Fn(h)p 135 640 73 2 v 135 668 a Fm(DEL)p 135 675 V 206 666 a Fn(i)315 668 y Fu(Kill)i(from)e(the)g(cursor)g(the)h(start)e(of)h(the)g(curren)o (t)g(w)o(ord,)f(or,)h(if)g(b)q(et)o(w)o(een)h(w)o(ords,)e(to)h(the)315 723 y(start)j(of)h(the)g(previous)h(w)o(ord.)31 b(W)l(ord)19 b(b)q(oundaries)h(are)f(the)h(same)e(as)h(those)g(used)h(b)o(y)315 777 y Fo(M-b)p Fu(.)75 855 y Fo(C-w)168 b Fu(Kill)18 b(from)d(the)g(cursor)h(to)f(the)g(previous)i(whitespace.)22 b(This)16 b(is)g(di\013eren)o(t)g(than)f Fo(M-)1777 853 y Fn(h)p 1789 827 V 1789 855 a Fm(DEL)p 1789 863 V 1860 853 a Fn(i)315 910 y Fu(b)q(ecause)h(the)f(w)o(ord)g(b)q(oundaries)h (di\013er.)137 987 y(Here)21 b(is)h(ho)o(w)e(to)g Fk(y)o(ank)j Fu(the)e(text)f(bac)o(k)h(in)o(to)g(the)f(line.)39 b(Y)l(anking)21 b(means)g(to)f(cop)o(y)h(the)g(most-)75 1042 y(recen)o(tly-killed)d (text)d(from)f(the)i(kill)h(bu\013er.)75 1120 y Fo(C-y)168 b Fu(Y)l(ank)15 b(the)h(most)e(recen)o(tly)i(killed)h(text)e(bac)o(k)g (in)o(to)g(the)h(bu\013er)f(at)f(the)i(cursor.)75 1198 y Fo(M-y)168 b Fu(Rotate)16 b(the)h(kill-ring,)j(and)d(y)o(ank)g(the)h (new)f(top.)26 b(Y)l(ou)17 b(can)h(only)g(do)f(this)h(if)f(the)h(prior) 315 1252 y(command)d(is)h Fo(C-y)f Fu(or)f Fo(M-y)p Fu(.)75 1361 y Fj(1.2.4)30 b(Readline)20 b(Argumen)n(ts)137 1457 y Fu(Y)l(ou)15 b(can)g(pass)f(n)o(umeric)i(argumen)o(ts)e(to)g (Readline)h(commands.)20 b(Sometimes)15 b(the)g(argumen)o(t)e(acts)75 1511 y(as)20 b(a)f(rep)q(eat)i(coun)o(t,)f(other)g(times)g(it)h(is)f (the)g Fl(sign)j Fu(of)c(the)h(argumen)o(t)g(that)f(is)i(signi\014can)o (t.)35 b(If)20 b(y)o(ou)75 1566 y(pass)d(a)f(negativ)o(e)h(argumen)o(t) f(to)g(a)g(command)h(whic)o(h)h(normally)f(acts)f(in)i(a)e(forw)o(ard)g (direction,)i(that)75 1621 y(command)g(will)h(act)e(in)i(a)e(bac)o(kw)o (ard)g(direction.)28 b(F)l(or)17 b(example,)i(to)e(kill)j(text)d(bac)o (k)g(to)g(the)h(start)e(of)75 1676 y(the)f(line,)i(y)o(ou)e(migh)o(t)g (t)o(yp)q(e)g(`)p Ft(M--)f(C-k)p Fu('.)137 1742 y(The)h(general)f(w)o (a)o(y)f(to)h(pass)g(n)o(umeric)h(argumen)o(ts)e(to)g(a)h(command)g(is) h(to)e(t)o(yp)q(e)h(meta)g(digits)h(b)q(efore)75 1797 y(the)h(command.)k(If)c(the)f(\014rst)g(`digit')h(t)o(yp)q(ed)f(is)h(a) g(min)o(us)g(sign)g(\(`)p Ft(-)p Fu('\),)d(then)j(the)f(sign)h(of)f (the)h(argumen)o(t)75 1852 y(will)21 b(b)q(e)f(negativ)o(e.)31 b(Once)20 b(y)o(ou)f(ha)o(v)o(e)g(t)o(yp)q(ed)g(one)g(meta)g(digit)h (to)e(get)h(the)g(argumen)o(t)f(started,)h(y)o(ou)75 1906 y(can)c(t)o(yp)q(e)f(the)h(remainder)g(of)f(the)g(digits,)h(and)g (then)g(the)f(command.)20 b(F)l(or)13 b(example,)i(to)f(giv)o(e)h(the)f Fo(C-d)75 1961 y Fu(command)19 b(an)f(argumen)o(t)g(of)g(10,)h(y)o(ou)f (could)i(t)o(yp)q(e)f(`)p Ft(M-1)14 b(0)h(C-d)p Fu(',)k(whic)o(h)g (will)h(delete)g(the)f(next)g(ten)75 2016 y(c)o(haracters)14 b(on)i(the)f(input)h(line.)75 2125 y Fj(1.2.5)30 b(Searc)n(hing)21 b(for)f(Commands)h(in)f(the)h(History)137 2220 y Fu(Readline)d(pro)o (vides)e(commands)g(for)g(searc)o(hing)g(through)g(the)g(command)g (history)g(for)g(lines)i(con-)75 2275 y(taining)e(a)f(sp)q(eci\014ed)i (string.)j(There)c(are)e(t)o(w)o(o)g(searc)o(h)h(mo)q(des:)20 b Fk(incremen)o(tal)e Fu(and)e Fk(non-incremen)o(tal)p Fu(.)137 2341 y(Incremen)o(tal)e(searc)o(hes)f(b)q(egin)h(b)q(efore)f (the)g(user)g(has)g(\014nished)h(t)o(yping)f(the)g(searc)o(h)g(string.) 19 b(As)13 b(eac)o(h)75 2396 y(c)o(haracter)k(of)g(the)h(searc)o(h)g (string)f(is)h(t)o(yp)q(ed,)h(Readline)g(displa)o(ys)f(the)g(next)g(en) o(try)f(from)g(the)h(history)75 2451 y(matc)o(hing)12 b(the)g(string)g(t)o(yp)q(ed)g(so)g(far.)18 b(An)13 b(incremen)o(tal)g (searc)o(h)f(requires)g(only)h(as)f(man)o(y)f(c)o(haracters)g(as)75 2506 y(needed)16 b(to)d(\014nd)j(the)e(desired)i(history)e(en)o(try)l (.)19 b(T)l(o)c(searc)o(h)f(bac)o(kw)o(ard)f(in)j(the)e(history)g(for)g (a)g(particular)75 2560 y(string,)g(t)o(yp)q(e)h Fo(C-r)p Fu(.)k(T)o(yping)d Fo(C-s)e Fu(searc)o(hes)h(forw)o(ard)e(through)h (the)h(history)l(.)20 b(The)15 b(c)o(haracters)f(presen)o(t)75 2615 y(in)20 b(the)f(v)m(alue)h(of)f(the)g Ft(isearch-terminators)d Fu(v)m(ariable)k(are)f(used)h(to)e(terminate)h(an)g(incremen)o(tal)75 2670 y(searc)o(h.)31 b(If)19 b(that)f(v)m(ariable)i(has)f(not)f(b)q (een)i(assigned)g(a)e(v)m(alue,)j(the)1289 2668 y Fn(h)p 1301 2642 70 2 v 1301 2670 a Fm(ESC)p 1301 2678 V 1368 2668 a Fn(i)1402 2670 y Fu(and)e Fo(C-J)f Fu(c)o(haracters)g(will)p eop %%Page: 4 6 4 5 bop 75 -58 a Fu(4)1322 b(GNU)15 b(Readline)h(Library)75 149 y(terminate)21 b(an)g(incremen)o(tal)i(searc)o(h.)37 b Fo(C-g)21 b Fu(will)i(ab)q(ort)e(an)g(incremen)o(tal)h(searc)o(h)f (and)g(restore)g(the)75 204 y(original)16 b(line.)21 b(When)15 b(the)f(searc)o(h)g(is)h(terminated,)g(the)f(history)h(en)o (try)f(con)o(taining)h(the)g(searc)o(h)f(string)75 259 y(b)q(ecomes)i(the)f(curren)o(t)g(line.)137 325 y(T)l(o)g(\014nd)i (other)e(matc)o(hing)g(en)o(tries)h(in)h(the)e(history)h(list,)g(t)o (yp)q(e)f Fo(C-r)g Fu(or)g Fo(C-s)g Fu(as)h(appropriate.)k(This)75 380 y(will)15 b(searc)o(h)e(bac)o(kw)o(ard)f(or)g(forw)o(ard)g(in)i (the)f(history)g(for)g(the)g(next)g(en)o(try)g(matc)o(hing)g(the)g (searc)o(h)g(string)75 434 y(t)o(yp)q(ed)19 b(so)g(far.)30 b(An)o(y)19 b(other)f(k)o(ey)h(sequence)h(b)q(ound)g(to)e(a)h(Readline) h(command)e(will)j(terminate)e(the)75 489 y(searc)o(h)10 b(and)h(execute)g(that)f(command.)18 b(F)l(or)10 b(instance,)i(a)1063 487 y Fn(h)p 1076 461 76 2 v 1076 489 a Fm(RET)p 1076 497 V 1149 487 a Fn(i)1174 489 y Fu(will)g(terminate)f(the)g(searc)o(h) f(and)h(accept)75 544 y(the)k(line,)h(thereb)o(y)f(executing)g(the)g (command)g(from)f(the)g(history)h(list.)20 b(A)15 b(mo)o(v)o(emen)o(t)f (command)g(will)75 599 y(terminate)h(the)g(searc)o(h,)g(mak)o(e)g(the)g (last)g(line)i(found)f(the)f(curren)o(t)g(line,)h(and)g(b)q(egin)g (editing.)137 665 y(Readline)j(remem)o(b)q(ers)e(the)h(last)f(incremen) o(tal)i(searc)o(h)e(string.)27 b(If)17 b(t)o(w)o(o)f Fo(C-r)p Fu(s)h(are)g(t)o(yp)q(ed)h(without)75 719 y(an)o(y)g(in)o (terv)o(ening)h(c)o(haracters)f(de\014ning)h(a)f(new)h(searc)o(h)f (string,)g(an)o(y)g(remem)o(b)q(ered)h(searc)o(h)f(string)g(is)75 774 y(used.)137 840 y(Non-incremen)o(tal)25 b(searc)o(hes)e(read)h(the) f(en)o(tire)h(searc)o(h)f(string)g(b)q(efore)h(starting)f(to)f(searc)o (h)i(for)75 895 y(matc)o(hing)d(history)h(lines.)39 b(The)22 b(searc)o(h)f(string)g(ma)o(y)g(b)q(e)h(t)o(yp)q(ed)f(b)o(y)h(the)f (user)h(or)e(b)q(e)i(part)f(of)g(the)75 950 y(con)o(ten)o(ts)15 b(of)f(the)i(curren)o(t)f(line.)75 1074 y Fs(1.3)33 b(Readline)23 b(Init)h(File)137 1169 y Fu(Although)f(the)g(Readline)h(library)f (comes)g(with)g(a)f(set)g(of)g(Emacs-lik)o(e)i(k)o(eybindings)g (installed)75 1224 y(b)o(y)d(default,)h(it)f(is)h(p)q(ossible)g(to)e (use)i(a)e(di\013eren)o(t)h(set)g(of)f(k)o(eybindings.)39 b(An)o(y)20 b(user)h(can)g(customize)75 1278 y(programs)15 b(that)h(use)g(Readline)i(b)o(y)e(putting)g(commands)g(in)i(an)e Fk(inputrc)k Fu(\014le,)d(con)o(v)o(en)o(tionally)g(in)g(his)75 1333 y(home)g(directory)l(.)24 b(The)17 b(name)g(of)f(this)h(\014le)g (is)g(tak)o(en)g(from)e(the)i(v)m(alue)h(of)e(the)h(en)o(vironmen)o(t)g (v)m(ariable)75 1388 y Ft(INPUTRC)p Fu(.)i(If)c(that)g(v)m(ariable)h (is)g(unset,)f(the)g(default)h(is)g(`)p Ft(~/.inputrc)p Fu('.)137 1454 y(When)f(a)g(program)f(whic)o(h)h(uses)g(the)g(Readline) h(library)g(starts)d(up,)i(the)g(init)h(\014le)g(is)f(read,)g(and)g (the)75 1509 y(k)o(ey)g(bindings)i(are)e(set.)137 1574 y(In)f(addition,)h(the)e Ft(C-x)i(C-r)e Fu(command)g(re-reads)h(this)g (init)g(\014le,)h(th)o(us)e(incorp)q(orating)h(an)o(y)f(c)o(hanges)75 1629 y(that)h(y)o(ou)h(migh)o(t)g(ha)o(v)o(e)g(made)g(to)g(it.)75 1737 y Fj(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137 1832 y Fu(There)c(are)g(only)g(a)g(few)f(basic)i(constructs)e(allo)o(w) o(ed)i(in)f(the)g(Readline)h(init)g(\014le.)26 b(Blank)18 b(lines)g(are)75 1886 y(ignored.)36 b(Lines)22 b(b)q(eginning)h(with)d (a)h(`)p Ft(#)p Fu(')e(are)h(commen)o(ts.)35 b(Lines)22 b(b)q(eginning)h(with)e(a)f(`)p Ft($)p Fu(')f(indicate)75 1941 y(conditional)c(constructs)f(\(see)g(Section)g(1.3.2)f ([Conditional)h(Init)h(Constructs],)e(page)h(9\).)k(Other)c(lines)75 1996 y(denote)h(v)m(ariable)i(settings)e(and)h(k)o(ey)f(bindings.)75 2073 y(V)l(ariable)h(Settings)315 2128 y(Y)l(ou)k(can)h(mo)q(dify)g (the)f(run-time)h(b)q(eha)o(vior)g(of)e(Readline)j(b)o(y)e(altering)h (the)f(v)m(alues)h(of)315 2182 y(v)m(ariables)d(in)g(Readline)g(using)f (the)g Ft(set)g Fu(command)f(within)i(the)f(init)h(\014le.)26 b(The)17 b(syn)o(tax)315 2237 y(is)f(simple:)435 2300 y Ft(set)23 b Fk(v)m(ariable)28 b(v)m(alue)315 2366 y Fu(Here,)14 b(for)f(example,)h(is)g(ho)o(w)f(to)g(c)o(hange)h(from)f (the)h(default)g(Emacs-lik)o(e)h(k)o(ey)e(binding)j(to)315 2421 y(use)g Ft(vi)e Fu(line)j(editing)g(commands:)435 2484 y Ft(set)23 b(editing-mode)g(vi)315 2549 y Fu(V)l(ariable)c(names) e(and)h(v)m(alues,)h(where)e(appropriate,)h(are)f(recognized)i(without) e(regard)315 2604 y(to)e(case.)315 2670 y(A)g(great)g(deal)g(of)g (run-time)h(b)q(eha)o(vior)g(is)g(c)o(hangeable)g(with)f(the)h(follo)o (wing)f(v)m(ariables.)p eop %%Page: 5 7 5 6 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 b(5)315 149 y Ft(bell-style)555 204 y Fu(Con)o(trols)21 b(what)h(happ)q(ens)h(when)f(Readline)h(w)o(an)o(ts)e(to)g(ring)i(the)f (termi-)555 259 y(nal)d(b)q(ell.)32 b(If)19 b(set)f(to)g(`)p Ft(none)p Fu(',)g(Readline)i(nev)o(er)f(rings)g(the)f(b)q(ell.)32 b(If)19 b(set)g(to)555 314 y(`)p Ft(visible)p Fu(',)c(Readline)i(uses)g (a)f(visible)j(b)q(ell)g(if)e(one)f(is)h(a)o(v)m(ailable.)26 b(If)16 b(set)h(to)555 369 y(`)p Ft(audible)p Fu(')g(\(the)h (default\),)i(Readline)g(attempts)e(to)g(ring)h(the)g(terminal's)555 423 y(b)q(ell.)315 504 y Ft(comment-begin)555 559 y Fu(The)c(string)f (to)g(insert)i(at)d(the)i(b)q(eginning)i(of)d(the)h(line)h(when)f(the)g Ft(insert-)555 614 y(comment)f Fu(command)h(is)h(executed.)21 b(The)15 b(default)h(v)m(alue)g(is)g Ft("#")p Fu(.)315 694 y Ft(completion-ignore-case)555 749 y Fu(If)e(set)f(to)g(`)p Ft(on)p Fu(',)g(Readline)i(p)q(erforms)e(\014lename)i(matc)o(hing)f (and)g(completion)555 804 y(in)i(a)f(case-insensitiv)o(e)i(fashion.)k (The)15 b(default)h(v)m(alue)g(is)g(`)p Ft(off)p Fu('.)315 884 y Ft(completion-query-items)555 939 y Fu(The)d(n)o(um)o(b)q(er)h (of)e(p)q(ossible)j(completions)g(that)d(determines)i(when)g(the)f (user)555 994 y(is)21 b(ask)o(ed)g(whether)g(he)h(w)o(an)o(ts)d(to)i (see)g(the)g(list)h(of)e(p)q(ossibilitie)q(s.)40 b(If)21 b(the)555 1049 y(n)o(um)o(b)q(er)14 b(of)f(p)q(ossible)i(completions)f (is)g(greater)f(than)g(this)h(v)m(alue,)h(Readline)555 1104 y(will)g(ask)e(the)g(user)h(whether)f(or)g(not)g(he)g(wishes)h(to) f(view)h(them;)f(otherwise,)555 1158 y(they)f(are)g(simply)i(listed.)20 b(This)13 b(v)m(ariable)g(m)o(ust)f(b)q(e)h(set)f(to)f(an)h(in)o(teger) h(v)m(alue)555 1213 y(greater)h(than)h(or)g(equal)h(to)f(0.)k(The)d (default)f(limit)i(is)f Ft(100)p Fu(.)315 1294 y Ft(convert-meta)555 1348 y Fu(If)11 b(set)g(to)g(`)p Ft(on)p Fu(',)f(Readline)i(will)h(con) o(v)o(ert)d(c)o(haracters)h(with)g(the)g(eigh)o(th)h(bit)f(set)555 1403 y(to)f(an)h Fp(asci)q(i)e Fu(k)o(ey)i(sequence)g(b)o(y)g (stripping)h(the)e(eigh)o(th)h(bit)h(and)e(pre\014xing)i(an)555 1456 y Fn(h)p 567 1430 70 2 v 567 1458 a Fm(ESC)p 567 1466 V 634 1456 a Fn(i)666 1458 y Fu(c)o(haracter,)k(con)o(v)o(erting)h (them)g(to)f(a)h(meta-pre\014xed)g(k)o(ey)g(sequence.)555 1513 y(The)e(default)h(v)m(alue)h(is)e(`)p Ft(on)p Fu('.)315 1593 y Ft(disable-completion)555 1648 y Fu(If)k(set)f(to)f(`)p Ft(On)p Fu(',)h(Readline)i(will)g(inhibit)g(w)o(ord)e(completion.)30 b(Completion)555 1703 y(c)o(haracters)12 b(will)j(b)q(e)f(inserted)g (in)o(to)f(the)g(line)h(as)f(if)h(they)f(had)g(b)q(een)h(mapp)q(ed)555 1758 y(to)h Ft(self-insert)p Fu(.)j(The)d(default)h(is)g(`)p Ft(off)p Fu('.)315 1838 y Ft(editing-mode)555 1893 y Fu(The)f Ft(editing-mode)d Fu(v)m(ariable)k(con)o(trols)e(whic)o(h)h (default)g(set)f(of)g(k)o(ey)g(bind-)555 1948 y(ings)f(is)g(used.)20 b(By)12 b(default,)i(Readline)f(starts)f(up)h(in)g(Emacs)f(editing)i (mo)q(de,)555 2003 y(where)h(the)f(k)o(eystrok)o(es)g(are)g(most)g (similar)i(to)d(Emacs.)20 b(This)15 b(v)m(ariable)h(can)555 2058 y(b)q(e)g(set)f(to)f(either)i(`)p Ft(emacs)p Fu(')e(or)h(`)p Ft(vi)p Fu('.)315 2138 y Ft(enable-keypad)555 2193 y Fu(When)d(set)f(to)h(`)p Ft(on)p Fu(',)e(Readline)j(will)h(try)d(to)g (enable)i(the)f(application)h(k)o(eypad)555 2248 y(when)h(it)f(is)h (called.)21 b(Some)13 b(systems)g(need)h(this)g(to)f(enable)h(the)g (arro)o(w)e(k)o(eys.)555 2303 y(The)j(default)h(is)g(`)p Ft(off)p Fu('.)315 2383 y Ft(expand-tilde)555 2438 y Fu(If)e(set)g(to)f(`)p Ft(on)p Fu(',)f(tilde)k(expansion)e(is)h(p)q (erformed)f(when)g(Readline)h(attempts)555 2493 y(w)o(ord)g (completion.)21 b(The)15 b(default)h(is)f(`)p Ft(off)p Fu('.)555 2560 y(If)g(set)g(to)f(`)p Ft(on)p Fu(',)g(the)g(history)h (co)q(de)h(attempts)e(to)g(place)i(p)q(oin)o(t)f(at)f(the)h(same)555 2615 y(lo)q(cation)20 b(on)f(eac)o(h)g(history)h(line)g(retriv)o(ed)g (with)f Ft(previous-history)e Fu(or)555 2670 y Ft(next-history)p Fu(.)p eop %%Page: 6 8 6 7 bop 75 -58 a Fu(6)1322 b(GNU)15 b(Readline)h(Library)315 149 y Ft(horizontal-scroll-mode)555 204 y Fu(This)j(v)m(ariable)g(can)f (b)q(e)g(set)g(to)f(either)i(`)p Ft(on)p Fu(')e(or)g(`)p Ft(off)p Fu('.)27 b(Setting)19 b(it)f(to)f(`)p Ft(on)p Fu(')555 259 y(means)c(that)f(the)i(text)e(of)h(the)g(lines)i(b)q(eing) f(edited)g(will)h(scroll)f(horizon)o(tally)555 314 y(on)i(a)f(single)i (screen)g(line)g(when)g(they)f(are)f(longer)h(than)g(the)g(width)g(of)g (the)555 369 y(screen,)e(instead)f(of)g(wrapping)g(on)o(to)f(a)h(new)g (screen)h(line.)21 b(By)13 b(default,)h(this)555 423 y(v)m(ariable)j(is)e(set)g(to)g(`)p Ft(off)p Fu('.)315 506 y Ft(input-meta)555 560 y Fu(If)h(set)f(to)g(`)p Ft(on)p Fu(',)f(Readline)j(will)h(enable)e(eigh)o(t-bit)h(input)f(\(it) g(will)h(not)e(clear)555 615 y(the)20 b(eigh)o(th)g(bit)g(in)h(the)f(c) o(haracters)f(it)h(reads\),)g(regardless)g(of)g(what)f(the)555 670 y(terminal)i(claims)g(it)f(can)g(supp)q(ort.)34 b(The)20 b(default)h(v)m(alue)g(is)g(`)p Ft(off)p Fu('.)33 b(The)555 725 y(name)15 b Ft(meta-flag)f Fu(is)i(a)f(synon)o(ym)g(for)f(this)i(v) m(ariable.)315 807 y Ft(isearch-terminators)555 862 y Fu(The)26 b(string)g(of)f(c)o(haracters)g(that)g(should)i(terminate)f (an)g(incremen)o(tal)555 917 y(searc)o(h)12 b(without)h(subsequen)o (tly)g(executing)h(the)e(c)o(haracter)g(as)g(a)g(command)555 971 y(\(see)22 b(Section)h(1.2.5)e([Searc)o(hing],)j(page)e(3\).)40 b(If)23 b(this)g(v)m(ariable)g(has)f(not)555 1026 y(b)q(een)17 b(giv)o(en)f(a)g(v)m(alue,)g(the)g(c)o(haracters)1247 1024 y Fn(h)p 1259 998 70 2 v 1259 1026 a Fm(ESC)p 1259 1034 V 1326 1024 a Fn(i)1357 1026 y Fu(and)g Fo(C-J)f Fu(will)i(terminate)f(an)555 1081 y(incremen)o(tal)g(searc)o(h.)315 1163 y Ft(keymap)96 b Fu(Sets)19 b(Readline's)i(idea)f(of)f(the)g (curren)o(t)h(k)o(eymap)f(for)f(k)o(ey)i(binding)h(com-)555 1218 y(mands.)41 b(Acceptable)23 b Ft(keymap)f Fu(names)g(are)f Ft(emacs)p Fu(,)i Ft(emacs-standard)p Fu(,)555 1273 y Ft(emacs-meta)p Fu(,)49 b Ft(emacs-ctlx)p Fu(,)g Ft(vi)p Fu(,)h Ft(vi-move)p Fu(,)f Ft(vi-command)p Fu(,)g(and)555 1328 y Ft(vi-insert)p Fu(.)31 b Ft(vi)20 b Fu(is)g(equiv)m(alen)o(t)h (to)e Ft(vi-command)p Fu(;)g Ft(emacs)g Fu(is)h(equiv)m(alen)o(t)555 1382 y(to)15 b Ft(emacs-standard)p Fu(.)20 b(The)d(default)f(v)m(alue)h (is)g Ft(emacs)p Fu(.)k(The)16 b(v)m(alue)h(of)f(the)555 1437 y Ft(editing-mode)e Fu(v)m(ariable)i(also)f(a\013ects)g(the)g (default)h(k)o(eymap.)315 1519 y Ft(mark-directories)555 1574 y Fu(If)j(set)g(to)g(`)p Ft(on)p Fu(',)f(completed)i(directory)g (names)f(ha)o(v)o(e)f(a)h(slash)h(app)q(ended.)555 1629 y(The)15 b(default)h(is)g(`)p Ft(on)p Fu('.)315 1711 y Ft(mark-modified-lines)555 1766 y Fu(This)j(v)m(ariable,)g(when)g (set)e(to)h(`)p Ft(on)p Fu(',)f(causes)h(Readline)h(to)e(displa)o(y)i (an)f(as-)555 1821 y(terisk)f(\(`)p Ft(*)p Fu('\))e(at)i(the)f(start)g (of)h(history)f(lines)j(whic)o(h)e(ha)o(v)o(e)g(b)q(een)h(mo)q (di\014ed.)555 1875 y(This)e(v)m(ariable)g(is)g(`)p Ft(off)p Fu(')e(b)o(y)h(default.)315 1958 y Ft(mark-symlinked-directories)555 2012 y Fu(If)23 b(set)f(to)f(`)p Ft(on)p Fu(',)i(completed)g(names)g (whic)o(h)g(are)f(sym)o(b)q(olic)i(links)f(to)f(di-)555 2067 y(rectories)h(ha)o(v)o(e)g(a)g(slash)g(app)q(ended)i(\(sub)s(ject) e(to)f(the)i(v)m(alue)g(of)f Ft(mark-)555 2122 y(directories)p Fu(\).)18 b(The)d(default)h(is)g(`)p Ft(off)p Fu('.)315 2204 y Ft(match-hidden-files)555 2259 y Fu(This)c(v)m(ariable,)h(when)e (set)g(to)g(`)p Ft(on)p Fu(',)f(causes)h(Readline)i(to)d(matc)o(h)h (\014les)h(whose)555 2314 y(names)22 b(b)q(egin)h(with)g(a)e(`)p Ft(.)p Fu(')h(\(hidden)h(\014les\))g(when)f(p)q(erforming)h(\014lename) 555 2369 y(completion,)g(unless)f(the)f(leading)h(`)p Ft(.)p Fu(')e(is)h(supplied)i(b)o(y)e(the)f(user)h(in)h(the)555 2423 y(\014lename)16 b(to)f(b)q(e)h(completed.)21 b(This)15 b(v)m(ariable)i(is)f(`)p Ft(on)p Fu(')e(b)o(y)h(default.)315 2506 y Ft(output-meta)555 2560 y Fu(If)j(set)f(to)g(`)p Ft(on)p Fu(',)g(Readline)i(will)h(displa)o(y)f(c)o(haracters)d(with)j (the)e(eigh)o(th)h(bit)555 2615 y(set)g(directly)i(rather)d(than)h(as)g (a)g(meta-pre\014xed)h(escap)q(e)g(sequence.)30 b(The)555 2670 y(default)16 b(is)f(`)p Ft(off)p Fu('.)p eop %%Page: 7 9 7 8 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 b(7)315 149 y Ft(page-completions)555 204 y Fu(If)17 b(set)g(to)f(`)p Ft(on)p Fu(',)g(Readline)i(uses)g(an)e(in)o(ternal)i Ft(more)p Fu(-lik)o(e)g(pager)f(to)f(displa)o(y)555 259 y(a)g(screenful)h(of)f(p)q(ossible)i(completions)f(at)f(a)g(time.)23 b(This)17 b(v)m(ariable)g(is)g(`)p Ft(on)p Fu(')555 314 y(b)o(y)e(default.)315 395 y Ft(print-completions-horizont)o(ally)555 450 y Fu(If)d(set)g(to)f(`)p Ft(on)p Fu(',)h(Readline)h(will)g(displa)o (y)h(completions)f(with)f(matc)o(hes)f(sorted)555 505 y(horizon)o(tally)23 b(in)f(alphab)q(etical)i(order,)f(rather)e(than)g (do)o(wn)h(the)g(screen.)555 560 y(The)15 b(default)h(is)g(`)p Ft(off)p Fu('.)315 641 y Ft(show-all-if-ambiguous)555 696 y Fu(This)g(alters)e(the)i(default)f(b)q(eha)o(vior)h(of)e(the)h (completion)h(functions.)21 b(If)15 b(set)555 751 y(to)e(`)p Ft(on)p Fu(',)g(w)o(ords)g(whic)o(h)h(ha)o(v)o(e)g(more)f(than)g(one)h (p)q(ossible)i(completion)f(cause)555 806 y(the)20 b(matc)o(hes)f(to)f (b)q(e)j(listed)f(immediately)h(instead)f(of)f(ringing)i(the)e(b)q (ell.)555 861 y(The)c(default)h(v)m(alue)h(is)e(`)p Ft(off)p Fu('.)315 942 y Ft(visible-stats)555 997 y Fu(If)h(set)g(to)f(`)p Ft(on)p Fu(',)g(a)h(c)o(haracter)f(denoting)h(a)g(\014le's)h(t)o(yp)q (e)f(is)g(app)q(ended)i(to)d(the)555 1052 y(\014lename)h(when)g (listing)h(p)q(ossible)g(completions.)j(The)c(default)g(is)f(`)p Ft(off)p Fu('.)75 1133 y(Key)h(Bindings)315 1188 y(The)21 b(syn)o(tax)f(for)h(con)o(trolling)h(k)o(ey)f(bindings)h(in)g(the)f (init)h(\014le)g(is)g(simple.)39 b(First)20 b(y)o(ou)315 1243 y(need)15 b(to)e(\014nd)h(the)g(name)g(of)g(the)f(command)h(that)f (y)o(ou)h(w)o(an)o(t)f(to)g(c)o(hange.)19 b(The)14 b(follo)o(wing)315 1298 y(sections)k(con)o(tain)h(tables)f(of)f(the)h(command)g(name,)g (the)g(default)h(k)o(eybinding,)h(if)e(an)o(y)l(,)315 1353 y(and)d(a)g(short)g(description)i(of)d(what)h(the)g(command)g(do)q (es.)315 1421 y(Once)k(y)o(ou)f(kno)o(w)f(the)h(name)g(of)g(the)g (command,)g(simply)h(place)g(on)f(a)f(line)j(in)f(the)f(init)315 1476 y(\014le)g(the)f(name)g(of)f(the)h(k)o(ey)g(y)o(ou)f(wish)i(to)e (bind)i(the)f(command)g(to,)f(a)g(colon,)i(and)f(then)315 1530 y(the)f(name)g(of)g(the)g(command.)22 b(The)16 b(name)g(of)g(the)g (k)o(ey)f(can)i(b)q(e)f(expressed)h(in)g(di\013eren)o(t)315 1585 y(w)o(a)o(ys,)d(dep)q(ending)j(on)e(what)g(y)o(ou)g(\014nd)h(most) e(comfortable.)315 1653 y(In)19 b(addition)g(to)e(command)h(names,)g (readline)i(allo)o(ws)e(k)o(eys)g(to)f(b)q(e)i(b)q(ound)g(to)e(a)h (string)315 1708 y(that)c(is)i(inserted)g(when)g(the)f(k)o(ey)g(is)h (pressed)g(\(a)e Fk(macro)r Fu(\).)315 1790 y Fk(k)o(eyname)s Fu(:)19 b Fk(function-name)g Fu(or)c Fk(macro)555 1845 y(k)o(eyname)i Fu(is)e(the)f(name)h(of)f(a)g(k)o(ey)g(sp)q(elled)j(out) d(in)h(English.)21 b(F)l(or)13 b(example:)675 1910 y Ft(Control-u:)22 b(universal-argument)675 1962 y(Meta-Rubout:)g (backward-kill-word)675 2014 y(Control-o:)g(">)i(output")555 2082 y Fu(In)c(the)f(ab)q(o)o(v)o(e)g(example,)i Fo(C-u)e Fu(is)h(b)q(ound)g(to)f(the)g(function)h Ft(universal-)555 2137 y(argument)p Fu(,)e Fo(M-DEL)h Fu(is)g(b)q(ound)h(to)e(the)h (function)h Ft(backward-kill-word)p Fu(,)555 2191 y(and)g Fo(C-o)f Fu(is)h(b)q(ound)g(to)f(run)h(the)f(macro)g(expressed)h(on)g (the)f(righ)o(t)h(hand)555 2246 y(side)c(\(that)e(is,)i(to)e(insert)i (the)f(text)g(`)p Ft(>)f(output)p Fu(')g(in)o(to)i(the)f(line\).)555 2314 y(A)k(n)o(um)o(b)q(er)f(of)g(sym)o(b)q(olic)i(c)o(haracter)e (names)g(are)g(recognized)i(while)g(pro-)555 2369 y(cessing)13 b(this)f(k)o(ey)g(binding)h(syn)o(tax:)18 b Fk(DEL)p Fu(,)11 b Fk(ESC)p Fu(,)h Fk(ESCAPE)p Fu(,)f Fk(LFD)p Fu(,)g Fk(NEW-)555 2424 y(LINE)p Fu(,)16 b Fk(RET)p Fu(,)e Fk(RETURN)p Fu(,)f Fk(R)o(UBOUT)p Fu(,)i Fk(SP)l(A)o(CE)p Fu(,)g Fk(SPC)p Fu(,)f(and)i Fk(T)l(AB)p Fu(.)315 2506 y Ft(")p Fk(k)o(eyseq)q Ft(")p Fu(:)k Fk(function-name)e Fu(or)d Fk(macro)555 2560 y(k)o(eyseq)i Fu(di\013ers)e(from)g Fk(k)o(eyname)j Fu(ab)q(o)o(v)o(e)d(in)i(that)d(strings)i(denoting)g (an)f(en-)555 2615 y(tire)i(k)o(ey)g(sequence)h(can)f(b)q(e)g(sp)q (eci\014ed,)i(b)o(y)e(placing)h(the)f(k)o(ey)g(sequence)h(in)555 2670 y(double)e(quotes.)j(Some)c Fp(gnu)g Fu(Emacs)f(st)o(yle)h(k)o(ey) g(escap)q(es)g(can)g(b)q(e)g(used,)g(as)p eop %%Page: 8 10 8 9 bop 75 -58 a Fu(8)1322 b(GNU)15 b(Readline)h(Library)555 149 y(in)i(the)f(follo)o(wing)g(example,)h(but)f(the)g(sp)q(ecial)i(c)o (haracter)d(names)h(are)f(not)555 204 y(recognized.)675 270 y Ft("\\C-u":)23 b(universal-argument)675 322 y("\\C-x\\C-r":)f (re-read-init-file)675 373 y("\\e[11~":)h("Function)f(Key)i(1")555 442 y Fu(In)33 b(the)f(ab)q(o)o(v)o(e)g(example,)37 b Fo(C-u)32 b Fu(is)h(again)f(b)q(ound)h(to)f(the)g(function)555 497 y Ft(universal-argument)19 b Fu(\(just)j(as)f(it)h(w)o(as)f(in)i (the)f(\014rst)f(example\),)j(`)p Fo(C-x)555 551 y(C-r)p Fu(')c(is)h(b)q(ound)g(to)f(the)h(function)g Ft(re-read-init-file)p Fu(,)f(and)g(`)1731 549 y Fn(h)p 1743 523 70 2 v 1743 551 a Fm(ESC)p 1743 559 V 1810 549 a Fn(i)15 b(h)p 1852 523 10 2 v 1852 551 a Fm([)p 1852 560 V 1860 549 a Fn(i)555 604 y(h)p 567 578 18 2 v 567 606 a Fm(1)p 567 614 V 583 604 a Fn(i)g(h)p 625 578 V 625 606 a Fm(1)p 625 614 V 640 604 a Fn(i)g(h)p 683 578 24 2 v 683 606 a Ft(~)p 683 614 V 704 604 a Fn(i)719 606 y Fu(')g(is)h(b)q(ound)g(to)e(insert)i (the)f(text)g(`)p Ft(Function)f(Key)g(1)p Fu('.)315 688 y(The)h(follo)o(wing)h Fp(gnu)e Fu(Emacs)h(st)o(yle)g(escap)q(e)h (sequences)g(are)e(a)o(v)m(ailable)j(when)e(sp)q(ecifying)315 743 y(k)o(ey)g(sequences:)315 825 y Fo(\\C-)168 b Fu(con)o(trol)15 b(pre\014x)315 907 y Fo(\\M-)168 b Fu(meta)15 b(pre\014x)315 989 y Fo(\\e)192 b Fu(an)15 b(escap)q(e)h(c)o(haracter)315 1071 y Fo(\\\\)192 b Fu(bac)o(kslash)315 1152 y Fo(\\)p Ft(")555 1150 y Fn(h)p 567 1124 V 567 1152 a Ft(")p 567 1160 V 589 1150 a Fn(i)604 1152 y Fu(,)15 b(a)f(double)j(quotation)e (mark)315 1234 y Fo(\\')555 1232 y Fn(h)p 567 1206 10 2 v 567 1234 a Fm(')p 567 1242 V 575 1232 a Fn(i)590 1234 y Fu(,)g(a)f(single)j(quote)e(or)g(ap)q(ostrophe)315 1316 y(In)f(addition)h(to)f(the)f Fp(gnu)h Fu(Emacs)g(st)o(yle)f(escap) q(e)i(sequences,)g(a)e(second)i(set)e(of)h(bac)o(kslash)315 1371 y(escap)q(es)i(is)g(a)o(v)m(ailable:)315 1453 y Ft(\\a)192 b Fu(alert)15 b(\(b)q(ell\))315 1535 y Ft(\\b)192 b Fu(bac)o(kspace)315 1617 y Ft(\\d)g Fu(delete)315 1699 y Ft(\\f)g Fu(form)14 b(feed)315 1781 y Ft(\\n)192 b Fu(newline)315 1862 y Ft(\\r)g Fu(carriage)15 b(return)315 1944 y Ft(\\t)192 b Fu(horizon)o(tal)16 b(tab)315 2026 y Ft(\\v)192 b Fu(v)o(ertical)16 b(tab)315 2108 y Ft(\\)p Fk(nnn)141 b Fu(the)17 b(eigh)o(t-bit)h(c)o(haracter)f(whose)g(v)m (alue)i(is)e(the)h(o)q(ctal)f(v)m(alue)i Fk(nnn)f Fu(\(one)f(to)555 2163 y(three)e(digits\))315 2245 y Ft(\\x)p Fk(HH)124 b Fu(the)20 b(eigh)o(t-bit)g(c)o(haracter)f(whose)h(v)m(alue)h(is)f (the)g(hexadecimal)h(v)m(alue)g Fk(HH)555 2300 y Fu(\(one)15 b(or)g(t)o(w)o(o)f(hex)h(digits\))315 2382 y(When)k(en)o(tering)g(the)g (text)f(of)g(a)h(macro,)f(single)i(or)e(double)i(quotes)f(m)o(ust)f(b)q (e)h(used)h(to)315 2436 y(indicate)12 b(a)f(macro)f(de\014nition.)20 b(Unquoted)11 b(text)f(is)i(assumed)e(to)h(b)q(e)g(a)f(function)i (name.)18 b(In)315 2491 y(the)11 b(macro)f(b)q(o)q(dy)l(,)i(the)f(bac)o (kslash)g(escap)q(es)g(describ)q(ed)i(ab)q(o)o(v)o(e)d(are)g(expanded.) 20 b(Bac)o(kslash)315 2546 y(will)i(quote)d(an)o(y)h(other)g(c)o (haracter)f(in)i(the)f(macro)f(text,)h(including)j(`)p Ft(")p Fu(')c(and)h(`)p Ft(')p Fu('.)34 b(F)l(or)315 2601 y(example,)14 b(the)f(follo)o(wing)g(binding)i(will)g(mak)o(e)d(`) p Fo(C-x)i Ft(\\)p Fu(')f(insert)g(a)g(single)h(`)p Ft(\\)p Fu(')e(in)o(to)h(the)g(line:)435 2666 y Ft("\\C-x\\\\":)23 b("\\\\")p eop %%Page: 9 11 9 10 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1077 b(9)75 149 y Fj(1.3.2)30 b(Conditional)20 b(Init)g(Constructs)137 246 y Fu(Readline)f(implemen)o(ts)g(a)f(facilit)o(y)g(similar)h(in)g (spirit)f(to)f(the)h(conditional)h(compilation)g(features)75 301 y(of)e(the)g(C)g(prepro)q(cessor)g(whic)o(h)i(allo)o(ws)e(k)o(ey)g (bindings)i(and)f(v)m(ariable)g(settings)f(to)g(b)q(e)h(p)q(erformed)f (as)75 355 y(the)e(result)h(of)f(tests.)k(There)c(are)g(four)g(parser)g (directiv)o(es)h(used.)75 435 y Ft($if)168 b Fu(The)16 b Ft($if)f Fu(construct)g(allo)o(ws)h(bindings)i(to)d(b)q(e)h(made)g (based)g(on)f(the)h(editing)h(mo)q(de,)f(the)315 490 y(terminal)k(b)q(eing)g(used,)g(or)f(the)g(application)i(using)e (Readline.)33 b(The)19 b(text)g(of)f(the)i(test)315 545 y(extends)c(to)e(the)h(end)h(of)f(the)g(line;)i(no)e(c)o(haracters)f (are)h(required)i(to)d(isolate)i(it.)315 624 y Ft(mode)144 b Fu(The)11 b Ft(mode=)e Fu(form)h(of)g(the)h Ft($if)f Fu(directiv)o(e)h(is)g(used)g(to)f(test)g(whether)h(Readline)555 679 y(is)k(in)h Ft(emacs)e Fu(or)g Ft(vi)g Fu(mo)q(de.)20 b(This)c(ma)o(y)e(b)q(e)h(used)g(in)h(conjunction)g(with)f(the)555 734 y(`)p Ft(set)f(keymap)p Fu(')f(command,)g(for)h(instance,)g(to)f (set)h(bindings)h(in)g(the)f Ft(emacs-)555 789 y(standard)d Fu(and)i Ft(emacs-ctlx)e Fu(k)o(eymaps)h(only)i(if)f(Readline)g(is)g (starting)f(out)555 844 y(in)k Ft(emacs)f Fu(mo)q(de.)315 923 y Ft(term)144 b Fu(The)14 b Ft(term=)e Fu(form)h(ma)o(y)g(b)q(e)h (used)g(to)f(include)j(terminal-sp)q(eci\014c)g(k)o(ey)d(bind-)555 978 y(ings,)19 b(p)q(erhaps)g(to)e(bind)i(the)g(k)o(ey)e(sequences)j (output)e(b)o(y)g(the)g(terminal's)555 1033 y(function)13 b(k)o(eys.)18 b(The)13 b(w)o(ord)e(on)h(the)g(righ)o(t)g(side)g(of)g (the)g(`)p Ft(=)p Fu(')f(is)h(tested)g(against)555 1088 y(b)q(oth)j(the)g(full)i(name)e(of)f(the)h(terminal)h(and)f(the)g(p)q (ortion)h(of)e(the)h(terminal)555 1142 y(name)i(b)q(efore)g(the)g (\014rst)f(`)p Ft(-)p Fu('.)24 b(This)17 b(allo)o(ws)g Ft(sun)f Fu(to)g(matc)o(h)h(b)q(oth)f Ft(sun)h Fu(and)555 1197 y Ft(sun-cmd)p Fu(,)d(for)g(instance.)315 1277 y Ft(application)555 1332 y Fu(The)d Fk(application)i Fu(construct)e(is)g (used)h(to)e(include)j(application-sp)q(eci)q(\014c)h(set-)555 1386 y(tings.)19 b(Eac)o(h)12 b(program)f(using)j(the)e(Readline)i (library)f(sets)f(the)g Fk(application)555 1441 y(name)p Fu(,)g(and)g(y)o(ou)f(can)h(test)f(for)g(a)g(particular)h(v)m(alue.)20 b(This)12 b(could)h(b)q(e)f(used)h(to)555 1496 y(bind)18 b(k)o(ey)e(sequences)i(to)d(functions)j(useful)f(for)f(a)g(sp)q (eci\014c)i(program.)23 b(F)l(or)555 1551 y(instance,)17 b(the)g(follo)o(wing)g(command)g(adds)f(a)g(k)o(ey)h(sequence)g(that)f (quotes)555 1606 y(the)f(curren)o(t)g(or)g(previous)h(w)o(ord)e(in)j (Bash:)675 1670 y Ft($if)23 b(Bash)675 1722 y(#)h(Quote)f(the)g (current)g(or)h(previous)f(word)675 1774 y("\\C-xq":)g ("\\eb\\"\\ef\\"")675 1826 y($endif)75 1905 y($endif)96 b Fu(This)16 b(command,)e(as)h(seen)h(in)g(the)f(previous)h(example,)g (terminates)f(an)g Ft($if)f Fu(command.)75 1985 y Ft($else)120 b Fu(Commands)15 b(in)h(this)f(branc)o(h)h(of)e(the)i Ft($if)e Fu(directiv)o(e)j(are)e(executed)h(if)g(the)f(test)g(fails.)75 2065 y Ft($include)48 b Fu(This)22 b(directiv)o(e)h(tak)o(es)e(a)h (single)h(\014lename)g(as)e(an)h(argumen)o(t)f(and)h(reads)f(commands) 315 2120 y(and)e(bindings)j(from)c(that)h(\014le.)33 b(F)l(or)19 b(example,)i(the)e(follo)o(wing)h(directiv)o(e)h(reads)e (from)315 2174 y(`)p Ft(/etc/inputrc)p Fu(':)435 2239 y Ft($include)k(/etc/inputrc)75 2351 y Fj(1.3.3)30 b(Sample)20 b(Init)h(File)137 2447 y Fu(Here)16 b(is)g(an)f(example)h(of)f(an)g Fk(inputrc)k Fu(\014le.)i(This)16 b(illustrates)g(k)o(ey)f(binding,)i (v)m(ariable)f(assignmen)o(t,)75 2502 y(and)f(conditional)i(syn)o(tax.) p eop %%Page: 10 12 10 11 bop 75 -58 a Fu(10)1299 b(GNU)15 b(Readline)h(Library)195 201 y Ft(#)24 b(This)f(file)g(controls)g(the)h(behaviour)e(of)i(line)f (input)g(editing)g(for)195 253 y(#)h(programs)e(that)i(use)f(the)h(GNU) f(Readline)g(library.)47 b(Existing)195 305 y(#)24 b(programs)e (include)h(FTP,)h(Bash,)f(and)g(GDB.)195 357 y(#)195 409 y(#)h(You)f(can)h(re-read)f(the)g(inputrc)g(file)g(with)h(C-x)f (C-r.)195 461 y(#)h(Lines)f(beginning)g(with)g('#')g(are)h(comments.) 195 513 y(#)195 565 y(#)g(First,)f(include)g(any)g(systemwide)g (bindings)f(and)i(variable)195 616 y(#)g(assignments)e(from)h (/etc/Inputrc)195 668 y($include)g(/etc/Inputrc)195 772 y(#)195 824 y(#)h(Set)f(various)g(bindings)g(for)g(emacs)g(mode.)195 928 y(set)g(editing-mode)g(emacs)195 1032 y($if)g(mode=emacs)195 1135 y(Meta-Control-h:)46 b(backward-kill-word)21 b(Text)i(after)h(the) f(function)g(name)g(is)h(ignored)p 1986 1145 21 38 v 195 1239 a(#)195 1291 y(#)g(Arrow)f(keys)g(in)h(keypad)f(mode)195 1343 y(#)195 1395 y(#"\\M-OD":)190 b(backward-char)195 1447 y(#"\\M-OC":)g(forward-char)195 1499 y(#"\\M-OA":)g (previous-history)195 1550 y(#"\\M-OB":)g(next-history)195 1602 y(#)195 1654 y(#)24 b(Arrow)f(keys)g(in)h(ANSI)f(mode)195 1706 y(#)195 1758 y("\\M-[D":)190 b(backward-char)195 1810 y("\\M-[C":)g(forward-char)195 1862 y("\\M-[A":)g (previous-history)195 1914 y("\\M-[B":)g(next-history)195 1966 y(#)195 2017 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(keypad)g(mode) 195 2069 y(#)195 2121 y(#"\\M-\\C-OD":)165 b(backward-char)195 2173 y(#"\\M-\\C-OC":)g(forward-char)195 2225 y(#"\\M-\\C-OA":)g (previous-history)195 2277 y(#"\\M-\\C-OB":)g(next-history)195 2329 y(#)195 2381 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(ANSI)g(mode) 195 2433 y(#)195 2484 y(#"\\M-\\C-[D":)165 b(backward-char)195 2536 y(#"\\M-\\C-[C":)g(forward-char)195 2588 y(#"\\M-\\C-[A":)g (previous-history)195 2640 y(#"\\M-\\C-[B":)g(next-history)p eop %%Page: 11 13 11 12 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 b(11)195 201 y Ft(C-q:)23 b(quoted-insert)195 305 y($endif)195 409 y(#)h(An)f(old-style)g(binding.)47 b(This)23 b(happens)g(to)g(be)h (the)f(default.)195 461 y(TAB:)g(complete)195 565 y(#)h(Macros)f(that)g (are)h(convenient)e(for)h(shell)h(interaction)195 616 y($if)f(Bash)195 668 y(#)h(edit)f(the)g(path)195 720 y("\\C-xp":)g("PATH=${PATH}\\e\\C-e\\C-a\\)o(ef\\C-f")195 772 y(#)h(prepare)f(to)g(type)h(a)f(quoted)g(word)h(--)195 824 y(#)g(insert)f(open)g(and)h(close)f(double)g(quotes)195 876 y(#)h(and)f(move)g(to)h(just)f(after)h(the)f(open)g(quote)195 928 y("\\C-x\\"":)g("\\"\\"\\C-b")195 980 y(#)h(insert)f(a)g(backslash) g(\(testing)g(backslash)g(escapes)195 1032 y(#)h(in)f(sequences)g(and)g (macros\))195 1083 y("\\C-x\\\\":)g("\\\\")195 1135 y(#)h(Quote)f(the)g (current)g(or)h(previous)f(word)195 1187 y("\\C-xq":)g ("\\eb\\"\\ef\\"")195 1239 y(#)h(Add)f(a)h(binding)f(to)g(refresh)g (the)h(line,)f(which)g(is)h(unbound)195 1291 y("\\C-xr":)f (redraw-current-line)195 1343 y(#)h(Edit)f(variable)g(on)g(current)g (line.)195 1395 y("\\M-\\C-v":)f("\\C-a\\C-k$\\C-y\\M-\\C-e\\C-a\\C-y=) o(")195 1447 y($endif)195 1550 y(#)i(use)f(a)h(visible)f(bell)g(if)h (one)f(is)h(available)195 1602 y(set)f(bell-style)g(visible)195 1706 y(#)h(don't)f(strip)g(characters)g(to)g(7)h(bits)f(when)h(reading) 195 1758 y(set)f(input-meta)g(on)195 1862 y(#)h(allow)f(iso-latin1)f (characters)h(to)g(be)h(inserted)f(rather)195 1914 y(#)h(than)f (converted)g(to)g(prefix-meta)g(sequences)195 1966 y(set)g (convert-meta)g(off)195 2069 y(#)h(display)f(characters)f(with)h(the)h (eighth)f(bit)g(set)h(directly)195 2121 y(#)g(rather)f(than)g(as)h (meta-prefixed)e(characters)195 2173 y(set)h(output-meta)g(on)195 2277 y(#)h(if)f(there)g(are)h(more)f(than)h(150)f(possible)g (completions)f(for)195 2329 y(#)i(a)f(word,)h(ask)f(the)h(user)f(if)g (he)h(wants)f(to)h(see)f(all)h(of)f(them)195 2381 y(set)g (completion-query-items)e(150)195 2484 y(#)j(For)f(FTP)195 2536 y($if)g(Ftp)195 2588 y("\\C-xg":)g("get)g(\\M-?")195 2640 y("\\C-xt":)g("put)g(\\M-?")p eop %%Page: 12 14 12 13 bop 75 -58 a Fu(12)1299 b(GNU)15 b(Readline)h(Library)195 149 y Ft("\\M-.":)23 b(yank-last-arg)195 201 y($endif)75 329 y Fs(1.4)33 b(Bindable)24 b(Readline)f(Commands)137 425 y Fu(This)17 b(section)f(describ)q(es)h(Readline)g(commands)f(that) e(ma)o(y)h(b)q(e)i(b)q(ound)f(to)f(k)o(ey)h(sequences.)22 b(Com-)75 480 y(mand)15 b(names)g(without)h(an)f(accompan)o(ying)g(k)o (ey)g(sequence)i(are)e(un)o(b)q(ound)h(b)o(y)f(default.)137 547 y(In)f(the)f(follo)o(wing)h(descriptions,)h Fk(p)q(oin)o(t)f Fu(refers)f(to)g(the)g(curren)o(t)g(cursor)f(p)q(osition,)j(and)e Fk(mark)i Fu(refers)75 601 y(to)k(a)g(cursor)g(p)q(osition)h(sa)o(v)o (ed)f(b)o(y)h(the)f Ft(set-mark)g Fu(command.)32 b(The)20 b(text)f(b)q(et)o(w)o(een)g(the)h(p)q(oin)o(t)g(and)75 656 y(mark)15 b(is)g(referred)h(to)e(as)h(the)g Fk(region)p Fu(.)75 767 y Fj(1.4.1)30 b(Commands)21 b(F)-5 b(or)19 b(Mo)n(ving)75 888 y Ft(beginning-of-line)13 b(\(C-a\))315 942 y Fu(Mo)o(v)o(e)h(to)h(the)g(start)f(of)h(the)g(curren)o(t)g(line.) 75 1034 y Ft(end-of-line)f(\(C-e\))315 1088 y Fu(Mo)o(v)o(e)g(to)h(the) g(end)h(of)f(the)g(line.)75 1179 y Ft(forward-char)f(\(C-f\))315 1234 y Fu(Mo)o(v)o(e)g(forw)o(ard)g(a)h(c)o(haracter.)75 1325 y Ft(backward-char)e(\(C-b\))315 1380 y Fu(Mo)o(v)o(e)h(bac)o(k)h (a)g(c)o(haracter.)75 1471 y Ft(forward-word)f(\(M-f\))315 1526 y Fu(Mo)o(v)o(e)g(forw)o(ard)g(to)g(the)i(end)g(of)e(the)h(next)h (w)o(ord.)j(W)l(ords)c(are)f(comp)q(osed)i(of)f(letters)g(and)315 1581 y(digits.)75 1672 y Ft(backward-word)e(\(M-b\))315 1727 y Fu(Mo)o(v)o(e)j(bac)o(k)g(to)h(the)f(start)g(of)g(the)h(curren)o (t)g(or)f(previous)i(w)o(ord.)24 b(W)l(ords)16 b(are)h(comp)q(osed)315 1782 y(of)e(letters)g(and)g(digits.)75 1873 y Ft(clear-screen)f (\(C-l\))315 1928 y Fu(Clear)f(the)h(screen)g(and)f(redra)o(w)g(the)g (curren)o(t)g(line,)i(lea)o(ving)g(the)e(curren)o(t)g(line)i(at)e(the)g (top)315 1982 y(of)i(the)g(screen.)75 2074 y Ft(redraw-current-line)e (\(\))315 2128 y Fu(Refresh)i(the)g(curren)o(t)g(line.)22 b(By)15 b(default,)h(this)f(is)h(un)o(b)q(ound.)75 2239 y Fj(1.4.2)30 b(Commands)21 b(F)-5 b(or)19 b(Manipulating)i(The)f (History)75 2360 y Ft(accept-line)14 b(\(Newline)g(or)h(Return\))315 2414 y Fu(Accept)j(the)g(line)h(regardless)f(of)f(where)h(the)g(cursor) f(is.)27 b(If)18 b(this)g(line)h(is)g(non-empt)o(y)l(,)f(it)315 2469 y(ma)o(y)d(b)q(e)i(added)f(to)g(the)g(history)g(list)g(for)g (future)g(recall)h(with)f Ft(add_history\(\))p Fu(.)k(If)d(this)315 2524 y(line)g(is)f(a)e(mo)q(di\014ed)j(history)e(line,)i(the)e(history) g(line)i(is)f(restored)e(to)h(its)g(original)i(state.)75 2615 y Ft(previous-history)c(\(C-p\))315 2670 y Fu(Mo)o(v)o(e)h(`bac)o (k')h(through)f(the)i(history)f(list,)g(fetc)o(hing)h(the)f(previous)h (command.)p eop %%Page: 13 15 13 14 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 b(13)75 149 y Ft(next-history)14 b(\(C-n\))315 204 y Fu(Mo)o(v)o(e)g(`forw)o(ard')f(through)i(the)h(history)f(list,)g(fetc)o (hing)h(the)f(next)h(command.)75 307 y Ft(beginning-of-history)c (\(M-<\))315 362 y Fu(Mo)o(v)o(e)i(to)h(the)g(\014rst)g(line)i(in)f (the)f(history)l(.)75 465 y Ft(end-of-history)e(\(M->\))315 520 y Fu(Mo)o(v)o(e)h(to)h(the)g(end)h(of)f(the)g(input)h(history)l(,)f (i.e.,)g(the)g(line)i(curren)o(tly)f(b)q(eing)g(en)o(tered.)75 624 y Ft(reverse-search-history)c(\(C-r\))315 678 y Fu(Searc)o(h)k(bac) o(kw)o(ard)e(starting)h(at)g(the)h(curren)o(t)f(line)j(and)d(mo)o(ving) h(`up')f(through)g(the)h(his-)315 733 y(tory)e(as)h(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 836 y Ft(forward-search-history)c(\(C-s\))315 891 y Fu(Searc)o(h)j(forw)o (ard)e(starting)h(at)h(the)f(curren)o(t)h(line)h(and)f(mo)o(ving)g(`do) o(wn')f(through)g(the)h(the)315 946 y(history)g(as)g(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 1049 y Ft(non-incremental-reverse-se)o(arch-hi)o(story)c(\(M-p\))315 1104 y Fu(Searc)o(h)k(bac)o(kw)o(ard)e(starting)h(at)g(the)h(curren)o (t)f(line)j(and)d(mo)o(ving)h(`up')f(through)g(the)h(his-)315 1159 y(tory)h(as)h(necessary)g(using)h(a)e(non-incremen)o(tal)j(searc)o (h)e(for)f(a)h(string)g(supplied)i(b)o(y)e(the)315 1214 y(user.)75 1317 y Ft(non-incremental-forward-se)o(arch-hi)o(story)12 b(\(M-n\))315 1372 y Fu(Searc)o(h)j(forw)o(ard)e(starting)h(at)h(the)f (curren)o(t)h(line)h(and)f(mo)o(ving)g(`do)o(wn')f(through)g(the)h(the) 315 1426 y(history)e(as)g(necessary)h(using)g(a)f(non-incremen)o(tal)i (searc)o(h)e(for)g(a)g(string)g(supplied)j(b)o(y)d(the)315 1481 y(user.)75 1584 y Ft(history-search-forward)f(\(\))315 1639 y Fu(Searc)o(h)21 b(forw)o(ard)e(through)i(the)f(history)h(for)f (the)h(string)g(of)f(c)o(haracters)g(b)q(et)o(w)o(een)h(the)315 1694 y(start)16 b(of)h(the)h(curren)o(t)g(line)h(and)e(the)h(p)q(oin)o (t.)28 b(This)18 b(is)g(a)f(non-incremen)o(tal)i(searc)o(h.)27 b(By)315 1749 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 1852 y Ft(history-search-backward)c(\(\))315 1907 y Fu(Searc)o(h)18 b(bac)o(kw)o(ard)e(through)h(the)h(history)f(for)g(the)g(string)h(of)f (c)o(haracters)f(b)q(et)o(w)o(een)i(the)315 1962 y(start)e(of)h(the)h (curren)o(t)g(line)h(and)e(the)h(p)q(oin)o(t.)28 b(This)18 b(is)g(a)f(non-incremen)o(tal)i(searc)o(h.)27 b(By)315 2016 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 2120 y Ft(yank-nth-arg)e(\(M-C-y\))315 2174 y Fu(Insert)f(the)g (\014rst)g(argumen)o(t)f(to)g(the)i(previous)f(command)g(\(usually)h (the)f(second)h(w)o(ord)e(on)315 2229 y(the)j(previous)h(line\))g(at)e (p)q(oin)o(t.)21 b(With)15 b(an)g(argumen)o(t)f Fk(n)p Fu(,)h(insert)g(the)g Fk(n)p Fu(th)g(w)o(ord)g(from)f(the)315 2284 y(previous)g(command)g(\(the)f(w)o(ords)f(in)j(the)e(previous)i (command)e(b)q(egin)i(with)e(w)o(ord)g(0\).)19 b(A)315 2339 y(negativ)o(e)13 b(argumen)o(t)f(inserts)h(the)g Fk(n)p Fu(th)g(w)o(ord)f(from)g(the)h(end)h(of)e(the)h(previous)g (command.)75 2442 y Ft(yank-last-arg)g(\(M-.)i(or)g(M-_\))315 2497 y Fu(Insert)j(last)f(argumen)o(t)g(to)g(the)g(previous)i(command)e (\(the)g(last)h(w)o(ord)f(of)g(the)g(previous)315 2552 y(history)e(en)o(try\).)20 b(With)15 b(an)g(argumen)o(t,)g(b)q(eha)o(v) o(e)g(exactly)h(lik)o(e)g Ft(yank-nth-arg)p Fu(.)j(Succes-)315 2606 y(siv)o(e)f(calls)g(to)f Ft(yank-last-arg)e Fu(mo)o(v)o(e)i(bac)o (k)g(through)g(the)g(history)g(list,)i(inserting)f(the)315 2661 y(last)d(argumen)o(t)g(of)f(eac)o(h)i(line)g(in)g(turn.)p eop %%Page: 14 16 14 15 bop 75 -58 a Fu(14)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fj(1.4.3)30 b(Commands)21 b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75 286 y Ft(delete-char)14 b(\(C-d\))315 341 y Fu(Delete)20 b(the)g(c)o(haracter)e(at)h(p)q(oin)o(t.)33 b(If)20 b(p)q(oin)o(t)g(is)g(at)e(the)i(b)q(eginning)i(of)d(the)g (line,)j(there)315 396 y(are)c(no)h(c)o(haracters)e(in)j(the)e(line,)j (and)e(the)f(last)h(c)o(haracter)e(t)o(yp)q(ed)i(w)o(as)f(not)g(b)q (ound)i(to)315 450 y Ft(delete-char)p Fu(,)13 b(then)j(return)f Fp(eof)p Fu(.)75 552 y Ft(backward-delete-char)d(\(Rubout\))315 607 y Fu(Delete)k(the)f(c)o(haracter)f(b)q(ehind)j(the)f(cursor.)j(A)c (n)o(umeric)h(argumen)o(t)e(means)i(to)e(kill)j(the)315 661 y(c)o(haracters)d(instead)i(of)f(deleting)i(them.)75 763 y Ft(forward-backward-delete-ch)o(ar)12 b(\(\))315 818 y Fu(Delete)20 b(the)f(c)o(haracter)f(under)i(the)f(cursor,)h (unless)g(the)f(cursor)g(is)h(at)e(the)h(end)h(of)f(the)315 872 y(line,)e(in)g(whic)o(h)g(case)e(the)h(c)o(haracter)g(b)q(ehind)h (the)f(cursor)g(is)g(deleted.)23 b(By)16 b(default,)h(this)315 927 y(is)f(not)f(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 1029 y Ft(quoted-insert)e(\(C-q)i(or)g(C-v\))315 1083 y Fu(Add)j(the)f(next) g(c)o(haracter)g(t)o(yp)q(ed)g(to)f(the)i(line)g(v)o(erbatim.)26 b(This)18 b(is)f(ho)o(w)g(to)g(insert)g(k)o(ey)315 1138 y(sequences)f(lik)o(e)h Fo(C-q)p Fu(,)d(for)h(example.)75 1240 y Ft(tab-insert)f(\(M-)401 1238 y Fn(h)p 412 1212 74 2 v 412 1240 a Fm(T)m(AB)p 412 1247 V 484 1238 a Fn(i)499 1240 y Ft(\))315 1294 y Fu(Insert)h(a)g(tab)g(c)o(haracter.)75 1396 y Ft(self-insert)f(\(a,)g(b,)h(A,)g(1,)g(!,)g(...)o(\))315 1451 y Fu(Insert)g(y)o(ourself.)75 1552 y Ft(transpose-chars)e(\(C-t\)) 315 1607 y Fu(Drag)i(the)h(c)o(haracter)f(b)q(efore)h(the)h(cursor)e (forw)o(ard)g(o)o(v)o(er)g(the)h(c)o(haracter)f(at)h(the)g(cursor,)315 1662 y(mo)o(ving)i(the)f(cursor)h(forw)o(ard)e(as)i(w)o(ell.)28 b(If)18 b(the)g(insertion)h(p)q(oin)o(t)f(is)g(at)f(the)h(end)h(of)e (the)315 1716 y(line,)c(then)e(this)h(transp)q(oses)e(the)h(last)g(t)o (w)o(o)f(c)o(haracters)g(of)h(the)g(line.)20 b(Negativ)o(e)11 b(argumen)o(ts)315 1771 y(ha)o(v)o(e)k(no)g(e\013ect.)75 1873 y Ft(transpose-words)e(\(M-t\))315 1927 y Fu(Drag)i(the)h(w)o(ord) g(b)q(efore)g(p)q(oin)o(t)h(past)f(the)g(w)o(ord)f(after)h(p)q(oin)o (t,)g(mo)o(ving)g(p)q(oin)o(t)h(past)f(that)315 1982 y(w)o(ord)d(as)h(w)o(ell.)21 b(If)14 b(the)g(insertion)i(p)q(oin)o(t)e (is)h(at)f(the)g(end)h(of)e(the)i(line,)g(this)g(transp)q(oses)f(the) 315 2037 y(last)h(t)o(w)o(o)f(w)o(ords)g(on)i(the)f(line.)75 2138 y Ft(upcase-word)f(\(M-u\))315 2193 y Fu(Upp)q(ercase)j(the)f (curren)o(t)g(\(or)f(follo)o(wing\))h(w)o(ord.)22 b(With)16 b(a)g(negativ)o(e)g(argumen)o(t,)f(upp)q(er-)315 2248 y(case)g(the)g(previous)h(w)o(ord,)f(but)g(do)g(not)g(mo)o(v)o(e)f(the) i(cursor.)75 2349 y Ft(downcase-word)d(\(M-l\))315 2404 y Fu(Lo)o(w)o(ercase)d(the)h(curren)o(t)g(\(or)f(follo)o(wing\))h(w)o (ord.)17 b(With)11 b(a)g(negativ)o(e)g(argumen)o(t,)f(lo)o(w)o(ercase) 315 2459 y(the)15 b(previous)h(w)o(ord,)e(but)i(do)f(not)g(mo)o(v)o(e)f (the)h(cursor.)75 2560 y Ft(capitalize-word)e(\(M-c\))315 2615 y Fu(Capitalize)f(the)f(curren)o(t)f(\(or)g(follo)o(wing\))h(w)o (ord.)18 b(With)11 b(a)f(negativ)o(e)h(argumen)o(t,)f(capitalize)315 2670 y(the)15 b(previous)h(w)o(ord,)e(but)i(do)f(not)g(mo)o(v)o(e)f (the)h(cursor.)p eop %%Page: 15 17 15 16 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 b(15)75 149 y Ft(overwrite-mode)13 b(\(\))315 204 y Fu(T)l(oggle)j(o)o (v)o(erwrite)g(mo)q(de.)24 b(With)17 b(an)f(explicit)j(p)q(ositiv)o(e)f (n)o(umeric)f(argumen)o(t,)f(switc)o(hes)315 259 y(to)10 b(o)o(v)o(erwrite)g(mo)q(de.)19 b(With)11 b(an)g(explicit)i(non-p)q (ositiv)o(e)f(n)o(umeric)g(argumen)o(t,)e(switc)o(hes)i(to)315 314 y(insert)k(mo)q(de.)k(This)c(command)f(a\013ects)g(only)h Ft(emacs)e Fu(mo)q(de;)h Ft(vi)g Fu(mo)q(de)h(do)q(es)g(o)o(v)o (erwrite)315 369 y(di\013eren)o(tly)l(.)21 b(Eac)o(h)15 b(call)h(to)f Ft(readline\(\))f Fu(starts)f(in)k(insert)e(mo)q(de.)315 436 y(In)g(o)o(v)o(erwrite)f(mo)q(de,)h(c)o(haracters)f(b)q(ound)h(to)f Ft(self-insert)f Fu(replace)j(the)e(text)h(at)e(p)q(oin)o(t)315 491 y(rather)20 b(than)h(pushing)h(the)f(text)f(to)g(the)h(righ)o(t.)36 b(Characters)20 b(b)q(ound)i(to)e Ft(backward-)315 546 y(delete-char)14 b Fu(replace)i(the)f(c)o(haracter)g(b)q(efore)g(p)q (oin)o(t)h(with)f(a)g(space.)315 614 y(By)g(default,)h(this)f(command)g (is)h(un)o(b)q(ound.)75 729 y Fj(1.4.4)30 b(Killing)20 b(And)h(Y)-5 b(anking)75 853 y Ft(kill-line)14 b(\(C-k\))315 908 y Fu(Kill)j(the)f(text)e(from)h(p)q(oin)o(t)h(to)e(the)h(end)h(of)f (the)g(line.)75 1002 y Ft(backward-kill-line)e(\(C-x)h(Rubout\))315 1057 y Fu(Kill)j(bac)o(kw)o(ard)e(to)f(the)i(b)q(eginning)h(of)e(the)g (line.)75 1151 y Ft(unix-line-discard)e(\(C-u\))315 1205 y Fu(Kill)k(bac)o(kw)o(ard)e(from)f(the)i(cursor)e(to)h(the)g(b)q (eginning)j(of)c(the)i(curren)o(t)f(line.)75 1299 y Ft(kill-whole-line) e(\(\))315 1354 y Fu(Kill)20 b(all)g(c)o(haracters)d(on)h(the)h(curren) o(t)f(line,)i(no)e(matter)g(where)g(p)q(oin)o(t)h(is.)29 b(By)19 b(default,)315 1409 y(this)d(is)f(un)o(b)q(ound.)75 1503 y Ft(kill-word)f(\(M-d\))315 1558 y Fu(Kill)j(from)d(p)q(oin)o(t)h (to)f(the)h(end)g(of)f(the)h(curren)o(t)g(w)o(ord,)e(or)i(if)g(b)q(et)o (w)o(een)g(w)o(ords,)e(to)i(the)f(end)315 1613 y(of)h(the)g(next)g(w)o (ord.)20 b(W)l(ord)14 b(b)q(oundaries)j(are)e(the)g(same)g(as)g Ft(forward-word)p Fu(.)75 1707 y Ft(backward-kill-word)e(\(M-)592 1705 y Fn(h)p 603 1679 73 2 v 603 1707 a Fm(DEL)p 603 1714 V 674 1705 a Fn(i)689 1707 y Ft(\))315 1761 y Fu(Kill)k(the)d(w)o (ord)g(b)q(ehind)i(p)q(oin)o(t.)21 b(W)l(ord)14 b(b)q(oundaries)h(are)f (the)h(same)f(as)g Ft(backward-word)p Fu(.)75 1855 y Ft(unix-word-rubout)f(\(C-w\))315 1910 y Fu(Kill)18 b(the)e(w)o(ord)f (b)q(ehind)j(p)q(oin)o(t,)e(using)h(white)f(space)g(as)g(a)f(w)o(ord)g (b)q(oundary)l(.)23 b(The)16 b(killed)315 1965 y(text)f(is)g(sa)o(v)o (ed)g(on)g(the)h(kill-ring.)75 2059 y Ft(delete-horizontal-space)c (\(\))315 2114 y Fu(Delete)k(all)g(spaces)f(and)h(tabs)e(around)i(p)q (oin)o(t.)k(By)15 b(default,)h(this)f(is)h(un)o(b)q(ound.)75 2208 y Ft(kill-region)e(\(\))315 2263 y Fu(Kill)j(the)f(text)e(in)i (the)g(curren)o(t)f(region.)20 b(By)15 b(default,)h(this)f(command)g (is)h(un)o(b)q(ound.)75 2357 y Ft(copy-region-as-kill)d(\(\))315 2412 y Fu(Cop)o(y)j(the)i(text)e(in)i(the)f(region)g(to)g(the)g(kill)h (bu\013er,)f(so)g(it)g(can)g(b)q(e)h(y)o(ank)o(ed)f(righ)o(t)g(a)o(w)o (a)o(y)l(.)315 2466 y(By)e(default,)h(this)f(command)g(is)h(un)o(b)q (ound.)75 2560 y Ft(copy-backward-word)d(\(\))315 2615 y Fu(Cop)o(y)19 b(the)g(w)o(ord)g(b)q(efore)g(p)q(oin)o(t)h(to)e(the)i (kill)h(bu\013er.)32 b(The)19 b(w)o(ord)g(b)q(oundaries)h(are)f(the)315 2670 y(same)c(as)g Ft(backward-word)p Fu(.)j(By)d(default,)g(this)h (command)f(is)h(un)o(b)q(ound.)p eop %%Page: 16 18 16 17 bop 75 -58 a Fu(16)1299 b(GNU)15 b(Readline)h(Library)75 149 y Ft(copy-forward-word)d(\(\))315 204 y Fu(Cop)o(y)i(the)h(w)o(ord) e(follo)o(wing)j(p)q(oin)o(t)f(to)f(the)g(kill)j(bu\013er.)i(The)c(w)o (ord)f(b)q(oundaries)i(are)e(the)315 259 y(same)g(as)g Ft(forward-word)p Fu(.)j(By)d(default,)h(this)f(command)g(is)h(un)o(b)q (ound.)75 342 y Ft(yank)f(\(C-y\))315 397 y Fu(Y)l(ank)g(the)h(top)f (of)f(the)i(kill)h(ring)e(in)o(to)g(the)h(bu\013er)f(at)f(p)q(oin)o(t.) 75 481 y Ft(yank-pop)g(\(M-y\))315 535 y Fu(Rotate)i(the)h(kill-ring,)j (and)d(y)o(ank)g(the)h(new)f(top.)26 b(Y)l(ou)17 b(can)h(only)g(do)f (this)h(if)f(the)h(prior)315 590 y(command)d(is)h Ft(yank)e Fu(or)h Ft(yank-pop)p Fu(.)75 693 y Fj(1.4.5)30 b(Sp)r(ecifying)20 b(Numeric)h(Argumen)n(ts)75 806 y Ft(digit-argument)13 b(\()p Fo(M-0)p Ft(,)i Fo(M-1)p Ft(,)f(...)h Fo(M--)p Ft(\))315 861 y Fu(Add)f(this)g(digit)g(to)f(the)h(argumen)o(t)e (already)i(accum)o(ulating,)g(or)f(start)f(a)h(new)h(argumen)o(t.)315 915 y Fo(M--)h Fu(starts)f(a)h(negativ)o(e)g(argumen)o(t.)75 999 y Ft(universal-argument)e(\(\))315 1054 y Fu(This)g(is)h(another)e (w)o(a)o(y)g(to)g(sp)q(ecify)i(an)f(argumen)o(t.)18 b(If)13 b(this)g(command)g(is)g(follo)o(w)o(ed)g(b)o(y)g(one)315 1108 y(or)h(more)h(digits,)g(optionally)h(with)f(a)g(leading)h(min)o (us)f(sign,)g(those)g(digits)g(de\014ne)h(the)f(ar-)315 1163 y(gumen)o(t.)k(If)c(the)g(command)f(is)h(follo)o(w)o(ed)g(b)o(y)g (digits,)g(executing)g Ft(universal-argument)315 1218 y Fu(again)h(ends)g(the)g(n)o(umeric)h(argumen)o(t,)e(but)h(is)h (otherwise)f(ignored.)22 b(As)16 b(a)g(sp)q(ecial)h(case,)315 1273 y(if)g(this)g(command)f(is)h(immediately)h(follo)o(w)o(ed)f(b)o(y) f(a)g(c)o(haracter)g(that)g(is)h(neither)g(a)f(digit)315 1328 y(or)d(min)o(us)i(sign,)f(the)g(argumen)o(t)g(coun)o(t)f(for)h (the)g(next)g(command)g(is)g(m)o(ultiplied)j(b)o(y)d(four.)315 1382 y(The)19 b(argumen)o(t)f(coun)o(t)g(is)h(initially)j(one,)d(so)f (executing)i(this)f(function)h(the)e(\014rst)h(time)315 1437 y(mak)o(es)c(the)h(argumen)o(t)f(coun)o(t)h(four,)f(a)h(second)g (time)g(mak)o(es)g(the)g(argumen)o(t)f(coun)o(t)g(six-)315 1492 y(teen,)g(and)g(so)g(on.)20 b(By)15 b(default,)h(this)f(is)h(not)f (b)q(ound)h(to)f(a)g(k)o(ey)l(.)75 1595 y Fj(1.4.6)30 b(Letting)20 b(Readline)g(T)n(yp)r(e)h(F)-5 b(or)19 b(Y)-5 b(ou)75 1708 y Ft(complete)14 b(\()305 1706 y Fn(h)p 317 1680 74 2 v 317 1708 a Fm(T)m(AB)p 317 1715 V 389 1706 a Fn(i)404 1708 y Ft(\))315 1762 y Fu(A)o(ttempt)c(to)h(p)q (erform)g(completion)i(on)e(the)g(text)g(b)q(efore)h(p)q(oin)o(t.)19 b(The)11 b(actual)h(completion)315 1817 y(p)q(erformed)j(is)h (application-sp)q(eci\014)q(c.)23 b(The)15 b(default)h(is)g(\014lename) g(completion.)75 1901 y Ft(possible-completions)c(\(M-?\))315 1955 y Fu(List)k(the)f(p)q(ossible)i(completions)f(of)f(the)g(text)g(b) q(efore)h(p)q(oin)o(t.)75 2039 y Ft(insert-completions)d(\(M-*\))315 2093 y Fu(Insert)j(all)g(completions)g(of)f(the)g(text)g(b)q(efore)h(p) q(oin)o(t)f(that)g(w)o(ould)h(ha)o(v)o(e)f(b)q(een)h(generated)315 2148 y(b)o(y)f Ft(possible-completions)p Fu(.)75 2232 y Ft(menu-complete)e(\(\))315 2286 y Fu(Similar)g(to)f Ft(complete)p Fu(,)f(but)h(replaces)h(the)f(w)o(ord)f(to)g(b)q(e)i (completed)f(with)h(a)e(single)j(matc)o(h)315 2341 y(from)k(the)h(list) h(of)e(p)q(ossible)j(completions.)32 b(Rep)q(eated)19 b(execution)h(of)f Ft(menu-complete)315 2396 y Fu(steps)h(through)g (the)g(list)h(of)f(p)q(ossible)i(completions,)g(inserting)f(eac)o(h)f (matc)o(h)f(in)i(turn.)315 2451 y(A)o(t)d(the)g(end)h(of)f(the)h(list)g (of)f(completions,)i(the)e(b)q(ell)j(is)d(rung)h(\(sub)s(ject)f(to)f (the)i(setting)315 2506 y(of)f Ft(bell-style)p Fu(\))e(and)i(the)g (original)h(text)f(is)g(restored.)28 b(An)19 b(argumen)o(t)e(of)g Fk(n)i Fu(mo)o(v)o(es)e Fk(n)315 2560 y Fu(p)q(ositions)h(forw)o(ard)e (in)j(the)e(list)h(of)f(matc)o(hes;)h(a)f(negativ)o(e)g(argumen)o(t)g (ma)o(y)g(b)q(e)h(used)g(to)315 2615 y(mo)o(v)o(e)g(bac)o(kw)o(ard)h (through)g(the)g(list.)32 b(This)20 b(command)f(is)h(in)o(tended)g(to)f (b)q(e)h(b)q(ound)g(to)315 2668 y Fn(h)p 327 2642 V 327 2670 a Fm(T)m(AB)p 327 2678 V 399 2668 a Fn(i)414 2670 y Fu(,)15 b(but)g(is)h(un)o(b)q(ound)g(b)o(y)f(default.)p eop %%Page: 17 19 17 18 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 b(17)75 149 y Ft(delete-char-or-list)13 b(\(\))315 204 y Fu(Deletes)h(the)f(c)o(haracter)g(under)h(the)g(cursor)f(if)h(not)f (at)g(the)g(b)q(eginning)j(or)d(end)h(of)f(the)g(line)315 259 y(\(lik)o(e)i Ft(delete-char)p Fu(\).)j(If)d(at)f(the)h(end)g(of)f (the)g(line,)i(b)q(eha)o(v)o(es)f(iden)o(tically)i(to)d Ft(possible-)315 314 y(completions)p Fu(.)k(This)e(command)f(is)h(un)o (b)q(ound)g(b)o(y)f(default.)75 428 y Fj(1.4.7)30 b(Keyb)r(oard)20 b(Macros)75 551 y Ft(start-kbd-macro)13 b(\(C-x)i(\(\))315 606 y Fu(Begin)h(sa)o(ving)f(the)h(c)o(haracters)e(t)o(yp)q(ed)i(in)o (to)f(the)g(curren)o(t)g(k)o(eyb)q(oard)g(macro.)75 699 y Ft(end-kbd-macro)e(\(C-x)i(\)\))315 754 y Fu(Stop)f(sa)o(ving)f(the)h (c)o(haracters)f(t)o(yp)q(ed)h(in)o(to)f(the)h(curren)o(t)g(k)o(eyb)q (oard)f(macro)g(and)h(sa)o(v)o(e)f(the)315 809 y(de\014nition.)75 902 y Ft(call-last-kbd-macro)g(\(C-x)h(e\))315 957 y Fu(Re-execute)k(the)g(last)f(k)o(eyb)q(oard)h(macro)f(de\014ned,)i(b)o (y)e(making)h(the)g(c)o(haracters)e(in)j(the)315 1012 y(macro)14 b(app)q(ear)i(as)f(if)g(t)o(yp)q(ed)h(at)e(the)i(k)o(eyb)q (oard.)75 1126 y Fj(1.4.8)30 b(Some)20 b(Miscellaneous)h(Commands)75 1249 y Ft(re-read-init-file)13 b(\(C-x)h(C-r\))315 1304 y Fu(Read)d(in)g(the)g(con)o(ten)o(ts)g(of)f(the)h Fk(inputrc)k Fu(\014le,)d(and)g(incorp)q(orate)f(an)o(y)f(bindings)j(or)e(v)m (ariable)315 1358 y(assignmen)o(ts)k(found)h(there.)75 1452 y Ft(abort)e(\(C-g\))315 1507 y Fu(Ab)q(ort)f(the)g(curren)o(t)h (editing)g(command)f(and)h(ring)f(the)h(terminal's)f(b)q(ell)i(\(sub)s (ject)e(to)g(the)315 1561 y(setting)i(of)g Ft(bell-style)p Fu(\).)75 1655 y Ft(do-uppercase-version)d(\(M-a,)j(M-b,)f(M-)p Fk(x)p Ft(,)h(...\))315 1710 y Fu(If)f(the)g(meta\014ed)g(c)o(haracter) f Fk(x)k Fu(is)d(lo)o(w)o(ercase,)g(run)g(the)g(command)f(that)h(is)g (b)q(ound)h(to)e(the)315 1764 y(corresp)q(onding)j(upp)q(ercase)g(c)o (haracter.)75 1858 y Ft(prefix-meta)e(\()377 1856 y Fn(h)p 389 1830 70 2 v 389 1858 a Fm(ESC)p 389 1866 V 456 1856 a Fn(i)471 1858 y Ft(\))315 1913 y Fu(Metafy)k(the)h(next)g(c)o (haracter)f(t)o(yp)q(ed.)30 b(This)20 b(is)f(for)f(k)o(eyb)q(oards)h (without)g(a)f(meta)g(k)o(ey)l(.)315 1968 y(T)o(yping)e(`)485 1966 y Fn(h)p 496 1939 V 496 1968 a Fm(ESC)p 496 1975 V 563 1966 a Fn(i)593 1968 y Ft(f)p Fu(')f(is)h(equiv)m(alen)o(t)h(to)d (t)o(yping)i Fo(M-f)p Fu(.)75 2061 y Ft(undo)f(\(C-_)f(or)h(C-x)g (C-u\))315 2116 y Fu(Incremen)o(tal)h(undo,)f(separately)h(remem)o(b)q (ered)g(for)e(eac)o(h)h(line.)75 2209 y Ft(revert-line)f(\(M-r\))315 2264 y Fu(Undo)j(all)g(c)o(hanges)g(made)f(to)g(this)h(line.)26 b(This)17 b(is)g(lik)o(e)h(executing)f(the)g Ft(undo)f Fu(command)315 2319 y(enough)g(times)f(to)g(get)f(bac)o(k)h(to)g(the)g (b)q(eginning.)75 2412 y Ft(tilde-expand)f(\(M-~\))315 2467 y Fu(P)o(erform)g(tilde)j(expansion)f(on)f(the)g(curren)o(t)g(w)o (ord.)75 2560 y Ft(set-mark)f(\(C-@\))315 2615 y Fu(Set)i(the)h(mark)f (to)f(the)i(p)q(oin)o(t.)24 b(If)17 b(a)f(n)o(umeric)h(argumen)o(t)f (is)g(supplied,)j(the)e(mark)e(is)i(set)315 2670 y(to)e(that)f(p)q (osition.)p eop %%Page: 18 20 18 19 bop 75 -58 a Fu(18)1299 b(GNU)15 b(Readline)h(Library)75 149 y Ft(exchange-point-and-mark)c(\(C-x)j(C-x\))315 204 y Fu(Sw)o(ap)g(the)h(p)q(oin)o(t)g(with)g(the)g(mark.)k(The)c (curren)o(t)f(cursor)h(p)q(osition)g(is)g(set)g(to)f(the)g(sa)o(v)o(ed) 315 259 y(p)q(osition,)h(and)f(the)h(old)f(cursor)g(p)q(osition)h(is)g (sa)o(v)o(ed)f(as)g(the)g(mark.)75 347 y Ft(character-search)e(\(C-]\)) 315 402 y Fu(A)f(c)o(haracter)g(is)h(read)g(and)f(p)q(oin)o(t)h(is)g (mo)o(v)o(ed)f(to)g(the)g(next)h(o)q(ccurrence)g(of)f(that)g(c)o (haracter.)315 456 y(A)j(negativ)o(e)h(coun)o(t)f(searc)o(hes)g(for)f (previous)i(o)q(ccurrences.)75 544 y Ft(character-search-backward)c (\(M-C-]\))315 599 y Fu(A)22 b(c)o(haracter)g(is)h(read)f(and)h(p)q (oin)o(t)g(is)g(mo)o(v)o(ed)f(to)g(the)g(previous)h(o)q(ccurrence)h(of) e(that)315 654 y(c)o(haracter.)d(A)c(negativ)o(e)h(coun)o(t)f(searc)o (hes)g(for)f(subsequen)o(t)i(o)q(ccurrences.)75 741 y Ft(insert-comment)d(\(M-#\))315 796 y Fu(Without)18 b(a)f(n)o(umeric)i (argumen)o(t,)e(the)h(v)m(alue)h(of)f(the)f Ft(comment-begin)f Fu(v)m(ariable)k(is)e(in-)315 851 y(serted)e(at)f(the)h(b)q(eginning)i (of)d(the)h(curren)o(t)g(line.)23 b(If)16 b(a)g(n)o(umeric)h(argumen)o (t)e(is)h(supplied,)315 906 y(this)j(command)f(acts)g(as)f(a)h(toggle:) 26 b(if)19 b(the)f(c)o(haracters)g(at)f(the)i(b)q(eginning)h(of)e(the)g (line)315 960 y(do)d(not)g(matc)o(h)g(the)g(v)m(alue)i(of)e Ft(comment-begin)p Fu(,)e(the)i(v)m(alue)i(is)f(inserted,)f(otherwise)h (the)315 1015 y(c)o(haracters)j(in)i Ft(comment-begin)d Fu(are)i(deleted)i(from)d(the)h(b)q(eginning)i(of)e(the)g(line.)36 b(In)315 1070 y(either)16 b(case,)f(the)g(line)i(is)f(accepted)f(as)g (if)h(a)f(newline)i(had)e(b)q(een)i(t)o(yp)q(ed.)75 1158 y Ft(dump-functions)c(\(\))315 1213 y Fu(Prin)o(t)g(all)h(of)f(the)g (functions)h(and)g(their)g(k)o(ey)f(bindings)i(to)d(the)i(Readline)g (output)f(stream.)315 1267 y(If)j(a)g(n)o(umeric)g(argumen)o(t)f(is)i (supplied,)h(the)e(output)f(is)i(formatted)d(in)j(suc)o(h)f(a)g(w)o(a)o (y)f(that)315 1322 y(it)g(can)h(b)q(e)g(made)f(part)f(of)h(an)g Fk(inputrc)k Fu(\014le.)i(This)16 b(command)f(is)h(un)o(b)q(ound)g(b)o (y)f(default.)75 1410 y Ft(dump-variables)e(\(\))315 1465 y Fu(Prin)o(t)e(all)g(of)f(the)h(settable)g(v)m(ariables)h(and)f (their)g(v)m(alues)h(to)e(the)h(Readline)h(output)e(stream.)315 1519 y(If)16 b(a)g(n)o(umeric)g(argumen)o(t)f(is)i(supplied,)h(the)e (output)f(is)i(formatted)d(in)j(suc)o(h)f(a)g(w)o(a)o(y)f(that)315 1574 y(it)g(can)h(b)q(e)g(made)f(part)f(of)h(an)g Fk(inputrc)k Fu(\014le.)i(This)16 b(command)f(is)h(un)o(b)q(ound)g(b)o(y)f(default.) 75 1662 y Ft(dump-macros)f(\(\))315 1717 y Fu(Prin)o(t)j(all)h(of)e (the)h(Readline)h(k)o(ey)f(sequences)h(b)q(ound)g(to)e(macros)g(and)h (the)g(strings)g(they)315 1771 y(output.)26 b(If)18 b(a)f(n)o(umeric)h (argumen)o(t)f(is)h(supplied,)i(the)d(output)g(is)h(formatted)e(in)j (suc)o(h)e(a)315 1826 y(w)o(a)o(y)d(that)g(it)i(can)f(b)q(e)g(made)g (part)g(of)f(an)h Fk(inputrc)k Fu(\014le.)i(This)15 b(command)g(is)h (un)o(b)q(ound)g(b)o(y)315 1881 y(default.)75 1969 y Ft(emacs-editing-mode)d(\(C-e\))315 2024 y Fu(When)j(in)g Ft(vi)e Fu(command)i(mo)q(de,)f(this)g(causes)h(a)f(switc)o(h)g(to)g Ft(emacs)f Fu(editing)j(mo)q(de.)75 2111 y Ft(vi-editing-mode)c (\(M-C-j\))315 2166 y Fu(When)j(in)g Ft(emacs)e Fu(editing)j(mo)q(de,)e (this)g(causes)h(a)f(switc)o(h)g(to)g Ft(vi)f Fu(editing)j(mo)q(de.)75 2290 y Fs(1.5)33 b(Readline)23 b(vi)h(Mo)r(de)137 2385 y Fu(While)13 b(the)f(Readline)i(library)e(do)q(es)g(not)g(ha)o(v)o(e)f (a)h(full)h(set)f(of)f Ft(vi)g Fu(editing)j(functions,)f(it)f(do)q(es)g (con)o(tain)75 2440 y(enough)17 b(to)g(allo)o(w)g(simple)h(editing)h (of)d(the)i(line.)27 b(The)17 b(Readline)h Ft(vi)f Fu(mo)q(de)g(b)q (eha)o(v)o(es)g(as)g(sp)q(eci\014ed)i(in)75 2495 y(the)c Fp(posix)g Fu(1003.2)f(standard.)137 2560 y(In)h(order)g(to)f(switc)o (h)g(in)o(teractiv)o(ely)i(b)q(et)o(w)o(een)f Ft(emacs)e Fu(and)i Ft(vi)f Fu(editing)i(mo)q(des,)f(use)f(the)h(command)75 2615 y Fo(M-C-j)j Fu(\(b)q(ound)i(to)e(emacs-editing-mo)q(de)j(when)e (in)h Ft(vi)f Fu(mo)q(de)g(and)g(to)f(vi-editing-mo)q(de)k(in)e Ft(emacs)75 2670 y Fu(mo)q(de\).)g(The)15 b(Readline)i(default)f(is)f Ft(emacs)g Fu(mo)q(de.)p eop %%Page: 19 21 19 20 bop 75 -58 a Fu(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1055 b(19)137 149 y(When)16 b(y)o(ou)e(en)o(ter)h(a)g(line)i(in)e Ft(vi)g Fu(mo)q(de,)g(y)o(ou)g(are)f(already)i(placed)g(in)g (`insertion')f(mo)q(de,)g(as)g(if)g(y)o(ou)75 204 y(had)e(t)o(yp)q(ed)h (an)f(`)p Ft(i)p Fu('.)18 b(Pressing)608 202 y Fn(h)p 620 176 70 2 v 620 204 a Fm(ESC)p 620 212 V 687 202 a Fn(i)715 204 y Fu(switc)o(hes)13 b(y)o(ou)g(in)o(to)g(`command')f(mo)q (de,)i(where)f(y)o(ou)g(can)g(edit)h(the)75 259 y(text)i(of)h(the)g (line)h(with)g(the)f(standard)f Ft(vi)h Fu(mo)o(v)o(emen)o(t)f(k)o (eys,)g(mo)o(v)o(e)g(to)h(previous)g(history)g(lines)i(with)75 314 y(`)p Ft(k)p Fu(')14 b(and)i(subsequen)o(t)f(lines)i(with)f(`)p Ft(j)p Fu(',)e(and)h(so)g(forth.)p eop %%Page: 20 22 20 21 bop 75 -58 a Fu(20)1299 b(GNU)15 b(Readline)h(Library)p eop %%Page: 21 23 21 22 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(21)75 149 y Fq(2)41 b(Programming)28 b(with)e(GNU)i(Readline)137 267 y Fu(This)18 b(c)o(hapter)f(describ)q (es)h(the)f(in)o(terface)g(b)q(et)o(w)o(een)h(the)f Fp(gnu)g Fu(Readline)h(Library)f(and)g(other)g(pro-)75 322 y(grams.)h(If)11 b(y)o(ou)g(are)g(a)g(programmer,)f(and)i(y)o(ou)f(wish)g(to)g(include)j (the)d(features)g(found)g(in)i Fp(gnu)e Fu(Readline)75 377 y(suc)o(h)h(as)f(completion,)h(line)h(editing,)g(and)f(in)o (teractiv)o(e)g(history)f(manipulation)i(in)f(y)o(our)f(o)o(wn)g (programs,)75 432 y(this)16 b(section)f(is)h(for)f(y)o(ou.)75 561 y Fs(2.1)33 b(Basic)22 b(Beha)n(vior)137 658 y Fu(Man)o(y)15 b(programs)f(pro)o(vide)i(a)f(command)g(line)i(in)o(terface,)e(suc)o(h) h(as)f Ft(mail)p Fu(,)f Ft(ftp)p Fu(,)h(and)g Ft(sh)p Fu(.)20 b(F)l(or)15 b(suc)o(h)75 713 y(programs,)e(the)h(default)h(b)q (eha)o(viour)g(of)f(Readline)i(is)e(su\016cien)o(t.)21 b(This)14 b(section)h(describ)q(es)h(ho)o(w)e(to)g(use)75 768 y(Readline)k(in)h(the)e(simplest)h(w)o(a)o(y)e(p)q(ossible,)j(p)q (erhaps)f(to)f(replace)h(calls)g(in)g(y)o(our)f(co)q(de)h(to)e Ft(gets\(\))g Fu(or)75 822 y Ft(fgets\(\))p Fu(.)137 890 y(The)h(function)g Ft(readline\(\))e Fu(prin)o(ts)h(a)g(prompt)g Fk(prompt)h Fu(and)f(then)h(reads)f(and)h(returns)f(a)g(single)75 945 y(line)i(of)e(text)g(from)f(the)i(user.)23 b(If)17 b Fk(prompt)g Fu(is)g Ft(NULL)e Fu(or)h(the)h(empt)o(y)f(string,)g(no)g (prompt)g(is)h(displa)o(y)o(ed.)75 1000 y(The)i(line)h Ft(readline)d Fu(returns)i(is)g(allo)q(cated)g(with)g Ft(malloc\(\))p Fu(;)g(the)g(caller)g(should)h Ft(free\(\))e Fu(the)g(line)75 1054 y(when)e(it)f(has)g(\014nished)i(with)f(it.)k (The)15 b(declaration)h(for)f Ft(readline)f Fu(in)i(ANSI)g(C)f(is)195 1119 y Ft(char)23 b(*readline)g(\(const)g(char)g(*)p Fk(prompt)q Ft(\);)75 1187 y Fu(So,)15 b(one)g(migh)o(t)g(sa)o(y)195 1251 y Ft(char)23 b(*line)g(=)h(readline)f(\("Enter)g(a)h(line:)f("\);) 75 1319 y Fu(in)12 b(order)f(to)g(read)h(a)f(line)i(of)e(text)g(from)f (the)i(user.)19 b(The)11 b(line)j(returned)d(has)h(the)f(\014nal)h (newline)i(remo)o(v)o(ed,)75 1374 y(so)h(only)h(the)f(text)g(remains.) 137 1441 y(If)21 b Ft(readline)e Fu(encoun)o(ters)h(an)g Ft(EOF)g Fu(while)i(reading)f(the)f(line,)j(and)d(the)h(line)g(is)g (empt)o(y)f(at)g(that)75 1496 y(p)q(oin)o(t,)15 b(then)g Ft(\(char)f(*\)NULL)g Fu(is)h(returned.)21 b(Otherwise,)15 b(the)g(line)h(is)f(ended)h(just)e(as)h(if)g(a)f(newline)j(had)75 1551 y(b)q(een)f(t)o(yp)q(ed.)137 1618 y(If)d(y)o(ou)g(w)o(an)o(t)f (the)h(user)g(to)f(b)q(e)i(able)g(to)e(get)g(at)h(the)g(line)h(later,)f (\(with)1325 1616 y Fn(h)p 1338 1590 57 2 v 1338 1618 a Fm(C-p)p 1338 1626 V 1392 1616 a Fn(i)1420 1618 y Fu(for)f (example\),)i(y)o(ou)f(m)o(ust)75 1673 y(call)j Ft(add_history\(\))e Fu(to)g(sa)o(v)o(e)h(the)g(line)i(a)o(w)o(a)o(y)d(in)i(a)e Fk(history)19 b Fu(list)d(of)f(suc)o(h)h(lines.)195 1738 y Ft(add_history)22 b(\(line\);)75 1805 y Fu(F)l(or)15 b(full)h(details)g(on)f(the)h(GNU)f(History)g(Library)l(,)g(see)h(the)f (asso)q(ciated)g(man)o(ual.)137 1873 y(It)h(is)g(preferable)h(to)e(a)o (v)o(oid)g(sa)o(ving)h(empt)o(y)f(lines)i(on)f(the)g(history)f(list,)i (since)f(users)g(rarely)g(ha)o(v)o(e)f(a)75 1928 y(burning)h(need)g(to) e(reuse)h(a)g(blank)g(line.)22 b(Here)15 b(is)g(a)g(function)g(whic)o (h)h(usefully)h(replaces)e(the)g(standard)75 1983 y Ft(gets\(\))f Fu(library)i(function,)g(and)f(has)g(the)h(adv)m(an)o(tage)e(of)h(no)g (static)g(bu\013er)g(to)g(o)o(v)o(er\015o)o(w:)195 2047 y Ft(/*)24 b(A)f(static)g(variable)g(for)h(holding)e(the)i(line.)f(*/) 195 2099 y(static)g(char)g(*line_read)g(=)h(\(char)f(*\)NULL;)195 2203 y(/*)h(Read)f(a)h(string,)f(and)g(return)g(a)h(pointer)f(to)g(it.) 267 2255 y(Returns)f(NULL)i(on)f(EOF.)h(*/)195 2307 y(char)f(*)195 2359 y(rl_gets)g(\(\))195 2411 y({)243 2462 y(/*)g(If)h(the)f(buffer)g (has)h(already)f(been)g(allocated,)314 2514 y(return)g(the)h(memory)f (to)g(the)h(free)f(pool.)g(*/)243 2566 y(if)g(\(line_read\))290 2618 y({)338 2670 y(free)g(\(line_read\);)p eop %%Page: 22 24 22 23 bop 75 -58 a Fu(22)1299 b(GNU)15 b(Readline)h(Library)338 149 y Ft(line_read)23 b(=)h(\(char)f(*\)NULL;)290 201 y(})243 305 y(/*)g(Get)h(a)f(line)h(from)f(the)h(user.)f(*/)243 357 y(line_read)f(=)i(readline)f(\(""\);)243 461 y(/*)g(If)h(the)f (line)h(has)f(any)h(text)f(in)g(it,)314 513 y(save)h(it)f(on)h(the)f (history.)g(*/)243 565 y(if)g(\(line_read)g(&&)g(*line_read\))290 616 y(add_history)g(\(line_read\);)243 720 y(return)g(\(line_read\);) 195 772 y(})137 848 y Fu(This)13 b(function)f(giv)o(es)h(the)e(user)h (the)g(default)h(b)q(eha)o(viour)g(of)1169 846 y Fn(h)p 1181 820 74 2 v 1181 848 a Fm(T)m(AB)p 1181 856 V 1253 846 a Fn(i)1280 848 y Fu(completion:)19 b(completion)13 b(on)f(\014le)75 903 y(names.)20 b(If)c(y)o(ou)f(do)g(not)g(w)o(an)o(t) f(Readline)j(to)d(complete)j(on)e(\014lenames,)h(y)o(ou)f(can)g(c)o (hange)h(the)f(binding)75 958 y(of)g(the)205 956 y Fn(h)p 217 930 V 217 958 a Fm(T)m(AB)p 217 965 V 289 956 a Fn(i)319 958 y Fu(k)o(ey)g(with)h Ft(rl_bind_key\(\))p Fu(.)195 1031 y Ft(int)23 b(rl_bind_key)g(\(int)g Fk(k)o(ey)p Ft(,)h(rl_command_func_t)d(*)p Fk(function)p Ft(\);)137 1107 y(rl_bind_key\(\))15 b Fu(tak)o(es)h(t)o(w)o(o)g(argumen)o(ts:)22 b Fk(k)o(ey)e Fu(is)e(the)e(c)o(haracter)g(that)g(y)o(ou)h(w)o(an)o(t)f (to)g(bind,)i(and)75 1161 y Fk(function)h Fu(is)f(the)g(address)g(of)g (the)g(function)g(to)g(call)h(when)f Fk(k)o(ey)k Fu(is)c(pressed.)29 b(Binding)1628 1159 y Fn(h)p 1641 1133 V 1641 1161 a Fm(T)m(AB)p 1641 1169 V 1712 1159 a Fn(i)1745 1161 y Fu(to)17 b Ft(rl_)75 1216 y(insert\(\))f Fu(mak)o(es)422 1214 y Fn(h)p 434 1188 V 434 1216 a Fm(T)m(AB)p 434 1224 V 506 1214 a Fn(i)539 1216 y Fu(insert)i(itself.)28 b Ft(rl_bind_key\(\))15 b Fu(returns)j(non-zero)g(if)g Fk(k)o(ey)j Fu(is)d(not)f(a)g(v)m(alid)75 1271 y(ASCI)q(I)f(c)o (haracter)f(co)q(de)h(\(b)q(et)o(w)o(een)f(0)g(and)g(255\).)137 1347 y(Th)o(us,)g(to)g(disable)h(the)g(default)703 1345 y Fn(h)p 716 1319 V 716 1347 a Fm(T)m(AB)p 716 1354 V 787 1345 a Fn(i)817 1347 y Fu(b)q(eha)o(vior,)g(the)f(follo)o(wing)h (su\016ces:)195 1420 y Ft(rl_bind_key)22 b(\('\\t',)h(rl_insert\);)137 1496 y Fu(This)14 b(co)q(de)g(should)g(b)q(e)g(executed)g(once)g(at)e (the)h(start)f(of)h(y)o(our)g(program;)f(y)o(ou)h(migh)o(t)g(write)g(a) g(func-)75 1551 y(tion)k(called)h Ft(initialize_readline\(\))13 b Fu(whic)o(h)k(p)q(erforms)f(this)h(and)g(other)f(desired)h (initializations,)75 1605 y(suc)o(h)f(as)e(installing)k(custom)c (completers)i(\(see)f(Section)h(2.6)f([Custom)f(Completers],)g(page)h (41\).)75 1756 y Fs(2.2)33 b(Custom)21 b(F)-6 b(unctions)137 1861 y Fu(Readline)14 b(pro)o(vides)f(man)o(y)e(functions)i(for)f (manipulating)i(the)e(text)g(of)g(the)g(line,)i(but)e(it)h(isn't)f(p)q (ossi-)75 1915 y(ble)i(to)f(an)o(ticipate)h(the)f(needs)h(of)f(all)h (programs.)k(This)13 b(section)h(describ)q(es)h(the)e(v)m(arious)h (functions)g(and)75 1970 y(v)m(ariables)g(de\014ned)h(within)f(the)f (Readline)i(library)e(whic)o(h)h(allo)o(w)g(a)e(user)h(program)f(to)h (add)g(customized)75 2025 y(functionalit)o(y)j(to)f(Readline.)137 2101 y(Before)j(declaring)i(an)o(y)e(functions)h(that)f(customize)g (Readline's)h(b)q(eha)o(vior,)h(or)d(using)i(an)o(y)f(func-)75 2156 y(tionalit)o(y)23 b(Readline)h(pro)o(vides)g(in)f(other)g(co)q (de,)h(an)f(application)i(writer)d(should)i(include)h(the)e(\014le)75 2211 y Ft()14 b Fu(in)j(an)o(y)g(\014le)h(that)e (uses)h(Readline's)g(features.)24 b(Since)19 b(some)d(of)g(the)h (de\014-)75 2265 y(nitions)g(in)f Ft(readline.h)e Fu(use)i(the)g Ft(stdio)f Fu(library)l(,)h(the)g(\014le)g Ft()f Fu(should)h(b)q(e)g(included)j(b)q(efore)75 2320 y Ft(readline.h)p Fu(.)137 2396 y Ft(readline.h)14 b Fu(de\014nes)i(a)f(C)h(prepro)q (cessor)f(v)m(ariable)i(that)d(should)i(b)q(e)g(treated)f(as)g(an)g(in) o(teger,)g Ft(RL_)75 2451 y(READLINE_VERSION)p Fu(,)9 b(whic)o(h)j(ma)o(y)f(b)q(e)g(used)h(to)e(conditionally)k(compile)e (application)h(co)q(de)f(dep)q(ending)75 2506 y(on)17 b(the)h(installed)h(Readline)g(v)o(ersion.)27 b(The)18 b(v)m(alue)h(is)f(a)f(hexadecimal)i(enco)q(ding)g(of)e(the)h(ma)s(jor)e (and)75 2560 y(minor)h(v)o(ersion)h(n)o(um)o(b)q(ers)f(of)g(the)g (library)l(,)h(of)f(the)g(form)f(0x)p Fk(MMmm)p Fu(.)25 b Fk(MM)c Fu(is)c(the)h(t)o(w)o(o-digit)e(ma)s(jor)75 2615 y(v)o(ersion)f(n)o(um)o(b)q(er;)f Fk(mm)h Fu(is)g(the)f(t)o(w)o (o-digit)g(minor)h(v)o(ersion)g(n)o(um)o(b)q(er.)20 b(F)l(or)14 b(Readline)h(4.2,)f(for)f(example,)75 2670 y(the)i(v)m(alue)i(of)d Ft(RL_READLINE_VERSION)f Fu(w)o(ould)j(b)q(e)f Ft(0x0402)p Fu(.)p eop %%Page: 23 25 23 24 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(23)75 149 y Fj(2.2.1)30 b(Readline)20 b(T)n(yp)r(edefs)137 251 y Fu(F)l(or)15 b(readabilt)o(y)l(,)g(w)o(e)g (declare)i(a)d(n)o(um)o(b)q(er)i(of)f(new)g(ob)s(ject)g(t)o(yp)q(es,)g (all)h(p)q(oin)o(ters)f(to)g(functions.)137 324 y(The)j(reason)g(for)f (declaring)i(these)f(new)g(t)o(yp)q(es)g(is)h(to)e(mak)o(e)g(it)h (easier)h(to)e(write)h(co)q(de)g(describing)75 379 y(p)q(oin)o(ters)e (to)e(C)h(functions)h(with)g(appropriately)f(protot)o(yp)q(ed)g (argumen)o(ts)g(and)g(return)g(v)m(alues.)137 452 y(F)l(or)j(instance,) i(sa)o(y)e(w)o(e)g(w)o(an)o(t)f(to)h(declare)h(a)f(v)m(ariable)i Fk(func)i Fu(as)c(a)g(p)q(oin)o(ter)h(to)f(a)g(function)h(whic)o(h)75 507 y(tak)o(es)12 b(t)o(w)o(o)g Ft(int)g Fu(argumen)o(ts)g(and)h (returns)g(an)g Ft(int)f Fu(\(this)h(is)g(the)g(t)o(yp)q(e)g(of)g(all)g (of)g(the)g(Readline)h(bindable)75 561 y(functions\).)20 b(Instead)c(of)f(the)g(classic)h(C)f(declaration)137 634 y Ft(int)g(\(*func\)\(\);)75 707 y Fu(or)g(the)g(ANSI-C)h(st)o(yle) f(declaration)137 780 y Ft(int)g(\(*func\)\(int,)f(int\);)75 853 y Fu(w)o(e)h(ma)o(y)f(write)137 926 y Ft(rl_command_func_t)f (*func;)137 999 y Fu(The)j(full)g(list)g(of)f(function)h(p)q(oin)o(ter) g(t)o(yp)q(es)f(a)o(v)m(ailable)i(is)75 1087 y Ft(typedef)d(int)h (rl_command_func_t)e(\(int,)h(int\);)75 1157 y(typedef)g(char)h (*rl_compentry_func_t)d(\(const)j(char)f(*,)h(int\);)75 1227 y(typedef)f(char)h(**rl_completion_func_t)d(\(const)i(char)h(*,)g (int,)f(int\);)75 1297 y(typedef)g(char)h(*rl_quote_func_t)e(\(char)h (*,)h(int,)g(char)f(*\);)75 1367 y(typedef)g(char)h(*rl_dequote_func_t) d(\(char)j(*,)g(int\);)75 1437 y(typedef)f(int)h(rl_compignore_func_t)d (\(char)j(**\);)75 1507 y(typedef)f(void)h(rl_compdisp_func_t)d(\(char) j(**,)g(int,)f(int\);)75 1577 y(typedef)g(int)h(rl_hook_func_t)e (\(void\);)75 1647 y(typedef)h(int)h(rl_getc_func_t)e(\(FILE)i(*\);)75 1717 y(typedef)f(int)h(rl_linebuf_func_t)e(\(char)h(*,)h(int\);)75 1787 y(typedef)f(int)h(rl_intfunc_t)e(\(int\);)75 1857 y(#define)h(rl_ivoidfunc_t)f(rl_hook_func_t)75 1927 y(typedef)h(int)h (rl_icpfunc_t)e(\(char)i(*\);)75 1997 y(typedef)f(int)h(rl_icppfunc_t)e (\(char)i(**\);)75 2067 y(typedef)f(void)h(rl_voidfunc_t)e(\(void\);)75 2137 y(typedef)h(void)h(rl_vintfunc_t)e(\(int\);)75 2208 y(typedef)h(void)h(rl_vcpfunc_t)e(\(char)i(*\);)75 2278 y(typedef)f(void)h(rl_vcppfunc_t)e(\(char)i(**\);)75 2386 y Fj(2.2.2)30 b(W)-5 b(riting)20 b(a)h(New)f(F)-5 b(unction)137 2488 y Fu(In)17 b(order)f(to)f(write)h(new)h(functions)g (for)e(Readline,)i(y)o(ou)f(need)h(to)e(kno)o(w)h(the)g(calling)i(con)o (v)o(en)o(tions)75 2542 y(for)g(k)o(eyb)q(oard-in)o(v)o(ok)o(ed)h (functions,)g(and)g(the)f(names)h(of)f(the)g(v)m(ariables)i(that)d (describ)q(e)k(the)d(curren)o(t)75 2597 y(state)c(of)h(the)g(line)i (read)e(so)g(far.)137 2670 y(The)h(calling)h(sequence)f(for)f(a)f (command)i Ft(foo)e Fu(lo)q(oks)i(lik)o(e)p eop %%Page: 24 26 24 25 bop 75 -58 a Fu(24)1299 b(GNU)15 b(Readline)h(Library)195 149 y Ft(int)23 b(foo)h(\(int)f(count,)g(int)h(key\))75 221 y Fu(where)18 b Fk(coun)o(t)h Fu(is)f(the)g(n)o(umeric)h(argumen)o (t)e(\(or)h(1)f(if)i(defaulted\))f(and)g Fk(k)o(ey)k Fu(is)d(the)f(k)o(ey)g(that)f(in)o(v)o(ok)o(ed)75 276 y(this)f(function.)137 348 y(It)c(is)g(completely)h(up)f(to)f(the)g (function)i(as)e(to)g(what)g(should)h(b)q(e)g(done)g(with)g(the)g(n)o (umeric)g(argumen)o(t.)75 403 y(Some)20 b(functions)h(use)f(it)g(as)g (a)g(rep)q(eat)g(coun)o(t,)g(some)g(as)g(a)f(\015ag,)i(and)f(others)g (to)f(c)o(ho)q(ose)h(alternate)75 457 y(b)q(eha)o(vior)i(\(refreshing)g (the)g(curren)o(t)f(line)j(as)d(opp)q(osed)h(to)f(refreshing)i(the)e (screen,)j(for)d(example\).)75 512 y(Some)c(c)o(ho)q(ose)f(to)g(ignore) h(it.)24 b(In)18 b(general,)f(if)g(a)f(function)h(uses)g(the)g(n)o (umeric)h(argumen)o(t)d(as)i(a)f(rep)q(eat)75 567 y(coun)o(t,)e(it)g (should)h(b)q(e)f(able)h(to)e(do)h(something)h(useful)g(with)f(b)q(oth) g(negativ)o(e)g(and)g(p)q(ositiv)o(e)h(argumen)o(ts.)75 622 y(A)o(t)g(the)g(v)o(ery)g(least,)g(it)g(should)h(b)q(e)g(a)o(w)o (are)e(that)h(it)g(can)g(b)q(e)h(passed)g(a)f(negativ)o(e)g(argumen)o (t.)137 693 y(A)f(command)g(function)h(should)g(return)e(0)h(if)g(its)g (action)h(completes)f(successfully)l(,)i(and)e(a)g(non-zero)75 748 y(v)m(alue)i(if)g(some)f(error)f(o)q(ccurs.)75 888 y Fs(2.3)33 b(Readline)23 b(V)-6 b(ariables)137 989 y Fu(These)16 b(v)m(ariables)g(are)f(a)o(v)m(ailable)i(to)e(function)h (writers.)1773 1120 y(V)l(ariable)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 1120 18 3 v 21 w(line)p 395 1120 V 23 w(bu\013er)195 1174 y Fu(This)d(is)g(the)g(line)h(gathered)f(so)f (far.)20 b(Y)l(ou)c(are)f(w)o(elcome)h(to)f(mo)q(dify)h(the)g(con)o (ten)o(ts)f(of)g(the)h(line,)195 1229 y(but)i(see)g(Section)h(2.4.5)d ([Allo)o(wing)i(Undoing],)h(page)e(32.)27 b(The)18 b(function)h Ft(rl_extend_line_)195 1284 y(buffer)14 b Fu(is)i(a)o(v)m(ailable)h(to) d(increase)j(the)e(memory)f(allo)q(cated)j(to)d Ft(rl_line_buffer)p Fu(.)1773 1414 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1414 V 21 w(p)r(oin)n(t)195 1469 y Fu(The)15 b(o\013set)g(of)f(the) i(curren)o(t)f(cursor)g(p)q(osition)h(in)g Ft(rl_line_buffer)d Fu(\(the)i Fl(p)n(oint)t Fu(\).)1773 1600 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1600 V 21 w(end)195 1655 y Fu(The)14 b(n)o(um)o(b)q(er)g(of)g(c)o(haracters)f(presen)o(t)h(in)h Ft(rl_line_buffer)p Fu(.)i(When)e Ft(rl_point)e Fu(is)h(at)f(the)h(end) 195 1709 y(of)h(the)g(line,)i Ft(rl_point)d Fu(and)h Ft(rl_end)f Fu(are)h(equal.)1773 1840 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1840 V 21 w(mark)195 1895 y Fu(The)f Fk(mark)h Fu(\(sa)o(v)o(ed)e(p)q(osition\))h(in)g(the)g (curren)o(t)f(line.)31 b(If)19 b(set,)g(the)f(mark)g(and)h(p)q(oin)o(t) g(de\014ne)g(a)195 1950 y Fl(r)n(e)n(gion)p Fu(.)1773 2080 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2080 V 21 w(done)195 2135 y Fu(Setting)11 b(this)g(to)g(a)f(non-zero)h(v)m (alue)h(causes)f(Readline)h(to)f(return)f(the)h(curren)o(t)g(line)h (immediately)l(.)1773 2265 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2265 V 21 w(n)n(um)p 347 2265 V 19 w(c)n(hars)p 496 2265 V 20 w(to)p 567 2265 V 21 w(read)195 2320 y Fu(Setting)d(this)g(to)f(a)g(p)q(ositiv)o(e)h(v)m(alue)h(b)q(efore)f (calling)h Ft(readline\(\))d Fu(causes)h(Readline)i(to)e(return)195 2375 y(after)h(accepting)i(that)e(man)o(y)g(c)o(haracters,)h(rather)f (than)h(reading)g(up)g(to)f(a)h(c)o(haracter)f(b)q(ound)195 2430 y(to)e Ft(accept-line)p Fu(.)1773 2560 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2560 V 21 w(p)r(ending)p 436 2560 V 20 w(input)195 2615 y Fu(Setting)13 b(this)g(to)f(a)g(v)m(alue)i (mak)o(es)e(it)h(the)f(next)h(k)o(eystrok)o(e)f(read.)19 b(This)13 b(is)g(a)f(w)o(a)o(y)g(to)f(stu\013)h(a)h(single)195 2670 y(c)o(haracter)h(in)o(to)i(the)f(input)h(stream.)p eop %%Page: 25 27 25 26 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(25)1773 149 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 149 18 3 v 21 w(dispatc)n(hing)195 204 y Fu(Set)12 b(to)g(a)f(non-zero)i(v)m(alue)g(if)g(a)f(function)h(is)f (b)q(eing)i(called)f(from)f(a)f(k)o(ey)h(binding;)j(zero)d(otherwise.) 195 259 y(Application)20 b(functions)e(can)g(test)g(this)g(to)f(disco)o (v)o(er)h(whether)g(they)g(w)o(ere)g(called)h(directly)g(or)195 314 y(b)o(y)c(Readline's)h(dispatc)o(hing)h(mec)o(hanism.)1773 423 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 423 V 21 w(erase)p 363 423 V 20 w(empt)n(y)p 540 423 V 20 w(line)195 478 y Fu(Setting)j(this)h(to)e(a)h(non-zero)g(v)m(alue)h (causes)f(Readline)i(to)d(completely)i(erase)f(the)g(curren)o(t)195 533 y(line,)g(including)h(an)o(y)c(prompt,)h(an)o(y)g(time)g(a)f (newline)j(is)e(t)o(yp)q(ed)g(as)f(the)h(only)g(c)o(haracter)f(on)195 588 y(an)e(otherwise-empt)o(y)g(line.)31 b(The)18 b(cursor)g(is)h(mo)o (v)o(ed)e(to)h(the)g(b)q(eginning)i(of)e(the)g(newly-blank)195 643 y(line.)1773 752 y(V)l(ariable)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 752 V 21 w(prompt)195 807 y Fu(The)13 b(prompt)g(Readline)h(uses.)20 b(This)13 b(is)h(set)f(from)f(the)h (argumen)o(t)g(to)f Ft(readline\(\))p Fu(,)g(and)h(should)195 862 y(not)g(b)q(e)h(assigned)g(to)f(directly)l(.)21 b(The)14 b Ft(rl_set_prompt\(\))d Fu(function)j(\(see)g(Section)g(2.4.6)e ([Redis-)195 917 y(pla)o(y],)j(page)g(33\))f(ma)o(y)h(b)q(e)g(used)h (to)f(mo)q(dify)h(the)f(prompt)g(string)g(after)f(calling)j Ft(readline\(\))p Fu(.)1773 1026 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1026 V 21 w(already)p 419 1026 V 21 w(prompted)195 1081 y Fu(If)e(an)g(application)i(wishes)f(to)f (displa)o(y)h(the)f(prompt)g(itself,)h(rather)f(than)g(ha)o(v)o(e)g (Readline)h(do)195 1136 y(it)e(the)f(\014rst)g(time)h Ft(readline\(\))e Fu(is)i(called,)h(it)e(should)i(set)e(this)h(v)m (ariable)g(to)f(a)g(non-zero)h(v)m(alue)195 1191 y(after)h(displa)o (ying)j(the)e(prompt.)31 b(The)19 b(prompt)g(m)o(ust)f(also)h(b)q(e)h (passed)f(as)f(the)h(argumen)o(t)g(to)195 1245 y Ft(readline\(\))c Fu(so)h(the)h(redispla)o(y)g(functions)h(can)e(up)q(date)h(the)g (displa)o(y)h(prop)q(erly)l(.)24 b(The)17 b(calling)195 1300 y(application)g(is)f(resp)q(onsible)h(for)d(managing)h(the)h(v)m (alue;)g(Readline)g(nev)o(er)g(sets)e(it.)1773 1410 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 1410 V 21 w(library)p 625 1410 V 21 w(v)n(ersion)195 1465 y Fu(The)c(v)o(ersion)h(n)o(um)o(b) q(er)f(of)g(this)h(revision)g(of)f(the)g(library)l(.)1773 1574 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1574 V 21 w(readline)p 434 1574 V 22 w(v)n(ersion)195 1629 y Fu(An)d(in)o(teger)h(enco)q(ding)g(the)f(curren)o(t)g(v)o(ersion)g (of)g(the)g(library)l(.)27 b(The)17 b(enco)q(ding)h(is)g(of)f(the)g (form)195 1684 y(0x)p Fk(MMmm)p Fu(,)g(where)i Fk(MM)j Fu(is)d(the)f(t)o(w)o(o-digit)g(ma)s(jor)f(v)o(ersion)i(n)o(um)o(b)q (er,)g(and)f Fk(mm)g Fu(is)h(the)f(t)o(w)o(o-)195 1738 y(digit)i(minor)e(v)o(ersion)h(n)o(um)o(b)q(er.)31 b(F)l(or)18 b(example,)i(for)e(Readline-4.2,)i Ft(rl_readline_version)195 1793 y Fu(w)o(ould)c(ha)o(v)o(e)e(the)i(v)m(alue)g(0x0402.)1773 1903 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1903 V 21 w(gn)n(u)p 327 1903 V 20 w(readline)p 545 1903 V 22 w(p)195 1958 y Fu(Alw)o(a)o(ys)15 b(set)g(to)f(1,)h(denoting)h(that) e(this)i(is)g Fp(gnu)f Fu(readline)h(rather)f(than)g(some)g(em)o (ulation.)1773 2067 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 2067 V 21 w(terminal)p 668 2067 V 21 w(name)195 2122 y Fu(The)14 b(terminal)h(t)o(yp)q(e,)f(used)h(for) e(initialization.)23 b(If)14 b(not)f(set)h(b)o(y)g(the)g(application,)i (Readline)f(sets)195 2177 y(this)h(to)e(the)h(v)m(alue)i(of)e(the)g Ft(TERM)g Fu(en)o(vironmen)o(t)g(v)m(ariable)i(the)e(\014rst)g(time)g (it)h(is)f(called.)1773 2286 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 2286 V 21 w(readline)p 655 2286 V 22 w(name)195 2341 y Fu(This)d(v)m(ariable)h(is)f(set)g(to)f(a)g (unique)i(name)f(b)o(y)f(eac)o(h)h(application)h(using)f(Readline.)23 b(The)16 b(v)m(alue)195 2396 y(allo)o(ws)e(conditional)i(parsing)e(of)g (the)g(inputrc)h(\014le)g(\(see)f(Section)h(1.3.2)d([Conditional)j (Init)g(Con-)195 2451 y(structs],)f(page)h(9\).)1773 2560 y(V)l(ariable)-1861 b Fi(FILE)20 b(*)f Fh(rl)p 286 2560 V 21 w(instream)195 2615 y Fu(The)i(stdio)f(stream)g(from)g(whic)o (h)h(Readline)h(reads)e(input.)37 b(If)21 b Ft(NULL)p Fu(,)g(Readline)h(defaults)f(to)195 2670 y Fk(stdin)p Fu(.)p eop %%Page: 26 28 26 27 bop 75 -58 a Fu(26)1299 b(GNU)15 b(Readline)h(Library)1773 149 y(V)l(ariable)-1861 b Fi(FILE)20 b(*)f Fh(rl)p 286 149 18 3 v 21 w(outstream)195 204 y Fu(The)e(stdio)h(stream)e(to)h (whic)o(h)h(Readline)g(p)q(erforms)f(output.)26 b(If)18 b Ft(NULL)p Fu(,)e(Readline)j(defaults)f(to)195 259 y Fk(stdout)p Fu(.)1773 381 y(V)l(ariable)-1861 b Fi(rl_command_func_t)22 b(*)d Fh(rl)p 626 381 V 21 w(last)p 735 381 V 21 w(func)195 436 y Fu(The)f(address)f(of)g(the)g(last)h(command)f(function)h (Readline)h(executed.)27 b(Ma)o(y)17 b(b)q(e)h(used)g(to)f(test)195 490 y(whether)e(or)g(not)g(a)g(function)h(is)f(b)q(eing)i(executed)f(t) o(wice)g(in)g(succession,)g(for)e(example.)1773 612 y(V)l(ariable)-1861 b Fi(rl_hook_func_t)21 b(*)e Fh(rl)p 547 612 V 22 w(startup)p 752 612 V 19 w(ho)r(ok)195 667 y Fu(If)e(non-zero,)h(this)g(is)f(the)h (address)f(of)f(a)h(function)h(to)f(call)h(just)f(b)q(efore)g Ft(readline)f Fu(prin)o(ts)i(the)195 722 y(\014rst)d(prompt.)1773 844 y(V)l(ariable)-1861 b Fi(rl_hook_func_t)21 b(*)e Fh(rl)p 547 844 V 22 w(pre)p 651 844 V 20 w(input)p 804 844 V 21 w(ho)r(ok)195 898 y Fu(If)f(non-zero,)g(this)g(is)h(the)f (address)f(of)h(a)f(function)i(to)e(call)i(after)e(the)h(\014rst)f (prompt)g(has)h(b)q(een)195 953 y(prin)o(ted)e(and)f(just)g(b)q(efore)h Ft(readline)e Fu(starts)g(reading)h(input)i(c)o(haracters.)1773 1075 y(V)l(ariable)-1861 b Fi(rl_hook_func_t)21 b(*)e Fh(rl)p 547 1075 V 22 w(ev)n(en)n(t)p 701 1075 V 22 w(ho)r(ok)195 1130 y Fu(If)i(non-zero,)g(this)g(is)g(the)f(address)g(of)g(a)g (function)h(to)f(call)i(p)q(erio)q(dically)h(when)e(Readline)g(is)195 1184 y(w)o(aiting)15 b(for)f(terminal)h(input.)21 b(By)14 b(default,)h(this)g(will)i(b)q(e)e(called)h(at)e(most)g(ten)g(times)h (a)f(second)195 1239 y(if)i(there)f(is)h(no)f(k)o(eyb)q(oard)g(input.) 1773 1361 y(V)l(ariable)-1861 b Fi(rl_getc_func_t)21 b(*)e Fh(rl)p 547 1361 V 22 w(getc)p 671 1361 V 21 w(function)195 1416 y Fu(If)c(non-zero,)h(Readline)g(will)h(call)f(indirectly)i (through)d(this)g(p)q(oin)o(ter)h(to)f(get)f(a)h(c)o(haracter)g(from) 195 1471 y(the)k(input)i(stream.)31 b(By)19 b(default,)h(it)g(is)g(set) f(to)f Ft(rl_getc)p Fu(,)h(the)g(default)h(Readline)h(c)o(haracter)195 1525 y(input)16 b(function)g(\(see)f(Section)h(2.4.8)e([Character)g (Input],)h(page)g(34\).)1773 1647 y(V)l(ariable)-1861 b Fi(rl_voidfunc_t)21 b(*)e Fh(rl)p 521 1647 V 21 w(redispla)n(y)p 765 1647 V 22 w(function)195 1702 y Fu(If)f(non-zero,)h(Readline)g (will)h(call)f(indirectly)h(through)e(this)g(p)q(oin)o(ter)h(to)e(up)q (date)i(the)f(displa)o(y)195 1757 y(with)c(the)f(curren)o(t)h(con)o (ten)o(ts)f(of)g(the)g(editing)i(bu\013er.)k(By)14 b(default,)g(it)g (is)g(set)f(to)g Ft(rl_redisplay)p Fu(,)195 1812 y(the)i(default)h (Readline)h(redispla)o(y)f(function)g(\(see)f(Section)h(2.4.6)e ([Redispla)o(y],)h(page)g(33\).)1773 1933 y(V)l(ariable)-1861 b Fi(rl_vintfunc_t)21 b(*)e Fh(rl)p 521 1933 V 21 w(prep)p 656 1933 V 21 w(term)p 798 1933 V 19 w(function)195 1988 y Fu(If)12 b(non-zero,)h(Readline)g(will)h(call)f(indirectly)h(through) e(this)g(p)q(oin)o(ter)h(to)e(initialize)k(the)e(terminal.)195 2043 y(The)19 b(function)g(tak)o(es)f(a)g(single)i(argumen)o(t,)e(an)h Ft(int)f Fu(\015ag)g(that)g(sa)o(ys)g(whether)g(or)h(not)f(to)g(use)195 2098 y(eigh)o(t-bit)g(c)o(haracters.)25 b(By)17 b(default,)h(this)f(is) h(set)e(to)h Ft(rl_prep_terminal)e Fu(\(see)i(Section)h(2.4.9)195 2152 y([T)l(erminal)e(Managemen)o(t],)d(page)i(35\).)1773 2274 y(V)l(ariable)-1861 b Fi(rl_voidfunc_t)21 b(*)e Fh(rl)p 521 2274 V 21 w(deprep)p 714 2274 V 21 w(term)p 856 2274 V 19 w(function)195 2329 y Fu(If)g(non-zero,)g(Readline)g (will)h(call)g(indirectly)g(through)e(this)h(p)q(oin)o(ter)f(to)g (reset)g(the)h(terminal.)195 2384 y(This)f(function)g(should)h(undo)f (the)f(e\013ects)h(of)f Ft(rl_prep_term_function)p Fu(.)24 b(By)17 b(default,)i(this)195 2439 y(is)d(set)f(to)f Ft(rl_deprep_terminal)f Fu(\(see)i(Section)h(2.4.9)e([T)l(erminal)i (Managemen)o(t],)d(page)i(35\).)1773 2560 y(V)l(ariable)-1861 b Fi(Keymap)20 b Fh(rl)p 293 2560 V 21 w(executing)p 551 2560 V 22 w(k)n(eymap)195 2615 y Fu(This)f(v)m(ariable)g(is)f(set)g (to)g(the)g(k)o(eymap)f(\(see)h(Section)h(2.4.2)e([Keymaps],)g(page)h (29\))f(in)i(whic)o(h)195 2670 y(the)c(curren)o(tly)h(executing)g (readline)h(function)f(w)o(as)f(found.)p eop %%Page: 27 29 27 28 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(27)1773 149 y(V)l(ariable)-1861 b Fi(Keymap)20 b Fh(rl)p 293 149 18 3 v 21 w(binding)p 501 149 V 22 w(k)n(eymap)195 204 y Fu(This)f(v)m(ariable)g(is)f(set)g(to)g(the)g(k)o (eymap)f(\(see)h(Section)h(2.4.2)e([Keymaps],)g(page)h(29\))f(in)i (whic)o(h)195 259 y(the)c(last)g(k)o(ey)g(binding)j(o)q(ccurred.)1773 383 y(V)l(ariable)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 383 V 21 w(executing)p 544 383 V 22 w(macro)195 438 y Fu(This)d(v)m(ariable)g(is)g(set)f(to)g(the)g(text)g(of)f(an)o(y)h (curren)o(tly-executing)i(macro.)1773 562 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 562 V 21 w(readline)p 434 562 V 22 w(state)195 617 y Fu(A)d(v)m(ariable)i(with)e(bit)h(v)m(alues)h (that)d(encapsulate)i(the)g(curren)o(t)f(Readline)h(state.)25 b(A)18 b(bit)f(is)h(set)195 671 y(with)h(the)g Ft(RL_SETSTATE)f Fu(macro,)h(and)g(unset)g(with)g(the)g Ft(RL_UNSETSTATE)e Fu(macro.)31 b(Use)19 b(the)195 726 y Ft(RL_ISSTATE)e Fu(macro)h(to)g(test)g(whether)h(a)f(particular)i(state)d(bit)j(is)f (set.)30 b(Curren)o(t)18 b(state)g(bits)195 781 y(include:)195 864 y Ft(RL_STATE_NONE)435 919 y Fu(Readline)e(has)g(not)e(y)o(et)h(b)q (een)h(called,)h(nor)e(has)g(it)g(b)q(egun)h(to)f(in)o(tialize.)195 1001 y Ft(RL_STATE_INITIALIZING)435 1056 y Fu(Readline)h(is)g (initializi)q(ng)i(its)d(in)o(ternal)h(data)f(structures.)195 1138 y Ft(RL_STATE_INITIALIZED)435 1192 y Fu(Readline)h(has)g (completed)g(its)f(initialization.)195 1274 y Ft(RL_STATE_TERMPREPPED) 435 1329 y Fu(Readline)h(has)e(mo)q(di\014ed)i(the)e(terminal)h(mo)q (des)g(to)e(do)i(its)f(o)o(wn)g(input)h(and)g(redis-)435 1384 y(pla)o(y)l(.)195 1466 y Ft(RL_STATE_READCMD)435 1521 y Fu(Readline)h(is)g(reading)g(a)f(command)g(from)f(the)i(k)o(eyb) q(oard.)195 1603 y Ft(RL_STATE_METANEXT)435 1658 y Fu(Readline)g(is)g (reading)g(more)f(input)h(after)e(reading)i(the)f(meta-pre\014x)h(c)o (haracter.)195 1740 y Ft(RL_STATE_DISPATCHING)435 1794 y Fu(Readline)g(is)g(dispatc)o(hing)h(to)d(a)h(command.)195 1876 y Ft(RL_STATE_MOREINPUT)435 1931 y Fu(Readline)h(is)g(reading)g (more)f(input)h(while)h(executing)f(an)f(editing)i(command.)195 2013 y Ft(RL_STATE_ISEARCH)435 2068 y Fu(Readline)f(is)g(p)q(erforming) g(an)f(incremen)o(tal)h(history)f(searc)o(h.)195 2150 y Ft(RL_STATE_NSEARCH)435 2205 y Fu(Readline)h(is)g(p)q(erforming)g(a)f (non-incremen)o(tal)h(history)g(searc)o(h.)195 2287 y Ft(RL_STATE_SEARCH)435 2342 y Fu(Readline)11 b(is)g(searc)o(hing)g(bac) o(kw)o(ard)e(or)h(forw)o(ard)f(through)h(the)g(history)g(for)f(a)h (string.)195 2424 y Ft(RL_STATE_NUMERICARG)435 2478 y Fu(Readline)16 b(is)g(reading)g(a)f(n)o(umeric)h(argumen)o(t.)195 2560 y Ft(RL_STATE_MACROINPUT)435 2615 y Fu(Readline)d(is)g(curren)o (tly)g(getting)f(its)g(input)h(from)e(a)h(previously-de\014ned)j(k)o (eyb)q(oard)435 2670 y(macro.)p eop %%Page: 28 30 28 29 bop 75 -58 a Fu(28)1299 b(GNU)15 b(Readline)h(Library)195 149 y Ft(RL_STATE_MACRODEF)435 204 y Fu(Readline)g(is)g(curren)o(tly)g (reading)g(c)o(haracters)e(de\014ning)j(a)e(k)o(eyb)q(oard)g(macro.)195 286 y Ft(RL_STATE_OVERWRITE)435 341 y Fu(Readline)h(is)g(in)g(o)o(v)o (erwrite)f(mo)q(de.)195 423 y Ft(RL_STATE_COMPLETING)435 478 y Fu(Readline)h(is)g(p)q(erforming)g(w)o(ord)e(completion.)195 560 y Ft(RL_STATE_SIGHANDLER)435 615 y Fu(Readline)i(is)g(curren)o(tly) g(executing)g(the)f(readline)i(signal)f(handler.)195 697 y Ft(RL_STATE_UNDOING)435 752 y Fu(Readline)g(is)g(p)q(erforming)g (an)f(undo.)195 834 y Ft(RL_STATE_DONE)435 889 y Fu(Readline)g(has)f (read)g(a)f(k)o(ey)h(sequence)h(b)q(ound)g(to)e Ft(accept-line)f Fu(and)i(is)h(ab)q(out)f(to)435 944 y(return)h(the)g(line)i(to)e(the)g (caller.)1773 1068 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1068 18 3 v 21 w(explicit)p 417 1068 V 24 w(arg)195 1123 y Fu(Set)f(to)g(a)g(non-zero)h(v)m(alue)h(if)e(an)h (explicit)h(n)o(umeric)g(argumen)o(t)d(w)o(as)h(sp)q(eci\014ed)i(b)o(y) f(the)f(user.)195 1178 y(Only)d(v)m(alid)h(in)f(a)f(bindable)i(command) f(function.)1773 1302 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1302 V 21 w(n)n(umeric)p 437 1302 V 20 w(arg)195 1357 y Fu(Set)j(to)f(the)g(v)m(alue)i(of)f(an)o(y)f(n)o (umeric)h(argumen)o(t)f(explicitly)k(sp)q(eci\014ed)f(b)o(y)d(the)h (user)g(b)q(efore)195 1412 y(executing)14 b(the)f(curren)o(t)g (Readline)h(function.)20 b(Only)14 b(v)m(alid)h(in)f(a)f(bindable)i (command)d(function.)1773 1536 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1536 V 21 w(editing)p 407 1536 V 22 w(mo)r(de)195 1591 y Fu(Set)13 b(to)f(a)g(v)m(alue)i(denoting)f (Readline's)g(curren)o(t)g(editing)h(mo)q(de.)19 b(A)12 b(v)m(alue)i(of)e Fk(1)k Fu(means)d(Readline)195 1646 y(is)j(curren)o(tly)f(in)h(emacs)g(mo)q(de;)f Fk(0)j Fu(means)d(that)g(vi)h(mo)q(de)f(is)h(activ)o(e.)75 1781 y Fs(2.4)33 b(Readline)23 b(Con)n(v)n(enience)g(F)-6 b(unctions)75 1927 y Fj(2.4.1)30 b(Naming)20 b(a)g(F)-5 b(unction)137 2025 y Fu(The)20 b(user)g(can)g(dynamically)i(c)o(hange)e (the)g(bindings)i(of)d(k)o(eys)h(while)h(using)g(Readline.)35 b(This)20 b(is)75 2080 y(done)f(b)o(y)f(represen)o(ting)h(the)g (function)g(with)g(a)f(descriptiv)o(e)i(name.)29 b(The)19 b(user)f(is)h(able)h(to)d(t)o(yp)q(e)i(the)75 2135 y(descriptiv)o(e)e (name)e(when)h(referring)f(to)g(the)g(function.)21 b(Th)o(us,)14 b(in)i(an)f(init)i(\014le,)f(one)f(migh)o(t)g(\014nd)195 2202 y Ft(Meta-Rubout:)46 b(backward-kill-word)137 2272 y Fu(This)21 b(binds)g(the)f(k)o(eystrok)o(e)661 2270 y Fn(h)p 673 2244 209 2 v 673 2272 a Fm(Meta-Rub)q(out)p 673 2279 V 879 2270 a Fn(i)914 2272 y Fu(to)g(the)g(function)g Fl(descriptively)k Fu(named)c Ft(backward-)75 2326 y(kill-word)p Fu(.)29 b(Y)l(ou,)19 b(as)f(the)h(programmer,)f(should)i(bind)f(the)g (functions)h(y)o(ou)e(write)h(to)e(descriptiv)o(e)75 2381 y(names)e(as)g(w)o(ell.)21 b(Readline)16 b(pro)o(vides)g(a)f (function)h(for)e(doing)i(that:)1762 2506 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2506 18 3 v 21 w(add)p 328 2506 V 20 w(defun)i Fg(\()p Ft(const)14 b(char)h(*name,)f (rl_command_func_t)283 2560 y(*function,)f(int)i(key)p Fg(\))195 2615 y Fu(Add)j Fk(name)i Fu(to)d(the)h(list)h(of)e(named)h (functions.)28 b(Mak)o(e)17 b Fk(function)h Fu(b)q(e)g(the)g(function)h (that)d(gets)195 2670 y(called.)21 b(If)16 b Fk(k)o(ey)j Fu(is)d(not)e(-1,)h(then)h(bind)g(it)g(to)e Fk(function)i Fu(using)g Ft(rl_bind_key\(\))p Fu(.)p eop %%Page: 29 31 29 30 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(29)137 149 y(Using)16 b(this)f(function)h(alone)g(is)f (su\016cien)o(t)h(for)f(most)f(applications.)21 b(It)15 b(is)h(the)f(recommended)h(w)o(a)o(y)75 204 y(to)d(add)h(a)f(few)g (functions)h(to)f(the)h(default)g(functions)g(that)f(Readline)i(has)e (built)i(in.)20 b(If)14 b(y)o(ou)f(need)h(to)f(do)75 259 y(something)k(other)g(than)f(adding)i(a)e(function)i(to)e (Readline,)i(y)o(ou)f(ma)o(y)f(need)i(to)e(use)h(the)g(underlying)75 314 y(functions)f(describ)q(ed)h(b)q(elo)o(w.)75 442 y Fj(2.4.2)30 b(Selecting)20 b(a)h(Keymap)137 546 y Fu(Key)16 b(bindings)i(tak)o(e)c(place)j(on)e(a)g Fk(k)o(eymap)p Fu(.)21 b(The)15 b(k)o(eymap)h(is)f(the)h(asso)q(ciation)g(b)q(et)o(w)o (een)g(the)f(k)o(eys)75 601 y(that)f(the)g(user)g(t)o(yp)q(es)g(and)h (the)f(functions)h(that)f(get)g(run.)19 b(Y)l(ou)c(can)f(mak)o(e)g(y)o (our)g(o)o(wn)f(k)o(eymaps,)h(cop)o(y)75 656 y(existing)i(k)o(eymaps,)f (and)g(tell)h(Readline)h(whic)o(h)f(k)o(eymap)f(to)f(use.)1762 797 y(F)l(unction)-1861 b Fi(Keymap)20 b Fh(rl)p 293 797 18 3 v 21 w(mak)n(e)p 445 797 V 20 w(bare)p 575 797 V 20 w(k)n(eymap)j Fg(\()p Ft(void)p Fg(\))195 851 y Fu(Returns)12 b(a)f(new,)i(empt)o(y)f(k)o(eymap.)18 b(The)13 b(space)f(for)f(the)i(k)o(eymap)e(is)i(allo)q(cated)g(with)f Ft(malloc\(\))p Fu(;)195 906 y(the)j(caller)i(should)f(free)f(it)h(b)o (y)f(calling)i Ft(rl_discard_keymap\(\))12 b Fu(when)k(done.)1762 1047 y(F)l(unction)-1861 b Fi(Keymap)20 b Fh(rl)p 293 1047 V 21 w(cop)n(y)p 428 1047 V 21 w(k)n(eymap)j Fg(\()p Ft(Keymap)14 b(map)p Fg(\))195 1102 y Fu(Return)h(a)g(new)g(k)o(eymap)g (whic)o(h)h(is)g(a)f(cop)o(y)g(of)g Fk(map)p Fu(.)1762 1243 y(F)l(unction)-1861 b Fi(Keymap)20 b Fh(rl)p 293 1243 V 21 w(mak)n(e)p 445 1243 V 20 w(k)n(eymap)j Fg(\()p Ft(void)p Fg(\))195 1298 y Fu(Return)16 b(a)f(new)i(k)o(eymap)e(with)i (the)f(prin)o(ting)h(c)o(haracters)e(b)q(ound)i(to)e(rl)p 1457 1298 14 2 v 17 w(insert,)h(the)g(lo)o(w)o(ercase)195 1353 y(Meta)11 b(c)o(haracters)f(b)q(ound)i(to)f(run)h(their)f(equiv)m (alen)o(ts,)j(and)d(the)h(Meta)e(digits)i(b)q(ound)g(to)f(pro)q(duce) 195 1407 y(n)o(umeric)16 b(argumen)o(ts.)1762 1548 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1548 18 3 v 21 w(discard)p 441 1548 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 1603 y Fu(F)l(ree)h(the)h(storage)d(asso)q(ciated)j(with)f Fk(k)o(eymap)p Fu(.)137 1711 y(Readline)24 b(has)f(sev)o(eral)g(in)o (ternal)g(k)o(eymaps.)42 b(These)23 b(functions)g(allo)o(w)g(y)o(ou)f (to)g(c)o(hange)h(whic)o(h)75 1766 y(k)o(eymap)15 b(is)h(activ)o(e.) 1762 1907 y(F)l(unction)-1861 b Fi(Keymap)20 b Fh(rl)p 293 1907 V 21 w(get)p 391 1907 V 21 w(k)n(eymap)i Fg(\()p Ft(void)p Fg(\))195 1962 y Fu(Returns)15 b(the)g(curren)o(tly)h(activ)o (e)f(k)o(eymap.)1762 2103 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2103 V 21 w(set)p 333 2103 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 2158 y Fu(Mak)o(es)g Fk(k)o(eymap)j Fu(the)e(curren)o(tly)h(activ)o(e)f(k)o(eymap.)1762 2298 y(F)l(unction)-1861 b Fi(Keymap)20 b Fh(rl)p 293 2298 V 21 w(get)p 391 2298 V 21 w(k)n(eymap)p 605 2298 V 20 w(b)n(y)p 685 2298 V 21 w(name)i Fg(\()p Ft(const)14 b(char)g(*name)p Fg(\))195 2353 y Fu(Return)i(the)h(k)o(eymap)f(matc)o (hing)h Fk(name)p Fu(.)24 b Fk(name)19 b Fu(is)e(one)g(whic)o(h)g(w)o (ould)g(b)q(e)h(supplied)h(in)e(a)f Ft(set)195 2408 y(keymap)e Fu(inputrc)j(line)f(\(see)g(Section)g(1.3)e([Readline)i(Init)g(File],)g (page)f(4\).)1762 2549 y(F)l(unction)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 2549 V 21 w(get)p 384 2549 V 21 w(k)n(eymap)p 598 2549 V 20 w(name)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 2604 y Fu(Return)i(the)h(name)g(matc)o(hing)f Fk(k)o(eymap)p Fu(.)24 b Fk(name)19 b Fu(is)e(one)g(whic)o(h)g(w)o (ould)g(b)q(e)h(supplied)h(in)e(a)f Ft(set)195 2659 y(keymap)e Fu(inputrc)j(line)f(\(see)g(Section)g(1.3)e([Readline)i(Init)g(File],)g (page)f(4\).)p eop %%Page: 30 32 30 31 bop 75 -58 a Fu(30)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fj(2.4.3)30 b(Binding)20 b(Keys)137 244 y Fu(Key)13 b(sequences)g(are)e(asso)q(ciate)h(with)h(functions)f(through)g(the)g (k)o(eymap.)19 b(Readline)13 b(has)f(sev)o(eral)g(in-)75 299 y(ternal)j(k)o(eymaps:)k Ft(emacs_standard_keymap)p Fu(,)11 b Ft(emacs_meta_keymap)p Fu(,)h Ft(emacs_ctlx_keymap)p Fu(,)g Ft(vi_)75 354 y(movement_keymap)p Fu(,)20 b(and)i Ft(vi_insertion_keymap)p Fu(.)35 b Ft(emacs_standard_keymap)18 b Fu(is)k(the)f(default,)75 408 y(and)15 b(the)h(examples)g(in)g(this)f (man)o(ual)h(assume)f(that.)137 474 y(Since)h Ft(readline\(\))c Fu(installs)j(a)f(set)f(of)h(default)g(k)o(ey)g(bindings)h(the)f (\014rst)g(time)g(it)g(is)g(called,)i(there)d(is)75 529 y(alw)o(a)o(ys)j(the)g(danger)g(that)g(a)g(custom)g(binding)i (installed)g(b)q(efore)f(the)f(\014rst)g(call)i(to)d Ft(readline\(\))g Fu(will)75 584 y(b)q(e)f(o)o(v)o(erridden.)19 b(An)13 b(alternate)g(mec)o(hanism)h(is)f(to)f(install)i(custom)f(k)o (ey)g(bindings)h(in)g(an)f(initialization)75 638 y(function)19 b(assigned)h(to)d(the)i Ft(rl_startup_hook)e Fu(v)m(ariable)j(\(see)e (Section)h(2.3)f([Readline)i(V)l(ariables],)75 693 y(page)15 b(24\).)137 759 y(These)h(functions)g(manage)e(k)o(ey)i(bindings.)1762 868 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 868 18 3 v 21 w(bind)p 347 868 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key,)h(rl_command_func_t)d(*function)p Fg(\))195 922 y Fu(Binds)18 b Fk(k)o(ey)i Fu(to)c Fk(function)h Fu(in)h(the)e(curren) o(tly)h(activ)o(e)g(k)o(eymap.)23 b(Returns)16 b(non-zero)h(in)g(the)g (case)195 977 y(of)e(an)g(in)o(v)m(alid)i Fk(k)o(ey)p Fu(.)1762 1086 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1086 V 21 w(bind)p 347 1086 V 21 w(k)n(ey)p 452 1086 V 21 w(in)p 520 1086 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h (rl_command_func_t)e(*function,)283 1141 y(Keymap)h(map)p Fg(\))195 1196 y Fu(Bind)i Fk(k)o(ey)j Fu(to)c Fk(function)h Fu(in)g Fk(map)p Fu(.)k(Returns)14 b(non-zero)i(in)g(the)f(case)g(of)g (an)g(in)o(v)m(alid)j Fk(k)o(ey)p Fu(.)1762 1304 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1304 V 21 w(un)n(bind)p 409 1304 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key)p Fg(\))195 1359 y Fu(Bind)19 b Fk(k)o(ey)j Fu(to)c(the)g(n)o(ull)i(function)f(in)g (the)f(curren)o(tly)g(activ)o(e)h(k)o(eymap.)28 b(Returns)18 b(non-zero)g(in)195 1414 y(case)d(of)g(error.)1762 1523 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1523 V 21 w(un)n(bind)p 409 1523 V 21 w(k)n(ey)p 514 1523 V 21 w(in)p 582 1523 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h(Keymap)f (map)p Fg(\))195 1577 y Fu(Bind)i Fk(k)o(ey)j Fu(to)c(the)g(n)o(ull)i (function)f(in)g Fk(map)p Fu(.)k(Returns)14 b(non-zero)i(in)g(case)f (of)g(error.)1762 1686 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1686 V 21 w(un)n(bind)p 409 1686 V 21 w(function)p 635 1686 V 21 w(in)p 703 1686 V 21 w(map)h Fg(\()p Ft (rl_command_func_t)13 b(*function,)283 1741 y(Keymap)h(map)p Fg(\))195 1796 y Fu(Un)o(bind)j(all)f(k)o(eys)f(that)f(execute)i Fk(function)g Fu(in)g Fk(map)p Fu(.)1762 1905 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1905 V 21 w(un)n(bind)p 409 1905 V 21 w(command)p 674 1905 V 17 w(in)p 738 1905 V 22 w(map)h Fg(\()p Ft(const)14 b(char)h(*command,)f(Keymap)283 1959 y(map)p Fg(\))195 2014 y Fu(Un)o(bind)j(all)f(k)o(eys)f(that)f (are)h(b)q(ound)h(to)f Fk(command)i Fu(in)f Fk(map)p Fu(.)1762 2123 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2123 V 21 w(set)p 307 2123 V 20 w(k)n(ey)k Fg(\()p Ft(const)14 b(char)h(*keyseq,)f(rl_command_func_t)f(*function,)283 2178 y(Keymap)h(map)p Fg(\))195 2232 y Fu(Bind)g(the)e(k)o(ey)h (sequence)h(represen)o(ted)f(b)o(y)f(the)h(string)f Fk(k)o(eyseq)i Fu(to)e(the)g(function)i Fk(function)p Fu(.)19 b(This)195 2287 y(mak)o(es)13 b(new)g(k)o(eymaps)g(as)f(necessary)l(.)20 b(The)13 b(initial)j(k)o(eymap)c(in)i(whic)o(h)g(to)f(do)g(bindings)i (is)f Fk(map)p Fu(.)1762 2396 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2396 V 21 w(generic)p 413 2396 V 21 w(bind)j Fg(\()p Ft(int)15 b(type,)f(const)h(char)f(*keyseq,)g(char)h(*data,)283 2451 y(Keymap)f(map)p Fg(\))195 2506 y Fu(Bind)h(the)e(k)o(ey)h (sequence)h(represen)o(ted)e(b)o(y)h(the)g(string)f Fk(k)o(eyseq)i Fu(to)d(the)i(arbitrary)f(p)q(oin)o(ter)h Fk(data)p Fu(.)195 2560 y Fk(t)o(yp)q(e)j Fu(sa)o(ys)c(what)h(kind)h(of)f(data)g(is)g(p)q (oin)o(ted)i(to)d(b)o(y)h Fk(data)p Fu(;)g(this)h(can)f(b)q(e)h(a)f (function)h(\()p Ft(ISFUNC)p Fu(\),)d(a)195 2615 y(macro)i(\()p Ft(ISMACR)p Fu(\),)f(or)h(a)h(k)o(eymap)f(\()p Ft(ISKMAP)p Fu(\).)k(This)e(mak)o(es)e(new)h(k)o(eymaps)f(as)h(necessary)l(.)20 b(The)195 2670 y(initial)d(k)o(eymap)e(in)h(whic)o(h)g(to)f(do)g (bindings)i(is)f Fk(map)p Fu(.)p eop %%Page: 31 33 31 32 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(31)1762 149 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 149 18 3 v 21 w(parse)p 369 149 V 19 w(and)p 480 149 V 21 w(bind)j Fg(\()p Ft(char)14 b(*line)p Fg(\))195 204 y Fu(P)o(arse)g Fk(line)19 b Fu(as)14 b(if)h(it)g(had)g(b)q(een)h (read)f(from)f(the)g Ft(inputrc)g Fu(\014le)i(and)f(p)q(erform)f(an)o (y)h(k)o(ey)f(bindings)195 259 y(and)h(v)m(ariable)i(assignmen)o(ts)e (found)h(\(see)f(Section)h(1.3)e([Readline)i(Init)g(File],)g(page)f (4\).)1762 359 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 359 V 21 w(read)p 346 359 V 20 w(init)p 450 359 V 22 w(\014le)k Fg(\()p Ft(const)14 b(char)h(*filename)p Fg(\))195 414 y Fu(Read)g(k)o(eybindings)j(and)e(v)m(ariable)h (assignmen)o(ts)f(from)f Fk(\014lename)k Fu(\(see)d(Section)g(1.3)f ([Readline)195 469 y(Init)h(File],)g(page)f(4\).)75 571 y Fj(2.4.4)30 b(Asso)r(ciating)20 b(F)-5 b(unction)20 b(Names)h(and)f(Bindings)137 664 y Fu(These)11 b(functions)h(allo)o(w)e (y)o(ou)h(to)f(\014nd)h(out)f(what)g(k)o(eys)h(in)o(v)o(ok)o(e)f(named) h(functions)h(and)e(the)h(functions)75 718 y(in)o(v)o(ok)o(ed)j(b)o(y)g (a)f(particular)h(k)o(ey)g(sequence.)21 b(Y)l(ou)14 b(ma)o(y)f(also)g (asso)q(ciate)h(a)g(new)g(function)g(name)g(with)g(an)75 773 y(arbitrary)h(function.)1762 873 y(F)l(unction)-1861 b Fi(rl_command_func_t)22 b(*)d Fh(rl)p 626 873 V 21 w(named)p 814 873 V 19 w(function)k Fg(\()p Ft(const)14 b(char)h(*name)p Fg(\))195 928 y Fu(Return)g(the)g(function)h(with)g (name)f Fk(name)p Fu(.)1762 1028 y(F)l(unction)-1861 b Fi(rl_command_func_t)22 b(*)d Fh(rl)p 626 1028 V 21 w(function)p 852 1028 V 21 w(of)p 920 1028 V 20 w(k)n(eyseq)24 b Fg(\()p Ft(const)14 b(char)283 1083 y(*keyseq,)g(Keymap)g(map,)h(int) f(*type)p Fg(\))195 1138 y Fu(Return)i(the)g(function)h(in)o(v)o(ok)o (ed)g(b)o(y)f Fk(k)o(eyseq)h Fu(in)g(k)o(eymap)f Fk(map)p Fu(.)23 b(If)17 b Fk(map)g Fu(is)g Ft(NULL)p Fu(,)f(the)g(curren)o(t) 195 1193 y(k)o(eymap)i(is)h(used.)31 b(If)18 b Fk(t)o(yp)q(e)j Fu(is)e(not)g Ft(NULL)p Fu(,)f(the)g(t)o(yp)q(e)h(of)f(the)h(ob)s(ject) f(is)h(returned)g(in)g(the)f Ft(int)195 1247 y Fu(v)m(ariable)f(it)e(p) q(oin)o(ts)h(to)e(\(one)h(of)g Ft(ISFUNC)p Fu(,)f Ft(ISKMAP)p Fu(,)g(or)h Ft(ISMACR)p Fu(\).)1762 1347 y(F)l(unction)-1861 b Fi(char)20 b(**)f Fh(rl)p 312 1347 V 21 w(in)n(v)n(oking)p 541 1347 V 23 w(k)n(eyseqs)k Fg(\()p Ft(rl_command_func_t)13 b(*function)p Fg(\))195 1402 y Fu(Return)i(an)h(arra)o(y)e(of)h (strings)h(represen)o(ting)g(the)g(k)o(ey)f(sequences)i(used)f(to)f(in) o(v)o(ok)o(e)h Fk(function)g Fu(in)195 1457 y(the)f(curren)o(t)g(k)o (eymap.)1762 1557 y(F)l(unction)-1861 b Fi(char)20 b(**)f Fh(rl)p 312 1557 V 21 w(in)n(v)n(oking)p 541 1557 V 23 w(k)n(eyseqs)p 750 1557 V 21 w(in)p 818 1557 V 22 w(map)i Fg(\()p Ft(rl_command_func_t)283 1612 y(*function,)13 b(Keymap)i(map)p Fg(\))195 1667 y Fu(Return)g(an)h(arra)o(y)e(of)h (strings)h(represen)o(ting)g(the)g(k)o(ey)f(sequences)i(used)f(to)f(in) o(v)o(ok)o(e)h Fk(function)g Fu(in)195 1722 y(the)f(k)o(eymap)g Fk(map)p Fu(.)1762 1822 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1822 V 21 w(function)p 467 1822 V 21 w(dump)r(er)g Fg(\()p Ft(int)15 b(readable)p Fg(\))195 1876 y Fu(Prin)o(t)g(the)f (readline)j(function)e(names)g(and)f(the)h(k)o(ey)g(sequences)g(curren) o(tly)g(b)q(ound)h(to)e(them)h(to)195 1931 y Ft(rl_outstream)p Fu(.)j(If)c Fk(readable)j Fu(is)d(non-zero,)g(the)g(list)g(is)h (formatted)d(in)j(suc)o(h)f(a)f(w)o(a)o(y)g(that)g(it)h(can)195 1986 y(b)q(e)i(made)f(part)g(of)f(an)i Ft(inputrc)e Fu(\014le)i(and)f (re-read.)1762 2086 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2086 V 21 w(list)p 337 2086 V 22 w(funmap)p 550 2086 V 18 w(names)h Fg(\()p Ft(void)p Fg(\))195 2141 y Fu(Prin)o(t)15 b(the)g(names)h(of)e(all)j(bindable)g(Readline)f (functions)g(to)f Ft(rl_outstream)p Fu(.)1762 2241 y(F)l(unction)-1861 b Fi(const)20 b(char)g(**)f Fh(rl)p 462 2241 V 21 w(funmap)p 674 2241 V 18 w(names)i Fg(\()p Ft(void)p Fg(\))195 2296 y Fu(Return)13 b(a)f(NULL)i(terminated)g(arra)o(y)d(of)i(kno)o(wn)g (function)g(names.)20 b(The)13 b(arra)o(y)f(is)h(sorted.)19 b(The)195 2351 y(arra)o(y)11 b(itself)j(is)f(allo)q(cated,)h(but)f(not) f(the)h(strings)f(inside.)21 b(Y)l(ou)13 b(should)h Ft(free\(\))d Fu(the)i(arra)o(y)e(when)195 2405 y(y)o(ou)k(are)g(done,)g(but)g(not)g (the)g(p)q(oin)o(ters.)1762 2506 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2506 V 21 w(add)p 328 2506 V 20 w(funmap)p 539 2506 V 18 w(en)n(try)j Fg(\()p Ft(const)14 b(char)h(*name,)f(rl_command_func_t)283 2560 y(*function)p Fg(\))195 2615 y Fu(Add)j Fk(name)i Fu(to)d(the)g(list)h(of)f(bindable) j(Readline)f(command)e(names,)g(and)h(mak)o(e)f Fk(function)h Fu(the)195 2670 y(function)f(to)f(b)q(e)g(called)i(when)f Fk(name)i Fu(is)d(in)o(v)o(ok)o(ed.)p eop %%Page: 32 34 32 33 bop 75 -58 a Fu(32)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fj(2.4.5)30 b(Allo)n(wing)21 b(Undoing)137 251 y Fu(Supp)q(orting)14 b(the)g(undo)f(command)g(is)h(a)f(painless)h (thing,)g(and)f(mak)o(es)g(y)o(our)f(functions)i(m)o(uc)o(h)f(more)75 306 y(useful.)21 b(It)15 b(is)h(certainly)g(easy)f(to)g(try)f (something)i(if)f(y)o(ou)g(kno)o(w)g(y)o(ou)g(can)g(undo)h(it.)137 378 y(If)21 b(y)o(our)f(function)h(simply)h(inserts)f(text)e(once,)j (or)e(deletes)h(text)f(once,)i(and)f(uses)f Ft(rl_insert_)75 433 y(text\(\))13 b Fu(or)h Ft(rl_delete_text\(\))d Fu(to)j(do)f(it,)h (then)h(undoing)g(is)f(already)g(done)h(for)e(y)o(ou)h(automatically)l (.)137 506 y(If)d(y)o(ou)f(do)g(m)o(ultiple)i(insertions)f(or)f(m)o (ultiple)i(deletions,)g(or)e(an)o(y)g(com)o(bination)h(of)f(these)g(op) q(erations,)75 560 y(y)o(ou)19 b(should)h(group)e(them)h(together)g(in) o(to)g(one)g(op)q(eration.)31 b(This)20 b(is)f(done)h(with)f Ft(rl_begin_undo_)75 615 y(group\(\))14 b Fu(and)i Ft (rl_end_undo_group\(\))p Fu(.)137 688 y(The)g(t)o(yp)q(es)f(of)g(ev)o (en)o(ts)g(that)f(can)h(b)q(e)h(undone)g(are:)195 757 y Ft(enum)23 b(undo_code)g({)h(UNDO_DELETE,)e(UNDO_INSERT,)g (UNDO_BEGIN,)g(UNDO_END)h(};)137 830 y Fu(Notice)16 b(that)e Ft(UNDO_DELETE)g Fu(means)h(to)g(insert)g(some)g(text,)f(and)i Ft(UNDO_INSERT)d Fu(means)i(to)g(delete)75 885 y(some)e(text.)19 b(That)14 b(is,)g(the)g(undo)g(co)q(de)g(tells)h(what)e(to)h(undo,)g (not)f(ho)o(w)g(to)g(undo)i(it.)k Ft(UNDO_BEGIN)13 b Fu(and)75 939 y Ft(UNDO_END)h Fu(are)h(tags)f(added)i(b)o(y)f Ft(rl_begin_undo_group\(\))d Fu(and)k Ft(rl_end_undo_group\(\))p Fu(.)1762 1072 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1072 18 3 v 21 w(b)r(egin)p 372 1072 V 20 w(undo)p 517 1072 V 20 w(group)h Fg(\()p Ft(void)p Fg(\))195 1127 y Fu(Begins)16 b(sa)o(ving)g(undo)g(information)f(in)i(a)e(group)g (construct.)20 b(The)c(undo)g(information)g(usually)195 1182 y(comes)21 b(from)f(calls)i(to)e Ft(rl_insert_text\(\))e Fu(and)j Ft(rl_delete_text\(\))p Fu(,)f(but)h(could)g(b)q(e)h(the)195 1237 y(result)16 b(of)e(calls)j(to)d Ft(rl_add_undo\(\))p Fu(.)1762 1370 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1370 V 21 w(end)p 326 1370 V 20 w(undo)p 471 1370 V 20 w(group)h Fg(\()p Ft(void)p Fg(\))195 1424 y Fu(Closes)15 b(the)f(curren)o(t)h(undo)g(group)f(started)g(with)g Ft(rl_begin_undo_group)f(\(\))p Fu(.)19 b(There)c(should)195 1479 y(b)q(e)h(one)f(call)i(to)d Ft(rl_end_undo_group\(\))f Fu(for)h(eac)o(h)h(call)i(to)d Ft(rl_begin_undo_group\(\))p Fu(.)1762 1612 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1612 V 21 w(add)p 354 1612 V 20 w(undo)i Fg(\()p Ft(enum)14 b(undo_code)g(what,)g(int)h(start,)g(int)f(end,)h(char)283 1667 y(*text)p Fg(\))195 1722 y Fu(Remem)o(b)q(er)i(ho)o(w)f(to)h(undo) g(an)g(ev)o(en)o(t)g(\(according)g(to)g Fk(what)q Fu(\).)24 b(The)17 b(a\013ected)g(text)f(runs)i(from)195 1776 y Fk(start)d Fu(to)g Fk(end)p Fu(,)g(and)g(encompasses)h Fk(text)p Fu(.)1762 1909 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1909 V 21 w(free)p 356 1909 V 20 w(undo)p 501 1909 V 20 w(list)k Fg(\()p Ft(void)p Fg(\))195 1964 y Fu(F)l(ree)15 b(the)h(existing)g(undo)f(list.)1762 2097 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2097 V 21 w(do)p 297 2097 V 20 w(undo)i Fg(\()p Ft(void)p Fg(\))195 2152 y Fu(Undo)12 b(the)f(\014rst)g(thing)h(on)g(the)f(undo)h (list.)19 b(Returns)11 b Ft(0)h Fu(if)g(there)f(w)o(as)g(nothing)h(to)e (undo,)j(non-zero)195 2206 y(if)j(something)f(w)o(as)f(undone.)137 2309 y(Finally)l(,)j(if)f(y)o(ou)f(neither)i(insert)f(nor)f(delete)i (text,)e(but)g(directly)i(mo)q(dify)f(the)g(existing)g(text)g(\(e.g.,) 75 2364 y(c)o(hange)j(its)h(case\),)g(call)g Ft(rl_modifying\(\))e Fu(once,)i(just)f(b)q(efore)h(y)o(ou)f(mo)q(dify)h(the)f(text.)32 b(Y)l(ou)20 b(m)o(ust)75 2419 y(supply)c(the)g(indices)h(of)e(the)g (text)g(range)g(that)f(y)o(ou)h(are)g(going)g(to)g(mo)q(dify)l(.)1762 2552 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2552 V 21 w(mo)r(difying)h Fg(\()p Ft(int)15 b(start,)f(int)h(end)p Fg(\))195 2606 y Fu(T)l(ell)22 b(Readline)f(to)e(sa)o(v)o(e)h(the)g (text)g(b)q(et)o(w)o(een)g Fk(start)g Fu(and)g Fk(end)j Fu(as)c(a)h(single)h(undo)g(unit.)35 b(It)20 b(is)195 2661 y(assumed)15 b(that)g(y)o(ou)g(will)i(subsequen)o(tly)f(mo)q(dify) g(that)e(text.)p eop %%Page: 33 35 33 34 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(33)75 149 y Fj(2.4.6)30 b(Redispla)n(y)1762 302 y Fu(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 302 18 3 v 21 w(redispla)n(y)k Fg(\()p Ft(void)p Fg(\))195 356 y Fu(Change)19 b(what's)f(displa)o(y)o(ed)i(on)f(the)g(screen)g(to) f(re\015ect)i(the)f(curren)o(t)f(con)o(ten)o(ts)h(of)f Ft(rl_line_)195 411 y(buffer)p Fu(.)1762 534 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 534 V 21 w(forced)p 390 534 V 20 w(up)r(date)p 584 534 V 20 w(displa)n(y)k Fg(\()p Ft(void)p Fg(\))195 589 y Fu(F)l(orce)c(the)g(line)h(to)e(b)q(e)i(up)q (dated)f(and)g(redispla)o(y)o(ed,)i(whether)e(or)g(not)f(Readline)i (thinks)g(the)195 644 y(screen)16 b(displa)o(y)g(is)g(correct.)1762 767 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 767 V 21 w(on)p 297 767 V 20 w(new)p 416 767 V 21 w(line)k Fg(\()p Ft(void)p Fg(\))195 822 y Fu(T)l(ell)16 b(the)f(up)q(date)h (functions)g(that)e(w)o(e)g(ha)o(v)o(e)h(mo)o(v)o(ed)f(on)o(to)g(a)h (new)g(\(empt)o(y\))f(line,)i(usually)h(after)195 877 y(ouputting)f(a)e(newline.)1762 1000 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1000 V 21 w(on)p 297 1000 V 20 w(new)p 416 1000 V 21 w(line)p 525 1000 V 22 w(with)p 657 1000 V 22 w(prompt)h Fg(\()p Ft(void)p Fg(\))195 1055 y Fu(T)l(ell)14 b(the)e(up)q(date)h(functions)g(that)f(w)o(e)g(ha) o(v)o(e)g(mo)o(v)o(ed)f(on)o(to)h(a)g(new)g(line,)i(with)f Fk(rl)p 1556 1055 14 2 v 17 w(prompt)g Fu(already)195 1109 y(displa)o(y)o(ed.)21 b(This)15 b(could)g(b)q(e)g(used)g(b)o(y)f (applications)i(that)e(w)o(an)o(t)f(to)h(output)g(the)g(prompt)g (string)195 1164 y(themselv)o(es,)g(but)g(still)h(need)g(Readline)g(to) e(kno)o(w)g(the)h(prompt)f(string)h(length)g(for)f(redispla)o(y)l(.)21 b(It)195 1219 y(should)16 b(b)q(e)g(used)g(after)e(setting)i Fk(rl)p 795 1219 V 16 w(already)p 956 1219 V 17 w(prompted)p Fu(.)1762 1342 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1342 18 3 v 21 w(reset)p 357 1342 V 20 w(line)p 465 1342 V 23 w(state)j Fg(\()p Ft(void)p Fg(\))195 1397 y Fu(Reset)17 b(the)g(displa)o(y)i(state)d(to)h(a)g(clean)h(state)f (and)g(redispla)o(y)i(the)e(curren)o(t)g(line)i(starting)e(on)g(a)195 1452 y(new)e(line.)1762 1575 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1575 V 21 w(crlf)j Fg(\()p Ft(void)p Fg(\))195 1630 y Fu(Mo)o(v)o(e)14 b(the)h(cursor)g(to)g(the)g(start)f(of)h(the)g (next)g(screen)h(line.)1762 1753 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1753 V 21 w(sho)n(w)p 359 1753 V 20 w(c)n(har)j Fg(\()p Ft(int)14 b(c)p Fg(\))195 1807 y Fu(Displa)o(y)j(c)o(haracter)e Fk(c)20 b Fu(on)c Ft(rl_outstream)p Fu(.)21 b(If)c(Readline)g(has)f(not)g(b)q(een)i(set)e(to)f(displa)o(y)j (meta)195 1862 y(c)o(haracters)12 b(directly)l(,)j(this)e(will)i(con)o (v)o(ert)d(meta)h(c)o(haracters)f(to)g(a)h(meta-pre\014xed)g(k)o(ey)g (sequence.)195 1917 y(This)j(is)f(in)o(tended)i(for)e(use)g(b)o(y)g (applications)i(whic)o(h)f(wish)g(to)f(do)g(their)g(o)o(wn)g(redispla)o (y)l(.)1762 2040 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2040 V 21 w(message)g Fg(\()p Ft(const)14 b(char)h(*,)g(...)p Fg(\))195 2095 y Fu(The)c(argumen)o(ts)e(are)h(a)g(format)f(string)h (as)g(w)o(ould)h(b)q(e)g(supplied)i(to)c Ft(printf)p Fu(,)h(p)q(ossibly)i(con)o(taining)195 2150 y(con)o(v)o(ersion)22 b(sp)q(eci\014cations)i(suc)o(h)f(as)e(`)p Ft(\045d)p Fu(',)i(and)f(an)o(y)g(additional)h(argumen)o(ts)e(necessary)i(to)195 2205 y(satisfy)d(the)h(con)o(v)o(ersion)g(sp)q(eci\014cations.)38 b(The)21 b(resulting)h(string)e(is)i(displa)o(y)o(ed)g(in)f(the)g Fk(ec)o(ho)195 2259 y(area)p Fu(.)e(The)d(ec)o(ho)f(area)g(is)g(also)g (used)h(to)f(displa)o(y)h(n)o(umeric)g(argumen)o(ts)f(and)g(searc)o(h)g (strings.)1762 2382 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2382 V 21 w(clear)p 354 2382 V 21 w(message)h Fg(\()p Ft(void)p Fg(\))195 2437 y Fu(Clear)15 b(the)h(message)e(in)i (the)g(ec)o(ho)f(area.)1762 2560 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2560 V 21 w(sa)n(v)n(e)p 365 2560 V 21 w(prompt)h Fg(\()p Ft(void)p Fg(\))195 2615 y Fu(Sa)o(v)o(e)g(the)h(lo)q(cal)g(Readline)h(prompt)e(displa)o(y)i (state)e(in)h(preparation)f(for)g(displa)o(ying)j(a)d(new)195 2670 y(message)15 b(in)h(the)f(message)g(area)f(with)i Ft(rl_message\(\))p Fu(.)p eop %%Page: 34 36 34 35 bop 75 -58 a Fu(34)1299 b(GNU)15 b(Readline)h(Library)1762 149 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 149 18 3 v 21 w(restore)p 436 149 V 20 w(prompt)g Fg(\()p Ft(void)p Fg(\))195 204 y Fu(Restore)g(the)i(lo)q(cal)g(Readline)h (prompt)e(displa)o(y)h(state)f(sa)o(v)o(ed)g(b)o(y)g(the)g(most)g (recen)o(t)g(call)i(to)195 259 y Ft(rl_save_prompt)p Fu(.)1762 369 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 369 V 21 w(expand)p 416 369 V 20 w(prompt)h Fg(\()p Ft(char)14 b(*prompt)p Fg(\))195 423 y Fu(Expand)22 b(an)o(y)f(sp)q (ecial)i(c)o(haracter)e(sequences)h(in)g Fk(prompt)g Fu(and)g(set)f(up)h(the)f(lo)q(cal)i(Readline)195 478 y(prompt)17 b(redispla)o(y)i(v)m(ariables.)30 b(This)18 b(function)h(is)f(called)i(b)o(y)e Ft(readline\(\))p Fu(.)26 b(It)18 b(ma)o(y)f(also)h(b)q(e)195 533 y(called)12 b(to)e(expand)h(the)g(primary)g(prompt)f(if)h(the)f Ft (rl_on_new_line_with_prompt\(\))d Fu(function)195 588 y(or)12 b Ft(rl_already_prompted)e Fu(v)m(ariable)k(is)g(used.)19 b(It)13 b(returns)g(the)f(n)o(um)o(b)q(er)i(of)e(visible)j(c)o (haracters)195 643 y(on)g(the)g(last)h(line)g(of)f(the)g(\(p)q(ossibly) i(m)o(ulti-line\))g(prompt.)1762 752 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 752 V 21 w(set)p 307 752 V 20 w(prompt)h Fg(\()p Ft(const)14 b(char)h(*prompt)p Fg(\))195 807 y Fu(Mak)o(e)e(Readline)i(use)e Fk(prompt)h Fu(for)f(subsequen)o(t)h(redispla)o(y)l(.)21 b(This)14 b(calls)g Ft(rl_expand_prompt\(\))195 862 y Fu(to)h(expand)g(the)h (prompt)e(and)i(sets)f Ft(rl_prompt)f Fu(to)g(the)h(result.)75 970 y Fj(2.4.7)30 b(Mo)r(difying)20 b(T)-5 b(ext)1762 1108 y Fu(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1108 V 21 w(insert)p 378 1108 V 21 w(text)k Fg(\()p Ft(const)14 b(char)g(*text)p Fg(\))195 1163 y Fu(Insert)i Fk(text)g Fu(in)o(to)g(the)g(line)h(at)f(the)g(curren)o(t)f(cursor)h(p)q (osition.)22 b(Returns)16 b(the)g(n)o(um)o(b)q(er)g(of)f(c)o(har-)195 1218 y(acters)g(inserted.)1762 1328 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1328 V 21 w(delete)p 383 1328 V 22 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)f(end)p Fg(\))195 1382 y Fu(Delete)19 b(the)g(text)g(b)q(et)o(w)o(een)g Fk(start)g Fu(and)g Fk(end)i Fu(in)f(the)f(curren)o(t)f(line.)33 b(Returns)18 b(the)h(n)o(um)o(b)q(er)g(of)195 1437 y(c)o(haracters)14 b(deleted.)1762 1547 y(F)l(unction)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 1547 V 21 w(cop)n(y)p 421 1547 V 21 w(text)24 b Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 1602 y Fu(Return)g(a)g(cop)o(y)g(of)g(the)g(text)f(b)q(et)o (w)o(een)i Fk(start)f Fu(and)g Fk(end)j Fu(in)e(the)f(curren)o(t)g (line.)1762 1711 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1711 V 21 w(kill)p 311 1711 V 23 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 1766 y Fu(Cop)o(y)i(the)g (text)f(b)q(et)o(w)o(een)i Fk(start)f Fu(and)g Fk(end)i Fu(in)f(the)f(curren)o(t)g(line)i(to)e(the)g(kill)i(ring,)e(app)q (ending)195 1821 y(or)f(prep)q(ending)k(to)c(the)h(last)g(kill)i(if)e (the)g(last)g(command)g(w)o(as)f(a)h(kill)i(command.)25 b(The)17 b(text)f(is)195 1876 y(deleted.)26 b(If)17 b Fk(start)g Fu(is)g(less)g(than)g Fk(end)p Fu(,)g(the)g(text)g(is)g(app) q(ended,)h(otherwise)f(prep)q(ended.)27 b(If)17 b(the)195 1930 y(last)e(command)g(w)o(as)g(not)f(a)h(kill,)i(a)e(new)g(kill)i (ring)f(slot)f(is)h(used.)1762 2040 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2040 V 21 w(push)p 355 2040 V 19 w(macro)p 529 2040 V 19 w(input)k Fg(\()p Ft(char)14 b(*macro)p Fg(\))195 2095 y Fu(Cause)g Fk(macro)i Fu(to)d(b)q(e)i (inserted)g(in)o(to)f(the)g(line,)i(as)e(if)g(it)h(had)f(b)q(een)h(in)o (v)o(ok)o(ed)g(b)o(y)f(a)g(k)o(ey)g(b)q(ound)h(to)195 2150 y(a)g(macro.)k(Not)c(esp)q(ecially)i(useful;)f(use)g Ft(rl_insert_text\(\))d Fu(instead.)75 2257 y Fj(2.4.8)30 b(Character)21 b(Input)1762 2396 y Fu(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2396 V 21 w(read)p 346 2396 V 20 w(k)n(ey)k Fg(\()p Ft(void)p Fg(\))195 2451 y Fu(Return)14 b(the)h(next)g(c)o(haracter)f(a)o(v)m(ailable)i(from)e(Readline's)i (curren)o(t)f(input)g(stream.)k(This)d(han-)195 2506 y(dles)f(input)g(inserted)f(in)o(to)g(the)g(input)h(stream)e(via)h Fk(rl)p 1117 2506 14 2 v 17 w(p)q(ending)p 1290 2506 V 18 w(input)i Fu(\(see)e(Section)h(2.3)e([Read-)195 2560 y(line)21 b(V)l(ariables],)g(page)f(24\))f(and)h Ft(rl_stuff_char\(\))p Fu(,)e(macros,)h(and)h(c)o(haracters)f(read)h (from)195 2615 y(the)d(k)o(eyb)q(oard.)25 b(While)19 b(w)o(aiting)e(for)f(input,)j(this)e(function)h(will)h(call)f(an)o(y)e (function)i(assigned)195 2670 y(to)d(the)g Ft(rl_event_hook)e Fu(v)m(ariable.)p eop %%Page: 35 37 35 36 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(35)1762 149 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 149 18 3 v 21 w(getc)j Fg(\()p Ft(FILE)14 b(*stream)p Fg(\))195 204 y Fu(Return)c(the)h(next)g(c)o(haracter)f(a)o (v)m(ailable)i(from)e Fk(stream)p Fu(,)g(whic)o(h)i(is)f(assumed)f(to)g (b)q(e)i(the)e(k)o(eyb)q(oard.)1762 342 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 342 V 21 w(stu\013)p 346 342 V 20 w(c)n(har)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 397 y Fu(Insert)i Fk(c)i Fu(in)o(to)d(the)h(Readline)h(input)f(stream.)23 b(It)16 b(will)i(b)q(e)f Ft(")p Fu(read)p Ft(")g Fu(b)q(efore)f (Readline)i(attempts)195 452 y(to)13 b(read)g(c)o(haracters)g(from)f (the)i(terminal)g(with)g Ft(rl_read_key\(\))p Fu(.)j(Up)d(to)f(512)f(c) o(haracters)h(ma)o(y)195 507 y(b)q(e)j(pushed)g(bac)o(k.)k Ft(rl_stuff_char)14 b Fu(returns)h(1)g(if)h(the)f(c)o(haracter)g(w)o (as)f(successfully)j(inserted;)195 562 y(0)e(otherwise.)1762 700 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 700 V 21 w(execute)p 423 700 V 22 w(next)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 754 y Fu(Mak)o(e)i Fk(c)k Fu(b)q(e)d(the)g(next)g (command)g(to)f(b)q(e)i(executed)f(when)h Ft(rl_read_key\(\))d Fu(is)i(called.)29 b(This)195 809 y(sets)15 b Fk(rl)p 317 809 14 2 v 17 w(p)q(ending)p 490 809 V 18 w(input)p Fu(.)1762 947 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 947 18 3 v 21 w(clear)p 354 947 V 21 w(p)r(ending)p 575 947 V 21 w(input)j Fg(\()p Ft(void)p Fg(\))195 1002 y Fu(Unset)f Fk(rl)p 365 1002 14 2 v 16 w(p)q(ending)p 537 1002 V 19 w(input)p Fu(,)h(e\013ectiv)o(ely)g(negating)e(the)h (e\013ect)f(of)g(an)o(y)h(previous)g(call)h(to)d Ft(rl_)195 1057 y(execute_next\(\))p Fu(.)29 b(This)19 b(w)o(orks)f(only)h(if)h (the)e(p)q(ending)j(input)f(has)f(not)f(already)h(b)q(een)h(read)195 1112 y(with)c Ft(rl_read_key\(\))p Fu(.)1762 1250 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1250 18 3 v 21 w(set)p 307 1250 V 20 w(k)n(eyb)r(oard)p 558 1250 V 21 w(input)p 712 1250 V 21 w(timeout)i Fg(\()p Ft(int)15 b(u)p Fg(\))195 1305 y Fu(While)21 b(w)o(aiting)g(for)e(k)o(eyb)q(oard)h(input)h(in)g Ft(rl_read_key\(\))p Fu(,)e(Readline)i(will)h(w)o(ait)e(for)f Fk(u)h Fu(mi-)195 1360 y(croseconds)h(for)e(input)j(b)q(efore)f (calling)h(an)o(y)e(function)h(assigned)g(to)f Ft(rl_event_hook)p Fu(.)34 b(The)195 1414 y(default)16 b(w)o(aiting)f(p)q(erio)q(d)i(is)e (one-ten)o(th)h(of)e(a)h(second.)21 b(Returns)14 b(the)i(old)f(timeout) h(v)m(alue.)75 1540 y Fj(2.4.9)30 b(T)-5 b(erminal)20 b(Managemen)n(t)1762 1708 y Fu(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1708 V 21 w(prep)p 376 1708 V 20 w(terminal)j Fg(\()p Ft(int)14 b(meta_flag)p Fg(\))195 1762 y Fu(Mo)q(dify)22 b(the)f(terminal)h(settings)f(for)g(Readline's)h(use,)h(so)d Ft(readline\(\))g Fu(can)i(read)f(a)g(single)195 1817 y(c)o(haracter)15 b(at)g(a)g(time)i(from)d(the)i(k)o(eyb)q(oard.)22 b(The)16 b Fk(meta)p 1192 1817 14 2 v 15 w(\015ag)k Fu(argumen)o(t)15 b(should)h(b)q(e)h(non-zero)195 1872 y(if)f(Readline)g(should)g(read)f (eigh)o(t-bit)i(input.)1762 2010 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2010 18 3 v 21 w(deprep)p 434 2010 V 20 w(terminal)j Fg(\()p Ft(void)p Fg(\))195 2065 y Fu(Undo)16 b(the)g(e\013ects)f(of)h Ft(rl_prep_terminal\(\))p Fu(,)d(lea)o(ving)k(the)e(terminal)i(in)g(the)e(state)g(in)i(whic)o(h) 195 2120 y(it)e(w)o(as)g(b)q(efore)g(the)h(most)e(recen)o(t)h(call)i (to)d Ft(rl_prep_terminal\(\))p Fu(.)1762 2258 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2258 V 21 w(tt)n(y)p 334 2258 V 22 w(set)p 427 2258 V 20 w(default)p 620 2258 V 21 w(bindings)k Fg(\()p Ft(Keymap)14 b(kmap)p Fg(\))195 2313 y Fu(Read)k(the)h(op)q(erating)f(system's)g(terminal)h(editing)h (c)o(haracters)e(\(as)f(w)o(ould)i(b)q(e)g(displa)o(y)o(ed)h(b)o(y)195 2367 y Ft(stty)p Fu(\))14 b(to)h(their)h(Readline)g(equiv)m(alen)o(ts.) 22 b(The)15 b(bindings)i(are)e(p)q(erformed)g(in)h Fk(kmap)p Fu(.)1762 2506 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2506 V 21 w(reset)p 357 2506 V 20 w(terminal)j Fg(\()p Ft(const)15 b(char)f(*terminal_name)p Fg(\))195 2560 y Fu(Reinitialize)h(Readline's)e(idea)g(of)f(the)g(terminal)h(settings) g(using)g Fk(terminal)p 1491 2560 14 2 v 17 w(name)h Fu(as)e(the)h(termi-)195 2615 y(nal)k(t)o(yp)q(e)f(\(e.g.,)f Ft(vt100)p Fu(\).)21 b(If)c Fk(terminal)p 878 2615 V 17 w(name)i Fu(is)d Ft(NULL)p Fu(,)g(the)g(v)m(alue)h(of)f(the)g Ft(TERM)g Fu(en)o(vironmen)o(t)195 2670 y(v)m(ariable)h(is)e(used.)p eop %%Page: 36 38 36 37 bop 75 -58 a Fu(36)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fj(2.4.10)29 b(Utilit)n(y)22 b(F)-5 b(unctions)1762 287 y Fu(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 287 18 3 v 21 w(replace)p 438 287 V 22 w(line)k Fg(\()p Ft(const)14 b(char)h(*text,)f(int)h(clear_undo)p Fg(\))195 342 y Fu(Replace)20 b(the)g(con)o(ten)o(ts)f(of)g Ft(rl_line_buffer)f Fu(with)i Fk(text)p Fu(.)33 b(The)20 b(p)q(oin)o(t)g(and)g(mark)f(are)h (pre-)195 397 y(serv)o(ed,)13 b(if)h(p)q(ossible.)21 b(If)13 b Fk(clear)p 712 397 14 2 v 17 w(undo)j Fu(is)d(non-zero,)h (the)f(undo)g(list)h(asso)q(ciated)g(with)f(the)g(curren)o(t)195 452 y(line)k(is)f(cleared.)1762 561 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 561 18 3 v 21 w(extend)p 404 561 V 21 w(line)p 513 561 V 22 w(bu\013er)j Fg(\()p Ft(int)15 b(len)p Fg(\))195 616 y Fu(Ensure)g(that)g Ft(rl_line_buffer)e Fu(has)i(enough)g(space)h(to)e(hold)i Fk(len)g Fu(c)o(haracters,)e(p)q (ossibly)i(real-)195 670 y(lo)q(cating)g(it)f(if)h(necessary)l(.)1762 779 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 779 V 21 w(initiali)q(z)q(e)26 b Fg(\()p Ft(void)p Fg(\))195 834 y Fu(Initialize)21 b(or)d(re-initialize)k(Readline's)d(in)o(ternal) h(state.)28 b(It's)18 b(not)g(strictly)h(necessary)g(to)f(call)195 889 y(this;)d Ft(readline\(\))f Fu(calls)i(it)g(b)q(efore)f(reading)h (an)o(y)f(input.)1762 998 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 998 V 21 w(ding)j Fg(\()p Ft(void)p Fg(\))195 1053 y Fu(Ring)15 b(the)g(terminal)h(b)q(ell,)h(ob)q(eying)f(the)g (setting)f(of)g Ft(bell-style)p Fu(.)1762 1162 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1162 V 21 w(alphab)r(etic)k Fg(\()p Ft(int)14 b(c)p Fg(\))195 1217 y Fu(Return)h(1)g(if)g Fk(c)j Fu(is)e(an)f(alphab)q(etic)i(c)o(haracter.)1762 1325 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1325 V 21 w(displa)n(y)p 435 1325 V 22 w(matc)n(h)p 611 1325 V 20 w(list)25 b Fg(\()p Ft(char)14 b(**matches,)g(int)g(len,)h(int)g (max)p Fg(\))195 1380 y Fu(A)i(con)o(v)o(enience)i(function)f(for)f (displa)o(ying)i(a)e(list)h(of)e(strings)h(in)i(columnar)e(format)f(on) h(Read-)195 1435 y(line's)h(output)f(stream.)23 b Ft(matches)16 b Fu(is)h(the)g(list)h(of)e(strings,)h(in)g(argv)f(format,)g(suc)o(h)h (as)f(a)h(list)g(of)195 1490 y(completion)c(matc)o(hes.)19 b Ft(len)11 b Fu(is)i(the)f(n)o(um)o(b)q(er)h(of)e(strings)h(in)h Ft(matches)p Fu(,)f(and)g Ft(max)g Fu(is)g(the)h(length)f(of)195 1545 y(the)h(longest)g(string)g(in)h Ft(matches)p Fu(.)19 b(This)13 b(function)h(uses)f(the)h(setting)f(of)f Ft (print-completions-)195 1599 y(horizontally)k Fu(to)i(select)h(ho)o(w)e (the)i(matc)o(hes)e(are)h(displa)o(y)o(ed)h(\(see)g(Section)g(1.3.1)d ([Readline)195 1654 y(Init)g(File)g(Syn)o(tax],)e(page)h(4\).)137 1742 y(The)i(follo)o(wing)f(are)g(implemen)o(ted)i(as)e(macros,)f (de\014ned)i(in)g Ft(chardefs.h)p Fu(.)k(Applications)d(should)75 1796 y(refrain)d(from)g(using)h(them.)1762 1905 y(F)l(unction)-1861 b Fi(int)p 176 1905 V 40 w Fh(rl)p 235 1905 V 21 w(upp)r(ercase)p 506 1905 V 20 w(p)23 b Fg(\()p Ft(int)14 b(c)p Fg(\))195 1960 y Fu(Return)h(1)g(if)g Fk(c)j Fu(is)e(an)f(upp)q(ercase)i(alphab)q (etic)f(c)o(haracter.)1762 2069 y(F)l(unction)-1861 b Fi(int)p 176 2069 V 40 w Fh(rl)p 235 2069 V 21 w(lo)n(w)n(ercase)p 489 2069 V 23 w(p)22 b Fg(\()p Ft(int)15 b(c)p Fg(\))195 2124 y Fu(Return)g(1)g(if)g Fk(c)j Fu(is)e(a)f(lo)o(w)o(ercase)g (alphab)q(etic)i(c)o(haracter.)1762 2233 y(F)l(unction)-1861 b Fi(int)p 176 2233 V 40 w Fh(rl)p 235 2233 V 21 w(digit)p 369 2233 V 22 w(p)23 b Fg(\()p Ft(int)14 b(c)p Fg(\))195 2288 y Fu(Return)h(1)g(if)g Fk(c)j Fu(is)e(a)f(n)o(umeric)h(c)o (haracter.)1762 2397 y(F)l(unction)-1861 b Fi(int)p 176 2397 V 40 w Fh(rl)p 235 2397 V 21 w(to)p 307 2397 V 21 w(upp)r(er)21 b Fg(\()p Ft(int)15 b(c)p Fg(\))195 2451 y Fu(If)d Fk(c)j Fu(is)d(a)g(lo)o(w)o(ercase)f(alphab)q(etic)j(c)o (haracter,)d(return)h(the)g(corresp)q(onding)h(upp)q(ercase)g(c)o (haracter.)1762 2560 y(F)l(unction)-1861 b Fi(int)p 176 2560 V 40 w Fh(rl)p 235 2560 V 21 w(to)p 307 2560 V 21 w(lo)n(w)n(er)24 b Fg(\()p Ft(int)15 b(c)p Fg(\))195 2615 y Fu(If)g Fk(c)i Fu(is)e(an)f(upp)q(ercase)i(alphab)q(etic)g(c)o (haracter,)e(return)g(the)h(corresp)q(onding)g(lo)o(w)o(ercase)f(c)o (harac-)195 2670 y(ter.)p eop %%Page: 37 39 37 38 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(37)1762 149 y(F)l(unction)-1861 b Fi(int)p 176 149 18 3 v 40 w Fh(rl)p 235 149 V 21 w(digit)p 369 149 V 22 w(v)m(alue)24 b Fg(\()p Ft(int)15 b(c)p Fg(\))195 204 y Fu(If)g Fk(c)k Fu(is)c(a)g(n)o(um)o(b)q(er,)g(return)g(the)h(v)m (alue)g(it)g(represen)o(ts.)75 325 y Fj(2.4.11)29 b(Miscellaneous)22 b(F)-5 b(unctions)1762 484 y Fu(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 484 V 21 w(macro)p 391 484 V 19 w(bind)j Fg(\()p Ft(const)14 b(char)g(*keyseq,)h(const)f(char)h(*macro,)283 539 y(Keymap)f(map)p Fg(\))195 593 y Fu(Bind)f(the)f(k)o(ey)f(sequence) i Fk(k)o(eyseq)g Fu(to)e(in)o(v)o(ok)o(e)g(the)h(macro)f Fk(macro)p Fu(.)18 b(The)12 b(binding)h(is)f(p)q(erformed)g(in)195 648 y Fk(map)p Fu(.)19 b(When)14 b Fk(k)o(eyseq)h Fu(is)f(in)o(v)o(ok)o (ed,)g(the)g Fk(macro)i Fu(will)f(b)q(e)f(inserted)h(in)o(to)f(the)g (line.)21 b(This)14 b(function)195 703 y(is)i(deprecated;)f(use)h Ft(rl_generic_bind\(\))d Fu(instead.)1762 833 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 833 V 21 w(macro)p 417 833 V 19 w(dump)r(er)g Fg(\()p Ft(int)15 b(readable)p Fg(\))195 888 y Fu(Prin)o(t)f(the)f(k)o(ey)h(sequences)g(b)q(ound)h(to)e(macros)g (and)g(their)h(v)m(alues,)h(using)f(the)g(curren)o(t)g(k)o(eymap,)195 943 y(to)h Ft(rl_outstream)p Fu(.)k(If)d Fk(readable)j Fu(is)d(non-zero,)g(the)g(list)g(is)g(formatted)f(in)h(suc)o(h)g(a)f(w) o(a)o(y)g(that)g(it)195 997 y(can)g(b)q(e)h(made)f(part)g(of)g(an)g Ft(inputrc)f Fu(\014le)i(and)g(re-read.)1762 1127 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1127 V 21 w(v)m(ariable)p 431 1127 V 22 w(bind)j Fg(\()p Ft(const)14 b(char)g(*variable,)g(const)h (char)f(*value)p Fg(\))195 1182 y Fu(Mak)o(e)22 b(the)g(Readline)i(v)m (ariable)g Fk(v)m(ariable)j Fu(ha)o(v)o(e)22 b Fk(v)m(alue)p Fu(.)43 b(This)23 b(b)q(eha)o(v)o(es)g(as)f(if)h(the)f(readline)195 1237 y(command)12 b(`)p Ft(set)j Fk(v)m(ariable)k(v)m(alue)s Fu(')12 b(had)h(b)q(een)g(executed)h(in)f(an)f Ft(inputrc)g Fu(\014le)h(\(see)f(Section)i(1.3.1)195 1292 y([Readline)i(Init)g(File) h(Syn)o(tax],)d(page)h(4\).)1762 1422 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1422 V 21 w(v)m(ariable)p 457 1422 V 22 w(dump)r(er)g Fg(\()p Ft(int)14 b(readable)p Fg(\))195 1476 y Fu(Prin)o(t)g(the)h(readline)h(v)m(ariable)f(names)g (and)f(their)h(curren)o(t)f(v)m(alues)i(to)d Ft(rl_outstream)p Fu(.)18 b(If)d Fk(read-)195 1531 y(able)20 b Fu(is)e(non-zero,)f(the)g (list)h(is)g(formatted)e(in)h(suc)o(h)h(a)e(w)o(a)o(y)g(that)h(it)g (can)g(b)q(e)h(made)f(part)f(of)h(an)195 1586 y Ft(inputrc)d Fu(\014le)i(and)g(re-read.)1762 1716 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1716 V 21 w(set)p 307 1716 V 20 w(paren)p 469 1716 V 20 w(blink)p 613 1716 V 23 w(timeout)i Fg(\()p Ft(int)15 b(u)p Fg(\))195 1771 y Fu(Set)e(the)f(time)h(in)o(terv)m(al)h(\(in)f(microseconds\))g(that)f (Readline)i(w)o(aits)e(when)h(sho)o(wing)f(a)h(balancing)195 1826 y(c)o(haracter)h(when)i Ft(blink-matching-paren)d Fu(has)i(b)q(een)h(enabled.)1762 1956 y(F)l(unction)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 1956 V 21 w(get)p 384 1956 V 21 w(termcap)j Fg(\()p Ft(const)14 b(char)g(*cap)p Fg(\))195 2010 y Fu(Retriev)o(e)f(the)h(string)f(v)m(alue)i(of)e(the)h (termcap)f(capabilit)o(y)i Fk(cap)p Fu(.)k(Readline)c(fetc)o(hes)f(the) f(termcap)195 2065 y(en)o(try)j(for)h(the)f(curren)o(t)h(terminal)h (name)e(and)h(uses)g(those)g(capabilities)i(to)d(mo)o(v)o(e)g(around)h (the)195 2120 y(screen)11 b(line)h(and)f(p)q(erform)f(other)g (terminal-sp)q(eci\014c)k(op)q(erations,)d(lik)o(e)h(erasing)e(a)h (line.)20 b(Readline)195 2175 y(do)q(es)e(not)f(use)h(all)g(of)f(a)g (terminal's)h(capabilities,)i(and)e(this)g(function)g(will)h(return)f (v)m(alues)h(for)195 2230 y(only)d(those)f(capabilities)i(Readline)g (uses.)75 2350 y Fj(2.4.12)29 b(Alternate)21 b(In)n(terface)137 2451 y Fu(An)i(alternate)f(in)o(terface)h(is)g(a)o(v)m(ailable)h(to)d (plain)j Ft(readline\(\))p Fu(.)40 b(Some)22 b(applications)i(need)g (to)75 2506 y(in)o(terlea)o(v)o(e)15 b(k)o(eyb)q(oard)f(I/O)h(with)g (\014le,)h(device,)f(or)f(windo)o(w)h(system)f(I/O,)h(t)o(ypically)h(b) o(y)e(using)h(a)g(main)75 2560 y(lo)q(op)f(to)g Ft(select\(\))e Fu(on)i(v)m(arious)g(\014le)h(descriptors.)20 b(T)l(o)14 b(accomo)q(date)f(this)h(need,)h(readline)g(can)f(also)g(b)q(e)75 2615 y(in)o(v)o(ok)o(ed)i(as)f(a)g(`callbac)o(k')h(function)h(from)d (an)i(ev)o(en)o(t)f(lo)q(op.)22 b(There)16 b(are)f(functions)h(a)o(v)m (ailable)i(to)c(mak)o(e)75 2670 y(this)i(easy)l(.)p eop %%Page: 38 40 38 39 bop 75 -58 a Fu(38)1299 b(GNU)15 b(Readline)h(Library)1762 149 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 149 18 3 v 21 w(callbac)n(k)p 458 149 V 23 w(handler)p 670 149 V 21 w(install)25 b Fg(\()p Ft(const)14 b(char)h(*prompt,)283 204 y(rl_vcpfunc_t)e(*lhandler)p Fg(\))195 259 y Fu(Set)f(up)h(the)g (terminal)g(for)f(readline)i(I/O)f(and)f(displa)o(y)i(the)e(initial)j (expanded)e(v)m(alue)h(of)e Fk(prompt)p Fu(.)195 314 y(Sa)o(v)o(e)j(the)h(v)m(alue)h(of)f Fk(lhandler)21 b Fu(to)15 b(use)h(as)f(a)h(function)h(to)e(call)i(when)f(a)g(complete)g (line)i(of)d(input)195 369 y(has)g(b)q(een)h(en)o(tered.)21 b(The)15 b(function)h(tak)o(es)e(the)i(text)e(of)h(the)g(line)i(as)e (an)g(argumen)o(t.)1762 480 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 480 V 21 w(callbac)n(k)p 458 480 V 23 w(read)p 591 480 V 20 w(c)n(har)j Fg(\()p Ft(void)p Fg(\))195 535 y Fu(Whenev)o(er)17 b(an)g(application)h(determines)g(that)e(k)o (eyb)q(oard)h(input)h(is)f(a)o(v)m(ailable,)i(it)e(should)h(call)195 590 y Ft(rl_callback_read_char\(\))p Fu(,)8 b(whic)o(h)k(will)g(read)f (the)g(next)g(c)o(haracter)f(from)g(the)h(curren)o(t)g(input)195 645 y(source.)38 b(If)21 b(that)g(c)o(haracter)f(completes)i(the)f (line,)j Ft(rl_callback_read_char)18 b Fu(will)23 b(in)o(v)o(ok)o(e)195 699 y(the)18 b Fk(lhandler)k Fu(function)d(sa)o(v)o(ed)e(b)o(y)h Ft(rl_callback_handler_insta)o(ll)d Fu(to)i(pro)q(cess)h(the)g(line.) 195 754 y(Before)13 b(calling)i(the)f Fk(lhandler)k Fu(function,)c(the) g(terminal)g(settings)f(are)g(reset)g(to)g(the)g(v)m(alues)i(they)195 809 y(had)g(b)q(efore)g(calling)i Ft(rl_callback_handler_insta)o(ll)p Fu(.)g(If)e(the)g Fk(lhandler)20 b Fu(function)15 b(returns,)195 864 y(the)d(terminal)i(settings)e(are)g(mo)q(di\014ed)i(for)d (Readline's)i(use)g(again.)19 b Ft(EOF)12 b Fu(is)h(indicated)h(b)o(y)e (calling)195 919 y Fk(lhandler)20 b Fu(with)c(a)f Ft(NULL)f Fu(line.)1762 1030 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1030 V 21 w(callbac)n(k)p 458 1030 V 23 w(handler)p 670 1030 V 21 w(remo)n(v)n(e)i Fg(\()p Ft(void)p Fg(\))195 1085 y Fu(Restore)c(the)g(terminal)i(to)d(its)i(initial)i(state)d(and)g (remo)o(v)o(e)g(the)h(line)h(handler.)31 b(This)19 b(ma)o(y)f(b)q(e)195 1140 y(called)i(from)d(within)j(a)d(callbac)o(k)j(as)d(w)o(ell)i(as)f (indep)q(enden)o(tly)m(.)31 b(If)19 b(the)f Fk(lhandler)23 b Fu(installed)d(b)o(y)195 1195 y Ft(rl_callback_handler_instal)o(l)d Fu(do)q(es)i(not)g(exit)h(the)g(program,)e(either)i(this)g(function)g (or)195 1249 y(the)c(function)g(referred)g(to)f(b)o(y)h(the)g(v)m(alue) h(of)e Ft(rl_deprep_term_function)d Fu(should)17 b(b)q(e)f(called)195 1304 y(b)q(efore)f(the)h(program)e(exits)h(to)g(reset)g(the)g(terminal) h(settings.)75 1413 y Fj(2.4.13)29 b(A)21 b(Readline)g(Example)137 1508 y Fu(Here)f(is)g(a)f(function)i(whic)o(h)f(c)o(hanges)f(lo)o(w)o (ercase)h(c)o(haracters)e(to)h(their)h(upp)q(ercase)h(equiv)m(alen)o (ts,)75 1563 y(and)e(upp)q(ercase)i(c)o(haracters)d(to)h(lo)o(w)o (ercase.)31 b(If)20 b(this)f(function)h(w)o(as)f(b)q(ound)h(to)f(`)p Ft(M-c)p Fu(',)f(then)i(t)o(yping)75 1618 y(`)p Ft(M-c)p Fu(')12 b(w)o(ould)h(c)o(hange)h(the)f(case)g(of)g(the)g(c)o(haracter)g (under)g(p)q(oin)o(t.)20 b(T)o(yping)14 b(`)p Ft(M-1)g(0)h(M-c)p Fu(')d(w)o(ould)i(c)o(hange)75 1673 y(the)h(case)g(of)g(the)h(follo)o (wing)f(10)g(c)o(haracters,)f(lea)o(ving)i(the)f(cursor)g(on)g(the)h (last)f(c)o(haracter)f(c)o(hanged.)195 1736 y Ft(/*)24 b(Invert)f(the)g(case)g(of)h(the)f(COUNT)h(following)e(characters.)h (*/)195 1788 y(int)195 1840 y(invert_case_line)f(\(count,)h(key\))314 1892 y(int)h(count,)f(key;)195 1944 y({)243 1995 y(register)f(int)i (start,)f(end,)g(i;)243 2099 y(start)g(=)h(rl_point;)243 2203 y(if)f(\(rl_point)g(>=)h(rl_end\))290 2255 y(return)f(\(0\);)243 2359 y(if)g(\(count)g(<)h(0\))290 2411 y({)338 2462 y(direction)f(=)h (-1;)338 2514 y(count)f(=)h(-count;)290 2566 y(})243 2618 y(else)290 2670 y(direction)f(=)h(1;)p eop %%Page: 39 41 39 40 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(39)243 201 y Ft(/*)23 b(Find)h(the)f(end)h(of)f(the)h (range)f(to)g(modify.)g(*/)243 253 y(end)g(=)h(start)f(+)h(\(count)f(*) h(direction\);)243 357 y(/*)f(Force)g(it)h(to)g(be)f(within)g(range.)g (*/)243 409 y(if)g(\(end)h(>)f(rl_end\))290 461 y(end)h(=)g(rl_end;)243 513 y(else)f(if)h(\(end)f(<)h(0\))290 565 y(end)g(=)g(0;)243 668 y(if)f(\(start)g(==)h(end\))290 720 y(return)f(\(0\);)243 824 y(if)g(\(start)g(>)h(end\))290 876 y({)338 928 y(int)g(temp)f(=)h (start;)338 980 y(start)f(=)h(end;)338 1032 y(end)g(=)f(temp;)290 1083 y(})243 1187 y(/*)g(Tell)h(readline)e(that)i(we)f(are)h(modifying) e(the)i(line,)314 1239 y(so)g(it)f(will)h(save)f(the)h(undo)f (information.)f(*/)243 1291 y(rl_modifying)g(\(start,)h(end\);)243 1395 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f(i++\))290 1447 y({)338 1499 y(if)h(\(_rl_uppercase_p)d(\(rl_line_buffer[i]\)\)) 386 1550 y(rl_line_buffer[i])g(=)j(_rl_to_lower)e (\(rl_line_buffer[i]\);)338 1602 y(else)h(if)h(\(_rl_lowercase_p)e (\(rl_line_buffer[i]\)\))386 1654 y(rl_line_buffer[i])f(=)j (_rl_to_upper)e(\(rl_line_buffer[i]\);)290 1706 y(})243 1758 y(/*)h(Move)h(point)f(to)g(on)h(top)f(of)h(the)f(last)h(character) e(changed.)h(*/)243 1810 y(rl_point)f(=)i(\(direction)f(==)g(1\))h(?)g (end)f(-)h(1)g(:)f(start;)243 1862 y(return)g(\(0\);)195 1914 y(})75 2057 y Fs(2.5)33 b(Readline)23 b(Signal)h(Handling)137 2159 y Fu(Signals)e(are)f(async)o(hronous)f(ev)o(en)o(ts)h(sen)o(t)f (to)h(a)f(pro)q(cess)h(b)o(y)g(the)g(Unix)h(k)o(ernel,)g(sometimes)f (on)75 2213 y(b)q(ehalf)g(of)e(another)h(pro)q(cess.)34 b(They)20 b(are)g(in)o(tended)h(to)e(indicate)j(exceptional)f(ev)o(en)o (ts,)f(lik)o(e)h(a)f(user)75 2268 y(pressing)c(the)f(in)o(terrupt)g(k)o (ey)g(on)g(his)h(terminal,)f(or)g(a)f(net)o(w)o(ork)g(connection)i(b)q (eing)g(brok)o(en.)k(There)15 b(is)75 2323 y(a)e(class)g(of)g(signals)h (that)f(can)g(b)q(e)h(sen)o(t)f(to)f(the)i(pro)q(cess)f(curren)o(tly)h (reading)f(input)i(from)d(the)h(k)o(eyb)q(oard.)75 2378 y(Since)i(Readline)f(c)o(hanges)g(the)f(terminal)h(attributes)f(when)h (it)g(is)g(called,)h(it)e(needs)h(to)f(p)q(erform)g(sp)q(ecial)75 2433 y(pro)q(cessing)i(when)f(suc)o(h)g(a)g(signal)g(is)g(receiv)o(ed)h (in)g(order)f(to)f(restore)g(the)h(terminal)g(to)f(a)h(sane)g(state,)e (or)75 2487 y(pro)o(vide)k(application)h(writers)e(with)g(functions)h (to)f(do)g(so)g(man)o(ually)l(.)137 2560 y(Readline)22 b(con)o(tains)e(an)g(in)o(ternal)h(signal)g(handler)g(that)f(is)h (installed)h(for)d(a)h(n)o(um)o(b)q(er)g(of)g(signals)75 2615 y(\()p Ft(SIGINT)p Fu(,)h Ft(SIGQUIT)p Fu(,)g Ft(SIGTERM)p Fu(,)g Ft(SIGALRM)p Fu(,)g Ft(SIGTSTP)p Fu(,)g Ft(SIGTTIN)p Fu(,)h(and)f Ft(SIGTTOU)p Fu(\).)36 b(When)21 b(one)g(of)75 2670 y(these)16 b(signals)h(is)f(receiv)o(ed,)h(the)f(signal)h(handler) f(will)i(reset)e(the)g(terminal)g(attributes)g(to)f(those)h(that)p eop %%Page: 40 42 40 41 bop 75 -58 a Fu(40)1299 b(GNU)15 b(Readline)h(Library)75 149 y(w)o(ere)d(in)i(e\013ect)e(b)q(efore)h Ft(readline\(\))e Fu(w)o(as)h(called,)i(reset)f(the)f(signal)i(handling)g(to)e(what)g(it) h(w)o(as)f(b)q(efore)75 204 y Ft(readline\(\))21 b Fu(w)o(as)h(called,) j(and)e(resend)g(the)g(signal)g(to)f(the)h(calling)h(application.)44 b(If)23 b(and)f(when)75 259 y(the)17 b(calling)i(application's)f (signal)g(handler)g(returns,)f(Readline)h(will)h(reinitialize)h(the)d (terminal)h(and)75 314 y(con)o(tin)o(ue)d(to)e(accept)i(input.)20 b(When)15 b(a)e Ft(SIGINT)h Fu(is)g(receiv)o(ed,)h(the)g(Readline)g (signal)g(handler)g(p)q(erforms)75 369 y(some)k(additional)i(w)o(ork,)e (whic)o(h)h(will)h(cause)f(an)o(y)f(partially-en)o(tered)i(line)g(to)d (b)q(e)i(ab)q(orted)g(\(see)f(the)75 423 y(description)e(of)d Ft(rl_free_line_state\(\))f Fu(b)q(elo)o(w\).)137 488 y(There)g(is)f(an)g(additional)i(Readline)g(signal)f(handler,)g(for)f Ft(SIGWINCH)p Fu(,)f(whic)o(h)i(the)f(k)o(ernel)h(sends)g(to)e(a)75 543 y(pro)q(cess)k(whenev)o(er)g(the)f(terminal's)h(size)g(c)o(hanges)f (\(for)g(example,)h(if)g(a)f(user)h(resizes)g(an)f Ft(xterm)p Fu(\).)19 b(The)75 598 y(Readline)g Ft(SIGWINCH)e Fu(handler)i(up)q (dates)f(Readline's)h(in)o(ternal)f(screen)h(size)f(information,)h(and) f(then)75 653 y(calls)g(an)o(y)f Ft(SIGWINCH)e Fu(signal)j(handler)g (the)f(calling)i(application)f(has)f(installed.)27 b(Readline)18 b(calls)g(the)75 708 y(application's)h Ft(SIGWINCH)d Fu(signal)j(handler)f(without)g(resetting)g(the)f(terminal)i(to)e(its)g (original)i(state.)75 762 y(If)d(the)g(application's)h(signal)g (handler)g(do)q(es)g(more)e(than)h(up)q(date)h(its)f(idea)h(of)e(the)h (terminal)h(size)g(and)75 817 y(return)e(\(for)f(example,)h(a)f Ft(longjmp)g Fu(bac)o(k)h(to)f(a)h(main)g(pro)q(cessing)g(lo)q(op\),)g (it)g Fl(must)20 b Fu(call)c Ft(rl_cleanup_)75 872 y(after_signal\(\))d Fu(\(describ)q(ed)k(b)q(elo)o(w\),)e(to)g(restore)f(the)h(terminal)h (state.)137 937 y(Readline)g(pro)o(vides)f(t)o(w)o(o)e(v)m(ariables)i (that)f(allo)o(w)g(application)i(writers)e(to)g(con)o(trol)g(whether)h (or)e(not)75 992 y(it)k(will)h(catc)o(h)e(certain)h(signals)h(and)f (act)f(on)g(them)h(when)g(they)f(are)h(receiv)o(ed.)25 b(It)16 b(is)i(imp)q(ortan)o(t)e(that)75 1047 y(applications)k(c)o (hange)e(the)h(v)m(alues)g(of)f(these)h(v)m(ariables)g(only)g(when)g (calling)h Ft(readline\(\))p Fu(,)d(not)h(in)h(a)75 1101 y(signal)d(handler,)g(so)f(Readline's)h(in)o(ternal)g(signal)g(state)e (is)i(not)f(corrupted.)1773 1208 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1208 18 3 v 21 w(catc)n(h)p 366 1208 V 22 w(signals)195 1262 y Fu(If)15 b(this)g(v)m(ariable)g(is)g (non-zero,)g(Readline)h(will)g(install)f(signal)h(handlers)f(for)f Ft(SIGINT)p Fu(,)f Ft(SIGQUIT)p Fu(,)195 1317 y Ft(SIGTERM)p Fu(,)h Ft(SIGALRM)p Fu(,)g Ft(SIGTSTP)p Fu(,)f Ft(SIGTTIN)p Fu(,)h(and)i Ft(SIGTTOU)p Fu(.)195 1382 y(The)f(default)h(v)m(alue)h (of)d Ft(rl_catch_signals)f Fu(is)j(1.)1773 1488 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1488 V 21 w(catc)n(h)p 366 1488 V 22 w(sigwinc)n(h)195 1543 y Fu(If)15 b(this)h(v)m(ariable)h(is)e (non-zero,)g(Readline)i(will)g(install)f(a)f(signal)h(handler)h(for)d Ft(SIGWINCH)p Fu(.)195 1608 y(The)h(default)h(v)m(alue)h(of)d Ft(rl_catch_sigwinch)f Fu(is)j(1.)137 1694 y(If)g(an)f(application)j (do)q(es)d(not)g(wish)i(to)d(ha)o(v)o(e)h(Readline)i(catc)o(h)f(an)o(y) f(signals,)h(or)f(to)f(handle)j(signals)75 1749 y(other)i(than)g(those) g(Readline)i(catc)o(hes)e(\()p Ft(SIGHUP)p Fu(,)g(for)g(example\),)h (Readline)h(pro)o(vides)e(con)o(v)o(enience)75 1804 y(functions)d(to)f (do)g(the)g(necessary)g(terminal)h(and)g(in)o(ternal)g(state)e(clean)o (up)i(up)q(on)g(receipt)g(of)f(a)g(signal.)1762 1910 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 1910 V 21 w(clean)n(up)p 450 1910 V 22 w(after)p 590 1910 V 20 w(signal)j Fg(\()p Ft(void)p Fg(\))195 1965 y Fu(This)18 b(function)f(will)i(reset)e(the)g(state)f(of)g(the)h(terminal)h(to)e (what)h(it)g(w)o(as)f(b)q(efore)h Ft(readline\(\))195 2019 y Fu(w)o(as)d(called,)i(and)f(remo)o(v)o(e)f(the)g(Readline)i (signal)g(handlers)g(for)e(all)h(signals,)g(dep)q(ending)i(on)e(the)195 2074 y(v)m(alues)h(of)f Ft(rl_catch_signals)e Fu(and)i Ft(rl_catch_sigwinch)p Fu(.)1762 2180 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2180 V 21 w(free)p 356 2180 V 20 w(line)p 464 2180 V 23 w(state)j Fg(\()p Ft(void)p Fg(\))195 2235 y Fu(This)d(will)h(free)f(an)o(y)f(partial)h(state)f (asso)q(ciated)h(with)g(the)g(curren)o(t)f(input)i(line)g(\(undo)f (infor-)195 2290 y(mation,)i(an)o(y)f(partial)h(history)f(en)o(try)l(,) h(an)o(y)f(partially-en)o(tered)i(k)o(eyb)q(oard)e(macro,)h(and)f(an)o (y)195 2345 y(partially-en)o(tered)k(n)o(umeric)g(argumen)o(t\).)45 b(This)24 b(should)h(b)q(e)g(called)g(b)q(efore)g Ft(rl_cleanup_)195 2399 y(after_signal\(\))p Fu(.)36 b(The)22 b(Readline)h(signal)f (handler)g(for)f Ft(SIGINT)f Fu(calls)j(this)e(to)g(ab)q(ort)g(the)195 2454 y(curren)o(t)15 b(input)h(line.)1762 2560 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 2560 V 21 w(reset)p 383 2560 V 20 w(after)p 521 2560 V 21 w(signal)j Fg(\()p Ft(void)p Fg(\))195 2615 y Fu(This)15 b(will)h(reinitialize)h(the)d(terminal)h (and)g(reinstall)h(an)o(y)d(Readline)j(signal)f(handlers,)g(dep)q(end-) 195 2670 y(ing)h(on)f(the)g(v)m(alues)i(of)d Ft(rl_catch_signals)f Fu(and)j Ft(rl_catch_sigwinch)p Fu(.)p eop %%Page: 41 43 41 42 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(41)137 149 y(If)20 b(an)g(application)h(do)q(es)f(not)g (wish)g(Readline)h(to)e(catc)o(h)g Ft(SIGWINCH)p Fu(,)h(it)g(ma)o(y)f (call)h Ft(rl_resize_)75 204 y(terminal\(\))12 b Fu(or)h Ft(rl_set_screen_size\(\))e Fu(to)i(force)g(Readline)i(to)e(up)q(date)h (its)g(idea)g(of)g(the)f(terminal)75 259 y(size)j(when)g(a)f Ft(SIGWINCH)f Fu(is)h(receiv)o(ed.)1762 360 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 360 18 3 v 21 w(resize)p 401 360 V 22 w(terminal)j Fg(\()p Ft(void)p Fg(\))195 415 y Fu(Up)q(date)16 b(Readline's)g(in)o(ternal)g(screen)f(size)i(b)o(y)e (reading)g(v)m(alues)i(from)d(the)i(k)o(ernel.)1762 516 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 516 V 21 w(set)p 333 516 V 21 w(screen)p 510 516 V 20 w(size)k Fg(\()p Ft(int)15 b(rows,)f(int)h(cols)p Fg(\))195 571 y Fu(Set)g(Readline's)h(idea)g(of)f(the)g(terminal)h(size)g(to)f Fk(ro)o(ws)h Fu(ro)o(ws)e(and)i Fk(cols)h Fu(columns.)137 653 y(If)g(an)g(application)h(do)q(es)f(not)f(w)o(an)o(t)g(to)g (install)i(a)f Ft(SIGWINCH)e Fu(handler,)j(but)f(is)g(still)h(in)o (terested)f(in)75 708 y(the)e(screen)h(dimensions,)g(Readline's)h(idea) e(of)g(the)h(screen)f(size)h(ma)o(y)f(b)q(e)h(queried.)1762 809 y(F)l(unction)-1861 b Fi(void)20 b Fh(rl)p 241 809 V 21 w(get)p 339 809 V 21 w(screen)p 516 809 V 20 w(size)k Fg(\()p Ft(int)15 b(*rows,)f(int)h(*cols)p Fg(\))195 864 y Fu(Return)g(Readline's)h(idea)f(of)g(the)g(terminal's)g(size)h (in)g(the)f(v)m(ariables)i(p)q(oin)o(ted)f(to)e(b)o(y)h(the)g(argu-)195 918 y(men)o(ts.)137 1001 y(The)h(follo)o(wing)g(functions)g(install)g (and)g(remo)o(v)o(e)e(Readline's)i(signal)g(handlers.)1762 1102 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1102 V 21 w(set)p 307 1102 V 20 w(signals)j Fg(\()p Ft(void)p Fg(\))195 1157 y Fu(Install)c(Readline's)f(signal)h(handler)f(for)f Ft(SIGINT)p Fu(,)g Ft(SIGQUIT)p Fu(,)g Ft(SIGTERM)p Fu(,)g Ft(SIGALRM)p Fu(,)f Ft(SIGTSTP)p Fu(,)195 1211 y Ft(SIGTTIN)p Fu(,)11 b Ft(SIGTTOU)p Fu(,)g(and)h Ft(SIGWINCH)p Fu(,)e(dep)q(ending)k (on)e(the)f(v)m(alues)i(of)e Ft(rl_catch_signals)f Fu(and)195 1266 y Ft(rl_catch_sigwinch)p Fu(.)1762 1367 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1367 V 21 w(clear)p 354 1367 V 21 w(signals)j Fg(\()p Ft(void)p Fg(\))195 1422 y Fu(Remo)o(v)o(e)14 b(all)i(of)f(the)g(Readline)i(signal)f(handlers)g(installed)h(b)o(y)e Ft(rl_set_signals\(\))p Fu(.)75 1541 y Fs(2.6)33 b(Custom)21 b(Completers)137 1634 y Fu(T)o(ypically)l(,)e(a)d(program)f(that)h (reads)h(commands)f(from)g(the)h(user)f(has)h(a)f(w)o(a)o(y)g(of)g (disam)o(biguating)75 1689 y(commands)i(and)f(data.)27 b(If)18 b(y)o(our)f(program)g(is)h(one)g(of)f(these,)i(then)f(it)g(can) f(pro)o(vide)i(completion)g(for)75 1744 y(commands,)14 b(data,)g(or)g(b)q(oth.)20 b(The)15 b(follo)o(wing)g(sections)g (describ)q(e)h(ho)o(w)e(y)o(our)g(program)g(and)h(Readline)75 1798 y(co)q(op)q(erate)g(to)g(pro)o(vide)g(this)h(service.)75 1901 y Fj(2.6.1)30 b(Ho)n(w)21 b(Completing)f(W)-5 b(orks)137 1994 y Fu(In)18 b(order)f(to)f(complete)i(some)f(text,)g(the)g(full)i (list)e(of)g(p)q(ossible)i(completions)f(m)o(ust)f(b)q(e)h(a)o(v)m (ailable.)75 2049 y(That)e(is,)i(it)f(is)h(not)f(p)q(ossible)h(to)f (accurately)g(expand)h(a)e(partial)i(w)o(ord)e(without)h(kno)o(wing)g (all)h(of)f(the)75 2104 y(p)q(ossible)i(w)o(ords)e(whic)o(h)h(mak)o(e)f (sense)h(in)h(that)d(con)o(text.)26 b(The)18 b(Readline)h(library)f (pro)o(vides)g(the)g(user)75 2158 y(in)o(terface)f(to)f(completion,)i (and)e(t)o(w)o(o)g(of)g(the)h(most)f(common)g(completion)i(functions:) 23 b(\014lename)18 b(and)75 2213 y(username.)h(F)l(or)10 b(completing)i(other)e(t)o(yp)q(es)h(of)f(text,)h(y)o(ou)g(m)o(ust)f (write)h(y)o(our)f(o)o(wn)h(completion)g(function.)75 2268 y(This)16 b(section)g(describ)q(es)g(exactly)g(what)f(suc)o(h)g (functions)h(m)o(ust)f(do,)f(and)i(pro)o(vides)f(an)h(example.)137 2332 y(There)g(are)f(three)g(ma)s(jor)f(functions)i(used)f(to)g(p)q (erform)g(completion:)100 2396 y(1.)29 b(The)22 b(user-in)o(terface)g (function)h Ft(rl_complete\(\))p Fu(.)37 b(This)22 b(function)h(is)f (called)h(with)f(the)g(same)165 2451 y(argumen)o(ts)17 b(as)h(other)g(bindable)i(Readline)f(functions:)27 b Fk(coun)o(t)19 b Fu(and)f Fk(in)o(v)o(oking)p 1556 2451 14 2 v 17 w(k)o(ey)p Fu(.)28 b(It)19 b(isolates)165 2506 y(the)g(w)o(ord)f(to)g(b)q(e)i(completed)f(and)g(calls)h Ft(rl_completion_matches\(\))c Fu(to)i(generate)g(a)h(list)g(of)165 2560 y(p)q(ossible)e(completions.)22 b(It)16 b(then)g(either)g(lists)g (the)g(p)q(ossible)h(completions,)g(inserts)f(the)f(p)q(ossible)165 2615 y(completions,)25 b(or)d(actually)i(p)q(erforms)e(the)g (completion,)k(dep)q(ending)e(on)f(whic)o(h)g(b)q(eha)o(vior)g(is)165 2670 y(desired.)p eop %%Page: 42 44 42 43 bop 75 -58 a Fu(42)1299 b(GNU)15 b(Readline)h(Library)100 149 y(2.)29 b(The)17 b(in)o(ternal)h(function)f Ft (rl_completion_matches\(\))d Fu(uses)j(an)g(application-supplie)q(d)j Fk(gener-)165 204 y(ator)h Fu(function)e(to)f(generate)g(the)h(list)g (of)f(p)q(ossible)i(matc)o(hes,)f(and)f(then)h(returns)g(the)f(arra)o (y)f(of)165 259 y(these)j(matc)o(hes.)32 b(The)20 b(caller)g(should)h (place)f(the)g(address)f(of)h(its)f(generator)g(function)h(in)g Ft(rl_)165 314 y(completion_entry_function)p Fu(.)100 383 y(3.)29 b(The)12 b(generator)e(function)i(is)g(called)h(rep)q (eatedly)g(from)e Ft(rl_completion_matches\(\))p Fu(,)d(returning)165 438 y(a)16 b(string)g(eac)o(h)h(time.)24 b(The)17 b(argumen)o(ts)e(to)h (the)g(generator)g(function)h(are)f Fk(text)h Fu(and)g Fk(state)p Fu(.)22 b Fk(text)165 493 y Fu(is)17 b(the)f(partial)g(w)o (ord)f(to)h(b)q(e)h(completed.)23 b Fk(state)18 b Fu(is)e(zero)g(the)g (\014rst)g(time)g(the)g(function)h(is)g(called,)165 547 y(allo)o(wing)23 b(the)f(generator)f(to)g(p)q(erform)h(an)o(y)g (necessary)g(initialization,)k(and)c(a)g(p)q(ositiv)o(e)h(non-)165 602 y(zero)14 b(in)o(teger)h(for)f(eac)o(h)h(subsequen)o(t)g(call.)21 b(The)15 b(generator)e(function)j(returns)e Ft(\(char)h(*\)NULL)f Fu(to)165 657 y(inform)19 b Ft(rl_completion_matches\(\))d Fu(that)i(there)h(are)g(no)g(more)g(p)q(ossibilities)j(left.)32 b(Usually)165 712 y(the)19 b(generator)g(function)h(computes)g(the)f (list)h(of)f(p)q(ossible)i(completions)g(when)e Fk(state)j Fu(is)d(zero,)165 767 y(and)13 b(returns)g(them)f(one)h(at)f(a)h(time)g (on)g(subsequen)o(t)g(calls.)20 b(Eac)o(h)13 b(string)f(the)h (generator)f(function)165 821 y(returns)k(as)f(a)h(matc)o(h)f(m)o(ust)h (b)q(e)g(allo)q(cated)h(with)g Ft(malloc\(\))p Fu(;)d(Readline)k(frees) e(the)g(strings)f(when)165 876 y(it)g(has)h(\014nished)g(with)g(them.) 1762 1005 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1005 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h (invoking_key)p Fg(\))195 1059 y Fu(Complete)h(the)f(w)o(ord)g(at)f(or) h(b)q(efore)h(p)q(oin)o(t.)21 b(Y)l(ou)15 b(ha)o(v)o(e)g(supplied)j (the)d(function)i(that)d(do)q(es)i(the)195 1114 y(initial)23 b(simple)f(matc)o(hing)e(selection)i(algorithm)f(\(see)f Ft(rl_completion_matches\(\))p Fu(\).)33 b(The)195 1169 y(default)16 b(is)f(to)g(do)g(\014lename)h(completion.)1773 1298 y(V)l(ariable)-1861 b Fi(rl_compentry_func_t)22 b(*)d Fh(rl)p 678 1298 V 21 w(completion)p 973 1298 V 21 w(en)n(try)p 1126 1298 V 22 w(function)195 1352 y Fu(This)i(is)f(a)g(p)q(oin)o(ter)g(to)f(the)h(generator)g(function)g (for)g Ft(rl_completion_matches\(\))p Fu(.)31 b(If)20 b(the)195 1407 y(v)m(alue)13 b(of)f Ft(rl_completion_entry_fun)o(ction) d Fu(is)j Ft(NULL)f Fu(then)h(the)g(default)h(\014lename)g(generator) 195 1462 y(function,)j Ft(rl_filename_completion_f)o(unction)o(\(\))p Fu(,)c(is)k(used.)75 1582 y Fj(2.6.2)30 b(Completion)20 b(F)-5 b(unctions)137 1682 y Fu(Here)16 b(is)f(the)h(complete)g(list)g (of)e(callable)k(completion)e(functions)g(presen)o(t)f(in)h(Readline.) 1762 1810 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 1810 V 21 w(complete)p 460 1810 V 21 w(in)n(ternal)k Fg(\()p Ft(int)15 b(what_to_do)p Fg(\))195 1865 y Fu(Complete)k(the)g (w)o(ord)f(at)g(or)g(b)q(efore)h(p)q(oin)o(t.)31 b Fk(what)p 1108 1865 14 2 v 16 w(to)p 1165 1865 V 16 w(do)21 b Fu(sa)o(ys)d(what)g (to)g(do)h(with)g(the)g(com-)195 1920 y(pletion.)j(A)16 b(v)m(alue)h(of)e(`)p Ft(?)p Fu(')g(means)g(list)i(the)e(p)q(ossible)j (completions.)k(`)p Ft(TAB)p Fu(')14 b(means)i(do)f(standard)195 1975 y(completion.)22 b(`)p Ft(*)p Fu(')15 b(means)g(insert)h(all)h(of) e(the)h(p)q(ossible)h(completions.)22 b(`)p Ft(!)p Fu(')15 b(means)g(to)g(displa)o(y)i(all)195 2029 y(of)g(the)g(p)q(ossible)i (completions,)f(if)g(there)f(is)h(more)f(than)g(one,)g(as)g(w)o(ell)h (as)f(p)q(erforming)h(partial)195 2084 y(completion.)1762 2213 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2213 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h (invoking_key)p Fg(\))195 2268 y Fu(Complete)21 b(the)g(w)o(ord)e(at)h (or)g(b)q(efore)h(p)q(oin)o(t.)37 b(Y)l(ou)21 b(ha)o(v)o(e)f(supplied)j (the)d(function)i(that)e(do)q(es)195 2322 y(the)d(initial)h(simple)g (matc)o(hing)f(selection)h(algorithm)e(\(see)g Ft (rl_completion_matches\(\))e Fu(and)195 2377 y Ft (rl_completion_entry_functi)o(on)p Fu(\).)25 b(The)18 b(default)h(is)f(to)f(do)h(\014lename)h(completion.)29 b(This)195 2432 y(calls)16 b Ft(rl_complete_internal\(\))c Fu(with)k(an)f(argumen)o(t)f(dep)q(ending)k(on)d Fk(in)o(v)o(oking)p 1657 2432 14 2 v 17 w(k)o(ey)p Fu(.)1762 2560 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 2560 18 3 v 21 w(p)r(ossible)p 433 2560 V 20 w(completions)j Fg(\()p Ft(int)15 b(count,)f(int)h (invoking_key)p Fg(\))195 2615 y Fu(List)21 b(the)f(p)q(ossible)i (completions.)36 b(See)21 b(description)h(of)e Ft(rl_complete)13 b(\(\))p Fu(.)35 b(This)21 b(calls)g Ft(rl_)195 2670 y(complete_internal\(\))13 b Fu(with)i(an)g(argumen)o(t)g(of)f(`)p Ft(?)p Fu('.)p eop %%Page: 43 45 43 44 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(43)1762 149 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 149 18 3 v 21 w(insert)p 378 149 V 21 w(completions)j Fg(\()p Ft(int)14 b(count,)g(int)h(invoking_key)p Fg(\))195 204 y Fu(Insert)i(the)g(list)h(of)e(p)q(ossible)j(completions)e(in)o (to)g(the)g(line,)i(deleting)f(the)f(partially-completed)195 259 y(w)o(ord.)k(See)c(description)g(of)e Ft(rl_complete\(\))p Fu(.)20 b(This)d(calls)g Ft(rl_complete_internal\(\))c Fu(with)195 314 y(an)i(argumen)o(t)g(of)f(`)p Ft(*)p Fu('.)1762 434 y(F)l(unction)-1861 b Fi(int)20 b Fh(rl)p 215 434 V 21 w(completion)p 510 434 V 21 w(mo)r(de)h Fg(\()p Ft(rl_command_func_t)12 b(*cfunc)p Fg(\))195 489 y Fu(Returns)25 b(the)g(apppriate)h(v)m(alue)g(to)f(pass)g(to)f Ft(rl_complete_internal\(\))f Fu(dep)q(ending)k(on)195 543 y(whether)22 b Fk(cfunc)j Fu(w)o(as)d(called)h(t)o(wice)f(in)h (succession)g(and)f(the)g(v)m(alue)h(of)f(the)g Ft(show-all-if-)195 598 y(ambiguous)14 b Fu(v)m(ariable.)21 b(Application-sp)q(ec)q(i\014c) e(completion)d(functions)g(ma)o(y)f(use)g(this)h(function)195 653 y(to)f(presen)o(t)g(the)g(same)g(in)o(terface)g(as)g Ft(rl_complete\(\))p Fu(.)1762 773 y(F)l(unction)-1861 b Fi(char)20 b(**)f Fh(rl)p 312 773 V 21 w(completion)p 607 773 V 21 w(matc)n(hes)j Fg(\()p Ft(const)15 b(char)f(*text,)283 828 y(rl_compentry_func_t)e(*entry_func)p Fg(\))195 883 y Fu(Returns)18 b(an)h(arra)o(y)f(of)g(strings)h(whic)o(h)h(is)g(a)e (list)i(of)e(completions)i(for)f Fk(text)p Fu(.)30 b(If)19 b(there)g(are)g(no)195 937 y(completions,)f(returns)g Ft(NULL)p Fu(.)25 b(The)17 b(\014rst)g(en)o(try)g(in)h(the)f(returned)h (arra)o(y)e(is)i(the)f(substitution)195 992 y(for)c Fk(text)p Fu(.)18 b(The)c(remaining)g(en)o(tries)f(are)g(the)h(p)q(ossible)g (completions.)21 b(The)13 b(arra)o(y)f(is)i(terminated)195 1047 y(with)i(a)e Ft(NULL)h Fu(p)q(oin)o(ter.)195 1115 y Fk(en)o(try)p 302 1115 14 2 v 16 w(func)h Fu(is)e(a)f(function)h(of)e (t)o(w)o(o)g(args,)g(and)i(returns)f(a)f Ft(char)j(*)p Fu(.)k(The)13 b(\014rst)g(argumen)o(t)f(is)i Fk(text)p Fu(.)195 1170 y(The)f(second)g(is)f(a)h(state)e(argumen)o(t;)h(it)h(is) g(zero)f(on)g(the)h(\014rst)f(call,)i(and)e(non-zero)h(on)f(subsequen)o (t)195 1225 y(calls.)20 b Fk(en)o(try)p 420 1225 V 16 w(func)15 b Fu(returns)e(a)e Ft(NULL)h Fu(p)q(oin)o(ter)h(to)e(the)i (caller)g(when)g(there)f(are)g(no)g(more)g(matc)o(hes.)1762 1345 y(F)l(unction)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 1345 18 3 v 21 w(\014lename)p 515 1345 V 20 w(completion)p 809 1345 V 21 w(function)k Fg(\()p Ft(const)15 b(char)f(*text,)h(int) 283 1400 y(state)p Fg(\))195 1454 y Fu(A)e(generator)f(function)h(for)g (\014lename)h(completion)f(in)h(the)f(general)g(case.)19 b Fk(text)14 b Fu(is)f(a)g(partial)g(\014le-)195 1509 y(name.)20 b(The)15 b(Bash)f(source)h(is)g(a)g(useful)g(reference)h (for)e(writing)h(custom)f(completion)i(functions)195 1564 y(\(the)f(Bash)g(completion)i(functions)e(call)i(this)e(and)h (other)f(Readline)h(functions\).)1762 1684 y(F)l(unction)-1861 b Fi(char)20 b(*)f Fh(rl)p 286 1684 V 21 w(username)p 547 1684 V 19 w(completion)p 840 1684 V 21 w(function)k Fg(\()p Ft(const)14 b(char)g(*text,)283 1739 y(int)g(state)p Fg(\))195 1794 y Fu(A)g(completion)i(generator)d(for)h(usernames.)19 b Fk(text)c Fu(con)o(tains)f(a)g(partial)h(username)f(preceded)i(b)o(y) 195 1848 y(a)f(random)g(c)o(haracter)f(\(usually)j(`)p Ft(~)p Fu('\).)i(As)c(with)g(all)i(completion)f(generators,)e Fk(state)j Fu(is)f(zero)f(on)195 1903 y(the)g(\014rst)g(call)h(and)g (non-zero)f(for)g(subsequen)o(t)h(calls.)75 2017 y Fj(2.6.3)30 b(Completion)20 b(V)-5 b(ariables)1773 2166 y Fu(V)l(ariable)-1861 b Fi(rl_compentry_func_t)22 b(*)d Fh(rl)p 678 2166 V 21 w(completion)p 973 2166 V 21 w(en)n(try)p 1126 2166 V 22 w(function)195 2221 y Fu(A)e(p)q(oin)o(ter)g(to)f(the)h(generator) f(function)h(for)f Ft(rl_completion_matches\(\))p Fu(.)22 b Ft(NULL)16 b Fu(means)h(to)195 2276 y(use)f Ft (rl_filename_completion_)o(functio)o(n\(\))p Fu(,)c(the)j(default)h (\014lename)g(completer.)1773 2396 y(V)l(ariable)-1861 b Fi(rl_completion_func_t)22 b(*)d Fh(rl)p 704 2396 V 22 w(attempted)p 985 2396 V 20 w(completion)p 1279 2396 V 21 w(function)195 2451 y Fu(A)e(p)q(oin)o(ter)h(to)f(an)g(alternativ) o(e)h(function)g(to)f(create)g(matc)o(hes.)26 b(The)18 b(function)g(is)g(called)h(with)195 2506 y Fk(text)p Fu(,)11 b Fk(start)p Fu(,)g(and)h Fk(end)p Fu(.)19 b Fk(start)11 b Fu(and)h Fk(end)i Fu(are)d(indices)i(in)g Ft(rl_line_buffer)c Fu(de\014ning)k(the)f(b)q(ound-)195 2560 y(aries)h(of)g Fk(text)p Fu(,)f(whic)o(h)i(is)g(a)e(c)o(haracter)h (string.)19 b(If)13 b(this)g(function)h(exists)g(and)f(returns)g Ft(NULL)p Fu(,)f(or)g(if)195 2615 y(this)f(v)m(ariable)i(is)e(set)g(to) f Ft(NULL)p Fu(,)h(then)g Ft(rl_complete\(\))e Fu(will)k(call)f(the)f (v)m(alue)h(of)f Ft(rl_completion_)195 2670 y(entry_function)h Fu(to)i(generate)g(matc)o(hes,)f(otherwise)i(the)f(arra)o(y)f(of)h (strings)g(returned)g(will)i(b)q(e)p eop %%Page: 44 46 44 45 bop 75 -58 a Fu(44)1299 b(GNU)15 b(Readline)h(Library)195 149 y(used.)j(If)12 b(this)f(function)h(sets)f(the)g Ft(rl_attempted_completion_over)d Fu(v)m(ariable)k(to)f(a)g(non-zero) 195 204 y(v)m(alue,)18 b(Readline)h(will)f(not)f(p)q(erform)f(its)i (default)f(completion)h(ev)o(en)f(if)h(this)f(function)h(returns)195 259 y(no)d(matc)o(hes.)1773 380 y(V)l(ariable)-1861 b Fi(rl_quote_func_t)21 b(*)f Fh(rl)p 574 380 18 3 v 21 w(\014lename)p 803 380 V 20 w(quoting)p 1012 380 V 21 w(function)195 434 y Fu(A)c(p)q(oin)o(ter)h(to)f(a)g(function)h(that)e (will)j(quote)e(a)g(\014lename)i(in)f(an)f(application-sp)q(eci\014)q (c)j(fashion.)195 489 y(This)h(is)g(called)i(if)e(\014lename)g (completion)h(is)f(b)q(eing)h(attempted)e(and)h(one)g(of)f(the)h(c)o (haracters)195 544 y(in)d Ft(rl_filename_quote_characters)c Fu(app)q(ears)k(in)g(a)g(completed)g(\014lename.)25 b(The)17 b(function)195 599 y(is)i(called)i(with)e Fk(text)p Fu(,)g Fk(matc)o(h)p 722 599 14 2 v 16 w(t)o(yp)q(e)p Fu(,)g(and)g Fk(quote)p 1059 599 V 17 w(p)q(oin)o(ter)p Fu(.)31 b(The)19 b Fk(text)h Fu(is)f(the)g(\014lename)h(to)e(b)q(e)195 654 y(quoted.)39 b(The)21 b Fk(matc)o(h)p 607 654 V 16 w(t)o(yp)q(e)j Fu(is)e(either)g Ft(SINGLE_MATCH)p Fu(,)f(if)h(there)f (is)h(only)g(one)g(completion)195 708 y(matc)o(h,)15 b(or)g Ft(MULT_MATCH)p Fu(.)20 b(Some)c(functions)g(use)g(this)g(to)f (decide)j(whether)e(or)f(not)g(to)g(insert)h(a)195 763 y(closing)c(quote)e(c)o(haracter.)18 b(The)11 b Fk(quote)p 877 763 V 16 w(p)q(oin)o(ter)k Fu(is)c(a)f(p)q(oin)o(ter)i(to)e(an)o(y) g(op)q(ening)i(quote)f(c)o(haracter)195 818 y(the)k(user)h(t)o(yp)q (ed.)k(Some)15 b(functions)h(c)o(ho)q(ose)f(to)g(reset)g(this)g(c)o (haracter.)1773 938 y(V)l(ariable)-1861 b Fi(rl_dequote_func_t)22 b(*)d Fh(rl)p 626 938 18 3 v 21 w(\014lename)p 855 938 V 20 w(dequoting)p 1122 938 V 21 w(function)195 993 y Fu(A)c(p)q(oin)o(ter)g(to)f(a)h(function)g(that)g(will)h(remo)o(v)o(e)e (application-sp)q(eci\014)q(c)k(quoting)d(c)o(haracters)f(from)195 1048 y(a)i(\014lename)h(b)q(efore)g(completion)g(is)g(attempted,)f(so)f (those)h(c)o(haracters)g(do)g(not)g(in)o(terfere)h(with)195 1103 y(matc)o(hing)i(the)g(text)g(against)f(names)h(in)h(the)f (\014lesystem.)33 b(It)19 b(is)g(called)i(with)e Fk(text)p Fu(,)g(the)g(text)195 1158 y(of)i(the)g(w)o(ord)g(to)g(b)q(e)h (dequoted,)h(and)e Fk(quote)p 1009 1158 14 2 v 17 w(c)o(har)p Fu(,)h(whic)o(h)g(is)g(the)f(quoting)h(c)o(haracter)f(that)195 1212 y(delimits)d(the)e(\014lename)i(\(usually)f(`)p Ft(')p Fu(')f(or)f(`)p Ft(")p Fu('\).)22 b(If)17 b Fk(quote)p 1187 1212 V 16 w(c)o(har)i Fu(is)e(zero,)f(the)g(\014lename)i(w)o(as)d (not)195 1267 y(in)h(an)f(em)o(b)q(edded)i(string.)1773 1388 y(V)l(ariable)-1861 b Fi(rl_linebuf_func_t)22 b(*)d Fh(rl)p 626 1388 18 3 v 21 w(c)n(har)p 754 1388 V 21 w(is)p 813 1388 V 21 w(quoted)p 1005 1388 V 21 w(p)195 1443 y Fu(A)f(p)q(oin)o(ter)h(to)f(a)g(function)h(to)f(call)i(that)d (determines)j(whether)e(or)g(not)g(a)g(sp)q(eci\014c)j(c)o(haracter)195 1497 y(in)d(the)f(line)i(bu\013er)e(is)h(quoted,)g(according)f(to)g (whatev)o(er)f(quoting)i(mec)o(hanism)g(the)f(program)195 1552 y(calling)d(Readline)g(uses.)19 b(The)13 b(function)g(is)g(called) h(with)f(t)o(w)o(o)e(argumen)o(ts:)17 b Fk(text)p Fu(,)12 b(the)h(text)f(of)g(the)195 1607 y(line,)17 b(and)e Fk(index)p Fu(,)i(the)e(index)i(of)e(the)g(c)o(haracter)g(in)h(the)g(line.)22 b(It)15 b(is)h(used)g(to)f(decide)i(whether)e(a)195 1662 y(c)o(haracter)f(found)i(in)g Ft(rl_completer_word_break_)o(charact)o (ers)c Fu(should)k(b)q(e)g(used)g(to)e(break)195 1717 y(w)o(ords)g(for)h(the)g(completer.)1773 1837 y(V)l(ariable)-1861 b Fi(rl_compignore_func_t)22 b(*)d Fh(rl)p 704 1837 V 22 w(ignore)p 881 1837 V 20 w(some)p 1028 1837 V 19 w(completions)p 1344 1837 V 21 w(function)195 1892 y Fu(This)g(function,)i(if)e (de\014ned,)i(is)e(called)h(b)o(y)f(the)g(completer)g(when)h(real)f (\014lename)h(completion)195 1947 y(is)e(done,)f(after)f(all)i(the)f (matc)o(hing)g(names)g(ha)o(v)o(e)g(b)q(een)h(generated.)25 b(It)17 b(is)h(passed)f(a)g Ft(NULL)f Fu(ter-)195 2001 y(minated)g(arra)o(y)e(of)h(matc)o(hes.)20 b(The)c(\014rst)f(elemen)o (t)h(\()p Ft(matches[0])p Fu(\))d(is)j(the)g(maximal)g(substring)195 2056 y(common)e(to)g(all)h(matc)o(hes.)k(This)c(function)g(can)g (re-arrange)f(the)g(list)h(of)f(matc)o(hes)g(as)g(required,)195 2111 y(but)h(eac)o(h)h(elemen)o(t)g(deleted)g(from)f(the)g(arra)o(y)f (m)o(ust)g(b)q(e)i(freed.)1773 2232 y(V)l(ariable)-1861 b Fi(rl_icppfunc_t)21 b(*)e Fh(rl)p 521 2232 V 21 w(directory)p 769 2232 V 22 w(completion)p 1065 2232 V 21 w(ho)r(ok)195 2286 y Fu(This)k(function,)i(if)e(de\014ned,)j(is)d(allo)o(w)o(ed)g(to) f(mo)q(dify)h(the)g(directory)g(p)q(ortion)g(of)f(\014lenames)195 2341 y(Readline)e(completes.)29 b(It)19 b(is)f(called)i(with)f(the)f (address)h(of)e(a)h(string)h(\(the)f(curren)o(t)g(directory)195 2396 y(name\))g(as)g(an)h(argumen)o(t,)f(and)h(ma)o(y)f(mo)q(dify)h (that)f(string.)30 b(If)19 b(the)f(string)h(is)g(replaced)h(with)195 2451 y(a)g(new)g(string,)h(the)f(old)g(v)m(alue)h(should)g(b)q(e)g (freed.)34 b(An)o(y)20 b(mo)q(di\014ed)i(directory)e(name)g(should)195 2506 y(ha)o(v)o(e)14 b(a)g(trailing)i(slash.)k(The)15 b(mo)q(di\014ed)h(v)m(alue)g(will)g(b)q(e)f(displa)o(y)o(ed)h(as)e (part)g(of)h(the)f(completion,)195 2560 y(replacing)h(the)g(directory)f (p)q(ortion)g(of)g(the)g(pathname)g(the)h(user)f(t)o(yp)q(ed.)20 b(It)14 b(returns)g(an)g(in)o(teger)195 2615 y(that)i(should)h(b)q(e)g (non-zero)g(if)g(the)g(function)g(mo)q(di\014es)h(its)e(directory)h (argumen)o(t.)23 b(It)17 b(could)g(b)q(e)195 2670 y(used)f(to)e(expand) i(sym)o(b)q(olic)h(links)f(or)f(shell)i(v)m(ariables)f(in)g(pathnames.) p eop %%Page: 45 47 45 46 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(45)1773 149 y(V)l(ariable)-1861 b Fi (rl_compdisp_func_t)22 b(*)d Fh(rl)p 652 149 18 3 v 21 w(completion)p 947 149 V 21 w(displa)n(y)p 1141 149 V 22 w(matc)n(hes)p 1366 149 V 21 w(ho)r(ok)195 204 y Fu(If)11 b(non-zero,)h(then)f(this)h(is)f(the)g(address)g(of)g(a)g(function)g (to)g(call)h(when)f(completing)i(a)d(w)o(ord)h(w)o(ould)195 259 y(normally)h(displa)o(y)g(the)f(list)h(of)f(p)q(ossible)h(matc)o (hes.)18 b(This)12 b(function)g(is)g(called)g(in)g(lieu)h(of)e (Readline)195 314 y(displa)o(ying)21 b(the)d(list.)32 b(It)19 b(tak)o(es)f(three)h(argumen)o(ts:)26 b(\()p Ft(char)14 b(**)p Fk(matc)o(hes)p Fu(,)19 b Ft(int)f Fk(n)o(um)p 1688 314 14 2 v 17 w(matc)o(hes)p Fu(,)195 369 y Ft(int)13 b Fk(max)p 368 369 V 16 w(length)p Fu(\))i(where)f Fk(matc)o(hes)h Fu(is)f(the)g(arra)o(y)f(of)g(matc)o(hing)h(strings,)g Fk(n)o(um)p 1578 369 V 16 w(matc)o(hes)i Fu(is)e(the)195 423 y(n)o(um)o(b)q(er)h(of)f(strings)h(in)h(that)e(arra)o(y)l(,)f(and)i Fk(max)p 1012 423 V 16 w(length)h Fu(is)f(the)g(length)g(of)g(the)f (longest)h(string)g(in)195 478 y(that)e(arra)o(y)l(.)19 b(Readline)c(pro)o(vides)g(a)e(con)o(v)o(enience)j(function,)f Ft(rl_display_match_list)p Fu(,)c(that)195 533 y(tak)o(es)17 b(care)g(of)g(doing)h(the)f(displa)o(y)i(to)d(Readline's)j(output)e (stream.)26 b(That)16 b(function)j(ma)o(y)d(b)q(e)195 588 y(called)h(from)d(this)i(ho)q(ok.)1773 704 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 704 18 3 v 21 w(basic)p 580 704 V 21 w(w)n(ord)p 725 704 V 21 w(break)p 886 704 V 20 w(c)n(haracters)195 759 y Fu(The)j(basic)h(list)g(of)f(c)o (haracters)f(that)g(signal)i(a)f(break)g(b)q(et)o(w)o(een)g(w)o(ords)g (for)f(the)h(completer)195 814 y(routine.)30 b(The)19 b(default)g(v)m(alue)h(of)e(this)h(v)m(ariable)h(is)f(the)g(c)o (haracters)f(whic)o(h)h(break)g(w)o(ords)f(for)195 869 y(completion)e(in)g(Bash:)k Ft(")15 b(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fu(.)1773 985 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 985 V 21 w(basic)p 580 985 V 21 w(quote)p 740 985 V 21 w(c)n(haracters)195 1040 y Fu(A)c(list)h(of)f(quote)g(c)o (haracters)f(whic)o(h)i(can)g(cause)f(a)g(w)o(ord)g(break.)1773 1156 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 1156 V 21 w(completer)p 705 1156 V 21 w(w)n(ord)p 850 1156 V 20 w(break)p 1010 1156 V 20 w(c)n(haracters)195 1211 y Fu(The)33 b(list)g(of)f(c)o(haracters)g(that)f(signal)j(a)e (break)g(b)q(et)o(w)o(een)h(w)o(ords)f(for)g Ft(rl_complete_)195 1266 y(internal\(\))p Fu(.)18 b(The)e(default)g(list)g(is)f(the)h(v)m (alue)g(of)f Ft(rl_basic_word_break_chara)o(cters)p Fu(.)1773 1382 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 1382 V 21 w(completer)p 705 1382 V 21 w(quote)p 865 1382 V 20 w(c)n(haracters)195 1437 y Fu(A)e(list)h(of)e(c)o(haracters)g (whic)o(h)i(can)f(b)q(e)g(used)h(to)e(quote)h(a)f(substring)h(of)g(the) g(line.)26 b(Completion)195 1492 y(o)q(ccurs)13 b(on)h(the)f(en)o(tire) g(substring,)h(and)f(within)i(the)e(substring)g Ft (rl_completer_word_break_)195 1547 y(characters)j Fu(are)h(treated)g (as)h(an)o(y)f(other)g(c)o(haracter,)g(unless)i(they)e(also)h(app)q (ear)g(within)h(this)195 1601 y(list.)1773 1718 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 1718 V 21 w(\014lename)p 665 1718 V 20 w(quote)p 824 1718 V 21 w(c)n(haracters)195 1773 y Fu(A)e(list)h(of)e(c)o(haracters)g(that)g(cause)h(a)g (\014lename)h(to)e(b)q(e)i(quoted)e(b)o(y)h(the)g(completer)h(when)f (they)195 1828 y(app)q(ear)e(in)h(a)f(completed)h(\014lename.)21 b(The)16 b(default)g(is)f(the)h(n)o(ull)g(string.)1773 1944 y(V)l(ariable)-1861 b Fi(const)20 b(char)g(*)f Fh(rl)p 436 1944 V 21 w(sp)r(ecial)p 623 1944 V 22 w(pre\014xes)195 1999 y Fu(The)14 b(list)h(of)e(c)o(haracters)g(that)g(are)h(w)o(ord)f (break)h(c)o(haracters,)f(but)h(should)h(b)q(e)f(left)g(in)h Fk(text)f Fu(when)195 2054 y(it)f(is)f(passed)h(to)f(the)g(completion)h (function.)20 b(Programs)11 b(can)h(use)h(this)g(to)f(help)h(determine) h(what)195 2108 y(kind)i(of)e(completing)i(to)e(do.)19 b(F)l(or)14 b(instance,)i(Bash)e(sets)h(this)g(v)m(ariable)h(to)e Ft(")p Fu($)p Ft(@")g Fu(so)g(that)g(it)h(can)195 2163 y(complete)h(shell)h(v)m(ariables)f(and)g(hostnames.)1773 2280 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2280 V 21 w(completion)p 510 2280 V 21 w(query)p 673 2280 V 21 w(items)195 2334 y Fu(Up)e(to)g(this)g(man)o(y)g(items)g(will)i(b) q(e)f(displa)o(y)o(ed)g(in)g(resp)q(onse)g(to)e(a)h(p)q (ossible-completions)j(call.)195 2389 y(After)14 b(that,)f(w)o(e)h(ask) g(the)h(user)f(if)h(she)f(is)h(sure)g(she)f(w)o(an)o(ts)f(to)h(see)h (them)f(all.)20 b(The)15 b(default)g(v)m(alue)195 2444 y(is)h(100.)1773 2560 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2560 V 21 w(completion)p 510 2560 V 21 w(app)r(end)p 715 2560 V 19 w(c)n(haracter)195 2615 y Fu(When)d(a)f(single)i(completion)g(alternativ)o(e)f(matc)o(hes)f(at)g (the)h(end)g(of)f(the)h(command)f(line,)j(this)195 2670 y(c)o(haracter)10 b(is)h(app)q(ended)i(to)d(the)g(inserted)i (completion)g(text.)18 b(The)11 b(default)g(is)g(a)g(space)g(c)o (haracter)p eop %%Page: 46 48 46 47 bop 75 -58 a Fu(46)1299 b(GNU)15 b(Readline)h(Library)195 149 y(\(`)e('\).)19 b(Setting)14 b(this)f(to)g(the)g(n)o(ull)i(c)o (haracter)e(\(`)p Ft(\\0)p Fu('\))e(prev)o(en)o(ts)i(an)o(ything)h(b)q (eing)h(app)q(ended)f(auto-)195 204 y(matically)l(.)21 b(This)15 b(can)f(b)q(e)h(c)o(hanged)g(in)g(custom)f(completion)i (functions)f(to)f(pro)o(vide)h(the)f(\\most)195 259 y(sensible)i(w)o (ord)c(separator)h(c)o(haracter")f(according)i(to)f(an)h (application-sp)q(eci\014c)j(command)c(line)195 314 y(syn)o(tax)h(sp)q (eci\014cation.)1773 423 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 423 18 3 v 21 w(completion)p 510 423 V 21 w(suppress)p 746 423 V 19 w(app)r(end)195 478 y Fu(If)e(non-zero,)g Fk(rl)p 476 478 14 2 v 17 w(completion)p 709 478 V 18 w(app)q(end)p 871 478 V 17 w(c)o(haracter)i Fu(is)f(not)e(app)q(ended)i (to)e(matc)o(hes)g(at)h(the)f(end)195 533 y(of)c(the)h(command)g(line,) h(as)f(describ)q(ed)h(ab)q(o)o(v)o(e.)k(It)14 b(is)h(set)e(to)g(0)h(b)q (efore)g(an)o(y)f(application-sp)q(eci)q(\014c)195 588 y(completion)j(function)g(is)g(called.)1773 697 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 697 18 3 v 21 w(completion)p 510 697 V 21 w(mark)p 662 697 V 19 w(symlink)p 875 697 V 21 w(dirs)195 752 y Fu(If)c(non-zero,)g(a)g(slash)g(will)i(b)q(e)e (app)q(ended)i(to)d(completed)i(\014lenames)g(that)e(are)g(sym)o(b)q (olic)j(links)195 807 y(to)11 b(directory)i(names,)f(sub)s(ject)g(to)f (the)i(v)m(alue)g(of)f(the)g(user-settable)g Fk(mark-directories)j Fu(v)m(ariable.)195 862 y(This)i(v)m(ariable)h(exists)f(so)g(that)e (application)k(completion)f(functions)f(can)g(o)o(v)o(erride)g(the)f (user's)195 917 y(global)f(preference)g(\(set)e(via)h(the)g Fk(mark-symlink)o(ed-directories)k Fu(Readline)e(v)m(ariable\))f(if)f (appro-)195 971 y(priate.)20 b(This)15 b(v)m(ariable)g(is)g(set)f(to)f (the)i(user's)e(preference)j(b)q(efore)e(an)o(y)g(application)i (completion)195 1026 y(function)j(is)g(called,)h(so)e(unless)h(that)f (function)h(mo)q(di\014es)g(the)f(v)m(alue,)i(the)e(user's)g (preferences)195 1081 y(are)d(honored.)1773 1191 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1191 V 21 w(ignore)p 391 1191 V 20 w(completion)p 685 1191 V 21 w(duplicates)195 1245 y Fu(If)15 b(non-zero,)h(then)f(duplicates)i(in)f(the)f(matc)o(hes)g (are)g(remo)o(v)o(ed.)k(The)d(default)g(is)f(1.)1773 1355 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1355 V 21 w(\014lename)p 444 1355 V 20 w(completion)p 738 1355 V 21 w(desired)195 1410 y Fu(Non-zero)c(means)g(that)f(the)h (results)g(of)g(the)g(matc)o(hes)f(are)h(to)f(b)q(e)i(treated)e(as)g (\014lenames.)23 b(This)195 1465 y(is)14 b Fl(always)j Fu(zero)c(on)g(en)o(try)l(,)g(and)h(can)f(only)h(b)q(e)g(c)o(hanged)f (within)i(a)e(completion)h(en)o(try)f(generator)195 1519 y(function.)38 b(If)21 b(it)g(is)g(set)g(to)f(a)g(non-zero)h(v)m(alue,) i(directory)e(names)g(ha)o(v)o(e)g(a)f(slash)h(app)q(ended)195 1574 y(and)d(Readline)h(attempts)d(to)h(quote)g(completed)i (\014lenames)f(if)g(they)g(con)o(tain)g(an)o(y)f(c)o(haracters)195 1629 y(in)f Ft(rl_filename_quote_character)o(s)d Fu(and)i Ft(rl_filename_quoting_desired)d Fu(is)k(set)f(to)f(a)195 1684 y(non-zero)h(v)m(alue.)1773 1793 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 1793 V 21 w(\014lename)p 444 1793 V 20 w(quoting)p 653 1793 V 21 w(desired)195 1848 y Fu(Non-zero)14 b(means)g(that)f(the)i(results)f(of)g(the)g(matc)o (hes)f(are)h(to)f(b)q(e)i(quoted)f(using)h(double)g(quotes)195 1903 y(\(or)c(an)h(application-sp)q(eci\014)q(c)j(quoting)d(mec)o (hanism\))g(if)h(the)f(completed)h(\014lename)g(con)o(tains)f(an)o(y) 195 1958 y(c)o(haracters)i(in)i Ft(rl_filename_quote_chars)p Fu(.)h(This)f(is)f Fl(always)k Fu(non-zero)d(on)f(en)o(try)l(,)f(and)i (can)195 2012 y(only)c(b)q(e)g(c)o(hanged)g(within)h(a)f(completion)g (en)o(try)g(generator)e(function.)20 b(The)12 b(quoting)g(is)g (e\013ected)195 2067 y(via)j(a)g(call)i(to)d(the)i(function)g(p)q(oin)o (ted)g(to)e(b)o(y)h Ft(rl_filename_quoting_function)p Fu(.)1773 2177 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2177 V 21 w(attempted)p 495 2177 V 20 w(completion)p 789 2177 V 21 w(o)n(v)n(er)195 2232 y Fu(If)47 b(an)g(application-sp)q (eci\014)q(c)j(completion)e(function)g(assigned)f(to)g Ft(rl_attempted_)195 2286 y(completion_function)24 b Fu(sets)i(this)h(v)m(ariable)h(to)e(a)g(non-zero)h(v)m(alue,)j (Readline)e(will)g(not)195 2341 y(p)q(erform)15 b(its)g(default)g (\014lename)h(completion)g(ev)o(en)f(if)g(the)g(application's)h (completion)g(function)195 2396 y(returns)f(no)g(matc)o(hes.)20 b(It)15 b(should)h(b)q(e)g(set)f(only)h(b)o(y)f(an)g(application's)h (completion)h(function.)1773 2506 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 2506 V 21 w(completion)p 510 2506 V 21 w(t)n(yp)r(e)195 2560 y Fu(Set)e(to)e(a)i(c)o(haracter)f (describing)i(the)e(t)o(yp)q(e)h(of)f(completion)i(Readline)g(is)f (curren)o(tly)g(attempt-)195 2615 y(ing;)g(see)f(the)f(description)i (of)f Ft(rl_complete_internal\(\))c Fu(\(see)k(Section)h(2.6.2)d ([Completion)195 2670 y(F)l(unctions],)g(page)g(42\))g(for)f(the)h (list)h(of)f(c)o(haracters.)p eop %%Page: 47 49 47 48 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(47)1773 149 y(V)l(ariable)-1861 b Fi(int)20 b Fh(rl)p 215 149 18 3 v 21 w(inhibit)p 399 149 V 23 w(completion)195 204 y Fu(If)14 b(this)h(v)m(ariable)g(is)g(non-zero,)f (completion)i(is)e(inhibited.)22 b(The)15 b(completion)g(c)o(haracter)e (will)j(b)q(e)195 259 y(inserted)g(as)f(an)o(y)g(other)g(b)q(ound)h(to) e Ft(self-insert)p Fu(.)75 371 y Fj(2.6.4)30 b(A)21 b(Short)f (Completion)g(Example)137 467 y Fu(Here)11 b(is)f(a)g(small)h (application)h(demonstrating)e(the)g(use)h(of)e(the)i(GNU)f(Readline)h (library)l(.)19 b(It)11 b(is)f(called)75 522 y Ft(fileman)p Fu(,)17 b(and)h(the)g(source)g(co)q(de)g(resides)h(in)f(`)p Ft(examples/fileman.c)p Fu('.)25 b(This)18 b(sample)g(application)75 577 y(pro)o(vides)c(completion)g(of)e(command)h(names,)g(line)i (editing)g(features,)d(and)i(access)f(to)f(the)h(history)h(list.)p eop %%Page: 48 50 48 49 bop 75 -58 a Fu(48)1299 b(GNU)15 b(Readline)h(Library)195 149 y Ft(/*)24 b(fileman.c)e(--)i(A)g(tiny)f(application)f(which)h (demonstrates)g(how)g(to)h(use)f(the)267 201 y(GNU)g(Readline)g (library.)46 b(This)24 b(application)e(interactively)g(allows)h(users) 267 253 y(to)g(manipulate)g(files)g(and)g(their)g(modes.)h(*/)195 357 y(#include)f()195 409 y(#include)g()195 461 y(#include)g()195 513 y(#include)g()195 565 y(#include)g()195 668 y(#include)g ()195 720 y(#include)g()195 824 y(extern)g(char)g(*xmalloc)g(\(\);)195 928 y(/*)h(The)f(names)g(of) h(functions)e(that)i(actually)f(do)g(the)h(manipulation.)e(*/)195 980 y(int)h(com_list)g(__P\(\(char)g(*\)\);)195 1032 y(int)g(com_view)g(__P\(\(char)g(*\)\);)195 1083 y(int)g(com_rename)g (__P\(\(char)g(*\)\);)195 1135 y(int)g(com_stat)g(__P\(\(char)g(*\)\);) 195 1187 y(int)g(com_pwd)g(__P\(\(char)g(*\)\);)195 1239 y(int)g(com_delete)g(__P\(\(char)g(*\)\);)195 1291 y(int)g(com_help)g (__P\(\(char)g(*\)\);)195 1343 y(int)g(com_cd)g(__P\(\(char)g(*\)\);) 195 1395 y(int)g(com_quit)g(__P\(\(char)g(*\)\);)195 1499 y(/*)h(A)f(structure)g(which)g(contains)g(information)f(on)i(the)f (commands)g(this)g(program)267 1550 y(can)g(understand.)f(*/)195 1654 y(typedef)h(struct)g({)243 1706 y(char)g(*name;)g(/*)h(User)f (printable)g(name)g(of)h(the)f(function.)g(*/)243 1758 y(rl_icpfunc_t)f(*func;)h(/*)h(Function)e(to)i(call)f(to)h(do)f(the)h (job.)f(*/)243 1810 y(char)g(*doc;)g(/*)h(Documentation)e(for)h(this)h (function.)46 b(*/)195 1862 y(})24 b(COMMAND;)195 1966 y(COMMAND)f(commands[])f(=)i({)243 2017 y({)f("cd",)h(com_cd,)f ("Change)f(to)i(directory)f(DIR")g(},)243 2069 y({)g("delete",)g (com_delete,)f("Delete)h(FILE")h(},)243 2121 y({)f("help",)g(com_help,) g("Display)g(this)g(text")g(},)243 2173 y({)g("?",)h(com_help,)e ("Synonym)h(for)h(`help'")f(},)243 2225 y({)g("list",)g(com_list,)g ("List)g(files)g(in)h(DIR")f(},)243 2277 y({)g("ls",)h(com_list,)e ("Synonym)h(for)g(`list'")g(},)243 2329 y({)g("pwd",)g(com_pwd,)g ("Print)g(the)h(current)f(working)g(directory")f(},)243 2381 y({)h("quit",)g(com_quit,)g("Quit)g(using)g(Fileman")g(},)243 2433 y({)g("rename",)g(com_rename,)f("Rename)h(FILE)h(to)f(NEWNAME")g (},)243 2484 y({)g("stat",)g(com_stat,)g("Print)g(out)g(statistics)g (on)h(FILE")f(},)243 2536 y({)g("view",)g(com_view,)g("View)g(the)h (contents)e(of)i(FILE")f(},)243 2588 y({)g(\(char)h(*\)NULL,)f (\(rl_icpfunc_t)f(*\)NULL,)h(\(char)g(*\)NULL)g(})195 2640 y(};)p eop %%Page: 49 51 49 50 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(49)195 201 y Ft(/*)24 b(Forward)e(declarations.)h(*/) 195 253 y(char)g(*stripwhite)g(\(\);)195 305 y(COMMAND)g(*find_command) f(\(\);)195 409 y(/*)i(The)f(name)g(of)h(this)f(program,)g(as)h(taken)f (from)g(argv[0].)g(*/)195 461 y(char)g(*progname;)195 565 y(/*)h(When)f(non-zero,)g(this)g(means)g(the)g(user)h(is)f(done)h (using)f(this)g(program.)g(*/)195 616 y(int)g(done;)195 720 y(char)g(*)195 772 y(dupstr)g(\(s\))314 824 y(int)h(s;)195 876 y({)243 928 y(char)f(*r;)243 1032 y(r)g(=)h(xmalloc)f(\(strlen)g (\(s\))g(+)h(1\);)243 1083 y(strcpy)f(\(r,)g(s\);)243 1135 y(return)g(\(r\);)195 1187 y(})195 1291 y(main)g(\(argc,)g(argv\)) 314 1343 y(int)h(argc;)314 1395 y(char)g(**argv;)195 1447 y({)243 1499 y(char)f(*line,)g(*s;)243 1602 y(progname)f(=)i (argv[0];)243 1706 y(initialize_readline)d(\(\);)i(/*)h(Bind)f(our)h (completer.)e(*/)243 1810 y(/*)h(Loop)h(reading)f(and)g(executing)g (lines)g(until)g(the)g(user)h(quits.)f(*/)243 1862 y(for)g(\()h(;)g (done)f(==)h(0;)f(\))290 1914 y({)338 1966 y(line)g(=)h(readline)f (\("FileMan:)f("\);)338 2069 y(if)i(\(!line\))386 2121 y(break;)338 2225 y(/*)g(Remove)f(leading)g(and)g(trailing)g (whitespace)f(from)i(the)f(line.)410 2277 y(Then,)g(if)h(there)f(is)g (anything)g(left,)g(add)h(it)f(to)h(the)f(history)g(list)410 2329 y(and)g(execute)g(it.)h(*/)338 2381 y(s)g(=)g(stripwhite)e (\(line\);)338 2484 y(if)i(\(*s\))386 2536 y({)434 2588 y(add_history)e(\(s\);)434 2640 y(execute_line)g(\(s\);)p eop %%Page: 50 52 50 51 bop 75 -58 a Fu(50)1299 b(GNU)15 b(Readline)h(Library)386 149 y Ft(})338 253 y(free)23 b(\(line\);)290 305 y(})243 357 y(exit)g(\(0\);)195 409 y(})195 513 y(/*)h(Execute)e(a)i(command)f (line.)g(*/)195 565 y(int)195 616 y(execute_line)f(\(line\))314 668 y(char)i(*line;)195 720 y({)243 772 y(register)e(int)i(i;)243 824 y(COMMAND)f(*command;)243 876 y(char)g(*word;)243 980 y(/*)g(Isolate)g(the)h(command)f(word.)g(*/)243 1032 y(i)g(=)h(0;)243 1083 y(while)f(\(line[i])g(&&)g(whitespace)g (\(line[i]\)\))290 1135 y(i++;)243 1187 y(word)g(=)h(line)f(+)h(i;)243 1291 y(while)f(\(line[i])g(&&)g(!whitespace)g(\(line[i]\)\))290 1343 y(i++;)243 1447 y(if)g(\(line[i]\))290 1499 y(line[i++])g(=)h ('\\0';)243 1602 y(command)f(=)g(find_command)g(\(word\);)243 1706 y(if)g(\(!command\))290 1758 y({)338 1810 y(fprintf)g(\(stderr,)g ("\045s:)g(No)h(such)f(command)g(for)g(FileMan.\\n",)g(word\);)338 1862 y(return)g(\(-1\);)290 1914 y(})243 2017 y(/*)g(Get)h(argument)f (to)g(command,)g(if)g(any.)h(*/)243 2069 y(while)f(\(whitespace)f (\(line[i]\)\))290 2121 y(i++;)243 2225 y(word)h(=)h(line)f(+)h(i;)243 2329 y(/*)f(Call)h(the)f(function.)g(*/)243 2381 y(return)g (\(\(*\(command->func\)\))e(\(word\)\);)195 2433 y(})195 2536 y(/*)j(Look)f(up)g(NAME)h(as)f(the)h(name)f(of)h(a)f(command,)g (and)h(return)f(a)g(pointer)g(to)h(that)267 2588 y(command.)46 b(Return)23 b(a)h(NULL)f(pointer)g(if)h(NAME)f(isn't)g(a)h(command)f (name.)g(*/)195 2640 y(COMMAND)g(*)p eop %%Page: 51 53 51 52 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(51)195 149 y Ft(find_command)22 b(\(name\))314 201 y(char)i(*name;)195 253 y({)243 305 y(register)e(int)i(i;)243 409 y(for)f(\(i)h(=)f(0;)h(commands[i].name;)e(i++\))290 461 y(if)i(\(strcmp)f(\(name,)g(commands[i].name\))f(==)h(0\))338 513 y(return)g(\(&commands[i]\);)243 616 y(return)g(\(\(COMMAND)f (*\)NULL\);)195 668 y(})195 772 y(/*)i(Strip)f(whitespace)f(from)i(the) f(start)g(and)h(end)f(of)h(STRING.)46 b(Return)24 b(a)f(pointer)267 824 y(into)g(STRING.)g(*/)195 876 y(char)g(*)195 928 y(stripwhite)f(\(string\))314 980 y(char)i(*string;)195 1032 y({)243 1083 y(register)e(char)i(*s,)f(*t;)243 1187 y(for)g(\(s)h(=)f(string;)g(whitespace)g(\(*s\);)g(s++\))290 1239 y(;)243 1343 y(if)g(\(*s)h(==)f(0\))290 1395 y(return)g(\(s\);)243 1499 y(t)g(=)h(s)g(+)g(strlen)f(\(s\))g(-)h(1;)243 1550 y(while)f(\(t)g(>)h(s)g(&&)g(whitespace)e(\(*t\)\))290 1602 y(t--;)243 1654 y(*++t)h(=)h('\\0';)243 1758 y(return)f(s;)195 1810 y(})195 1914 y(/*)h(***********************)o(*******)o(********)o (*******)o(*******)o(********)o(****)d(*/)195 1966 y(/*)1575 b(*/)195 2017 y(/*)429 b(Interface)23 b(to)g(Readline)g(Completion)381 b(*/)195 2069 y(/*)1575 b(*/)195 2121 y(/*)24 b (***********************)o(*******)o(********)o(*******)o(*******)o (********)o(****)d(*/)195 2225 y(char)i(*command_generator)f (__P\(\(const)g(char)i(*,)f(int\)\);)195 2277 y(char)g (**fileman_completion)e(__P\(\(const)i(char)g(*,)h(int,)f(int\)\);)195 2381 y(/*)h(Tell)f(the)g(GNU)h(Readline)f(library)f(how)i(to)g (complete.)46 b(We)24 b(want)f(to)h(try)f(to)267 2433 y(complete)f(on)i(command)f(names)g(if)h(this)f(is)h(the)f(first)g (word)g(in)h(the)g(line,)f(or)267 2484 y(on)g(filenames)g(if)g(not.)h (*/)195 2536 y(initialize_readline)d(\(\))195 2588 y({)243 2640 y(/*)i(Allow)g(conditional)g(parsing)g(of)g(the)h(~/.inputrc)e (file.)h(*/)p eop %%Page: 52 54 52 53 bop 75 -58 a Fu(52)1299 b(GNU)15 b(Readline)h(Library)243 149 y Ft(rl_readline_name)21 b(=)j("FileMan";)243 253 y(/*)f(Tell)h(the)f(completer)g(that)g(we)h(want)f(a)h(crack)f(first.)g (*/)243 305 y(rl_attempted_completion_)o(functio)o(n)e(=)j (fileman_completion;)195 357 y(})195 461 y(/*)g(Attempt)e(to)i (complete)f(on)g(the)h(contents)f(of)g(TEXT.)47 b(START)23 b(and)h(END)267 513 y(bound)f(the)g(region)g(of)h(rl_line_buffer)e (that)h(contains)g(the)g(word)h(to)267 565 y(complete.)46 b(TEXT)23 b(is)h(the)f(word)h(to)f(complete.)47 b(We)23 b(can)h(use)f(the)h(entire)267 616 y(contents)e(of)i(rl_line_buffer)e (in)h(case)h(we)f(want)h(to)f(do)h(some)f(simple)267 668 y(parsing.)46 b(Returnthe)23 b(array)g(of)h(matches,)e(or)i(NULL)f (if)h(there)f(aren't)g(any.)g(*/)195 720 y(char)g(**)195 772 y(fileman_completion)e(\(text,)i(start,)g(end\))314 824 y(const)g(char)h(*text;)314 876 y(int)g(start,)f(end;)195 928 y({)243 980 y(char)g(**matches;)243 1083 y(matches)g(=)g(\(char)h (**\)NULL;)243 1187 y(/*)f(If)h(this)f(word)h(is)f(at)h(the)f(start)g (of)h(the)f(line,)h(then)f(it)g(is)h(a)g(command)314 1239 y(to)g(complete.)46 b(Otherwise)23 b(it)h(is)f(the)h(name)f(of)h (a)f(file)h(in)f(the)h(current)314 1291 y(directory.)f(*/)243 1343 y(if)g(\(start)g(==)h(0\))290 1395 y(matches)f(=)h (rl_completion_matches)d(\(text,)i(command_generator\);)243 1499 y(return)g(\(matches\);)195 1550 y(})195 1654 y(/*)h(Generator)e (function)h(for)g(command)g(completion.)47 b(STATE)23 b(lets)g(us)267 1706 y(know)g(whether)g(to)g(start)h(from)f(scratch;)g (without)g(any)g(state)267 1758 y(\(i.e.)g(STATE)g(==)h(0\),)f(then)g (we)h(start)f(at)h(the)f(top)h(of)f(the)h(list.)f(*/)195 1810 y(char)g(*)195 1862 y(command_generator)f(\(text,)h(state\))314 1914 y(const)g(char)h(*text;)314 1966 y(int)g(state;)195 2017 y({)243 2069 y(static)f(int)g(list_index,)g(len;)243 2121 y(char)g(*name;)243 2225 y(/*)g(If)h(this)f(is)h(a)g(new)f(word)g (to)h(complete,)f(initialize)f(now.)47 b(This)314 2277 y(includes)23 b(saving)g(the)h(length)f(of)g(TEXT)h(for)f(efficiency,)f (and)314 2329 y(initializing)h(the)g(index)g(variable)g(to)h(0.)f(*/) 243 2381 y(if)g(\(!state\))290 2433 y({)338 2484 y(list_index)g(=)g(0;) 338 2536 y(len)h(=)f(strlen)g(\(text\);)290 2588 y(})p eop %%Page: 53 55 53 54 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(53)243 149 y Ft(/*)23 b(Return)g(the)h(next)f(name)g (which)h(partially)e(matches)h(from)g(the)314 201 y(command)g(list.)g (*/)243 253 y(while)g(\(name)g(=)h(commands[list_index].name)o(\))290 305 y({)338 357 y(list_index++;)338 461 y(if)g(\(strncmp)f(\(name,)g (text,)g(len\))g(==)h(0\))386 513 y(return)f(\(dupstr\(name\)\);)290 565 y(})243 668 y(/*)g(If)h(no)f(names)h(matched,)e(then)i(return)f (NULL.)g(*/)243 720 y(return)g(\(\(char)g(*\)NULL\);)195 772 y(})195 876 y(/*)h(***********************)o(*******)o(********)o (*******)o(*******)o(********)o(****)d(*/)195 928 y(/*)1575 b(*/)195 980 y(/*)549 b(FileMan)22 b(Commands)644 b(*/)195 1032 y(/*)1575 b(*/)195 1083 y(/*)24 b(***********************)o (*******)o(********)o(*******)o(*******)o(********)o(****)d(*/)195 1187 y(/*)j(String)f(to)g(pass)h(to)f(system)g(\(\).)47 b(This)24 b(is)f(for)h(the)f(LIST,)g(VIEW)h(and)f(RENAME)267 1239 y(commands.)f(*/)195 1291 y(static)h(char)g(syscom[1024];)195 1395 y(/*)h(List)f(the)g(file\(s\))g(named)g(in)h(arg.)f(*/)195 1447 y(com_list)g(\(arg\))314 1499 y(char)h(*arg;)195 1550 y({)243 1602 y(if)f(\(!arg\))290 1654 y(arg)h(=)g("";)243 1758 y(sprintf)f(\(syscom,)f("ls)i(-FClg)f(\045s",)g(arg\);)243 1810 y(return)g(\(system)g(\(syscom\)\);)195 1862 y(})195 1966 y(com_view)g(\(arg\))314 2017 y(char)h(*arg;)195 2069 y({)243 2121 y(if)f(\(!valid_argument)f(\("view",)h(arg\)\))290 2173 y(return)g(1;)243 2277 y(sprintf)g(\(syscom,)f("more)i(\045s",)f (arg\);)243 2329 y(return)g(\(system)g(\(syscom\)\);)195 2381 y(})195 2484 y(com_rename)f(\(arg\))314 2536 y(char)i(*arg;)195 2588 y({)243 2640 y(too_dangerous)e(\("rename"\);)p eop %%Page: 54 56 54 55 bop 75 -58 a Fu(54)1299 b(GNU)15 b(Readline)h(Library)243 149 y Ft(return)23 b(\(1\);)195 201 y(})195 305 y(com_stat)g(\(arg\)) 314 357 y(char)h(*arg;)195 409 y({)243 461 y(struct)f(stat)g(finfo;)243 565 y(if)g(\(!valid_argument)f(\("stat",)h(arg\)\))290 616 y(return)g(\(1\);)243 720 y(if)g(\(stat)g(\(arg,)h(&finfo\))f(==)g (-1\))290 772 y({)338 824 y(perror)g(\(arg\);)338 876 y(return)g(\(1\);)290 928 y(})243 1032 y(printf)g(\("Statistics)f(for)h (`\045s':\\n",)g(arg\);)243 1135 y(printf)g(\("\045s)g(has)h(\045d)f (link\045s,)g(and)g(is)h(\045d)g(byte\045s)f(in)g(length.\\n",)g(arg,) 434 1187 y(finfo.st_nlink,)434 1239 y(\(finfo.st_nlink)e(==)j(1\))g(?)f ("")h(:)g("s",)434 1291 y(finfo.st_size,)434 1343 y(\(finfo.st_size)e (==)h(1\))h(?)f("")h(:)g("s"\);)243 1395 y(printf)f(\("Inode)g(Last)g (Change)g(at:)g(\045s",)h(ctime)f(\(&finfo.st_ctime\)\);)243 1447 y(printf)g(\(")143 b(Last)23 b(access)g(at:)g(\045s",)h(ctime)f (\(&finfo.st_atime\)\);)243 1499 y(printf)g(\(")95 b(Last)23 b(modified)g(at:)g(\045s",)h(ctime)f(\(&finfo.st_mtime\)\);)243 1550 y(return)g(\(0\);)195 1602 y(})195 1706 y(com_delete)f(\(arg\))314 1758 y(char)i(*arg;)195 1810 y({)243 1862 y(too_dangerous)e (\("delete"\);)243 1914 y(return)h(\(1\);)195 1966 y(})195 2069 y(/*)h(Print)f(out)g(help)h(for)f(ARG,)g(or)h(for)f(all)h(of)f (the)h(commands)f(if)g(ARG)h(is)267 2121 y(not)f(present.)g(*/)195 2173 y(com_help)g(\(arg\))314 2225 y(char)h(*arg;)195 2277 y({)243 2329 y(register)e(int)i(i;)243 2381 y(int)f(printed)g(=)h (0;)243 2484 y(for)f(\(i)h(=)f(0;)h(commands[i].name;)e(i++\))290 2536 y({)338 2588 y(if)i(\(!*arg)f(||)g(\(strcmp)g(\(arg,)g (commands[i].name\))f(==)i(0\)\))386 2640 y({)p eop %%Page: 55 57 55 56 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)843 b(55)434 149 y Ft(printf)23 b(\("\045s\\t\\t\045s.\\n",)e (commands[i].name,)h(commands[i].doc\);)434 201 y(printed++;)386 253 y(})290 305 y(})243 409 y(if)h(\(!printed\))290 461 y({)338 513 y(printf)g(\("No)h(commands)e(match)h(`\045s'.)48 b(Possibilties)22 b(are:\\n",)h(arg\);)338 616 y(for)h(\(i)f(=)h(0;)g (commands[i].name;)d(i++\))386 668 y({)434 720 y(/*)i(Print)g(in)h(six) f(columns.)g(*/)434 772 y(if)g(\(printed)g(==)h(6\))481 824 y({)529 876 y(printed)f(=)h(0;)529 928 y(printf)f(\("\\n"\);)481 980 y(})434 1083 y(printf)g(\("\045s\\t",)f(commands[i].name\);)434 1135 y(printed++;)386 1187 y(})338 1291 y(if)i(\(printed\))386 1343 y(printf)f(\("\\n"\);)290 1395 y(})243 1447 y(return)g(\(0\);)195 1499 y(})195 1602 y(/*)h(Change)f(to)g(the)h(directory)e(ARG.)i(*/)195 1654 y(com_cd)f(\(arg\))314 1706 y(char)h(*arg;)195 1758 y({)243 1810 y(if)f(\(chdir)g(\(arg\))h(==)f(-1\))290 1862 y({)338 1914 y(perror)g(\(arg\);)338 1966 y(return)g(1;)290 2017 y(})243 2121 y(com_pwd)g(\(""\);)243 2173 y(return)g(\(0\);)195 2225 y(})195 2329 y(/*)h(Print)f(out)g(the)h(current)f(working)f (directory.)h(*/)195 2381 y(com_pwd)g(\(ignore\))314 2433 y(char)h(*ignore;)195 2484 y({)243 2536 y(char)f(dir[1024],)g(*s;) 243 2640 y(s)g(=)h(getcwd)f(\(dir,)g(sizeof\(dir\))g(-)g(1\);)p eop %%Page: 56 58 56 57 bop 75 -58 a Fu(56)1299 b(GNU)15 b(Readline)h(Library)243 149 y Ft(if)23 b(\(s)h(==)f(0\))290 201 y({)338 253 y(printf)g (\("Error)g(getting)g(pwd:)g(\045s\\n",)g(dir\);)338 305 y(return)g(1;)290 357 y(})243 461 y(printf)g(\("Current)f (directory)h(is)h(\045s\\n",)f(dir\);)243 513 y(return)g(0;)195 565 y(})195 668 y(/*)h(The)f(user)g(wishes)g(to)h(quit)f(using)g(this)h (program.)46 b(Just)24 b(set)f(DONE)267 720 y(non-zero.)f(*/)195 772 y(com_quit)h(\(arg\))314 824 y(char)h(*arg;)195 876 y({)243 928 y(done)f(=)h(1;)243 980 y(return)f(\(0\);)195 1032 y(})195 1135 y(/*)h(Function)e(which)i(tells)f(you)g(that)g(you)h (can't)f(do)h(this.)f(*/)195 1187 y(too_dangerous)f(\(caller\))314 1239 y(char)i(*caller;)195 1291 y({)243 1343 y(fprintf)f(\(stderr,)457 1395 y("\045s:)h(Too)f(dangerous)g(for)g(me)h(to)g(distribute.\\n")457 1447 y(caller\);)243 1499 y(fprintf)f(\(stderr,)f("Write)h(it)h (yourself.\\n"\);)195 1550 y(})195 1654 y(/*)g(Return)f(non-zero)f(if)i (ARG)f(is)h(a)g(valid)f(argument)g(for)g(CALLER,)267 1706 y(else)g(print)g(an)h(error)f(message)g(and)g(return)g(zero.)g(*/) 195 1758 y(int)195 1810 y(valid_argument)f(\(caller,)h(arg\))314 1862 y(char)h(*caller,)e(*arg;)195 1914 y({)243 1966 y(if)h(\(!arg)g(||)h(!*arg\))290 2017 y({)338 2069 y(fprintf)f (\(stderr,)g("\045s:)g(Argument)g(required.\\n",)f(caller\);)338 2121 y(return)h(\(0\);)290 2173 y(})243 2277 y(return)g(\(1\);)195 2329 y(})p eop %%Page: 57 59 57 58 bop 75 -58 a Fu(Concept)15 b(Index)1466 b(57)75 149 y Fq(Concept)27 b(Index)75 321 y Fs(C)75 382 y Ff(command)14 b(editing)e Fe(.)6 b(.)g(.)h(.)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(.)22 b Ff(1)75 511 y Fs(E)75 572 y Ff(editing)15 b(command)f(lines)f Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)24 b Ff(1)75 702 y Fs(I)75 763 y Ff(initiali)q(zati)q(on)16 b(\014le,)e(readline)t Fe(.)8 b(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)17 b Ff(4)75 808 y(in)o(teraction,)e(readline)5 b Fe(.)j(.)f(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(1)75 938 y Fs(K)75 999 y Ff(kill)d(ring)8 b Fe(.)f(.)f(.)g(.)h(.)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(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Ff(3)75 1044 y(killing)c(text)9 b Fe(.)d(.)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(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(2)1012 321 y Fs(N)1012 390 y Ff(notation,)15 b(readline)7 b Fe(.)h(.)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(.)20 b Ff(1)1012 539 y Fs(R)1012 608 y Ff(readline,)15 b(function)8 b Fe(.)g(.)e(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)21 b Ff(21)1012 757 y Fs(V)1012 826 y Ff(v)n(ariables,)15 b(readline)t Fe(.)9 b(.)d(.)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(.)17 b Ff(4)1012 976 y Fs(Y)1012 1044 y Ff(y)o(anking)e(text)t Fe(.)7 b(.)f(.)g(.)g(.)g(.)h(.)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(.)17 b Ff(2)p eop %%Page: 58 60 58 59 bop 75 -58 a Fu(58)1299 b(GNU)15 b(Readline)h(Library)p eop %%Page: 59 61 59 60 bop 75 -58 a Fu(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1187 b(59)75 149 y Fq(F)-7 b(unction)26 b(and)h(V)-7 b(ariable)26 b(Index)p 79 307 21 3 v 75 369 a Fd(_rl_digit_)o(p)7 b Fe(.)f(.)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(.)g(.)g(.)23 b Ff(36)75 415 y Fd(_rl_digit_)o(va)o(lue)6 b Fe(.)t(.)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(.)g(.)20 b Ff(37)75 462 y Fd(_rl_lowerc)o(as)o(e_p)6 b Fe(.)t(.)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(.)g(.)20 b Ff(36)75 508 y Fd(_rl_to_low)o(er)6 b Fe(.)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 Ff(36)75 554 y Fd(_rl_to_upp)o(er)6 b Fe(.)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 Ff(36)75 600 y Fd(_rl_upperc)o(as)o(e_p)6 b Fe(.)t(.)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(.)g(.)20 b Ff(36)75 733 y Fs(A)75 794 y Fd(abort)11 b(\(C-g\))5 b Fe(.)t(.)h(.)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(.)17 b Ff(17)75 841 y Fd(accept-lin)o(e)10 b(\(Newline)f(or)j(Return\))6 b Fe(.)t(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)19 b Ff(12)75 973 y Fs(B)75 1035 y Fd(backward-c)o(ha)o(r)10 b(\(C-b\))e Fe(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Ff(12)75 1081 y Fd(backward-d)o(el)o(ete)o(-c)o(har)9 b(\(Rubout\))e Fe(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)22 b Ff(14)75 1127 y Fd(backward-k)o(il)o(l-l)o(in)o(e)10 b(\(C-x)h(Rubout\))e Fe(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)24 b Ff(15)75 1174 y Fd(backward-k)o(il)o(l-w)o(or)o(d)10 b(\(M-)501 1172 y Fn(h)p 512 1146 73 2 v 512 1174 a Fm(DEL)p 512 1181 V 583 1172 a Fn(i)598 1174 y Fd(\))g Fe(.)c(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Ff(15)75 1220 y Fd(backward-w)o(or)o(d)10 b(\(M-b\))e Fe(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Ff(12)75 1266 y Fd(beginning-)o(of)o(-hi)o(st)o(ory)9 b(\(M-<\))h Fe(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)25 b Ff(13)75 1312 y Fd(beginning-)o(of)o(-li)o(ne)9 b(\(C-a\))c Fe(.)t(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)18 b Ff(12)75 1359 y(b)q(ell-st)o(yle)7 b Fe(.)i(.)d(.)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(.)g(.)g (.)g(.)g(.)20 b Ff(5)75 1490 y Fs(C)75 1552 y Fd(call-last-)o(kb)o(d-m) o(ac)o(ro)9 b(\(C-x)j(e\))5 b Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)g(.)h(.)f(.)18 b Ff(17)75 1598 y Fd(capitalize)o(-w)o(ord)9 b(\(M-c\))d Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Ff(14)75 1644 y Fd(character-)o(se) o(arc)o(h)10 b(\(C-]\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(18)75 1691 y Fd(character-)o(se)o(arc)o(h-)o(bac)o(kwa)o(rd)9 b(\(M-C-]\))e Fe(.)s(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(18)75 1737 y Fd(clear-scre)o(en)9 b(\(C-l\))g Fe(.)t(.)d(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)21 b Ff(12)75 1783 y(commen)o(t-b)q(egin)9 b Fe(.)f(.)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(.)g(.)h(.)21 b Ff(5)75 1829 y Fd(complete)10 b(\()265 1827 y Fn(h)p 276 1801 74 2 v 276 1829 a Fm(T)m(AB)p 276 1837 V 348 1827 a Fn(i)363 1829 y Fd(\))f Fe(.)e(.)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(.) 22 b Ff(16)75 1875 y(completion-query-i)q(tems)t Fe(.)9 b(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)16 b Ff(5)75 1922 y(con)o(v)o(ert-meta)10 b Fe(.)c(.)g(.)h(.)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(.)g(.)g(.)22 b Ff(5)75 1968 y Fd(copy-backw)o(ar)o(d-w)o(or)o(d)10 b(\(\))c Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Ff(15)75 2014 y Fd(copy-forwa)o(rd)o (-wo)o(rd)9 b(\(\))e Fe(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Ff(16)75 2060 y Fd(copy-regio)o(n-)o(as-)o(ki)o(ll)9 b(\(\))d Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)18 b Ff(15)75 2193 y Fs(D)75 2255 y Fd(delete-cha)o(r)10 b(\(C-d\))d Fe(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Ff(14)75 2301 y Fd(delete-cha)o(r-)o(or-)o(li)o(st)9 b(\(\))d Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)18 b Ff(17)75 2347 y Fd(delete-hor)o(iz)o(ont)o(al)o (-sp)o(ace)9 b(\(\))i Fe(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)25 b Ff(15)75 2393 y Fd(digit-argu)o(me)o(nt)9 b(\()p Fc(M-0)p Fd(,)i Fc(M-1)p Fd(,)h(...)f Fc(M--)p Fd(\))c Fe(.)e(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)20 b Ff(16)75 2439 y(disable-comple)q(tion)9 b Fe(.)g(.)d(.)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(.)21 b Ff(5)75 2486 y Fd(do-upperca)o(se)o(-ve)o(rs)o(ion)9 b(\(M-a,)i(M-b,)g(M-)p Fb(x)p Fd(,)h(...)o(\))159 2531 y Fe(.)6 b(.)g(.)g(.)h(.)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(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(17)75 2578 y Fd(downcase-w)o(or)o(d)10 b(\(M-l\))e Fe(.)t(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Ff(14)75 2624 y Fd(dump-funct)o(io)o(ns)9 b(\(\))g Fe(.)d(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)22 b Ff(18)75 2670 y Fd(dump-macro)o(s)10 b(\(\))g Fe(.)c(.)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(.)24 b Ff(18)1012 307 y Fd(dump-variab)o(le)o(s)10 b(\(\))e Fe(.)e(.)h(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)23 b Ff(18)1012 449 y Fs(E)1012 514 y Ff(editing-mo)q(de)12 b Fe(.)7 b(.)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(.)g(.)g(.)g(.)g(.)h(.)22 b Ff(5)1012 562 y Fd(emacs-editi)o(ng)o(-mo)o(de)9 b(\(C-e\))t Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)18 b Ff(18)1012 610 y(enable-k)o(eypad)9 b Fe(.)g(.)d(.)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(.)g(.)g(.)22 b Ff(5)1012 658 y Fd(end-kbd-mac)o(ro)9 b(\(C-x)i(\)\))e Fe(.)e(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Ff(17)1012 706 y Fd(end-of-hist)o(or)o(y)10 b(\(M->\))d Fe(.)t(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)20 b Ff(13)1012 754 y Fd(end-of-line)9 b(\(C-e\))e Fe(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Ff(12)1012 802 y Fd(exchange-po)o(in)o(t-a)o(nd)o(-ma)o(rk)9 b(\(C-x)j(C-x\))c Fe(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(18)1012 850 y(expand-tilde)6 b Fe(.)j(.)d(.)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(.)g(.)19 b Ff(5)1012 991 y Fs(F)1012 1056 y Fd(forward-bac)o(kw)o(ard)o(-d)o(ele)o(te)o(-ch)o(ar)9 b(\(\))f Fe(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Ff(14)1012 1104 y Fd(forward-cha)o(r)10 b(\(C-f\))f Fe(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(12)1012 1152 y Fd(forward-sea)o(rc)o(h-h)o(is)o(tor)o(y)10 b(\(C-s\))e Fe(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Ff(13)1012 1200 y Fd(forward-wor)o(d)10 b(\(M-f\))f Fe(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(12)1012 1334 y Fs(H)1012 1400 y Ff(history-preserv)o(e-p)q(oi)q(n)o(t)8 b Fe(.)h(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Ff(5)1012 1448 y Fd(history-sea)o(rc)o(h-b)o(ac)o(kwa)o(rd)9 b(\(\))i Fe(.)c(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)25 b Ff(13)1012 1496 y Fd(history-sea)o(rc)o(h-f)o(or)o(war)o(d)10 b(\(\))s Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)17 b Ff(13)1012 1543 y(horizon)o(tal-scrol)q(l-mo)r(de)6 b Fe(.)j(.)d(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(6)1012 1678 y Fs(I)1012 1743 y Ff(input-meta)8 b Fe(.)g(.)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(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(6)1012 1791 y Fd(insert-comm)o(en)o(t)10 b(\(M-#\))d Fe(.)t(.)f(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Ff(18)1012 1839 y Fd(insert-comp)o(le)o(tio)o(ns)9 b(\(M-*\))t Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)18 b Ff(16)1012 1887 y(isearc)o(h-terminators)t Fe(.)8 b(.)f(.)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(.)16 b Ff(6)1012 2021 y Fs(K)1012 2087 y Ff(k)o(eymap)9 b Fe(.)e(.)f(.)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(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(6)1012 2135 y Fd(kill-line)10 b(\(C-k\))f Fe(.)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(.)24 b Ff(15)1012 2183 y Fd(kill-region)9 b(\(\))i Fe(.)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(.)25 b Ff(15)1012 2231 y Fd(kill-whole-)o(li)o(ne)9 b(\(\))g Fe(.)c(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(15)1012 2278 y Fd(kill-word)10 b(\(M-d\))f Fe(.)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(.) 24 b Ff(15)1012 2413 y Fs(M)1012 2478 y Ff(mark-mo)q(di\014ed-li)q(nes) 8 b Fe(.)h(.)d(.)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 Ff(6)1012 2526 y(mark-symlink)o(ed-di)q(rectori)q(es)14 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)23 b Ff(6)1012 2574 y(matc)o(h-hidden-\014l)q(es)14 b Fe(.)6 b(.)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(.)24 b Ff(6)1012 2622 y Fd(menu-comple)o(te)9 b(\(\))g Fe(.)e(.)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(.)23 b Ff(16)1012 2670 y(meta-\015ag)t Fe(.)8 b(.)e(.)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(.)g(.)g(.)g(.)g(.)18 b Ff(6)p eop %%Page: 60 62 60 61 bop 75 -58 a Fu(60)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fs(N)75 210 y Fd(next-histo)o(ry)9 b(\(C-n\))g Fe(.)t(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(13)75 256 y Fd(non-increm)o(en)o (tal)o(-f)o(orw)o(ard)o(-s)o(ear)o(ch)o(-hi)o(st)o(ory)9 b(\(M-n\))159 302 y Fe(.)d(.)g(.)g(.)h(.)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(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(13)75 347 y Fd(non-increm)o(en)o(tal)o(-r)o(eve)o(rse)o(-s)o(ear)o(ch)o(-hi)o (st)o(ory)9 b(\(M-p\))159 393 y Fe(.)d(.)g(.)g(.)h(.)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(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(13)75 515 y Fs(O)75 576 y Ff(output-meta)5 b Fe(.)i(.)f(.)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(.)18 b Ff(6)75 622 y Fd(overwrite-)o(mo)o(de)9 b(\(\))g Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)22 b Ff(15)75 744 y Fs(P)75 805 y Ff(page-completions)14 b Fe(.)6 b(.)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(.)g(.)h(.)23 b Ff(7)75 851 y Fd(possible-c)o(om)o(ple)o(ti)o(ons)9 b(\(M-?\))h Fe(.)c(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)25 b Ff(16)75 897 y Fd(prefix-met)o(a)10 b(\()324 895 y Fn(h)p 335 868 70 2 v 335 897 a Fm(ESC)p 335 904 V 402 895 a Fn(i)417 897 y Fd(\))g Fe(.)c(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Ff(17)75 942 y Fd(previous-h)o(is)o(tor)o(y)10 b(\(C-p\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)18 b Ff(12)75 1072 y Fs(Q)75 1133 y Fd(quoted-ins)o(er)o (t)10 b(\(C-q)h(or)h(C-v\))c Fe(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)f(.)22 b Ff(14)75 1263 y Fs(R)75 1323 y Fd(re-read-in)o(it)o(-fi)o(le)9 b(\(C-x)i(C-r\))5 b Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Ff(17)75 1369 y Fd(readline)s Fe(.)s(.)7 b(.)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(.)h(.)f(.)g(.)16 b Ff(21)75 1415 y Fd(redraw-cur)o(re)o(nt-)o(li)o(ne)9 b(\(\))d Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)18 b Ff(12)75 1461 y Fd(reverse-se)o(ar)o(ch-)o(hi)o (sto)o(ry)9 b(\(C-r\))g Fe(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)23 b Ff(13)75 1506 y Fd(revert-lin)o(e)10 b(\(M-r\))d Fe(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Ff(17)75 1552 y Fd(rl_add_def)o(un)6 b Fe(.)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 Ff(28)75 1598 y Fd(rl_add_fun)o(ma)o(p_e)o(nt)o(ry) t Fe(.)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 Ff(31)75 1643 y Fd(rl_add_und)o(o)7 b Fe(.)f(.)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(.)g(.)g(.)23 b Ff(32)75 1689 y Fd(rl_alphabe)o(ti)o(c)9 b Fe(.)s(.)d(.)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(.)g(.)22 b Ff(36)75 1735 y Fd(rl_already)o(_p)o(rom)o (pt)o(ed)t Fe(.)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 Ff(25)75 1781 y Fd(rl_attempt)o(ed)o(_co)o(mp)o(let)o(ion)o(_f)o(unc)o(ti)o(on)t Fe(.)s(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Ff(43)75 1826 y Fd(rl_attempt)o(ed)o(_co)o(mp)o(let)o(ion)o(_o)o(ver)6 b Fe(.)s(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(46)75 1872 y Fd(rl_basic_q)o(uo)o(te_)o(ch)o(ara)o(cte)o(rs)8 b Fe(.)t(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) 22 b Ff(45)75 1918 y Fd(rl_basic_w)o(or)o(d_b)o(re)o(ak_)o(cha)o(ra)o (cte)o(rs)5 b Fe(.)s(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Ff(45)75 1964 y Fd(rl_begin_u)o(nd)o(o_g)o(ro)o(up)t Fe(.)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 Ff(32)75 2009 y Fd(rl_bind_ke)o(y)7 b Fe(.)f(.)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(.)g(.)g(.)23 b Ff(30)75 2055 y Fd(rl_bind_ke)o(y_)o(in_)o(ma)o(p)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Ff(30)75 2101 y Fd(rl_binding)o(_k)o(eym)o(ap)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(27)75 2146 y Fd(rl_callbac)o(k_)o(han)o(dl)o(er_)o(ins)o(ta)o(ll)7 b Fe(.)s(.)g(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)20 b Ff(38)75 2192 y Fd(rl_callbac)o(k_)o(han)o(dl)o(er_)o(rem)o(ov)o(e)8 b Fe(.)t(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(38)75 2238 y Fd(rl_callbac)o(k_)o(rea)o(d_)o(cha)o(r)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)25 b Ff(38)75 2284 y Fd(rl_catch_s)o(ig)o(nal)o(s)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Ff(40)75 2329 y Fd(rl_catch_s)o(ig)o(win)o(ch)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)19 b Ff(40)75 2375 y Fd(rl_char_is)o(_q)o(uot)o(ed)o(_p)t Fe(.)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 Ff(44)75 2421 y Fd(rl_cleanup)o(_a)o (fte)o(r_)o(sig)o(nal)7 b Fe(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)23 b Ff(40)75 2467 y Fd(rl_clear_m)o(es)o(sag)o(e)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) 19 b Ff(33)75 2512 y Fd(rl_clear_p)o(en)o(din)o(g_)o(inp)o(ut)8 b Fe(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)24 b Ff(35)1012 149 y Fd(rl_clear_si)o(gn)o(als)6 b Fe(.)s(.)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(.)20 b Ff(41)1012 196 y Fd(rl_complete)6 b Fe(.)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(.)g(.) g(.)g(.)g(.)24 b Ff(42)1012 242 y Fd(rl_complete)o(_i)o(nte)o(rn)o(al)s Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)17 b Ff(42)1012 288 y Fd(rl_complete)o(r_)o (quo)o(te)o(_ch)o(ar)o(act)o(ers)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)20 b Ff(45)1012 335 y Fd(rl_complete)o(r_)o(wor)o (d_)o(bre)o(ak)o(_ch)o(ara)o(ct)o(ers)8 b Fe(.)e(.)g(.)g(.)h(.)f(.)g(.) 25 b Ff(45)1012 381 y Fd(rl_completi)o(on)o(_ap)o(pe)o(nd_)o(ch)o(ara)o (cte)o(r)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(45)1012 427 y Fd(rl_completi)o(on)o(_di)o(sp)o(lay)o(_m)o(atc)o (hes)o(_h)o(ook)8 b Fe(.)e(.)g(.)g(.)h(.)f(.)g(.)25 b Ff(45)1012 474 y Fd(rl_completi)o(on)o(_en)o(tr)o(y_f)o(un)o(cti)o(on)s Fe(.)s(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(42,)c(43)1012 520 y Fd(rl_completi)o(on)o(_ma)o(rk)o(_sy)o(ml)o(ink)o(_di)o(rs)t Fe(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Ff(46)1012 566 y Fd(rl_completi)o(on)o(_ma)o(tc)o(hes)8 b Fe(.)f(.)f(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b Ff(43)1012 613 y Fd(rl_completi)o(on)o(_mo)o(de)t Fe(.)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 Ff(43)1012 659 y Fd(rl_completi)o(on)o(_qu) o(er)o(y_i)o(te)o(ms)9 b Fe(.)s(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)23 b Ff(45)1012 705 y Fd(rl_completi)o(on)o(_su) o(pp)o(res)o(s_)o(app)o(end)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)20 b Ff(46)1012 752 y Fd(rl_completi)o(on)o(_ty)o(pe)t Fe(.)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 Ff(46)1012 798 y Fd(rl_copy_key)o(ma)o(p)8 b Fe(.)s(.)e(.)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(.)21 b Ff(29)1012 844 y Fd(rl_copy_tex)o(t)6 b Fe(.)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(.)23 b Ff(34)1012 891 y Fd(rl_crlf)t Fe(.)t(.)6 b(.)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(.)g(.)g(.)g(.)g(.)h(.)17 b Ff(33)1012 937 y Fd(rl_delete_t)o(ex)o(t)8 b Fe(.)s(.)e(.)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(.)21 b Ff(34)1012 983 y Fd(rl_deprep_t)o(er)o(m_f)o(un)o(cti)o(on)7 b Fe(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)24 b Ff(26)1012 1030 y Fd(rl_deprep_t)o(er)o(min)o(al)t Fe(.)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 Ff(35)1012 1076 y Fd(rl_ding)t Fe(.)t(.)6 b(.)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(.)g(.)g(.)g(.)g(.)h(.)17 b Ff(36)1012 1122 y Fd(rl_director)o(y_)o (com)o(pl)o(eti)o(on)o(_ho)o(ok)7 b Fe(.)s(.)f(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)h(.)20 b Ff(44)1012 1169 y Fd(rl_discard_)o(ke)o (yma)o(p)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Ff(29)1012 1215 y Fd(rl_dispatch)o(in)o(g)8 b Fe(.)s(.)e(.)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(.)21 b Ff(25)1012 1261 y Fd(rl_display_)o(ma)o(tch)o(_l)o (ist)8 b Fe(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)25 b Ff(36)1012 1308 y Fd(rl_do_undo)8 b Fe(.)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(.)g(.)h(.)24 b Ff(32)1012 1354 y Fd(rl_done)t Fe(.)t(.)6 b(.)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(.)g(.)g(.)g(.)g(.)h(.)17 b Ff(24)1012 1400 y Fd(rl_editing_)o(mo)o(de)7 b Fe(.)s(.)f(.)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(.)21 b Ff(28)1012 1447 y Fd(rl_end)5 b Fe(.)t(.)h(.)g(.)h(.)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(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Ff(24)1012 1493 y Fd(rl_end_undo)o(_g)o(rou)o(p)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Ff(32)1012 1539 y Fd(rl_erase_em)o(pt)o(y_l)o(in)o(e)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(25)1012 1586 y Fd(rl_event_ho)o(ok)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(26)1012 1632 y Fd(rl_execute_)o(ne)o (xt)7 b Fe(.)s(.)f(.)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(.)21 b Ff(35)1012 1678 y Fd(rl_executin)o(g_)o(key)o(ma)o(p)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(26)1012 1725 y Fd(rl_executin)o(g_) o(mac)o(ro)t Fe(.)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 Ff(27)1012 1771 y Fd(rl_expand_p)o(ro)o(mpt)6 b Fe(.)s(.)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(.)20 b Ff(34)1012 1817 y Fd(rl_explicit)o(_a)o(rg)7 b Fe(.)s(.)f(.)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(.)21 b Ff(28)1012 1864 y Fd(rl_extend_l)o(in)o(e_b)o(uf)o(fer)8 b Fe(.)f(.)f(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b Ff(36)1012 1910 y Fd(rl_filename)o(_c)o(omp)o(le)o(tio)o(n_)o(des)o (ire)o(d)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(46)1012 1956 y Fd(rl_filename)o(_c)o(omp)o(le)o(tio)o(n_)o(fun)o (cti)o(on)t Fe(.)s(.)7 b(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)18 b Ff(43)1012 2003 y Fd(rl_filename)o(_d)o(equ)o(ot)o(ing)o(_f)o(unc)o (tio)o(n)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(44)1012 2049 y Fd(rl_filename)o(_q)o(uot)o(e_)o(cha)o(ra)o(cte)o (rs)7 b Fe(.)s(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)20 b Ff(45)1012 2095 y Fd(rl_filename)o(_q)o(uot)o(in)o(g_d)o(es)o(ire)o (d)8 b Fe(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)21 b Ff(46)1012 2142 y Fd(rl_filename)o(_q)o(uot)o(in)o(g_f)o(un)o(cti)o (on)7 b Fe(.)s(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)20 b Ff(44)1012 2188 y Fd(rl_forced_u)o(pd)o(ate)o(_d)o(isp)o(la)o(y)7 b Fe(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)23 b Ff(33)1012 2234 y Fd(rl_free_lin)o(e_)o(sta)o(te)t Fe(.)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 Ff(40)1012 2281 y Fd(rl_free_und)o(o_)o(lis)o(t)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) 19 b Ff(32)1012 2327 y Fd(rl_function)o(_d)o(ump)o(er)t Fe(.)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 Ff(31)1012 2373 y Fd(rl_function)o(_o)o(f_k)o(ey)o(seq)8 b Fe(.)f(.)f(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)25 b Ff(31)1012 2420 y Fd(rl_funmap_n)o(am)o(es)7 b Fe(.)s(.)f(.)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(.)21 b Ff(31)1012 2466 y Fd(rl_generic_)o(bi)o(nd)7 b Fe(.)s(.)f(.)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(.)21 b Ff(30)1012 2512 y Fd(rl_get_keym)o(ap)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(29)p eop %%Page: 61 63 61 62 bop 75 -58 a Fu(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1187 b(61)75 149 y Fd(rl_get_key)o(ma)o(p_b)o(y_)o(nam)o(e)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)25 b Ff(29)75 196 y Fd(rl_get_key)o(ma)o(p_n)o(am)o(e)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Ff(29)75 242 y Fd(rl_get_scr)o(ee) o(n_s)o(iz)o(e)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Ff(41)75 288 y Fd(rl_get_ter)o(mc)o(ap)8 b Fe(.)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 Ff(37)75 335 y Fd(rl_getc)t Fe(.)t(.)6 b(.)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(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)17 b Ff(35)75 381 y Fd(rl_getc_fu)o(nc)o(tio)o(n)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Ff(26)75 427 y Fd(rl_gnu_rea)o(dl)o(ine)o(_p)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)19 b Ff(25)75 474 y Fd(rl_ignore_)o(co)o(mpl)o(et)o(ion)o(_du)o(pl) o(ica)o(te)o(s)5 b Fe(.)s(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(46)75 520 y Fd(rl_ignore_)o(so)o(me_)o(co)o(mpl)o(eti)o(on)o(s_f)o (un)o(cti)o(on)7 b Fe(.)g(.)f(.)g(.)g(.)g(.)24 b Ff(44)75 566 y Fd(rl_inhibit)o(_c)o(omp)o(le)o(tio)o(n)9 b Fe(.)d(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 b Ff(47)75 613 y Fd(rl_initial)o(iz)o(e)9 b Fe(.)s(.)d(.)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(.)g(.)22 b Ff(36)75 659 y Fd(rl_insert_)o(co)o(mpl)o (et)o(ion)o(s)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 b Ff(43)75 705 y Fd(rl_insert_)o(te) o(xt)8 b Fe(.)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 Ff(34)75 752 y Fd(rl_instrea)o(m)7 b Fe(.)f(.)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(.)g(.)g(.)23 b Ff(25)75 798 y Fd(rl_invokin)o(g_)o (key)o(se)o(qs)t Fe(.)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 Ff(31)75 844 y Fd(rl_invokin)o(g_)o(key)o(se)o(qs_)o(in_)o(ma)o(p)8 b Fe(.)t(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(31)75 891 y Fd(rl_kill_te)o(xt)6 b Fe(.)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 Ff(34)75 937 y Fd(rl_last_fu)o(nc)6 b Fe(.)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 Ff(26)75 983 y Fd(rl_library)o(_v)o(ers)o(io)o(n)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Ff(25)75 1030 y Fd(rl_line_bu)o(ff)o(er)8 b Fe(.)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 Ff(24)75 1076 y Fd(rl_list_fu)o(nm)o(ap_)o(na)o(mes)s Fe(.)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 Ff(31)75 1122 y Fd(rl_macro_b)o(in)o(d)9 b Fe(.)s(.)d(.)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(.)g(.)22 b Ff(37)75 1169 y Fd(rl_macro_d)o(um)o(per)6 b Fe(.)t(.)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(.)g(.)20 b Ff(37)75 1215 y Fd(rl_make_ba)o(re)o(_ke)o(ym) o(ap)t Fe(.)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 Ff(29)75 1261 y Fd(rl_make_ke)o(ym)o(ap)8 b Fe(.)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 Ff(29)75 1308 y Fd(rl_mark)t Fe(.)t(.)6 b(.)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(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Ff(24)75 1354 y Fd(rl_message)7 b Fe(.)f(.)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(.)g(.)24 b Ff(33)75 1400 y Fd(rl_modifyi)o(ng)6 b Fe(.)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 Ff(32)75 1447 y Fd(rl_named_f)o(un)o(cti)o(on)5 b Fe(.)s(.)i(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)19 b Ff(31)75 1493 y Fd(rl_num_cha)o(rs)o(_to)o(_r)o (ead)s Fe(.)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 Ff(24)75 1539 y Fd(rl_numeric)o(_a) o(rg)8 b Fe(.)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 Ff(28)75 1586 y Fd(rl_on_new_)o(li)o(ne)8 b Fe(.)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 Ff(33)75 1632 y Fd(rl_on_new_)o(li)o(ne_)o (wi)o(th_)o(pro)o(mp)o(t)8 b Fe(.)t(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)21 b Ff(33)75 1678 y Fd(rl_outstre)o(am)6 b Fe(.)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 Ff(26)75 1725 y Fd(rl_parse_a)o(nd)o(_bi)o(nd)5 b Fe(.)s(.)i(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)19 b Ff(31)75 1771 y Fd(rl_pending)o(_i)o(npu)o(t)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Ff(24)75 1817 y Fd(rl_point)s Fe(.)s(.)7 b(.)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(.)h(.)f(.)g(.)16 b Ff(24)75 1864 y Fd(rl_possibl)o(e_)o (com)o(pl)o(eti)o(ons)7 b Fe(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)23 b Ff(42)75 1910 y Fd(rl_pre_inp)o(ut)o(_ho)o(ok)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(26)75 1956 y Fd(rl_prep_te)o(rm)o(_fu)o(nc)o(tio)o(n)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)25 b Ff(26)75 2003 y Fd(rl_prep_te)o(rm)o(ina)o(l)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Ff(35)75 2049 y Fd(rl_prompt)8 b Fe(.)e(.)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(.) g(.)g(.)g(.)g(.)h(.)24 b Ff(25)75 2095 y Fd(rl_push_ma)o(cr)o(o_i)o(np) o(ut)t Fe(.)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 Ff(34)75 2142 y Fd(rl_read_in)o(it)o(_fi)o(le)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) 19 b Ff(31)75 2188 y Fd(rl_read_ke)o(y)7 b Fe(.)f(.)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(.)g(.)g(.)23 b Ff(34)75 2234 y Fd(rl_readlin)o(e_)o(nam)o(e)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.) 19 b Ff(25)75 2281 y Fd(rl_readlin)o(e_)o(sta)o(te)5 b Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(27)75 2327 y Fd(rl_readlin)o(e_)o(ver)o(si)o(on)t Fe(.)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 Ff(25)75 2373 y Fd(rl_redispl)o(ay)6 b Fe(.)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 Ff(33)75 2420 y Fd(rl_redispl)o(ay)o(_fu)o (nc)o(tio)o(n)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)25 b Ff(26)75 2466 y Fd(rl_replace)o(_l)o(ine)6 b Fe(.)t(.)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(.)g(.) 20 b Ff(36)75 2512 y Fd(rl_reset_a)o(ft)o(er_)o(si)o(gna)o(l)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)25 b Ff(40)1012 149 y Fd(rl_reset_li)o(ne)o(_st)o(at)o (e)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(33)1012 195 y Fd(rl_reset_te)o(rm)o(ina)o(l)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.) 19 b Ff(35)1012 241 y Fd(rl_resize_t)o(er)o(min)o(al)t Fe(.)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 Ff(41)1012 287 y Fd(rl_restore_)o(pr)o(omp)o(t)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)19 b Ff(34)1012 333 y Fd(rl_save_pro)o(mp)o(t)8 b Fe(.)s(.)e(.)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(.)21 b Ff(33)1012 379 y Fd(rl_set_key)8 b Fe(.)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(.)g(.)h(.)24 b Ff(30)1012 424 y Fd(rl_set_keyb)o(oa)o(rd_)o(in)o(put)o(_t)o(ime)o (out)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Ff(35)1012 470 y Fd(rl_set_keym)o(ap)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(29)1012 516 y Fd(rl_set_pare)o(n_)o (bli)o(nk)o(_ti)o(me)o(out)7 b Fe(.)t(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Ff(37)1012 562 y Fd(rl_set_prom)o(pt)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(34)1012 608 y Fd(rl_set_scre)o(en)o(_si)o(ze)t Fe(.)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 Ff(41)1012 654 y Fd(rl_set_sign)o(al)o(s)8 b Fe(.)s(.)e(.)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(.)21 b Ff(41)1012 700 y Fd(rl_show_cha)o(r)6 b Fe(.)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(.)23 b Ff(33)1012 745 y Fd(rl_special_)o(pr)o (efi)o(xe)o(s)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(45)1012 791 y Fd(rl_startup_)o(ho)o(ok)7 b Fe(.)s(.)f(.)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(.)21 b Ff(26)1012 837 y Fd(rl_stuff_ch)o(ar)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(35)1012 883 y Fd(rl_terminal)o(_n)o(ame)6 b Fe(.)s(.)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(.)20 b Ff(25)1012 929 y Fd(rl_tty_set_)o(de)o(fau)o(lt)o (_bi)o(nd)o(ing)o(s)8 b Fe(.)s(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)21 b Ff(35)1012 975 y Fd(rl_unbind_c)o(om)o(man)o(d_)o (in_)o(ma)o(p)7 b Fe(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)23 b Ff(30)1012 1020 y Fd(rl_unbind_f)o(un)o(cti)o (on)o(_in)o(_m)o(ap)9 b Fe(.)s(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)23 b Ff(30)1012 1066 y Fd(rl_unbind_k)o(ey)8 b Fe(.)s(.)e(.)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(.)g(.)22 b Ff(30)1012 1112 y Fd(rl_unbind_k)o(ey)o(_in)o(_m)o(ap)s Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)17 b Ff(30)1012 1158 y Fd(rl_username)o(_c)o (omp)o(le)o(tio)o(n_)o(fun)o(cti)o(on)t Fe(.)s(.)7 b(.)f(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)18 b Ff(43)1012 1204 y Fd(rl_variable)o(_b)o(ind)6 b Fe(.)s(.)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(.)20 b Ff(37)1012 1250 y Fd(rl_variable)o(_d)o(ump)o(er)t Fe(.)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 Ff(37)1012 1380 y Fs(S)1012 1441 y Fd(self-insert)9 b(\(a,)j(b,)g(A,)g(1,)g(!,)g(...)o(\))6 b Fe(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)20 b Ff(14)1012 1487 y Fd(set-mark)10 b(\(C-@\))g Fe(.)c(.)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(.)25 b Ff(17)1012 1533 y(sho)o(w-all-if-am)o(bigu)q(ous)14 b Fe(.)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(.)23 b Ff(7)1012 1579 y Fd(start-kbd-m)o(ac)o(ro)9 b(\(C-x)j(\(\))c Fe(.)d(.)i(.)f(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Ff(17)1012 1701 y Fs(T)1012 1763 y Fd(tab-insert)9 b(\(M-)1281 1761 y Fn(h)p 1292 1735 74 2 v 1292 1763 a Fm(T)m(AB)p 1292 1770 V 1364 1761 a Fn(i)1379 1763 y Fd(\))e Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Ff(14)1012 1808 y Fd(tilde-expan)o(d)10 b(\(M-~\))f Fe(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(17)1012 1854 y Fd(transpose-c)o(ha)o(rs)9 b(\(C-t\))d Fe(.)f(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)20 b Ff(14)1012 1900 y Fd(transpose-w)o(or)o(ds)9 b(\(M-t\))d Fe(.)f(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(14)1012 2030 y Fs(U)1012 2092 y Fd(undo)12 b(\(C-_)f(or)h(C-x)g(C-u\))c Fe(.)t(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)21 b Ff(17)1012 2137 y Fd(universal-a)o(rg)o (ume)o(nt)9 b(\(\))d Fe(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(16)1012 2183 y Fd(unix-line-d)o(is)o(car)o(d)10 b(\(C-u\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)18 b Ff(15)1012 2229 y Fd(unix-word-r)o(ub)o(out)9 b(\(C-w\))d Fe(.)t(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Ff(15)1012 2275 y Fd(upcase-word)9 b(\(M-u\))e Fe(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Ff(14)1012 2405 y Fs(V)1012 2466 y Fd(vi-editing-)o(mo)o(de)9 b(\(M-C-j\))c Fe(.)t(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)18 b Ff(18)1012 2512 y(visible-stats)c Fe(.)6 b(.)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(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Ff(7)p eop %%Page: 62 64 62 63 bop 75 -58 a Fu(62)1299 b(GNU)15 b(Readline)h(Library)75 149 y Fs(Y)75 242 y Fd(yank)11 b(\(C-y\))5 b Fe(.)g(.)h(.)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(.)g(.)18 b Ff(16)1012 149 y Fd(yank-last-a)o(rg)9 b(\(M-.)i(or)h(M-_\))c Fe(.)f(.)f(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Ff(13)1012 196 y Fd(yank-nth-ar)o(g)10 b(\(M-C-y\))d Fe(.)s(.)f(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)h(.)20 b Ff(13)1012 242 y Fd(yank-pop)10 b(\(M-y\))g Fe(.)c(.)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(.)25 b Ff(16)p eop %%Page: -1 65 -1 64 bop 1862 -58 a Fu(i)75 149 y Fq(T)-7 b(able)27 b(of)f(Con)n(ten)n(ts)75 320 y Fs(1)67 b(Command)22 b(Line)i(Editing)d Fa(.)10 b(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h (.)f(.)g(.)g(.)42 b Fs(1)224 389 y Fu(1.1)j(In)o(tro)q(duction)16 b(to)f(Line)h(Editing)e Fl(.)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 (.)27 b Fu(1)224 444 y(1.2)45 b(Readline)16 b(In)o(teraction)8 b Fl(.)g(.)g(.)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(.)23 b Fu(1)374 499 y(1.2.1)44 b(Readline)16 b(Bare)f(Essen)o(tials)f Fl(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 b Fu(1)374 553 y(1.2.2)44 b(Readline)16 b(Mo)o(v)o(emen)o(t)e(Commands) 7 b Fl(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f (.)h(.)21 b Fu(2)374 608 y(1.2.3)44 b(Readline)16 b(Killing)i(Commands) 11 b Fl(.)c(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)25 b Fu(2)374 663 y(1.2.4)44 b(Readline)16 b(Argumen)o(ts)c Fl(.)c(.)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(.)27 b Fu(3)374 718 y(1.2.5)44 b(Searc)o(hing)16 b(for)e(Commands)h(in)h (the)f(History)e Fl(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 b Fu(3)224 773 y(1.3)45 b(Readline)16 b(Init)h(File)e Fl(.)7 b(.)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(.)f(.)29 b Fu(4)374 827 y(1.3.1)44 b(Readline)16 b(Init)g(File)h(Syn)o(tax)7 b Fl(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 b Fu(4)374 882 y(1.3.2)44 b(Conditional)16 b(Init)g(Constructs)5 b Fl(.)i(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)g(.)f(.)19 b Fu(9)374 937 y(1.3.3)44 b(Sample)16 b(Init)g(File)11 b Fl(.)e(.)e(.)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(.)26 b Fu(9)224 992 y(1.4)45 b(Bindable)17 b(Readline)g(Commands) 6 b Fl(.)h(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 b Fu(12)374 1046 y(1.4.1)44 b(Commands)14 b(F)l(or)h(Mo)o(ving)e Fl(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 b Fu(12)374 1101 y(1.4.2)44 b(Commands)14 b(F)l(or)h(Manipulating)i(The)e(History)9 b Fl(.)e(.)h(.)f(.)h(.)f(.)h(.)24 b Fu(12)374 1156 y(1.4.3)44 b(Commands)14 b(F)l(or)h(Changing)h(T)l(ext)e Fl(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 b Fu(14)374 1211 y(1.4.4)44 b(Killing)18 b(And)e(Y)l(anking)9 b Fl(.)e(.)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(.)24 b Fu(15)374 1266 y(1.4.5)44 b(Sp)q(ecifying)17 b(Numeric)f(Argumen)o(ts)c Fl(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)27 b Fu(16)374 1320 y(1.4.6)44 b(Letting)15 b(Readline)i(T)o(yp)q(e)e(F)l (or)g(Y)l(ou)10 b Fl(.)d(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)25 b Fu(16)374 1375 y(1.4.7)44 b(Keyb)q(oard)15 b(Macros)6 b Fl(.)h(.)g(.)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(.)21 b Fu(17)374 1430 y(1.4.8)44 b(Some)15 b(Miscellaneous)i(Commands)7 b Fl(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) 22 b Fu(17)224 1485 y(1.5)45 b(Readline)16 b(vi)g(Mo)q(de)e Fl(.)7 b(.)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(.)28 b Fu(18)75 1606 y Fs(2)67 b(Programming)23 b(with)g(GNU)f(Readline)12 b Fa(.)f(.)g(.)f(.)g(.)g(.)g(.)h(.)f(.)35 b Fs(21)224 1675 y Fu(2.1)45 b(Basic)16 b(Beha)o(vior)8 b Fl(.)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(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)23 b Fu(21)224 1729 y(2.2)45 b(Custom)14 b(F)l(unctions)7 b Fl(.)i(.)f(.)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(.)22 b Fu(22)374 1784 y(2.2.1)44 b(Readline)16 b(T)o(yp)q(edefs)9 b Fl(.)g(.)e(.)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(.)24 b Fu(23)374 1839 y(2.2.2)44 b(W)l(riting)16 b(a)e(New)i(F)l(unction)6 b Fl(.)i(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) 21 b Fu(23)224 1894 y(2.3)45 b(Readline)16 b(V)l(ariables)g Fl(.)8 b(.)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(.)f(.)h(.)g (.)f(.)h(.)29 b Fu(24)224 1949 y(2.4)45 b(Readline)16 b(Con)o(v)o(enience)h(F)l(unctions)7 b Fl(.)i(.)e(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) 23 b Fu(28)374 2003 y(2.4.1)44 b(Naming)15 b(a)g(F)l(unction)e Fl(.)7 b(.)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(.)27 b Fu(28)374 2058 y(2.4.2)44 b(Selecting)17 b(a)e(Keymap)6 b Fl(.)h(.)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(.)21 b Fu(29)374 2113 y(2.4.3)44 b(Binding)17 b(Keys)5 b Fl(.)j(.)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(.)20 b Fu(30)374 2168 y(2.4.4)44 b(Asso)q(ciating)16 b(F)l(unction)g(Names)f(and)g(Bindings)8 b Fl(.)h(.)f(.)f(.)h(.)f(.)h (.)23 b Fu(31)374 2222 y(2.4.5)44 b(Allo)o(wing)16 b(Undoing)f Fl(.)8 b(.)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(.)29 b Fu(32)374 2277 y(2.4.6)44 b(Redispla)o(y)10 b Fl(.)e(.)g(.)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(.)f(.)h(.)f(.)26 b Fu(33)374 2332 y(2.4.7)44 b(Mo)q(difying)16 b(T)l(ext)7 b Fl(.)g(.)g(.)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(.)22 b Fu(34)374 2387 y(2.4.8)44 b(Character)14 b(Input)c Fl(.)f(.)e(.)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(.)25 b Fu(34)374 2442 y(2.4.9)44 b(T)l(erminal)16 b(Managemen)o(t)11 b Fl(.)c(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 b Fu(35)374 2496 y(2.4.10)43 b(Utilit)o(y)17 b(F)l(unctions)c Fl(.)7 b(.)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(.)28 b Fu(36)374 2551 y(2.4.11)43 b(Miscellaneous)18 b(F)l(unctions)6 b Fl(.)i(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 b Fu(37)374 2606 y(2.4.12)43 b(Alternate)16 b(In)o(terface)f Fl(.)7 b(.)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(.)30 b Fu(37)374 2661 y(2.4.13)43 b(A)16 b(Readline)g(Example)9 b Fl(.)f(.)f(.)h(.)f(.)h(.)g (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)24 b Fu(38)p eop %%Page: -2 66 -2 65 bop 75 -58 a Fu(ii)1321 b(GNU)15 b(Readline)h(Library)224 42 y(2.5)45 b(Readline)16 b(Signal)h(Handling)12 b Fl(.)c(.)g(.)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(.)27 b Fu(39)224 96 y(2.6)45 b(Custom)14 b(Completers)f Fl(.)8 b(.)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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)28 b Fu(41)374 151 y(2.6.1)44 b(Ho)o(w)14 b(Completing)i(W)l(orks)10 b Fl(.)d(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)25 b Fu(41)374 206 y(2.6.2)44 b(Completion)16 b(F)l(unctions)6 b Fl(.)i(.)g(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) 21 b Fu(42)374 261 y(2.6.3)44 b(Completion)16 b(V)l(ariables)c Fl(.)c(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 b Fu(43)374 315 y(2.6.4)44 b(A)15 b(Short)g(Completion)h(Example)5 b Fl(.)j(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)20 b Fu(47)75 437 y Fs(Concept)i(Index)10 b Fa(.)i(.)e(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)33 b Fs(57)75 572 y(F)-6 b(unction)25 b(and)d(V)-6 b(ariable)24 b(Index)9 b Fa(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)32 b Fs(59)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF