%!PS-Adobe-2.0 %%Creator: dvips(k) 5.82 Copyright 1998 Radical Eye Software %%Title: readline.dvi %%Pages: 56 %%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 2000.03.01:1453 %%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/IE 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IE N end A{/foo setfont}2 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/IE 256 array N 2 string 0 1 255{IE 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 cmti10 10.95 1 /Fa 1 47 df<127012F8A212F012E005057B840E>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fb cmbxti10 14.4 1 /Fb 1 47 df<120E123FEA7F80A212FFA21300127E123C0909798815>46 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fc cmmi9 9 1 /Fc 1 59 df<126012F0A2126004047D830B>58 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fd cmtt9 9 53 /Fd 53 127 df<126012F0AD12601200A4126012F0A212600417789614>33 D35 D40 D<128012C01260123012381218121C120EA31207A9120EA3121C121812 381230126012C01280081D7C9914>II<127012F812FCA2127C120C1218 123012E012C0060A798414>44 DI<127012F8A3127005057984 14>I48 D<1203A25A5A123F12F712471207AEEA7FF0A20C177C 9614>I<1306131E133E13F8EA01F0EA03C0EA0F80EA1F00123C12F85A7E123C121FEA0F 80EA03C0EA01F0EA00F8133E131E13060F157E9514>60 D<12C012F07E123E7EEA0780EA 03E0EA01F0EA0078133E131E133E1378EA01F0EA03E0EA0780EA1F00123E12F85A12C00F 157E9514>62 DIIII<3801F180EA07FFEA0E1FEA1C 071238EA7003A348C7FCA738700380A338380700121CEA0E0EEA07FCEA01F011177F9614 >III76 D<38FC1F80A2007C1300EA7637A4EA7777A2EA7367A313E7EA71C7A2EA7007A638F80F80 A211177F9614>I<38FE3F80A2383E0E00123BA4138E1239A213CEA31238A213EE136EA4 133E12FEA211177F9614>I82 DI<387FFF80B5FCEAE1C3A43801C000AFEA0FF8A211177F9614>I< EAFFE0A21200B3A712FFA20B1D7F9914>93 D95 D97 D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C1380EB01C0 A6EB0380001E1300EA1F0EEA1DFCEA0CF81217809614>II<137EA2130E A5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270EA301EEA383E381FEFC0EA07CF1217 7F9614>II<13FCEA01FEEA038EEA07041300A3EA7FFE12 FFEA0700ACEAFFF8A20F177F9614>II<12FCA2121CA51378EA1DFEEA1F86EA1E07121CAA38FF 8FE0A21317809614>I<1206120FA21206C7FCA4B4FCA21207ACEAFFF8A20D187C9714>I< 12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C131C7F38FF 1F80A21117809614>107 DIIIIIIII<1206120EA4EA7FFC12FFEA0E00A8130EA3131CEA07F8EA01F0 0F157F9414>II<38FE3F80A238 3C1E00EA1C1CA36C5AA3EA0630EA0770A36C5AA311107F8F14>I<38FE3F80A238700700 EA380EA3EA39CEA3EA1B6C121AA3EA1E7CA2EA0E3811107F8F14>II<38 FE3F80A2381C0E005BA2120E5BA212071330A2EA0370A25B1201A25BA3485A12730077C7 FC127E123C11187F8F14>II126 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fe cmsl9 9 2 /Fe 2 121 df<1270A212F0126004047D830B>46 D<383FC7E038078380EB0200EA0384 13C8EA01D8EA00F05B7F120113381202487EEA081E123838FC3FC013107F8F14>120 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 24 /Fi 24 122 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA07FCEA1F FF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42 D67 D69 D<387FFFFCB5FC7E380E00 1CA51400A2EB0380A3EA0FFFA3EA0E03A390C7FCA8EA7FE012FF127F161E7F9D1A>I73 D<387F03F838FF87FC387F03F8381C01 E0EB03C01480EB07005B131E131C5B13785B7F121DEA1FDC139C130EEA1E0F7F001C1380 1303EB01C0A2EB00E0A21470007F13FC38FF81FE387F00FC171E7F9D1A>75 DI80 D<38FF01FEA3381C0070A3001E13F0000E13E0A3380701 C0A438038380A43801C700A4EA00C613EEA3136C137CA21338171E7F9D1A>86 D97 D99 DII<12FEA3120EA6133EEB FF80000F13C013C1EB80E01300120EAC38FFE3FE13E713E3171E7F9D1A>104 DI< 387CE0E038FFFBF8EA7FFF381F1F1CEA1E1EA2EA1C1CAC387F1F1F39FF9F9F80397F1F1F 00191580941A>109 DIII<387F81F838FF8FFC387F9FFE 3803FE1EEBF80CEBE000A25B5BAAEA7FFFB5FC7E17157F941A>114 D<487E1203A6387FFFE0B5FCA238038000AA1470A43801C1E013FF6C1380EB3F00141C7F 9B1A>116 D<38FE0FE0A3EA0E00AD1301EA0F033807FFFE7EEA00FC17157F941A>I<387F C7FC00FF13FE007F13FC380E00E0A3380701C0A338038380A33801C700A3EA00EEA3137C A2133817157F941A>I<387FC7FC00FF13FE007F13FC380E00E0A27EEB01C013811203EB 8380EA01C3A2EBC700EA00E7A213E61366136E133CA31338A3137813701230EA78E01271 EA7FC06C5A001EC7FC17207F941A>121 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fj cmmi10 10.95 1 /Fj 1 59 df<127012F8A3127005057C840D>58 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fk cmsltt10 10.95 6 /Fk 6 102 df<1206120FEA1F80120FA21203EA0700A25A120E123C127C12F01260090E 769B18>39 D<387FFFC0B512E0A26C13C013047C8F18>45 D67 D<3907E01F80000FEB3FC0000714803903B02E 00146EA214CE380730DC1331149CA21333141C000E5B13371336133E133C131848C65AA6 38FE03F800FF7F00FE5B1A1C7F9B18>77 D<126012F0A37E1278A3127C123CA3123E121E A3121F7EA313801207A313C01203A413E01201A313F0120013600C24789F18>92 D<13F8EA07FE487E381F0780EA3C03387801C0127012E0A2B5FCA2148000E0C7FCA21303 3870078038780F00EA3FFE6C5AEA07F012147B9318>101 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fl cmbx12 13.14 52 /Fl 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: Fm cmsl10 10.95 28 /Fm 28 122 df12 D45 D<0007B512F83900F800780178133815185B1508A53901E0 0800A314181438EBFFF83803C0301410A491C7FC485AA648C8FC7FEAFFFC1D1F7E9E1E> 70 D<3A07FF803FE03A00F8001F000178130C5D4913205D5D4AC7FC1402140848485A5C 146014F013E1EBE4F83803C878EBD07CEBE03CEBC03E141E141F48487E81140781140381 380F00016D487E39FFF00FFE231F7E9E23>75 D97 D<1207123F120F7EA2120EA65A137CEA1D83381E0180001C13C0EB00E05A14F0A538 7001E0A214C013031480EB0700EAE80EEACC38EA83E014207B9F19>I<13FEEA0383380E 0780121C0038130090C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314> I<1438EB01F8EB00781438A21470A614E013FCEA0382EA0601121CEA3C00383801C01278 12F0A438E00380A412F0EA700738380F00381C37803807C7E015207D9F19>I<13F8EA07 0EEA0E07121C383803801278127012F0A2B5FC00F0C7FC5AA46C5AEA7002EA3004EA1C18 EA07E011147D9314>II<140EEB3E11EBE1A33801C1C238 0381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218121CEA0FFF14C0 14E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F809417>I<13E012 0712011200A2485AA6485AEB8F80EB90E013A0EBC0601380000713E01300A5380E01C0A6 381C0380001E13C038FF8FF014207E9F19>II<13E0120712011200 A2485AA6485AEB81FCEB80F014C0EB81801400EA07045B13181338137C131C120E7FA213 0F7F1480EA1C03381E07C038FF8FF016207E9F18>107 D<13E0120712011200A2EA01C0 A6EA0380A6EA0700A6120EA65A121EEAFF800B207F9F0C>I<390387C07C391F98618639 07A072073903C03403EB80380007EB7807EB0070A5000EEBE00EA64848485A001EEBE01E 3AFFCFFCFFC022147E9326>I<38038F80381F90E0EA07A03803C0601380000713E01300 A5380E01C0A6381C0380001E13C038FF8FF014147E9319>I<13FCEA0387380E0180381C 00C04813E0A24813F012F0A438E001E0A214C0130300F0138038700700EA380E6C5AEA07 E014147D9317>I IIII<1380EA0100A35A5A5A121EEAFFF8EA0E00 A45AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<381C0380EAFC1FEA3C07EA1C03 A238380700A6EA700EA4131EA25BEA305E381F9F8011147B9319>I<38FF83F8381E00E0 001C13C01480121E380E01005B13025B12075BA25BEA039013A013E05B5B120190C7FC15 147C9318>I<39FF9FE1FC393C078070391C030060148015401580EA0E0790380D810013 09EB19C21311380F21C4EA0720EB40C814E8EB80F0A26C485A1460000213401E147C9321 >I<381FF0FF3803C0780001137014403800E0C0EBE180EB73001376133CA2131C132E13 4E1387EA0107380203801204380C01C0383C03E038FE07FC18147F9318>I<390FF83F80 3901E00E00EBC00C140813E000005B143014205C13705CA20171C7FC1339133A133E133C 133813181310A25BA25BEA70C0EAF08000F1C8FC12E61278191D809318>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fn cmr8 8 41 /Fn 41 124 df<126012F0A212701210A21220A21240A2040A7D960A>39 D45 D<1206120E12FE120EB1EAFFE00B157D9412>49 D<13101338A3135CA3138EA3EA0107A238020380A33807FFC0EA0401A2380800E0A20018 13F0123838FE03FE17177F961A>65 DIIIII74 D76 D<00FEEB03F8001E14C000171305A338138009A23811C011A33810E021A2EB7041A3 EB3881A2EB1D01A2130EA2123839FE040FF81D177F9620>I<00FC13FE001E1338001F13 101217EA1380EA11C0A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00F0 14701430123800FE131017177F961A>I80 D82 DI<387FFFF8386038 1800401308A200801304A300001300AF3803FF8016177F9619>I<38FF80FE381C003814 10B06C132012066C13403801818038007E0017177F961A>I<12FCA212C0B3AB12FCA206 217D980A>91 D97 D<12F81238A8EA39F0EA3E0CEA380613077F1480A41400 5B1306EA361CEA21F011177F9614>II<133E130EA8EA07CEEA1C3EEA300E1270126012 E0A412601270EA301EEA182E3807CF8011177F9614>IIII<1203EA0780A2EA0300C7FCA5EA1F801203AF1243EAE30012E712 7C091D82960B>106 D<12F81238A8133E13381330134013801239EA3FC0EA39E0123813 F01378133CA2EAFE7F10177F9613>I<12F81238B3A312FE07177F960A>I110 DIIIII<1208A31218A21238EAFFC0 EA3800A71340A4EA1C80EA0F000A147F930E>II<38FEFE7C383838381410133C001C1320134C381E4E60380ECE40138700 0713801303A200031300EA0201160E7F8D19>119 DII123 D E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fo cmsy9 9 2 /Fo 2 106 df<13801201EA0300A31206A25AA35AA35AA25AA35AA21260A37EA27EA37E A37EA27EA3EA0180120009267D9B0F>104 D<12C0A21260A37EA27EA37EA37EA27EA3EA 0180A2EA0300A31206A25AA35AA35AA25AA35AA209267E9B0F>I E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fp cmcsc10 10.95 8 /Fp 8 118 df73 D79 DI<3803F02038 0C0C60381803E0EA30005A146012E01420A36C13007E127CEA7F80EA3FFC6CB4FC000713 80000113C038000FE013031301EB00F014707EA46C136014E06C13C038F8018038C60300 EA81FC14217C9F1C>83 D<397FF807FE390FE001F0D807C013C06C6C6C5A000149C7FCEB F0023800F806EB78046D5AEB3E18EB1F106D5A14C0130713036D7E497EEB06F8EB0478EB 087CEB183EEB101EEB201F496C7EEBC007496C7ED801007F486D7E481300391F8001F83A FFC007FF80211F7E9E25>88 D103 D<38FC01FC381E007014201217EA1380A2EA11C0EA10E0A213701338A2131C 130E1307A2EB03A0EB01E0A213001460123800FE132016177E961C>110 D<38FF81FC381C00701420B0000C1340120E6C138038018300EA007C16177E961C>117 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<14FF010713E090381F00F80178131E01E01307D80180EB018048C812C000 061560481530A248151848150CA2481506A4481503A900601506A46C150CA26C15186C15 30A26C15606C15C06C6CEB0180D800E0EB07000178131E011F13F8903807FFE0010090C7 FC282B7EA02D>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 90 /Ft 90 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>I91 D<126012F0A27E1278127C123CA2123E121E121F7EA27F12077F1203A27F12017F12007F 1378A2137C133C133E131EA2131F7F14801307A2EB030011247D9F18>II<387FFFC0B512E0A26C13C013047E7F18>95 D<1206121E123E12381270A212E0A312F812FC127CA21238070E789E18>II<127E12FE127E120EA5133EEBFF80000F13C0EBC1E0 1380EB0070120E1438A6000F1370A2EB80E013C1EBFFC0000E138038063E00151C809B18 >IIIII< 3801E1F03807FFF85A381E1E30381C0E00487EA5EA1C0EEA1E1EEA1FFC5BEA39E00038C7 FC7EEA1FFEEBFFC04813E0387801F038700070481338A4007813F0EA7E03381FFFC06C13 803801FC00151F7F9318>I<127E12FE127E120EA5133EEBFF80000F13C013C1EB80E013 00120EAB387FC7FC38FFE7FE387FC7FC171C809B18>II<1338137CA313381300A4EA0FFCA3EA00 1CB3A4EA6038EAF078EAFFF0EA7FE0EA3F800E277E9C18>I<127E12FE127E120EA5EB3F F0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA0E0F7FEB038014C0387FC7F812FF 127F151C7F9B18>II<38F9C1C038FFF7F013 FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E1714809318>IIII<3801F380EA07FBEA1FFFEA3E1FEA380FEA7007A2EAE003A6 EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3EA0003A7EB1FF0EB3FF8EB1FF0151E7E93 18>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0005BA290C7FCA9EAFFFC7F5B14147E 9318>II<487E1203A4387FFFC0B5 FCA238038000A9144014E0A33801C1C013FF6C1380EB3E0013197F9818>I<387E07E0EA FE0FEA7E07EA0E00AC1301EA0F033807FFFC6C13FE3801FCFC1714809318>I<387F8FF0 00FF13F8007F13F0381C01C0380E0380A338070700A3138FEA038EA3EA01DCA3EA00F8A2 137015147F9318>I<38FF07F8138F1307383800E0A4381C01C0137113F9A213D9EA1DDD 000D1380A3138DEA0F8FA23807070015147F9318>I<387F8FF0139F138F380F0700EA07 8EEA039EEA01DC13F81200137013F07FEA01DCEA039E138EEA0707000E1380387F8FF000 FF13F8007F13F015147F9318>I<387F8FF000FF13F8007F13F0380E01C0EB0380A21207 EB0700A2EA0387A2138EEA01CEA213CC120013DC1378A31370A313F05B1279EA7BC0EA7F 806CC7FC121E151E7F9318>I<383FFFF05AA2387001E0EB03C0EB078038000F00131E5B 13F8485AEA03C0485A380F0070121E5A5AB512F0A314147F9318>I I<126012F0B3B012600424769F18>I<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB 7FC0EBF0005BABEA03C012FF90C7FC127C13247E9F18>II E %EndDVIPSBitmapFont %DVIPSBitmapFont: Fu cmr10 10.95 78 /Fu 78 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 07C0EAFFFE0F1E7C9D17>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<90380FE0109038381C309038E002703803C00139078000F048C71270121E 15305A1510127C127800F81400A7EC3FFEEC01F000781300127C123CA27EA27E6C7E3903 C001703900E002309038380C1090380FF0001F217E9F24>I<39FFF07FF8390F000780AD 90B5FCEB0007AF39FFF07FF81D1F7E9E22>II< 3807FFC038003E00131EB3A3122012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F9E 17>I<39FFF007FC390F0003E0EC0180150014025C5C5C5C5C5C49C7FC5B497E130FEB13 C0EB21E01341EB80F0EB0078A28080A280EC0780A2EC03C015E015F039FFF01FFE1F1F7E 9E23>I IIIII< B57E380F00F0143C8080A21580A41500A2141E5C14F0EBFF80EB01C0EB0070A280143CA3 143EA31504143F141FEC0F0839FFF00788C7EA01F01E207E9E21>82 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<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE0 1020809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA 33E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C 13C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A2 121CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F 7F9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA 6180EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013 E0EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12 FC121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D039038391E01E01CA2 001C13C0AE3AFF8FF8FF8021147E9326>IIII<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A612 7012781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>III<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C 7F9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83 F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370 A3132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D8 0704138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E14 7F9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F01370 137813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318> I<38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00 E8A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>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 693 a Fv(GNU)33 b(Readline)h(Library)p 75 743 1800 17 v 936 791 a Fu(Edition)17 b(4.1,)c(for)i Ft(Readline)f(Library)g Fu(V)l(ersion)i(4.1.)1609 845 y(Jan)o(uary)f(2000)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 250 a Fu(This)14 b(do)q(cumen)o(t)h(describ)q(es)g(the)f (GNU)g(Readline)i(Library)l(,)e(a)g(utilit)o(y)h(whic)o(h)f(aids)g(in)h (the)f(consistency)75 305 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 373 y(Published)g(b)o(y)f(the)f(F)l(ree)g (Soft)o(w)o(are)f(F)l(oundation)75 427 y(59)h(T)l(emple)h(Place,)f (Suite)i(330,)75 482 y(Boston,)d(MA)h(02111)f(USA)75 549 y(P)o(ermission)j(is)f(gran)o(ted)g(to)f(mak)o(e)h(and)g (distribute)i(v)o(erbatim)d(copies)i(of)f(this)h(man)o(ual)f(pro)o (vided)h(the)75 604 y(cop)o(yrigh)o(t)e(notice)h(and)f(this)h(p)q (ermission)g(notice)g(are)f(preserv)o(ed)h(on)f(all)h(copies.)75 671 y(P)o(ermission)c(is)h(gran)o(ted)e(to)g(cop)o(y)h(and)g (distribute)h(mo)q(di\014ed)g(v)o(ersions)f(of)f(this)h(man)o(ual)g (under)h(the)f(con-)75 726 y(ditions)k(for)e(v)o(erbatim)h(cop)o(ying,) g(pro)o(vided)h(that)e(the)h(en)o(tire)h(resulting)g(deriv)o(ed)g(w)o (ork)e(is)h(distributed)75 781 y(under)h(the)f(terms)g(of)g(a)f(p)q (ermission)j(notice)f(iden)o(tical)h(to)e(this)g(one.)75 848 y(P)o(ermission)i(is)g(gran)o(ted)f(to)g(cop)o(y)h(and)f (distribute)i(translations)f(of)f(this)h(man)o(ual)g(in)o(to)f(another) g(lan-)75 903 y(guage,)e(under)h(the)f(ab)q(o)o(v)o(e)g(conditions)i (for)d(mo)q(di\014ed)j(v)o(ersions,)e(except)h(that)f(this)h(p)q (ermission)g(notice)75 958 y(ma)o(y)f(b)q(e)i(stated)f(in)h(a)f (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)i Fu(1988-1999)e(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 183 y Fq(1)41 b(Command)28 b(Line)e(Editing)137 299 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 426 y Fs(1.1)33 b(In)n(tro)r(duction)24 b(to)e(Line)i(Editing)137 522 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 589 y(The)h(text)327 587 y Fo(h)p 339 561 56 2 v 339 589 a Fn(C-k)p 339 597 V 393 587 a Fo(i)424 589 y Fu(is)f(read)g(as)g (`Con)o(trol-K')f(and)h(describ)q(es)i(the)e(c)o(haracter)g(pro)q (duced)h(when)f(the)1831 587 y Fo(h)p 1844 561 19 2 v 1844 589 a Fn(k)p 1844 597 V 1860 587 a Fo(i)75 644 y Fu(k)o(ey)f(is)h(pressed)g(while)g(the)f(Con)o(trol)g(k)o(ey)g(is)h (depressed.)137 711 y(The)f(text)325 709 y Fo(h)p 337 683 63 2 v 337 711 a Fn(M-k)p 337 719 V 397 709 a Fo(i)427 711 y Fu(is)g(read)g(as)f(`Meta-K')g(and)h(describ)q(es)i(the)e(c)o (haracter)f(pro)q(duced)i(when)f(the)g(Meta)75 766 y(k)o(ey)f(\(if)g(y) o(ou)g(ha)o(v)o(e)g(one\))g(is)h(depressed,)g(and)f(the)930 764 y Fo(h)p 942 738 19 2 v 942 766 a Fn(k)p 942 774 V 958 764 a Fo(i)987 766 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 764 y Fo(h)p 1791 738 72 2 v 1791 766 a Fn(AL)m(T)p 1791 774 V 1860 764 a Fo(i)75 821 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 819 y Fo(h)p 1225 793 V 1225 821 a Fn(AL)m(T)p 1225 828 V 1294 819 a Fo(i)1322 821 y Fu(\(usually)i(to)e(either)i(side)g (of)f(the)75 876 y(space)j(bar\),)f(the)388 874 y Fo(h)p 400 847 V 400 876 a Fn(AL)m(T)p 400 883 V 469 874 a Fo(i)499 876 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 874 y Fo(h)p 1709 847 V 1709 876 a Fn(AL)m(T)p 1709 883 V 1778 874 a Fo(i)1808 876 y Fu(k)o(ey)75 930 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 985 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 1052 y(If)c(y)o(ou)g(do)g(not)f(ha)o(v)o(e)h(a)f(Meta)h(or)694 1050 y Fo(h)p 706 1024 V 706 1052 a Fn(AL)m(T)p 706 1060 V 775 1050 a Fo(i)801 1052 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 1107 y(k)o(eystrok)o(e)f(can)i(b)q(e)f(generated)h(b)o(y)f(t)o(yping) 809 1105 y Fo(h)p 821 1079 70 2 v 821 1107 a Fn(ESC)p 821 1115 V 888 1105 a Fo(i)915 1107 y Fm(\014rst)p Fu(,)g(and)g(then)h (t)o(yping)1339 1105 y Fo(h)p 1351 1079 19 2 v 1351 1107 a Fn(k)p 1351 1115 V 1368 1105 a Fo(i)1383 1107 y Fu(.)18 b(Either)12 b(pro)q(cess)f(is)h(kno)o(wn)75 1162 y(as)j Fm(metafying)k Fu(the)425 1160 y Fo(h)p 437 1134 V 437 1162 a Fn(k)p 437 1169 V 454 1160 a Fo(i)484 1162 y Fu(k)o(ey)l(.)137 1229 y(The)h(text)334 1227 y Fo(h)p 347 1201 100 2 v 347 1229 a Fn(M-C-k)p 347 1236 V 444 1227 a Fo(i)479 1229 y Fu(is)g(read)g(as)f(`Meta-Con)o(trol-k')f(and)i(describ)q(es)h (the)f(c)o(haracter)f(pro)q(duced)i(b)o(y)75 1283 y Fm(metafying)291 1281 y Fo(h)p 303 1255 56 2 v 303 1283 a Fn(C-k)p 303 1291 V 357 1281 a Fo(i)372 1283 y Fu(.)137 1350 y(In)e(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 1348 y Fo(h)p 1396 1322 73 2 v 1396 1350 a Fn(DEL)p 1396 1358 V 1467 1348 a Fo(i)1482 1350 y Fu(,)1514 1348 y Fo(h)p 1526 1322 70 2 v 1526 1350 a Fn(ESC)p 1526 1358 V 1593 1348 a Fo(i)1608 1350 y Fu(,)1640 1348 y Fo(h)p 1652 1322 72 2 v 1652 1350 a Fn(LFD)p 1652 1358 V 1722 1348 a Fo(i)1737 1350 y Fu(,)1768 1348 y Fo(h)p 1780 1322 70 2 v 1780 1350 a Fn(SPC)p 1780 1358 V 1847 1348 a Fo(i)1862 1350 y Fu(,)75 1403 y Fo(h)p 87 1377 76 2 v 87 1405 a Fn(RET)p 87 1413 V 160 1403 a Fo(i)175 1405 y Fu(,)23 b(and)306 1403 y Fo(h)p 318 1377 74 2 v 318 1405 a Fn(T)m(AB)p 318 1413 V 390 1403 a Fo(i)427 1405 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 1460 y(Section)d(1.3)f([Readline)i(Init)f(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 1458 y Fo(h)p 1456 1432 72 2 v 1456 1460 a Fn(LFD)p 1456 1468 V 1526 1458 a Fo(i)1560 1460 y Fu(k)o(ey)l(,)h(t)o(yping)1802 1458 y Fo(h)p 1814 1432 49 2 v 1814 1460 a Fn(C-j)p 1814 1468 V 1860 1458 a Fo(i)75 1515 y Fu(will)c(pro)q(duce)g(the)f(desired) h(c)o(haracter.)j(The)874 1513 y Fo(h)p 886 1487 76 2 v 886 1515 a Fn(RET)p 886 1522 V 959 1513 a Fo(i)989 1515 y Fu(k)o(ey)c(ma)o(y)f(b)q(e)h(lab)q(eled)1385 1513 y Fo(h)p 1397 1487 109 2 v 1397 1515 a Fn(Return)p 1397 1522 V 1503 1513 a Fo(i)1533 1515 y Fu(or)1588 1513 y Fo(h)p 1600 1487 86 2 v 1600 1515 a Fn(En)o(ter)p 1600 1522 V 1684 1513 a Fo(i)1714 1515 y Fu(on)f(some)75 1569 y(k)o(eyb)q(oards.)75 1697 y Fs(1.2)33 b(Readline)23 b(In)n(teraction)137 1793 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 1848 y(\014rst)k(w)o(ord)f(on)h (the)h(line)h(is)e(missp)q(elled.)26 b(The)16 b(Readline)j(library)e (giv)o(es)f(y)o(ou)g(a)g(set)g(of)g(commands)g(for)75 1903 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 1958 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 2012 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 2067 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 2065 y Fo(h)p 1172 2039 155 2 v 1172 2067 a Fn(RETURN)p 1172 2075 V 1324 2065 a Fo(i)1339 2067 y Fu(.)k(Y)l(ou)16 b(do)f(not)g(ha)o(v)o(e)g(to)g(b)q(e)i(at)75 2122 y(the)g(end)g(of)f(the)g(line)i(to)e(press)634 2120 y Fo(h)p 646 2094 V 646 2122 a Fn(RETURN)p 646 2130 V 798 2120 a Fo(i)813 2122 y Fu(;)g(the)h(en)o(tire)g(line)h(is)f (accepted)g(regardless)g(of)f(the)g(lo)q(cation)75 2177 y(of)f(the)g(cursor)g(within)h(the)g(line.)75 2288 y Fl(1.2.1)30 b(Readline)20 b(Bare)g(Essen)n(tials)137 2384 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 2439 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 2493 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)f(other)f(c)o (haracters.)19 b(In)14 b(that)g(case,)f(y)o(ou)h(can)g(t)o(yp)q(e)1102 2613 y Fo(h)p 1114 2587 57 2 v 1114 2615 a Fn(C-b)p 1114 2623 V 1168 2613 a Fo(i)1197 2615 y Fu(to)f(mo)o(v)o(e)g(the)h(cursor)g (to)f(the)h(left,)g(and)75 2670 y(then)i(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)1714 2668 y Fo(h)p 1727 2642 49 2 v 1727 2670 a Fn(C-f)p 1727 2678 V 1772 2668 a Fo(i)1787 2670 y Fu(.)p eop %%Page: 2 4 2 3 bop 75 -58 a Fu(2)1322 b(GNU)15 b(Readline)i(Library)137 183 y(When)g(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 238 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 293 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 348 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 402 y(for)k(editing)h(the)f(text)g(of)g(an)g(input)h(line)h(follo)o (ws.)75 479 y Fo(h)p 87 453 57 2 v 87 481 a Fn(C-b)p 87 489 V 142 479 a Fo(i)315 481 y Fu(Mo)o(v)o(e)d(bac)o(k)h(one)h(c)o (haracter.)75 558 y Fo(h)p 87 532 49 2 v 87 560 a Fn(C-f)p 87 567 V 133 558 a Fo(i)315 560 y Fu(Mo)o(v)o(e)e(forw)o(ard)g(one)h(c) o(haracter.)75 636 y Fo(h)p 87 610 73 2 v 87 638 a Fn(DEL)p 87 646 V 158 636 a Fo(i)188 638 y Fu(or)244 636 y Fo(h)p 256 610 159 2 v 256 638 a Fn(Bac)o(kspace)p 256 646 V 412 636 a Fo(i)315 693 y Fu(Delete)h(the)f(c)o(haracter)g(to)f(the)h (left)h(of)f(the)g(cursor.)75 770 y Fo(h)p 87 744 57 2 v 87 772 a Fn(C-d)p 87 779 V 142 770 a Fo(i)315 772 y Fu(Delete)h(the)f(c)o(haracter)g(underneath)h(the)f(cursor.)75 850 y(Prin)o(ting)h(c)o(haracters)315 905 y(Insert)f(the)h(c)o (haracter)e(in)o(to)h(the)h(line)h(at)d(the)h(cursor.)75 981 y Fo(h)p 87 955 50 2 v 87 983 a Fn(C-)p 126 983 11 2 v 87 991 50 2 v 135 981 a Fo(i)165 983 y Fu(or)221 981 y Fo(h)p 233 955 125 2 v 233 983 a Fn(C-x)c(C-u)p 233 991 V 355 981 a Fo(i)315 1038 y Fu(Undo)17 b(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 1093 y(line.)75 1172 y(\(Dep)q(ending)i(on) f(y)o(our)g(con\014guration,)g(the)863 1170 y Fo(h)p 875 1144 159 2 v 875 1172 a Fn(Bac)o(kspace)p 875 1179 V 1032 1170 a Fo(i)1063 1172 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 1226 y(left)h(of)f(the)h(cursor)f (and)g(the)596 1224 y Fo(h)p 608 1198 73 2 v 608 1226 a Fn(DEL)p 608 1234 V 679 1224 a Fo(i)710 1226 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 1279 y Fo(h)p 87 1253 57 2 v 87 1281 a Fn(C-d)p 87 1289 V 142 1279 a Fo(i)157 1281 y Fu(,)f(rather)f(than)h(the)h(c)o(haracter) e(to)h(the)g(left)g(of)g(the)g(cursor.\))75 1392 y Fl(1.2.2)30 b(Readline)20 b(Mo)n(v)n(emen)n(t)i(Commands)137 1487 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 1542 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 1597 y(to)130 1595 y Fo(h)p 142 1569 V 142 1597 a Fn(C-b)p 142 1605 V 197 1595 a Fo(i)212 1597 y Fu(,)239 1595 y Fo(h)p 251 1569 49 2 v 251 1597 a Fn(C-f)p 251 1605 V 297 1595 a Fo(i)312 1597 y Fu(,)339 1595 y Fo(h)p 351 1569 57 2 v 351 1597 a Fn(C-d)p 351 1605 V 406 1595 a Fo(i)421 1597 y Fu(,)g(and)536 1595 y Fo(h)p 548 1569 73 2 v 548 1597 a Fn(DEL)p 548 1605 V 619 1595 a Fo(i)634 1597 y Fu(.)20 b(Here)15 b(are)f(some)g(commands)h(for)f(mo)o(ving)g(more)h (rapidly)g(ab)q(out)g(the)75 1652 y(line.)75 1728 y Fo(h)p 87 1702 55 2 v 87 1730 a Fn(C-a)p 87 1738 V 140 1728 a Fo(i)315 1730 y Fu(Mo)o(v)o(e)f(to)h(the)g(start)f(of)h(the)g(line.) 75 1807 y Fo(h)p 87 1781 53 2 v 87 1809 a Fn(C-e)p 87 1817 V 138 1807 a Fo(i)315 1809 y Fu(Mo)o(v)o(e)f(to)h(the)g(end)h(of)f (the)g(line.)75 1885 y Fo(h)p 87 1859 55 2 v 87 1887 a Fn(M-f)p 87 1895 V 140 1885 a Fo(i)315 1887 y Fu(Mo)o(v)o(e)f(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 1964 y Fo(h)p 87 1938 64 2 v 87 1966 a Fn(M-b)p 87 1974 V 149 1964 a Fo(i)315 1966 y Fu(Mo)o(v)o(e)e(bac)o(kw)o(ard)h(a)g(w)o(ord.)75 2043 y Fo(h)p 87 2017 48 2 v 87 2045 a Fn(C-l)p 87 2052 V 132 2043 a Fo(i)315 2045 y Fu(Clear)g(the)h(screen,)f(reprin)o(ting)h (the)f(curren)o(t)g(line)i(at)e(the)g(top.)137 2123 y(Notice)d(ho)o(w) 368 2121 y Fo(h)p 380 2095 49 2 v 380 2123 a Fn(C-f)p 380 2131 V 426 2121 a Fo(i)452 2123 y Fu(mo)o(v)o(es)f(forw)o(ard)f(a)i (c)o(haracter,)f(while)1105 2121 y Fo(h)p 1117 2095 55 2 v 1117 2123 a Fn(M-f)p 1117 2131 V 1170 2121 a Fo(i)1197 2123 y Fu(mo)o(v)o(es)f(forw)o(ard)h(a)g(w)o(ord.)18 b(It)12 b(is)g(a)g(lo)q(ose)75 2178 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 2233 y(w)o(ords.)75 2343 y Fl(1.2.3)30 b(Readline)20 b(Killing)h(Commands)137 2439 y Fm(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 2494 y(usually)f(b)o(y)f Fm(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 2549 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 183 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 Fm(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 238 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 293 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 348 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 415 y(Here)h(is)f(the)h(list)g (of)e(commands)h(for)g(killing)j(text.)75 492 y Fo(h)p 87 466 56 2 v 87 494 a Fn(C-k)p 87 502 V 141 492 a Fo(i)315 494 y Fu(Kill)f(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 571 y Fo(h)p 87 545 64 2 v 87 573 a Fn(M-d)p 87 581 V 149 571 a Fo(i)315 573 y Fu(Kill)g(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 628 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)1728 626 y Fo(h)p 1740 600 55 2 v 1740 628 a Fn(M-f)p 1740 636 V 1793 626 a Fo(i)1808 628 y Fu(.)75 705 y Fo(h)p 87 679 118 2 v 87 707 a Fn(M-DEL)p 87 715 V 202 705 a Fo(i)315 707 y Fu(Kill)21 b(from)e(the)g(cursor)f(the)h(start)f(of)h (the)g(previous)h(w)o(ord,)f(or,)g(if)g(b)q(et)o(w)o(een)h(w)o(ords,)f (to)315 762 y(the)14 b(start)f(of)g(the)h(previous)g(w)o(ord.)19 b(W)l(ord)14 b(b)q(oundaries)h(are)e(the)h(same)g(as)f(those)h(used)g (b)o(y)315 815 y Fo(h)p 327 789 64 2 v 327 817 a Fn(M-b)p 327 825 V 389 815 a Fo(i)404 817 y Fu(.)75 894 y Fo(h)p 87 868 63 2 v 87 896 a Fn(C-w)p 87 904 V 148 894 a Fo(i)315 896 y Fu(Kill)k(from)d(the)h(cursor)g(to)f(the)h(previous)h (whitespace.)22 b(This)17 b(is)f(di\013eren)o(t)g(than)1733 894 y Fo(h)p 1745 868 118 2 v 1745 896 a Fn(M-DEL)p 1745 904 V 1860 894 a Fo(i)315 951 y Fu(b)q(ecause)g(the)f(w)o(ord)g(b)q (oundaries)h(di\013er.)137 1030 y(Here)21 b(is)h(ho)o(w)e(to)g Fm(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 1085 y(recen)o(tly-killed)d(text)d(from)f(the)i(kill)h(bu\013er.)75 1163 y Fo(h)p 87 1137 56 2 v 87 1165 a Fn(C-y)p 87 1172 V 141 1163 a Fo(i)315 1165 y Fu(Y)l(ank)e(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 1242 y Fo(h)p 87 1216 63 2 v 87 1244 a Fn(M-y)p 87 1252 V 148 1242 a Fo(i)315 1244 y Fu(Rotate)h(the)g(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 1299 y(command)d(is)568 1297 y Fo(h)p 580 1271 56 2 v 580 1299 a Fn(C-y)p 580 1306 V 634 1297 a Fo(i)664 1299 y Fu(or)719 1297 y Fo(h)p 732 1271 63 2 v 732 1299 a Fn(M-y)p 732 1306 V 792 1297 a Fo(i)807 1299 y Fu(.)75 1410 y Fl(1.2.4)30 b(Readline)20 b(Argumen)n(ts)137 1506 y Fu(Y)l(ou)15 b(can)g(pass)f(n)o(umeric)i (argumen)o(ts)e(to)g(Readline)i(commands.)k(Sometimes)15 b(the)g(argumen)o(t)e(acts)75 1561 y(as)20 b(a)g(rep)q(eat)g(coun)o(t,) h(other)f(times)g(it)h(is)g(the)f Fm(sign)h Fu(of)f(the)g(argumen)o(t)f (that)h(is)h(signi\014can)o(t.)36 b(If)20 b(y)o(ou)75 1616 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 1671 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 1726 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 1793 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 1847 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 1902 y(will)g(b)q(e)f(negativ)o(e.)k(Once)c(y)o(ou)f(ha)o(v)o(e)g(t)o (yp)q(ed)g(one)h(meta)e(digit)i(to)f(get)f(the)h(argumen)o(t)g (started,)f(y)o(ou)h(can)75 1957 y(t)o(yp)q(e)19 b(the)g(remainder)g (of)f(the)h(digits,)h(and)f(then)g(the)g(command.)30 b(F)l(or)18 b(example,)i(to)e(giv)o(e)h(the)1793 1955 y Fo(h)p 1805 1929 57 2 v 1805 1957 a Fn(C-d)p 1805 1965 V 1860 1955 a Fo(i)75 2012 y Fu(command)c(an)g(argumen)o(t)g(of)f(10,)h (y)o(ou)f(could)j(t)o(yp)q(e)e(`)p Ft(M-1)f(0)h(C-d)p Fu('.)75 2123 y Fl(1.2.5)30 b(Searc)n(hing)21 b(for)f(Commands)h(in)f (the)h(History)137 2219 y Fu(Readline)e(pro)o(vides)d(commands)g(for)g (searc)o(hing)g(through)g(the)g(command)g(history)g(for)g(lines)i(con-) 75 2274 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 Fm(incremen)o(tal)e Fu(and)e Fm(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)h(displa)o(ys)e(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)317 2558 y Fo(h)p 329 2532 51 2 v 329 2560 a Fn(C-r)p 329 2568 V 378 2558 a Fo(i)393 2560 y Fu(.)19 b(T)o(yping)580 2558 y Fo(h)p 592 2532 52 2 v 592 2560 a Fn(C-s)p 592 2568 V 641 2558 a Fo(i)670 2560 y Fu(searc)o(hes)14 b(forw)o(ard)f(through)g(the)h(history)l(.)20 b(The)14 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.)29 b(If)19 b(that)e(v)m(ariable)j(has)e(not)g(b)q (een)i(assigned)f(a)f(v)m(alue,)i(the)1282 2668 y Fo(h)p 1294 2642 70 2 v 1294 2670 a Fn(ESC)p 1294 2678 V 1361 2668 a Fo(i)1395 2670 y Fu(and)1486 2668 y Fo(h)p 1498 2642 56 2 v 1498 2670 a Fn(C-J)p 1498 2678 V 1551 2668 a Fo(i)1585 2670 y Fu(c)o(haracters)d(will)p eop %%Page: 4 6 4 5 bop 75 -58 a Fu(4)1322 b(GNU)15 b(Readline)i(Library)75 183 y(terminate)k(an)f(incremen)o(tal)i(searc)o(h.)780 181 y Fo(h)p 792 155 55 2 v 792 183 a Fn(C-g)p 792 191 V 845 181 a Fo(i)880 183 y Fu(will)g(ab)q(ort)e(an)h(incremen)o(tal)h (searc)o(h)e(and)h(restore)f(the)75 238 y(original)c(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 293 y(b)q(ecomes)i(the)f(curren)o(t)g(line.)137 357 y(T)l(o)g(\014nd)h (other)e(matc)o(hing)h(en)o(tries)h(in)f(the)g(history)g(list,)h(t)o (yp)q(e)1231 355 y Fo(h)p 1243 329 51 2 v 1243 357 a Fn(C-r)p 1243 364 V 1292 355 a Fo(i)1322 357 y Fu(or)1377 355 y Fo(h)p 1389 329 52 2 v 1389 357 a Fn(C-s)p 1389 364 V 1438 355 a Fo(i)1468 357 y Fu(as)f(appropriate.)k(This)75 412 y(will)c(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 466 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)i(command)d (will)j(terminate)e(the)75 521 y(searc)o(h)h(and)h(execute)g(that)f (command.)35 b(F)l(or)20 b(instance,)i(a)1151 519 y Fo(h)p 1163 493 76 2 v 1163 521 a Fn(RET)p 1163 529 V 1236 519 a Fo(i)1271 521 y Fu(will)g(terminate)f(the)f(searc)o(h)h(and)75 576 y(accept)15 b(the)h(line,)g(thereb)o(y)f(executing)i(the)e(command) g(from)g(the)g(history)g(list.)137 640 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 695 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 750 y(con)o(ten)o(ts)15 b(of)f(the)i(curren)o(t)f(line.)75 868 y Fs(1.3)33 b(Readline)23 b(Init)h(File)137 961 y Fu(Although)f(the)g(Readline)i(library)e(comes)g(with)g(a)f(set)g(of)g (Emacs-lik)o(e)i(k)o(eybindings)g(installed)75 1016 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 1071 y(programs)15 b(that)h(use)g(Readline)j(b)o(y)d(putting)g (commands)g(in)i(an)e Fm(inputrc)k Fu(\014le,)d(con)o(v)o(en)o (tionally)g(in)g(his)75 1126 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 1181 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 1244 y(When)f(a)g (program)f(whic)o(h)h(uses)g(the)g(Readline)i(library)f(starts)d(up,)i (the)g(init)h(\014le)g(is)f(read,)g(and)g(the)75 1299 y(k)o(ey)g(bindings)i(are)e(set.)137 1363 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 1418 y(that)h(y)o(ou)h (migh)o(t)g(ha)o(v)o(e)g(made)g(to)g(it.)75 1520 y Fl(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137 1613 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)i(init)f(\014le.)26 b(Blank)18 b(lines)g(are)75 1668 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 1723 y(conditional)c(constructs)f (\(see)g(Section)g(1.3.2)f([Conditional)h(Init)h(Constructs],)e(page)h (8\).)k(Other)c(lines)75 1778 y(denote)h(v)m(ariable)i(settings)e(and)h (k)o(ey)f(bindings.)75 1851 y(V)l(ariable)h(Settings)315 1906 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)k(b)o(y)d(altering)h(the)f(v)m(alues)h(of)315 1960 y(v)m(ariables)13 b(in)g(Readline)i(using)d(the)g Ft(set)g Fu(command)g(within)h(the)f(init)h(\014le.)20 b(Here)13 b(is)f(ho)o(w)g(to)315 2015 y(c)o(hange)e(from)g(the)g (default)h(Emacs-lik)o(e)g(k)o(ey)f(binding)i(to)e(use)g Ft(vi)g Fu(line)i(editing)g(commands:)435 2076 y Ft(set)23 b(editing-mode)g(vi)315 2140 y Fu(A)15 b(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.)315 2213 y Ft(bell-style)555 2268 y Fu(Con)o(trols)21 b(what)h(happ)q(ens)h(when)f(Readline)i(w)o(an)o(ts)d(to)g(ring)i(the)f (termi-)555 2323 y(nal)d(b)q(ell.)32 b(If)19 b(set)f(to)g(`)p Ft(none)p Fu(',)g(Readline)j(nev)o(er)e(rings)g(the)f(b)q(ell.)32 b(If)19 b(set)g(to)555 2378 y(`)p Ft(visible)p Fu(',)c(Readline)j(uses) f(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 2432 y(`)p Ft(audible)p Fu(')g(\(the)h (default\),)i(Readline)h(attempts)d(to)g(ring)h(the)g(terminal's)555 2487 y(b)q(ell.)315 2560 y Ft(comment-begin)555 2615 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 2670 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(.)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 183 y Ft(completion-ignore-case)555 238 y Fu(If)14 b(set)f(to)g(`)p Ft(on)p Fu(',)g(Readline)j(p)q(erforms)d(\014lename)i (matc)o(hing)f(and)g(completion)555 293 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 384 y Ft(completion-query-items)555 439 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 494 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 549 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 604 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 658 y(they)i(are)g(simply)i(listed.)k (The)15 b(default)h(limit)h(is)e Ft(100)p Fu(.)315 750 y Ft(convert-meta)555 805 y Fu(If)i(set)g(to)g(`)p Ft(on)p Fu(',)f(Readline)k(will)e(con)o(v)o(ert)f(c)o(haracters)f(with)i(the)f (eigh)o(th)g(bit)555 860 y(set)f(to)f(an)h(ASCI)q(I)h(k)o(ey)f (sequence)h(b)o(y)f(stripping)h(the)f(eigh)o(th)h(bit)f(and)h(pre-)555 915 y(\014xing)i(an)749 913 y Fo(h)p 761 887 70 2 v 761 915 a Fn(ESC)p 761 922 V 828 913 a Fo(i)861 915 y Fu(c)o(haracter,)f (con)o(v)o(erting)g(them)g(to)g(a)f(meta-pre\014xed)i(k)o(ey)555 969 y(sequence.)i(The)15 b(default)h(v)m(alue)h(is)e(`)p Ft(on)p Fu('.)315 1061 y Ft(disable-completion)555 1116 y Fu(If)k(set)f(to)f(`)p Ft(On)p Fu(',)h(Readline)j(will)f(inhibit)g(w) o(ord)e(completion.)30 b(Completion)555 1171 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 1225 y(to)h Ft(self-insert)p Fu(.)j(The)d(default)h(is)g(`)p Ft(off)p Fu('.)315 1317 y Ft(editing-mode)555 1372 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 1427 y(ings)f(is)g(used.)20 b(By)12 b(default,)i(Readline)g (starts)e(up)h(in)g(Emacs)f(editing)i(mo)q(de,)555 1481 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 1536 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 1628 y Ft(enable-keypad)555 1683 y Fu(When)d(set)f(to)h(`)p Ft(on)p Fu(',)e(Readline)k(will)g(try)d(to)g(enable)i(the)f (application)h(k)o(eypad)555 1737 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 1792 y(The)j(default)h(is)g(`)p Ft(off)p Fu('.)315 1884 y Ft(expand-tilde)555 1939 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)i(attempts)555 1994 y(w)o(ord)f(completion.)21 b(The)15 b(default)h(is)f(`)p Ft(off)p Fu('.)315 2085 y Ft(horizontal-scroll-mode)555 2140 y Fu(This)k(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 2195 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 2250 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 2304 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 2359 y(v)m(ariable)j(is)e(set)g(to)g(`)p Ft(off)p Fu('.)315 2451 y Ft(input-meta)555 2506 y Fu(If)h(set)g(to)f (`)p Ft(on)p Fu(',)f(Readline)k(will)g(enable)f(eigh)o(t-bit)f(input)h (\(it)f(will)h(not)f(strip)555 2560 y(the)f(eigh)o(th)g(bit)h(from)e (the)h(c)o(haracters)f(it)i(reads\),)e(regardless)h(of)f(what)h(the)555 2615 y(terminal)21 b(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 2670 y(name)15 b Ft(meta-flag)f Fu(is)i(a)f(synon)o(ym)g(for) f(this)i(v)m(ariable.)p eop %%Page: 6 8 6 7 bop 75 -58 a Fu(6)1322 b(GNU)15 b(Readline)i(Library)315 183 y Ft(isearch-terminators)555 238 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 293 y(searc)o(h)e(without)h(subsequen)o(tly)g(executing)h(the)e(c)o (haracter)g(as)g(a)g(com-)555 348 y(mand)19 b(\(see)f(Section)i(1.2.5)d ([Searc)o(hing],)i(page)f(3\).)29 b(If)19 b(this)g(v)m(ariable)h(has) 555 402 y(not)13 b(b)q(een)h(giv)o(en)g(a)f(v)m(alue,)i(the)e(c)o (haracters)1312 400 y Fo(h)p 1324 374 70 2 v 1324 402 a Fn(ESC)p 1324 410 V 1391 400 a Fo(i)1419 402 y Fu(and)1505 400 y Fo(h)p 1518 374 56 2 v 1518 402 a Fn(C-J)p 1518 410 V 1571 400 a Fo(i)1599 402 y Fu(will)i(terminate)555 457 y(an)g(incremen)o(tal)h(searc)o(h.)315 540 y Ft(keymap)114 b Fu(Sets)17 b(Readline's)j(idea)e(of)f(the)h(curren)o(t)g(k)o(eymap)f (for)g(k)o(ey)g(binding)j(com-)555 595 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 650 y Ft(emacs-meta)p Fu(,)15 b Ft(emacs-ctlx)p Fu(,)h Ft(vi)p Fu(,)g Ft(vi-command)p Fu(,)g(and)h Ft(vi-insert)p Fu(.)23 b Ft(vi)16 b Fu(is)555 705 y(equiv)m(alen)o(t)e(to)f Ft(vi-command)p Fu(;)e Ft(emacs)h Fu(is)i(equiv)m(alen)o(t)g(to)e Ft(emacs-standard)p Fu(.)555 759 y(The)f(default)h(v)m(alue)g(is)f Ft(emacs)p Fu(.)18 b(The)11 b(v)m(alue)i(of)d(the)h Ft(editing-mode)f Fu(v)m(ariable)555 814 y(also)15 b(a\013ects)g(the)g(default)h(k)o (eymap.)315 897 y Ft(mark-directories)555 952 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 1007 y(The)15 b(default)h(is)g(`)p Ft(on)p Fu('.)315 1090 y Ft(mark-modified-lines)555 1145 y Fu(This)j(v)m(ariable,)g(when)g(set)e(to)h(`)p Ft(on)p Fu(',)f(causes)h(Readline)i(to)d(displa)o(y)i(an)f(as-)555 1200 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 1254 y(This)e(v)m(ariable)g(is)g(`)p Ft(off)p Fu(')e(b)o(y)h(default.) 315 1337 y Ft(output-meta)555 1392 y Fu(If)j(set)f(to)g(`)p Ft(on)p Fu(',)g(Readline)j(will)g(displa)o(y)f(c)o(haracters)d(with)j (the)e(eigh)o(th)h(bit)555 1447 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 1502 y(default)16 b(is)f(`)p Ft(off)p Fu('.)315 1585 y Ft(print-completions-horizont)o(ally)555 1640 y Fu(If)d(set)g(to)f(`) p Ft(on)p Fu(',)h(Readline)i(will)f(displa)o(y)h(completions)f(with)f (matc)o(hes)f(sorted)555 1694 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 1749 y(The)15 b(default)h(is)g(`)p Ft(off)p Fu('.)315 1832 y Ft(show-all-if-ambiguous)555 1887 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 1942 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 1997 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 2051 y(The)c(default)h(v)m (alue)h(is)e(`)p Ft(off)p Fu('.)315 2134 y Ft(visible-stats)555 2189 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 2244 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 2327 y(Key)h(Bindings)315 2382 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 2437 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 2491 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 2546 y(and)d(a)g(short)g(description)i(of)d(what)h(the)g (command)g(do)q(es.)315 2615 y(Once)j(y)o(ou)g(kno)o(w)e(the)i(name)f (of)g(the)h(command,)f(simply)i(place)g(the)e(name)h(of)f(the)g(k)o(ey) 315 2670 y(y)o(ou)c(wish)h(to)f(bind)i(the)f(command)f(to,)g(a)g (colon,)h(and)g(then)f(the)h(name)f(of)h(the)f(command)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 183 y(on)19 b(a)g(line)i(in)f(the)g(init)g(\014le.)34 b(The)19 b(name)h(of)e(the)i(k)o(ey)f(can)h(b)q(e)g(expressed)g(in)g (di\013eren)o(t)315 238 y(w)o(a)o(ys,)14 b(dep)q(ending)j(on)e(whic)o (h)h(is)g(most)e(comfortable)h(for)g(y)o(ou.)315 316 y Fm(k)o(eyname)s Fu(:)k Fm(function-name)g Fu(or)c Fm(macro)555 371 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 435 y Ft(Control-u:)22 b(universal-argument)675 487 y(Meta-Rubout:)g (backward-kill-word)675 538 y(Control-o:)g(">)i(output")555 605 y Fu(In)19 b(the)f(ab)q(o)o(v)o(e)g(example,)1023 603 y Fo(h)p 1035 577 57 2 v 1035 605 a Fn(C-u)p 1035 613 V 1090 603 a Fo(i)1123 605 y Fu(is)h(b)q(ound)g(to)f(the)g (function)h Ft(universal-)555 660 y(argument)p Fu(,)g(and)872 658 y Fo(h)p 884 632 55 2 v 884 660 a Fn(C-o)p 884 667 V 937 658 a Fo(i)971 660 y Fu(is)h(b)q(ound)g(to)f(run)h(the)f(macro)g (expressed)h(on)g(the)555 715 y(righ)o(t)13 b(hand)h(side)h(\(that)e (is,)h(to)f(insert)h(the)g(text)f(`)p Ft(>)h(output)p Fu(')f(in)o(to)g(the)h(line\).)315 793 y Ft(")p Fm(k)o(eyseq)q Ft(")p Fu(:)20 b Fm(function-name)e Fu(or)d Fm(macro)555 848 y(k)o(eyseq)i Fu(di\013ers)e(from)g Fm(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 902 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 957 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)555 1012 y(in)j(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 1067 y(recognized.)675 1130 y Ft("\\C-u":)23 b(universal-argument)675 1182 y("\\C-x\\C-r":)f(re-read-init-file)675 1234 y("\\e[11~":)h ("Function)f(Key)i(1")555 1301 y Fu(In)19 b(the)f(ab)q(o)o(v)o(e)g (example,)1023 1299 y Fo(h)p 1035 1273 57 2 v 1035 1301 a Fn(C-u)p 1035 1308 V 1090 1299 a Fo(i)1123 1301 y Fu(is)h(b)q(ound)g (to)f(the)g(function)h Ft(universal-)555 1355 y(argument)9 b Fu(\(just)h(as)h(it)g(w)o(as)e(in)j(the)e(\014rst)h(example\),)g(`) 1463 1353 y Fo(h)p 1475 1327 56 2 v 1475 1355 a Fn(C-x)p 1475 1363 V 1529 1353 a Fo(i)k(h)p 1571 1327 51 2 v 1571 1355 a Fn(C-r)p 1571 1363 V 1620 1353 a Fo(i)1635 1355 y Fu(')10 b(is)h(b)q(ound)h(to)555 1410 y(the)k(function)i Ft(re-read-init-file)p Fu(,)c(and)i(`)1351 1408 y Fo(h)p 1363 1382 70 2 v 1363 1410 a Fn(ESC)p 1363 1418 V 1430 1408 a Fo(i)f(h)p 1472 1382 10 2 v 1472 1410 a Fn([)p 1472 1419 V 1480 1408 a Fo(i)g(h)p 1522 1382 18 2 v 1522 1410 a Fn(1)p 1522 1418 V 1538 1408 a Fo(i)g(h)p 1580 1382 V 1580 1410 a Fn(1)p 1580 1418 V 1595 1408 a Fo(i)g(h)p 1637 1382 24 2 v 1637 1410 a Ft(~)p 1637 1418 V 1659 1408 a Fo(i)1674 1410 y Fu(')h(is)h(b)q(ound)555 1465 y(to)e(insert)g(the)g(text)g(`)p Ft(Function)f(Key)h(1)p Fu('.)315 1543 y(The)g(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 1598 y(k)o(ey)g(sequences:)315 1676 y Fk(\\C-)168 b Fu(con)o(trol)15 b(pre\014x)315 1755 y Fk(\\M-)168 b Fu(meta)15 b(pre\014x)315 1833 y Fk(\\e)192 b Fu(an)15 b(escap)q(e)h(c)o(haracter)315 1911 y Fk(\\\\)192 b Fu(bac)o(kslash)315 1989 y Fk(\\)p Ft(")555 1987 y Fo(h)p 567 1961 V 567 1989 a Ft(")p 567 1997 V 589 1987 a Fo(i)604 1989 y Fu(,)15 b(a)f(double)j(quotation)e(mark)315 2068 y Fk(\\')555 2066 y Fo(h)p 567 2040 10 2 v 567 2068 a Fn(')p 567 2075 V 575 2066 a Fo(i)590 2068 y Fu(,)g(a)f(single)j(quote)e(or)g(ap)q (ostrophe)315 2146 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 2201 y(escap)q(es)i(is)g(a)o(v)m(ailable:)315 2279 y Ft(\\a)192 b Fu(alert)15 b(\(b)q(ell\))315 2357 y Ft(\\b)192 b Fu(bac)o(kspace)315 2435 y Ft(\\d)g Fu(delete)315 2514 y Ft(\\f)g Fu(form)14 b(feed)315 2592 y Ft(\\n)192 b Fu(newline)315 2670 y Ft(\\r)g Fu(carriage)15 b(return)p eop %%Page: 8 10 8 9 bop 75 -58 a Fu(8)1322 b(GNU)15 b(Readline)i(Library)315 183 y Ft(\\t)192 b Fu(horizon)o(tal)16 b(tab)315 262 y Ft(\\v)192 b Fu(v)o(ertical)16 b(tab)315 340 y Ft(\\)p Fm(nnn)141 b Fu(the)13 b(c)o(haracter)e(whose)i Ft(ASCII)e Fu(co)q(de)j(is)f(the)f(o)q(ctal)h(v)m(alue)h Fm(nnn)f Fu(\(one)f(to)g(three)555 395 y(digits\))315 473 y Ft(\\x)p Fm(nnn)117 b Fu(the)15 b(c)o(haracter)e(whose)i Ft(ASCII)e Fu(co)q(de)j(is)f(the)f(hexadecimal)i(v)m(alue)g Fm(nnn)f Fu(\(one)555 528 y(to)g(three)g(digits\))315 607 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 662 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 716 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 771 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 826 y(example,)14 b(the)f(follo)o(wing)g(binding)i(will)g(mak)o(e)d(`)p Ft(C-x)i(\\)p Fu(')f(insert)g(a)g(single)h(`)p Ft(\\)p Fu(')e(in)o(to)h(the)g(line:)435 890 y Ft("\\C-x\\\\":)23 b("\\\\")75 1000 y Fl(1.3.2)30 b(Conditional)20 b(Init)g(Constructs)137 1096 y Fu(Readline)g(implemen)o(ts)f(a)f(facilit)o(y)g(similar)h(in)g (spirit)f(to)f(the)h(conditional)h(compilation)g(features)75 1150 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 1205 y(the)e(result)h(of)f(tests.)k(There)c(are)g(four)g(parser) g(directiv)o(es)h(used.)75 1284 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 1338 y(terminal)k(b)q(eing)g(used,)g(or)f(the)g(application)i(using)e (Readline.)34 b(The)19 b(text)g(of)f(the)i(test)315 1393 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 1472 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 1527 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 1581 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 1636 y(standard)d Fu(and)i Ft(emacs-ctlx)e Fu(k)o(eymaps)h(only)i(if)f(Readline)h(is)f (starting)f(out)555 1691 y(in)k Ft(emacs)f Fu(mo)q(de.)315 1769 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 1824 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 1879 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 1934 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 1989 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 2043 y Ft(sun-cmd)p Fu(,)d(for)g(instance.)315 2122 y Ft(application)555 2177 y Fu(The)d Fm(application)i Fu(construct)e(is)g (used)h(to)e(include)j(application-sp)q(eci)q(\014c)h(set-)555 2231 y(tings.)19 b(Eac)o(h)12 b(program)f(using)j(the)e(Readline)j (library)e(sets)f(the)g Fm(application)555 2286 y(name)p Fu(,)17 b(and)f(y)o(ou)h(can)f(test)g(for)g(it.)24 b(This)18 b(could)f(b)q(e)g(used)g(to)f(bind)i(k)o(ey)f(se-)555 2341 y(quences)c(to)e(functions)i(useful)g(for)e(a)h(sp)q(eci\014c)i (program.)j(F)l(or)12 b(instance,)h(the)555 2396 y(follo)o(wing)i (command)f(adds)g(a)f(k)o(ey)h(sequence)h(that)f(quotes)f(the)i(curren) o(t)e(or)555 2451 y(previous)j(w)o(ord)e(in)i(Bash:)675 2514 y Ft($if)23 b(Bash)675 2566 y(#)h(Quote)f(the)g(current)g(or)h (previous)f(word)675 2618 y("\\C-xq":)g("\\eb\\"\\ef\\"")675 2670 y($endif)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 183 y Ft($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 263 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 343 y Ft($include)48 b Fu(This)14 b(directiv)o(e)i (tak)o(es)d(a)g(single)i(\014lename)g(as)f(an)f(argumen)o(t)g(and)h (reads)g(commands)g(and)315 397 y(bindings)j(from)e(that)f(\014le.)435 462 y Ft($include)23 b(/etc/inputrc)75 574 y Fl(1.3.3)30 b(Sample)20 b(Init)h(File)137 670 y Fu(Here)16 b(is)g(an)f(example)h (of)f(an)h(inputrc)g(\014le.)22 b(This)16 b(illustrates)g(k)o(ey)g (binding,)h(v)m(ariable)f(assignmen)o(t,)75 725 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)i(Library)195 235 y Ft(#)24 b(This)f(file)g(controls)g(the)h(behaviour)e(of)i(line)f (input)g(editing)g(for)195 287 y(#)h(programs)e(that)i(use)f(the)h(Gnu) f(Readline)g(library.)47 b(Existing)22 b(programs)195 339 y(#)i(include)f(FTP,)g(Bash,)g(and)h(Gdb.)195 391 y(#)195 443 y(#)g(You)f(can)h(re-read)f(the)g(inputrc)g(file)g(with)h (C-x)f(C-r.)195 495 y(#)h(Lines)f(beginning)g(with)g('#')g(are)h (comments.)195 546 y(#)195 598 y(#)g(First,)f(include)g(any)g (systemwide)g(bindings)f(and)i(variable)f(assignments)f(from)195 650 y(#)i(/etc/Inputrc)195 702 y($include)f(/etc/Inputrc)195 806 y(#)195 858 y(#)h(Set)f(various)g(bindings)g(for)g(emacs)g(mode.) 195 962 y(set)g(editing-mode)g(emacs)195 1065 y($if)g(mode=emacs)195 1169 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 1179 21 38 v 195 1273 a(#)195 1325 y(#)g(Arrow)f(keys)g(in)h(keypad)f(mode)195 1377 y(#)195 1429 y(#"\\M-OD":)190 b(backward-char)195 1480 y(#"\\M-OC":)g(forward-char)195 1532 y(#"\\M-OA":)g (previous-history)195 1584 y(#"\\M-OB":)g(next-history)195 1636 y(#)195 1688 y(#)24 b(Arrow)f(keys)g(in)h(ANSI)f(mode)195 1740 y(#)195 1792 y("\\M-[D":)190 b(backward-char)195 1844 y("\\M-[C":)g(forward-char)195 1896 y("\\M-[A":)g (previous-history)195 1947 y("\\M-[B":)g(next-history)195 1999 y(#)195 2051 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(keypad)g(mode) 195 2103 y(#)195 2155 y(#"\\M-\\C-OD":)165 b(backward-char)195 2207 y(#"\\M-\\C-OC":)g(forward-char)195 2259 y(#"\\M-\\C-OA":)g (previous-history)195 2311 y(#"\\M-\\C-OB":)g(next-history)195 2363 y(#)195 2414 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(ANSI)g(mode) 195 2466 y(#)195 2518 y(#"\\M-\\C-[D":)165 b(backward-char)195 2570 y(#"\\M-\\C-[C":)g(forward-char)195 2622 y(#"\\M-\\C-[A":)g (previous-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 183 y Ft(#"\\M-\\C-[B":)165 b(next-history)195 287 y(C-q:)23 b(quoted-insert)195 391 y($endif)195 495 y(#)h(An)f(old-style)g(binding.)47 b(This)23 b(happens)g(to)g(be)h(the) f(default.)195 546 y(TAB:)g(complete)195 650 y(#)h(Macros)f(that)g(are) h(convenient)e(for)h(shell)h(interaction)195 702 y($if)f(Bash)195 754 y(#)h(edit)f(the)g(path)195 806 y("\\C-xp":)g ("PATH=${PATH}\\e\\C-e\\C-a\\)o(ef\\C-f")195 858 y(#)h(prepare)f(to)g (type)h(a)f(quoted)g(word)h(--)f(insert)g(open)h(and)f(close)g(double)g (quotes)195 910 y(#)h(and)f(move)g(to)h(just)f(after)h(the)f(open)g (quote)195 962 y("\\C-x\\"":)g("\\"\\"\\C-b")195 1013 y(#)h(insert)f(a)g(backslash)g(\(testing)g(backslash)g(escapes)f(in)i (sequences)f(and)g(macros\))195 1065 y("\\C-x\\\\":)g("\\\\")195 1117 y(#)h(Quote)f(the)g(current)g(or)h(previous)f(word)195 1169 y("\\C-xq":)g("\\eb\\"\\ef\\"")195 1221 y(#)h(Add)f(a)h(binding)f (to)g(refresh)g(the)h(line,)f(which)g(is)h(unbound)195 1273 y("\\C-xr":)f(redraw-current-line)195 1325 y(#)h(Edit)f(variable)g (on)g(current)g(line.)195 1377 y("\\M-\\C-v":)f ("\\C-a\\C-k$\\C-y\\M-\\C-e\\C-a\\C-y=)o(")195 1429 y($endif)195 1532 y(#)i(use)f(a)h(visible)f(bell)g(if)h(one)f(is)h(available)195 1584 y(set)f(bell-style)g(visible)195 1688 y(#)h(don't)f(strip)g (characters)g(to)g(7)h(bits)f(when)h(reading)195 1740 y(set)f(input-meta)g(on)195 1844 y(#)h(allow)f(iso-latin1)f(characters) h(to)g(be)h(inserted)f(rather)g(than)g(converted)g(to)195 1896 y(#)h(prefix-meta)e(sequences)195 1947 y(set)h(convert-meta)g(off) 195 2051 y(#)h(display)f(characters)f(with)h(the)h(eighth)f(bit)g(set)h (directly)f(rather)g(than)195 2103 y(#)h(as)f(meta-prefixed)f (characters)195 2155 y(set)h(output-meta)g(on)195 2259 y(#)h(if)f(there)g(are)h(more)f(than)h(150)f(possible)g(completions)f (for)i(a)f(word,)h(ask)f(the)195 2311 y(#)h(user)f(if)h(he)f(wants)g (to)h(see)f(all)h(of)f(them)195 2363 y(set)g(completion-query-items)e (150)195 2466 y(#)j(For)f(FTP)195 2518 y($if)g(Ftp)195 2570 y("\\C-xg":)g("get)g(\\M-?")195 2622 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)i(Library)195 183 y Ft("\\M-.":)23 b(yank-last-arg)195 235 y($endif)75 359 y Fs(1.4)33 b(Bindable)24 b(Readline)f(Commands)137 453 y Fu(This)16 b(section)g(describ)q(es)h(Readline)g(commands)e(that) g(ma)o(y)f(b)q(e)i(b)q(ound)g(to)f(k)o(ey)g(sequences.)137 519 y(Command)j(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)g(default.)29 b(In)75 573 y(the)15 b(follo)o(wing)h(descriptions,)g Fm(p)q(oin)o(t)h Fu(refers)e(to)f(the)i(curren)o(t)f(cursor)f(p)q (osition,)i(and)g Fm(mark)h Fu(refers)e(to)f(a)75 628 y(cursor)h(p)q(osition)h(sa)o(v)o(ed)e(b)o(y)h(the)g Ft(set-mark)f Fu(command.)20 b(The)15 b(text)g(b)q(et)o(w)o(een)g(the)g (p)q(oin)o(t)h(and)f(mark)f(is)75 683 y(referred)h(to)g(as)g(the)g Fm(region)p Fu(.)75 790 y Fl(1.4.1)30 b(Commands)21 b(F)-5 b(or)19 b(Mo)n(ving)75 895 y Ft(beginning-of-line)13 b(\(C-a\))315 950 y Fu(Mo)o(v)o(e)h(to)h(the)g(start)f(of)h(the)g (curren)o(t)g(line.)75 1026 y Ft(end-of-line)f(\(C-e\))315 1081 y Fu(Mo)o(v)o(e)g(to)h(the)g(end)h(of)f(the)g(line.)75 1157 y Ft(forward-char)f(\(C-f\))315 1212 y Fu(Mo)o(v)o(e)g(forw)o(ard) g(a)h(c)o(haracter.)75 1288 y Ft(backward-char)e(\(C-b\))315 1343 y Fu(Mo)o(v)o(e)h(bac)o(k)h(a)g(c)o(haracter.)75 1419 y Ft(forward-word)f(\(M-f\))315 1474 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 1529 y(digits.)75 1605 y Ft(backward-word)e(\(M-b\))315 1660 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 1715 y(of)e(letters)g(and)g (digits.)75 1791 y Ft(clear-screen)f(\(C-l\))315 1846 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 1900 y(of)i(the)g(screen.)75 1977 y Ft(redraw-current-line)e(\(\))315 2031 y Fu(Refresh)j(the)f(curren)o(t)g(line.)22 b(By)15 b(default,)h(this)f(is)h(un)o(b)q(ound.)75 2138 y Fl(1.4.2)30 b(Commands)21 b(F)-5 b(or)19 b(Manipulating)i(The)f(History)75 2244 y Ft(accept-line)14 b(\(Newline,)g(Return\))315 2298 y Fu(Accept)h(the)g(line)i(regardless)e(of)g(where)g(the)g(cursor) f(is.)20 b(If)c(this)f(line)h(is)g(non-empt)o(y)l(,)f(add)315 2353 y(it)f(to)g(the)g(history)g(list.)20 b(If)14 b(this)h(line)g(w)o (as)e(a)h(history)g(line,)i(then)e(restore)f(the)h(history)g(line)315 2408 y(to)h(its)g(original)h(state.)75 2484 y Ft(previous-history)d (\(C-p\))315 2539 y Fu(Mo)o(v)o(e)h(`up')h(through)g(the)g(history)g (list.)75 2615 y Ft(next-history)f(\(C-n\))315 2670 y Fu(Mo)o(v)o(e)g(`do)o(wn')g(through)h(the)h(history)f(list.)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 183 y Ft(beginning-of-history)12 b(\(M-<\))315 238 y Fu(Mo)o(v)o(e)i(to)h(the)g(\014rst)g(line)i(in)f(the)f(history)l (.)75 314 y Ft(end-of-history)e(\(M->\))315 369 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 445 y Ft (reverse-search-history)c(\(C-r\))315 500 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 555 y(tory)e(as)h(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 631 y Ft(forward-search-history)c(\(C-s\))315 686 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 741 y(history)g(as)g(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)75 817 y Ft(non-incremental-reverse-se)o(arch-hi)o(story)c(\(M-p\))315 872 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 926 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 981 y(user.)75 1057 y Ft(non-incremental-forward-se)o(arch-hi)o(story)12 b(\(M-n\))315 1112 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 1167 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 1222 y(user.)75 1298 y Ft(history-search-forward)f(\(\))315 1353 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 1407 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 1462 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 1538 y Ft(history-search-backward)c(\(\))315 1593 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 1648 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 1703 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 1779 y Ft(yank-nth-arg)e(\(M-C-y\))315 1834 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 1889 y(the)i(previous)i(line\).)21 b(With)14 b(an)h(argumen)o(t)e Fm(n)p Fu(,)i(insert)f(the)h Fm(n)p Fu(th)f(w)o(ord)g(from)g(the)g(previous)315 1943 y(command)f(\(the)h(w)o(ords)f(in)h(the)g(previous)g(command)g(b)q (egin)h(with)f(w)o(ord)e(0\).)19 b(A)14 b(negativ)o(e)315 1998 y(argumen)o(t)g(inserts)i(the)f Fm(n)p Fu(th)h(w)o(ord)e(from)h (the)g(end)h(of)e(the)i(previous)g(command.)75 2074 y Ft(yank-last-arg)d(\(M-.,)i(M-_\))315 2129 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 2184 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 2239 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 2294 y(last)d(argumen)o(t)g(of)f(eac)o(h)i (line)g(in)g(turn.)75 2400 y Fl(1.4.3)30 b(Commands)21 b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75 2506 y Ft(delete-char)14 b(\(C-d\))315 2560 y Fu(Delete)j(the)f(c)o(haracter)g(under)h(the)f (cursor.)23 b(If)16 b(the)h(cursor)f(is)h(at)e(the)i(b)q(eginning)h(of) e(the)315 2615 y(line,)j(there)e(are)g(no)g(c)o(haracters)f(in)i(the)g (line,)h(and)e(the)g(last)g(c)o(haracter)g(t)o(yp)q(ed)g(w)o(as)f(not) 315 2670 y(b)q(ound)g(to)f Ft(delete-char)p Fu(,)e(then)j(return)f Ft(EOF)p Fu(.)p eop %%Page: 14 16 14 15 bop 75 -58 a Fu(14)1299 b(GNU)15 b(Readline)i(Library)75 183 y Ft(backward-delete-char)12 b(\(Rubout\))315 238 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 293 y(c)o(haracters)d(instead)i(of)f(deleting)i(them.)75 378 y Ft(forward-backward-delete-ch)o(ar)12 b(\(\))315 432 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 487 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 542 y(is)f(not)f(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 627 y Ft(quoted-insert)e(\(C-q,)i(C-v\))315 682 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 736 y(sequences)f(lik)o(e)605 734 y Fo(h)p 617 708 56 2 v 617 736 a Fn(C-q)p 617 744 V 671 734 a Fo(i)685 736 y Fu(,)f(for)g(example.)75 821 y Ft(tab-insert)f(\(M-TAB\))315 876 y Fu(Insert)h(a)g(tab)g(c)o(haracter.)75 961 y Ft(self-insert)f (\(a,)g(b,)h(A,)g(1,)g(!,)g(...\))315 1016 y Fu(Insert)g(y)o(ourself.) 75 1100 y Ft(transpose-chars)e(\(C-t\))315 1155 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 1210 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 1265 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 1320 y(ha)o(v)o(e)k(no)g (e\013ect.)75 1404 y Ft(transpose-words)e(\(M-t\))315 1459 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 1514 y(w)o(ord)f(as)f(w)o(ell.)75 1599 y Ft(upcase-word)g (\(M-u\))315 1654 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 1708 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 1793 y Ft(downcase-word)d(\(M-l\))315 1848 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 1903 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 1988 y Ft(capitalize-word)e(\(M-c\))315 2042 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 2097 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 2220 y Fl(1.4.4)30 b(Killing)20 b(And)h(Y)-5 b(anking)75 2336 y Ft(kill-line)14 b(\(C-k\))315 2391 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 2476 y Ft(backward-kill-line)e(\(C-x)h(Rubout\))315 2530 y Fu(Kill)j(bac)o(kw)o(ard)e(to)f(the)i(b)q(eginning)h(of)e(the)g (line.)75 2615 y Ft(unix-line-discard)e(\(C-u\))315 2670 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.)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 183 y Ft(kill-whole-line)13 b(\(\))315 238 y Fu(Kill)20 b(all)f(c)o(haracters)e(on)h(the)g(curren)o(t)f(line,)j(no)e (matter)f(p)q(oin)o(t)h(is.)28 b(By)18 b(default,)h(this)f(is)315 293 y(un)o(b)q(ound.)75 374 y Ft(kill-word)c(\(M-d\))315 429 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 483 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 564 y Ft(backward-kill-word)e(\(M-DEL\))315 619 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 700 y Ft(unix-word-rubout)f(\(C-w\))315 755 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 810 y(text)f(is)g(sa)o(v)o(ed)g(on)g(the)h (kill-ring.)75 891 y Ft(delete-horizontal-space)c(\(\))315 946 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 1027 y Ft(kill-region)e(\(\))315 1082 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 1163 y Ft(copy-region-as-kill)d(\(\))315 1217 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 1272 y(By)e(default,)h(this)f(command)g(is)h(un)o(b)q (ound.)75 1353 y Ft(copy-backward-word)d(\(\))315 1408 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 1463 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.)75 1544 y Ft(copy-forward-word)d(\(\)) 315 1599 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 1653 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 1734 y Ft(yank)f(\(C-y\))315 1789 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(the)i(curren)o(t)f(cursor)g(p)q(osition.)75 1870 y Ft(yank-pop)f(\(M-y\))315 1925 y Fu(Rotate)j(the)g(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 1980 y(command)d(is)h(y)o(ank)f(or)f(y)o (ank-p)q(op.)75 2095 y Fl(1.4.5)30 b(Sp)r(ecifying)20 b(Numeric)h(Argumen)n(ts)75 2205 y Ft(digit-argument)13 b(\(M-0,)i(M-1,)f(...)h(M--\))315 2260 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 2313 y Fo(h)p 327 2287 50 2 v 327 2315 a Fn(M{)p 327 2323 V 375 2313 a Fo(i)405 2315 y Fu(starts)g(a)h(negativ)o(e)g(argumen)o(t.)75 2396 y Ft(universal-argument)e(\(\))315 2451 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 2506 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 2560 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 2615 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 2670 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)p eop %%Page: 16 18 16 17 bop 75 -58 a Fu(16)1299 b(GNU)15 b(Readline)i(Library)315 183 y(or)c(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 238 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 293 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 348 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 472 y Fl(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 590 y Ft(complete)14 b(\(TAB\))315 644 y Fu(A)o(ttempt)j(to)g (do)h(completion)g(on)g(the)g(text)f(b)q(efore)h(the)g(cursor.)27 b(This)18 b(is)g(application-)315 699 y(sp)q(eci\014c.)k(Generally)l(,) 15 b(if)g(y)o(ou)g(are)f(t)o(yping)h(a)g(\014lename)g(argumen)o(t,)f(y) o(ou)g(can)h(do)g(\014lename)315 754 y(completion;)h(if)g(y)o(ou)f(are) g(t)o(yping)h(a)f(command,)f(y)o(ou)h(can)h(do)f(command)g(completion;) h(if)315 809 y(y)o(ou)i(are)g(t)o(yping)g(in)h(a)f(sym)o(b)q(ol)h(to)e (GDB,)h(y)o(ou)g(can)g(do)g(sym)o(b)q(ol)h(name)f(completion;)i(if)315 864 y(y)o(ou)13 b(are)g(t)o(yping)g(in)h(a)f(v)m(ariable)h(to)f(Bash,)g (y)o(ou)g(can)g(do)g(v)m(ariable)h(name)f(completion,)i(and)315 918 y(so)g(on.)75 1004 y Ft(possible-completions)d(\(M-?\))315 1059 y Fu(List)k(the)f(p)q(ossible)i(completions)f(of)f(the)g(text)g(b) q(efore)h(the)f(cursor.)75 1145 y Ft(insert-completions)e(\(M-*\))315 1199 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 1254 y(b)o(y)f Ft(possible-completions)p Fu(.)75 1340 y Ft(menu-complete)e(\(\))315 1395 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 1450 y(from)k(the)h(list) h(of)e(p)q(ossible)j(completions.)32 b(Rep)q(eated)20 b(execution)g(of)f Ft(menu-complete)315 1504 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 1559 y(A)o(t)c(the)g(end)h(of)f(the)h(list)g (of)f(completions,)i(the)e(b)q(ell)j(is)e(rung)f(and)h(the)f(original)i (text)d(is)315 1614 y(restored.)26 b(An)17 b(argumen)o(t)g(of)g Fm(n)g Fu(mo)o(v)o(es)g Fm(n)g Fu(p)q(ositions)h(forw)o(ard)e(in)i(the) g(list)g(of)f(matc)o(hes;)315 1669 y(a)j(negativ)o(e)g(argumen)o(t)f (ma)o(y)g(b)q(e)i(used)f(to)f(mo)o(v)o(e)h(bac)o(kw)o(ard)f(through)g (the)h(list.)35 b(This)315 1724 y(command)15 b(is)h(in)o(tended)g(to)f (b)q(e)h(b)q(ound)g(to)f Ft(TAB)p Fu(,)f(but)h(is)h(un)o(b)q(ound)g(b)o (y)f(default.)75 1809 y Ft(delete-char-or-list)e(\(\))315 1864 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 1919 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 1974 y(completions)p Fu(.)k(This)e(command)f(is)h(un)o (b)q(ound)g(b)o(y)f(default.)75 2098 y Fl(1.4.7)30 b(Keyb)r(oard)20 b(Macros)75 2216 y Ft(start-kbd-macro)13 b(\(C-x)i(\(\))315 2270 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 2356 y Ft(end-kbd-macro)e(\(C-x)i(\)\))315 2411 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 2466 y(de\014nition.)75 2552 y Ft(call-last-kbd-macro)g(\(C-x)h(e\))315 2606 y Fu(Re-execute)19 b(the)f(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 2661 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.)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 183 y Fl(1.4.8)30 b(Some)20 b(Miscellaneous)h(Commands)75 298 y Ft(re-read-init-file)13 b(\(C-x)h(C-r\))315 353 y Fu(Read)e(in)f(the)g(con)o(ten)o(ts)g(of)f(the)h Fm(inputrc)k Fu(\014le,)d(and)g(incorp)q(orate)f(an)o(y)f(bindings)j(or)e(v)m (ariable)315 407 y(assignmen)o(ts)k(found)h(there.)75 491 y Ft(abort)e(\(C-g\))315 546 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 600 y(setting)i(of)g Ft(bell-style)p Fu(\).)75 684 y Ft(do-uppercase-version)d(\(M-a,)j(M-b,)f(M-)p Fm(x)p Ft(,)h Fj(:)8 b(:)g(:)n Ft(\))315 739 y Fu(If)14 b(the)g(meta\014ed)g(c)o(haracter)f Fm(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 794 y(corresp)q(onding)j(upp)q(ercase)g(c)o(haracter.)75 877 y Ft(prefix-meta)e(\(ESC\))315 932 y Fu(Mak)o(e)j(the)i(next)f(c)o (haracter)f(t)o(yp)q(ed)i(b)q(e)g(meta\014ed.)28 b(This)19 b(is)g(for)e(k)o(eyb)q(oards)h(without)g(a)315 987 y(meta)d(k)o(ey)l(.) 20 b(T)o(yping)15 b(`)p Ft(ESC)g(f)p Fu(')f(is)i(equiv)m(alen)o(t)h(to) d(t)o(yping)i(`)p Ft(M-f)p Fu('.)75 1070 y Ft(undo)f(\(C-_,)f(C-x)h (C-u\))315 1125 y Fu(Incremen)o(tal)h(undo,)f(separately)h(remem)o(b)q (ered)g(for)e(eac)o(h)h(line.)75 1209 y Ft(revert-line)f(\(M-r\))315 1263 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 1318 y(enough)g(times)f(to)g(get)f(bac)o(k)h(to)g(the)g (b)q(eginning.)75 1402 y Ft(tilde-expand)f(\(M-~\))315 1456 y Fu(P)o(erform)g(tilde)j(expansion)f(on)f(the)g(curren)o(t)g(w)o (ord.)75 1540 y Ft(set-mark)f(\(C-@\))315 1595 y Fu(Set)g(the)f(mark)g (to)g(the)h(curren)o(t)g(p)q(oin)o(t.)19 b(If)14 b(a)g(n)o(umeric)g (argumen)o(t)f(is)h(supplied,)i(the)e(mark)315 1650 y(is)i(set)f(to)f (that)h(p)q(osition.)75 1733 y Ft(exchange-point-and-mark)d(\(C-x)j (C-x\))315 1788 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 1843 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 1926 y Ft(character-search)e(\(C-]\))315 1981 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 2036 y(A)j(negativ)o(e)h (coun)o(t)f(searc)o(hes)g(for)f(previous)i(o)q(ccurrences.)75 2119 y Ft(character-search-backward)c(\(M-C-]\))315 2174 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 2229 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 2312 y Ft(insert-comment)d(\(M-#\)) 315 2367 y Fu(The)19 b(v)m(alue)i(of)e(the)g Ft(comment-begin)e Fu(v)m(ariable)k(is)f(inserted)g(at)e(the)i(b)q(eginning)h(of)e(the)315 2422 y(curren)o(t)c(line,)i(and)e(the)g(line)i(is)f(accepted)g(as)e(if) i(a)f(newline)i(had)f(b)q(een)g(t)o(yp)q(ed.)75 2506 y Ft(dump-functions)d(\(\))315 2560 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)h (output)e(stream.)315 2615 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 2670 y(it)g(can)h(b)q(e)g(made)f(part)f(of)h(an)g Fm(inputrc)k Fu(\014le.)i(This)16 b(command)f(is)h(un)o(b)q(ound)g(b)o (y)f(default.)p eop %%Page: 18 20 18 19 bop 75 -58 a Fu(18)1299 b(GNU)15 b(Readline)i(Library)75 183 y Ft(dump-variables)c(\(\))315 238 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)i(output)d(stream.)315 293 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 348 y(it)g(can)h(b)q(e)g(made)f (part)f(of)h(an)g Fm(inputrc)k Fu(\014le.)i(This)16 b(command)f(is)h (un)o(b)q(ound)g(b)o(y)f(default.)75 427 y Ft(dump-macros)f(\(\))315 482 y Fu(Prin)o(t)j(all)h(of)e(the)h(Readline)i(k)o(ey)e(sequences)h(b) q(ound)g(to)e(macros)g(and)h(the)g(strings)g(they)315 537 y(ouput.)30 b(If)19 b(a)f(n)o(umeric)i(argumen)o(t)d(is)i (supplied,)j(the)c(output)h(is)g(formatted)e(in)i(suc)o(h)g(a)315 592 y(w)o(a)o(y)14 b(that)g(it)i(can)f(b)q(e)g(made)g(part)g(of)f(an)h Fm(inputrc)k Fu(\014le.)i(This)15 b(command)g(is)h(un)o(b)q(ound)g(b)o (y)315 647 y(default.)75 775 y Fs(1.5)33 b(Readline)23 b(vi)h(Mo)r(de)137 871 y Fu(While)13 b(the)f(Readline)j(library)d(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 926 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)i Ft(vi)e Fu(mo)q(de)g(b)q(eha)o(v)o(es)g(as)g (sp)q(eci\014ed)i(in)75 981 y(the)c Fp(POSIX)h Fu(1003.2)d(standard.) 137 1048 y(In)i(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 1103 y(M-C-j)g(\(toggle-editing-mo)q(de\).)21 b(The)15 b(Readline)j(default)d(is)h Ft(emacs)f Fu(mo)q(de.)137 1170 y(When)h(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 1225 y(had)e(t)o(yp)q(ed)h(an)f(`)p Ft(i)p Fu('.)18 b(Pressing)608 1223 y Fo(h)p 620 1197 70 2 v 620 1225 a Fn(ESC)p 620 1233 V 687 1223 a Fo(i)715 1225 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 1280 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 1335 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: 19 21 19 20 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(19)75 183 y Fq(2)41 b(Programming)28 b(with)e(GNU)i(Readline)137 305 y Fu(This)16 b(c)o(hapter)f(describ)q (es)i(the)f(in)o(terface)g(b)q(et)o(w)o(een)f(the)h(GNU)f(Readline)j (Library)e(and)f(other)g(pro-)75 360 y(grams.)38 b(If)22 b(y)o(ou)f(are)g(a)g(programmer,)h(and)f(y)o(ou)g(wish)i(to)d(include)k (the)e(features)f(found)h(in)g(GNU)75 414 y(Readline)16 b(suc)o(h)e(as)f(completion,)h(line)h(editing,)g(and)f(in)o(teractiv)o (e)g(history)f(manipulation)i(in)g(y)o(our)d(o)o(wn)75 469 y(programs,)i(this)h(section)h(is)g(for)e(y)o(ou.)75 602 y Fs(2.1)33 b(Basic)22 b(Beha)n(vior)137 700 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 754 y(programs,)e(the)h(default)h(b)q (eha)o(viour)g(of)f(Readline)j(is)d(su\016cien)o(t.)21 b(This)14 b(section)h(describ)q(es)h(ho)o(w)e(to)g(use)75 809 y(Readline)19 b(in)g(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 864 y Ft(fgets)e(\(\))p Fu(.)137 933 y(The)j(function)h Ft(readline)c(\(\))j Fu(prin)o(ts)g(a)g(prompt)f (and)h(then)g(reads)g(and)g(returns)g(a)g(single)h(line)g(of)75 988 y(text)12 b(from)f(the)i(user.)19 b(The)12 b(line)i Ft(readline)d Fu(returns)h(is)h(allo)q(cated)g(with)g Ft(malloc)h(\(\))p Fu(;)e(y)o(ou)g(should)i Ft(free)75 1042 y(\(\))h Fu(the)g(line)i(when)f(y)o(ou)f(are)f(done)i(with)g(it.)k (The)15 b(declaration)h(for)f Ft(readline)f Fu(in)i(ANSI)g(C)f(is)195 1108 y Ft(char)23 b(*readline)g(\(char)g(*)p Fm(prompt)q Ft(\);)75 1177 y Fu(So,)15 b(one)g(migh)o(t)g(sa)o(y)195 1243 y Ft(char)23 b(*line)g(=)h(readline)f(\("Enter)g(a)h(line:)f("\);) 75 1312 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 1366 y(so)h(only)h(the)f(text)g(remains.) 137 1435 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 1490 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 1545 y(b)q(een)f(t)o(yp)q(ed.)137 1614 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 1612 y Fo(h)p 1338 1586 57 2 v 1338 1614 a Fn(C-p)p 1338 1621 V 1392 1612 a Fo(i)1420 1614 y Fu(for)f (example\),)i(y)o(ou)f(m)o(ust)75 1668 y(call)j Ft(add_history)e(\(\))h Fu(to)f(sa)o(v)o(e)h(the)g(line)i(a)o(w)o(a)o(y)d(in)i(a)f Fm(history)k Fu(list)d(of)e(suc)o(h)i(lines.)195 1734 y Ft(add_history)22 b(\(line\);)75 1803 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 1872 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 1927 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 1981 y Ft(gets)g(\(\))f Fu(library)i(function,)g(and)g(has)f(the)g(adv)m(an)o(tage)f(of)h(no)g (static)g(bu\013er)h(to)e(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.) 48 b(Returns)22 b(NULL)i(on)f(EOF.)h(*/)195 2255 y(char)f(*)195 2307 y(rl_gets)g(\(\))195 2359 y({)243 2411 y(/*)g(If)h(the)f(buffer)g (has)h(already)f(been)g(allocated,)g(return)g(the)g(memory)314 2462 y(to)h(the)f(free)h(pool.)f(*/)243 2514 y(if)g(\(line_read\))290 2566 y({)338 2618 y(free)g(\(line_read\);)338 2670 y(line_read)g(=)h (\(char)f(*\)NULL;)p eop %%Page: 20 22 20 21 bop 75 -58 a Fu(20)1299 b(GNU)15 b(Readline)i(Library)290 183 y Ft(})243 287 y(/*)23 b(Get)h(a)f(line)h(from)f(the)h(user.)f(*/) 243 339 y(line_read)f(=)i(readline)f(\(""\);)243 443 y(/*)g(If)h(the)f(line)h(has)f(any)h(text)f(in)g(it,)h(save)f(it)h(on)f (the)h(history.)f(*/)243 495 y(if)g(\(line_read)g(&&)g(*line_read\))290 546 y(add_history)g(\(line_read\);)243 650 y(return)g(\(line_read\);) 195 702 y(})137 770 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 768 y Fo(h)p 1181 742 74 2 v 1181 770 a Fn(T)m(AB)p 1181 777 V 1253 768 a Fo(i)1280 770 y Fu(completion:)19 b(completion)13 b(on)f(\014le)75 824 y(names.)20 b(If)c(y)o(ou)f(do)g(not)g(w)o(an)o(t) f(Readline)k(to)c(complete)j(on)e(\014lenames,)h(y)o(ou)f(can)g(c)o (hange)h(the)f(binding)75 879 y(of)g(the)205 877 y Fo(h)p 217 851 V 217 879 a Fn(T)m(AB)p 217 887 V 289 877 a Fo(i)319 879 y Fu(k)o(ey)g(with)h Ft(rl_bind_key)d(\(\))p Fu(.)195 944 y Ft(int)23 b(rl_bind_key)g(\(int)g Fm(k)o(ey)p Ft(,)h(int)f(\(*)p Fm(function)p Ft(\)\(\)\);)137 1011 y(rl_bind_key)14 b(\(\))h Fu(tak)o(es)g(t)o(w)o(o)g(argumen)o(ts:)20 b Fm(k)o(ey)f Fu(is)d(the)g(c)o(haracter)f(that)g(y)o(ou)g(w)o(an)o(t)g (to)g(bind,)i(and)75 1066 y Fm(function)i Fu(is)f(the)g(address)g(of)g (the)g(function)g(to)g(call)h(when)f Fm(k)o(ey)k Fu(is)c(pressed.)29 b(Binding)1628 1064 y Fo(h)p 1641 1038 V 1641 1066 a Fn(T)m(AB)p 1641 1074 V 1712 1064 a Fo(i)1745 1066 y Fu(to)17 b Ft(rl_)75 1121 y(insert)d(\(\))i Fu(mak)o(es)433 1119 y Fo(h)p 446 1093 V 446 1121 a Fn(T)m(AB)p 446 1129 V 517 1119 a Fo(i)548 1121 y Fu(insert)g(itself.)22 b Ft(rl_bind_key)13 b(\(\))i Fu(returns)h(non-zero)g(if)g Fm(k)o(ey)j Fu(is)d(not)f(a)g(v)m(alid)75 1176 y(ASCI)q(I)h(c)o (haracter)f(co)q(de)h(\(b)q(et)o(w)o(een)f(0)g(and)g(255\).)137 1243 y(Th)o(us,)g(to)g(disable)h(the)g(default)703 1241 y Fo(h)p 716 1215 V 716 1243 a Fn(T)m(AB)p 716 1251 V 787 1241 a Fo(i)817 1243 y Fu(b)q(eha)o(vior,)g(the)f(follo)o(wing)h (su\016ces:)195 1308 y Ft(rl_bind_key)22 b(\('\\t',)h(rl_insert\);)137 1375 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 1430 y(tion)i(called)h Ft(initialize_readline)d(\(\))h Fu(whic)o(h)i(p)q(erforms)e(this)h(and)g(other)g(desired)g (initializations,)75 1485 y(suc)o(h)h(as)e(installing)k(custom)c (completers)i(\(see)f(Section)h(2.6)f([Custom)f(Completers],)g(page)h (33\).)75 1614 y Fs(2.2)33 b(Custom)21 b(F)-6 b(unctions)137 1711 y Fu(Readline)15 b(pro)o(vides)e(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 1765 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 1820 y(v)m(ariables)g(de\014ned)h(within)f(the)f (Readline)j(library)d(whic)o(h)h(allo)o(w)g(a)e(user)h(program)f(to)h (add)g(customized)75 1875 y(functionalit)o(y)j(to)f(Readline.)137 1942 y(Before)j(declaring)i(an)o(y)e(functions)h(that)f(customize)g (Readline's)i(b)q(eha)o(vior,)g(or)d(using)i(an)o(y)f(func-)75 1997 y(tionalit)o(y)23 b(Readline)i(pro)o(vides)f(in)f(other)g(co)q (de,)h(an)f(application)i(writer)d(should)i(include)h(the)e(\014le)75 2052 y Ft()14 b Fu(in)j(an)o(y)g(\014le)h(that)e (uses)h(Readline's)h(features.)24 b(Since)19 b(some)d(of)g(the)h (de\014-)75 2107 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 2162 y Ft(readline.h)p Fu(.)75 2274 y Fl(2.2.1)30 b(The)20 b(F)-5 b(unction)20 b(T)n(yp)r(e)137 2371 y Fu(F)l(or)f(readabilt)o(y)l(,)h(w)o(e)f (declare)h(a)f(new)g(t)o(yp)q(e)g(of)g(ob)s(ject,)g(called)i Fm(F)l(unction)p Fu(.)32 b(A)19 b Ft(Function)f Fu(is)h(a)g(C)75 2425 y(function)d(whic)o(h)g(returns)f(an)g Ft(int)p Fu(.)20 b(The)15 b(t)o(yp)q(e)g(declaration)h(for)f Ft(Function)f Fu(is:)75 2493 y Ft(typedef)g(int)h(Function)f(\(\);)137 2560 y Fu(The)21 b(reason)g(for)f(declaring)i(this)g(new)f(t)o(yp)q(e)g (is)g(to)g(mak)o(e)f(it)h(easier)g(to)g(write)g(co)q(de)g(describing)75 2615 y(p)q(oin)o(ters)16 b(to)f(C)g(functions.)21 b(Let)16 b(us)f(sa)o(y)g(w)o(e)g(had)h(a)f(v)m(ariable)i(called)g Fm(func)i Fu(whic)o(h)d(w)o(as)e(a)i(p)q(oin)o(ter)f(to)g(a)75 2670 y(function.)21 b(Instead)15 b(of)g(the)g(classic)i(C)e (declaration)p eop %%Page: 21 23 21 22 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(21)137 183 y Ft(int)15 b(\(*\)\(\)func;)75 250 y Fu(w)o(e)g(ma)o(y)f(write)137 317 y Ft(Function)g(*func;)75 384 y Fu(Similarly)l(,)j(there)e(are)195 449 y Ft(typedef)23 b(void)g(VFunction)g(\(\);)195 501 y(typedef)g(char)g(*CPFunction)g (\(\);)g Fu(and)195 552 y Ft(typedef)g(char)g(**CPPFunction)f(\(\);)75 620 y Fu(for)17 b(functions)h(returning)g(no)f(v)m(alue,)h Ft(pointer)d(to)g(char)p Fu(,)h(and)i Ft(pointer)c(to)h(pointer)f(to)h (char)p Fu(,)i(re-)75 674 y(sp)q(ectiv)o(ely)l(.)75 786 y Fl(2.2.2)30 b(W)-5 b(riting)20 b(a)h(New)f(F)-5 b(unction)137 882 y Fu(In)17 b(order)f(to)f(write)h(new)h(functions)g(for)e (Readline,)j(y)o(ou)e(need)h(to)e(kno)o(w)h(the)g(calling)i(con)o(v)o (en)o(tions)75 937 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 992 y(state)c(of)h(the)g(line)i (read)e(so)g(far.)137 1059 y(The)h(calling)h(sequence)f(for)f(a)f (command)i Ft(foo)e Fu(lo)q(oks)i(lik)o(e)195 1123 y Ft(foo)23 b(\(int)h(count,)f(int)g(key\))75 1190 y Fu(where)18 b Fm(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 Fm(k)o(ey)k Fu(is)d(the)f(k)o(ey)g(that)f(in)o(v) o(ok)o(ed)75 1245 y(this)f(function.)137 1312 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 1367 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 1421 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 1476 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 1531 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 1586 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.)75 1714 y Fs(2.3)33 b(Readline)23 b(V)-6 b(ariables)137 1810 y Fu(These)16 b(v)m(ariables)g(are)f(a)o(v)m (ailable)i(to)e(function)h(writers.)1661 1902 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1902 18 3 v 21 w(line)p 395 1902 V 23 w(bu\013er)195 1957 y Fu(This)h(is)f(the)h(line)h (gathered)e(so)f(far.)31 b(Y)l(ou)20 b(are)f(w)o(elcome)g(to)g(mo)q (dify)h(the)f(con)o(ten)o(ts)f(of)195 2011 y(the)f(line,)h(but)f(see)g (Section)g(2.4.5)e([Allo)o(wing)j(Undoing],)f(page)f(26.)24 b(The)17 b(function)g Ft(rl_)195 2066 y(extend_line_buffer)8 b Fu(is)k(a)o(v)m(ailable)g(to)f(increase)h(the)f(memory)f(allo)q (cated)i(to)e Ft(rl_line_)195 2121 y(buffer)p Fu(.)1661 2213 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2213 V 21 w(p)r(oin)n(t)195 2267 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 Fm(p)q(oin)o(t)q Fu(\).)1661 2359 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2359 V 21 w(end)195 2414 y Fu(The)e(n)o(um)o(b)q(er)g(of)f(c)o(haracters)g(presen)o(t)h(in)g Ft(rl_line_buffer)p Fu(.)26 b(When)18 b Ft(rl_point)e Fu(is)j(at)195 2469 y(the)c(end)h(of)f(the)g(line,)i Ft(rl_point)d Fu(and)h Ft(rl_end)f Fu(are)h(equal.)1661 2560 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2560 V 21 w(mark)195 2615 y Fu(The)14 b(mark)e(\(sa)o(v)o(ed)h(p)q (osition\))h(in)g(the)g(curren)o(t)f(line.)21 b(If)14 b(set,)f(the)h(mark)e(and)i(p)q(oin)o(t)g(de\014ne)195 2670 y(a)h Fm(region)p Fu(.)p eop %%Page: 22 24 22 23 bop 75 -58 a Fu(22)1299 b(GNU)15 b(Readline)i(Library)1661 183 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(done)195 238 y Fu(Setting)j(this)g(to)f(a)h(non-zero)g(v)m (alue)h(causes)f(Readline)i(to)d(return)h(the)g(curren)o(t)f(line)195 293 y(immediately)l(.)1661 384 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 384 V 21 w(p)r(ending)p 436 384 V 20 w(input)195 439 y Fu(Setting)15 b(this)h(to)f(a)f(v)m(alue)j(mak)o (es)d(it)i(the)f(next)g(k)o(eystrok)o(e)f(read.)20 b(This)c(is)f(a)g(w) o(a)o(y)f(to)h(stu\013)195 494 y(a)g(single)h(c)o(haracter)f(in)o(to)g (the)g(input)i(stream.)1661 586 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 586 V 21 w(erase)p 363 586 V 20 w(empt)n(y)p 540 586 V 20 w(line)195 640 y Fu(Setting)13 b(this)h(to)e(a)h(non-zero)g(v)m(alue)h(causes)f(Readline)j(to)c (completely)i(erase)f(the)g(curren)o(t)195 695 y(line,)19 b(including)g(an)o(y)e(prompt,)f(an)o(y)h(time)g(a)f(newline)j(is)f(t)o (yp)q(ed)f(as)f(the)h(only)h(c)o(haracter)195 750 y(on)13 b(an)f(otherwise-empt)o(y)h(line.)20 b(The)13 b(cursor)g(is)g(mo)o(v)o (ed)f(to)g(the)g(b)q(eginning)j(of)d(the)h(newly-)195 805 y(blank)j(line.)1661 896 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 896 V 21 w(prompt)195 951 y Fu(The)14 b(prompt)f(Readline)j(uses.)k(This)14 b(is)g(set)g(from)f(the)g (argumen)o(t)g(to)g Ft(readline)h(\(\))p Fu(,)g(and)195 1006 y(should)i(not)f(b)q(e)h(assigned)g(to)e(directly)l(.)1661 1097 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1097 V 21 w(already)p 419 1097 V 21 w(prompted)195 1152 y Fu(If)14 b(an)g(application)h(wishes)f(to)f(displa)o(y)i(the)f(prompt)f (itself,)i(rather)e(than)g(ha)o(v)o(e)h(Readline)195 1207 y(do)j(it)h(the)f(\014rst)g(time)h Ft(readline\(\))e Fu(is)i(called,)h(it)f(should)g(set)f(this)h(v)m(ariable)h(to)e(a)g (non-)195 1262 y(zero)i(v)m(alue)i(after)e(displa)o(ying)i(the)f (prompt.)32 b(The)20 b(prompt)f(m)o(ust)g(also)g(b)q(e)i(passed)e(as) 195 1317 y(the)c(argumen)o(t)e(to)h Ft(readline\(\))g Fu(so)g(the)g(redispla)o(y)i(functions)f(can)g(up)q(date)g(the)g (displa)o(y)195 1371 y(prop)q(erly)l(.)k(The)11 b(calling)h (application)f(is)g(resp)q(onsible)h(for)e(managing)g(the)g(v)m(alue;)j (Readline)195 1426 y(nev)o(er)i(sets)g(it.)1661 1518 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1518 V 21 w(library)p 475 1518 V 22 w(v)n(ersion)195 1573 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(.)1661 1664 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1664 V 21 w(terminal)p 518 1664 V 21 w(name)195 1719 y Fu(The)c(terminal)h(t)o(yp)q(e,)f(used)h(for)f (initialization.)1661 1811 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1811 V 21 w(readline)p 505 1811 V 22 w(name)195 1865 y Fu(This)d(v)m(ariable)h(is)f(set)f(to)g(a)g(unique)i (name)f(b)o(y)f(eac)o(h)g(application)j(using)e(Readline.)23 b(The)195 1920 y(v)m(alue)12 b(allo)o(ws)e(conditional)i(parsing)f(of)f (the)g(inputrc)h(\014le)h(\(see)e(Section)h(1.3.2)e([Conditional)195 1975 y(Init)16 b(Constructs],)e(page)h(8\).)1661 2067 y(V)l(ariable)-1749 b Fi(FILE)20 b(*)f Fh(rl)p 286 2067 V 21 w(instream)195 2121 y Fu(The)c(stdio)h(stream)e(from)h(whic)o(h)h (Readline)h(reads)e(input.)1661 2213 y(V)l(ariable)-1749 b Fi(FILE)20 b(*)f Fh(rl)p 286 2213 V 21 w(outstream)195 2268 y Fu(The)c(stdio)h(stream)e(to)h(whic)o(h)h(Readline)h(p)q (erforms)e(output.)1661 2359 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2359 V 21 w(startup)p 595 2359 V 20 w(ho)r(ok)195 2414 y Fu(If)15 b(non-zero,)f(this)h(is)g(the)f(address)h (of)e(a)h(function)i(to)d(call)j(just)e(b)q(efore)h Ft(readline)e Fu(prin)o(ts)195 2469 y(the)i(\014rst)g(prompt.)1661 2560 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2560 V 21 w(pre)p 494 2560 V 20 w(input)p 647 2560 V 21 w(ho)r(ok)195 2615 y Fu(If)d(non-zero,)h(this)f(is)h(the)f (address)g(of)g(a)g(function)h(to)e(call)i(after)f(the)g(\014rst)f (prompt)h(has)195 2670 y(b)q(een)f(prin)o(ted)g(and)g(just)f(b)q(efore) g Ft(readline)f Fu(starts)g(reading)i(input)g(c)o(haracters.)p eop %%Page: 23 25 23 24 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(23)1661 183 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 183 18 3 v 21 w(ev)n(en)n(t)p 544 183 V 22 w(ho)r(ok)195 238 y Fu(If)d(non-zero,)f(this)h(is)f(the)h(address) f(of)g(a)g(function)h(to)f(call)h(p)q(erio)q(dically)j(when)c(readline) 195 293 y(is)g(w)o(aiting)f(for)g(terminal)h(input.)1661 409 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 409 V 21 w(getc)p 514 409 V 21 w(function)195 463 y Fu(If)13 b(non-zero,)g Ft(readline)e Fu(will)k(call)e(indirectly)i (through)d(this)h(p)q(oin)o(ter)g(to)f(get)g(a)h(c)o(haracter)195 518 y(from)i(the)i(input)g(stream.)22 b(By)16 b(default,)h(it)f(is)h (set)f(to)f Ft(rl_getc)p Fu(,)g(the)h(default)h Ft(readline)195 573 y Fu(c)o(haracter)d(input)j(function)f(\(see)f(Section)h(2.4.8)e ([Utilit)o(y)h(F)l(unctions],)h(page)f(28\).)1661 689 y(V)l(ariable)-1749 b Fi(VFunction)20 b(*)g Fh(rl)p 417 689 V 21 w(redispla)n(y)p 661 689 V 22 w(function)195 744 y Fu(If)g(non-zero,)h Ft(readline)d Fu(will)j(call)g(indirectly)h (through)d(this)h(p)q(oin)o(ter)h(to)e(up)q(date)h(the)195 798 y(displa)o(y)h(with)f(the)g(curren)o(t)g(con)o(ten)o(ts)g(of)f(the) h(editing)i(bu\013er.)34 b(By)20 b(default,)h(it)g(is)f(set)195 853 y(to)f Ft(rl_redisplay)p Fu(,)f(the)i(default)g Ft(readline)e Fu(redispla)o(y)j(function)f(\(see)f(Section)i(2.4.6)195 908 y([Redispla)o(y],)16 b(page)f(27\).)1661 1024 y(V)l(ariable)-1749 b Fi(Keymap)20 b Fh(rl)p 293 1024 V 21 w(executing)p 551 1024 V 22 w(k)n(eymap)195 1079 y Fu(This)g(v)m(ariable)g(is)f(set)g (to)f(the)h(k)o(eymap)g(\(see)g(Section)h(2.4.2)d([Keymaps],)i(page)g (24\))f(in)195 1133 y(whic)o(h)e(the)f(curren)o(tly)h(executing)g (readline)h(function)f(w)o(as)f(found.)1661 1249 y(V)l(ariable)-1749 b Fi(Keymap)20 b Fh(rl)p 293 1249 V 21 w(binding)p 501 1249 V 22 w(k)n(eymap)195 1304 y Fu(This)g(v)m(ariable)g(is)f(set)g(to) f(the)h(k)o(eymap)g(\(see)g(Section)h(2.4.2)d([Keymaps],)i(page)g(24\)) f(in)195 1359 y(whic)o(h)e(the)f(last)g(k)o(ey)h(binding)h(o)q (ccurred.)75 1517 y Fs(2.4)33 b(Readline)23 b(Con)n(v)n(enience)g(F)-6 b(unctions)75 1682 y Fl(2.4.1)30 b(Naming)20 b(a)g(F)-5 b(unction)137 1790 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.)36 b(This)20 b(is)75 1845 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 1900 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 1976 y Ft(Meta-Rubout:)46 b(backward-kill-word)137 2055 y Fu(This)20 b(binds)h(the)f(k)o(eystrok)o(e)659 2053 y Fo(h)p 671 2027 209 2 v 671 2055 a Fn(Meta-Rub)q(out)p 671 2062 V 878 2053 a Fo(i)912 2055 y Fu(to)f(the)h(function)g Fm(descriptiv)o(ely)25 b Fu(named)20 b Ft(backward-)75 2110 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 2164 y(names)e(as)g(w)o(ell.)21 b(Readline)c(pro)o(vides)f(a)f (function)h(for)e(doing)i(that:)1650 2280 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2280 18 3 v 21 w(add)p 328 2280 V 20 w(defun)i Fg(\()p Ft(char)14 b(*name,)g(Function)g (*function,)g(int)h(key)p Fg(\))195 2335 y Fu(Add)i Fm(name)h Fu(to)e(the)g(list)h(of)e(named)i(functions.)23 b(Mak)o(e)15 b Fm(function)i Fu(b)q(e)g(the)f(function)h(that)195 2390 y(gets)e(called.)21 b(If)16 b Fm(k)o(ey)j Fu(is)c(not)g(-1,)g (then)g(bind)i(it)e(to)g Fm(function)h Fu(using)g Ft(rl_bind_key)d (\(\))p Fu(.)137 2506 y(Using)j(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 2560 y(to)d(add)h(a)f(few)g (functions)h(to)f(the)h(default)g(functions)g(that)f(Readline)j(has)d (built)i(in.)20 b(If)14 b(y)o(ou)f(need)h(to)f(do)75 2615 y(something)k(other)g(than)f(adding)i(a)e(function)i(to)e (Readline,)j(y)o(ou)e(ma)o(y)f(need)i(to)e(use)h(the)g(underlying)75 2670 y(functions)f(describ)q(ed)h(b)q(elo)o(w.)p eop %%Page: 24 26 24 25 bop 75 -58 a Fu(24)1299 b(GNU)15 b(Readline)i(Library)75 183 y Fl(2.4.2)30 b(Selecting)20 b(a)h(Keymap)137 278 y Fu(Key)16 b(bindings)i(tak)o(e)c(place)j(on)e(a)g Fm(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 333 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 388 y(existing)i(k)o(eymaps,)f (and)g(tell)h(Readline)i(whic)o(h)e(k)o(eymap)f(to)f(use.)1650 476 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 476 18 3 v 21 w(mak)n(e)p 445 476 V 20 w(bare)p 575 476 V 20 w(k)n(eymap)j Fg(\(\))195 531 y Fu(Returns)d(a)f(new,)i(empt)o(y)e (k)o(eymap.)32 b(The)20 b(space)g(for)e(the)i(k)o(eymap)f(is)h(allo)q (cated)h(with)195 586 y Ft(malloc)14 b(\(\))p Fu(;)h(y)o(ou)g(should)h Ft(free)e(\(\))h Fu(it)h(when)g(y)o(ou)e(are)h(done.)1650 674 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 674 V 21 w(cop)n(y)p 428 674 V 21 w(k)n(eymap)j Fg(\()p Ft(Keymap)14 b(map)p Fg(\))195 729 y Fu(Return)i(a)f(new)g(k)o(eymap)g (whic)o(h)h(is)g(a)f(cop)o(y)g(of)g Fm(map)p Fu(.)1650 818 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 818 V 21 w(mak)n(e)p 445 818 V 20 w(k)n(eymap)j Fg(\(\))195 872 y Fu(Return)15 b(a)f(new)h(k)o(eymap)f(with)h(the)g(prin)o(ting)h (c)o(haracters)d(b)q(ound)j(to)e(rl)p 1443 872 14 2 v 17 w(insert,)g(the)h(lo)o(w-)195 927 y(ercase)21 b(Meta)f(c)o (haracters)g(b)q(ound)i(to)f(run)g(their)g(equiv)m(alen)o(ts,)j(and)d (the)g(Meta)f(digits)195 982 y(b)q(ound)c(to)f(pro)q(duce)h(n)o(umeric) g(argumen)o(ts.)1650 1070 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1070 18 3 v 21 w(discard)p 441 1070 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 1125 y Fu(F)l(ree)h(the)h(storage)d(asso)q(ciated)j(with)f Fm(k)o(eymap)p Fu(.)137 1214 y(Readline)25 b(has)e(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 1268 y(k)o(eymap)15 b(is)h(activ)o(e.) 1650 1357 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 1357 V 21 w(get)p 391 1357 V 21 w(k)n(eymap)i Fg(\(\))195 1412 y Fu(Returns)16 b(the)f(curren)o(tly)h(activ)o(e)f(k)o(eymap.)1650 1500 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1500 V 21 w(set)p 333 1500 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 1555 y Fu(Mak)o(es)g Fm(k)o(eymap)j Fu(the)e(curren)o(tly)h(activ)o(e)f(k)o(eymap.)1650 1643 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 1643 V 21 w(get)p 391 1643 V 21 w(k)n(eymap)p 605 1643 V 20 w(b)n(y)p 685 1643 V 21 w(name)i Fg(\()p Ft(char)14 b(*name)p Fg(\))195 1698 y Fu(Return)h(the)f(k)o(eymap)g(matc)o(hing)h Fm(name)p Fu(.)k Fm(name)e Fu(is)e(one)g(whic)o(h)g(w)o(ould)f(b)q(e)h (supplied)i(in)e(a)195 1753 y Ft(set)g(keymap)f Fu(inputrc)i(line)h (\(see)e(Section)h(1.3)f([Readline)i(Init)f(File],)f(page)g(4\).)1650 1841 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1841 V 21 w(get)p 384 1841 V 21 w(k)n(eymap)p 598 1841 V 20 w(name)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 1896 y Fu(Return)h(the)f(name)h(matc)o(hing)f Fm(k)o(eymap)p Fu(.)19 b Fm(name)e Fu(is)e(one)g(whic)o(h)g(w)o(ould)f(b)q(e)h (supplied)i(in)e(a)195 1951 y Ft(set)g(keymap)f Fu(inputrc)i(line)h (\(see)e(Section)h(1.3)f([Readline)i(Init)f(File],)f(page)g(4\).)75 2059 y Fl(2.4.3)30 b(Binding)20 b(Keys)137 2154 y Fu(Y)l(ou)j(asso)q (ciate)f(k)o(eys)g(with)h(functions)g(through)f(the)g(k)o(eymap.)41 b(Readline)25 b(has)d(sev)o(eral)h(in)o(ter-)75 2209 y(nal)h(k)o(eymaps:)35 b Ft(emacs_standard_keymap)p Fu(,)22 b Ft(emacs_meta_keymap)p Fu(,)g Ft(emacs_ctlx_keymap)p Fu(,)g Ft(vi_)75 2264 y(movement_keymap)p Fu(,)e(and)i Ft(vi_insertion_keymap)p Fu(.)35 b Ft(emacs_standard_keymap)18 b Fu(is)k(the)f(default,)75 2319 y(and)15 b(the)h(examples)g(in)g(this) f(man)o(ual)h(assume)f(that.)137 2385 y(Since)k 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 2440 y(alw)o(a)o(ys)f(the)g(danger)g(that)g(a)g(custom)g(binding)i (installed)g(b)q(efore)f(the)f(\014rst)g(call)h(to)f Ft(readline)f Fu(will)j(b)q(e)75 2494 y(o)o(v)o(erridden.)28 b(An)17 b(alternate)h(mec)o(hanism)g(is)g(to)f(install)i(custom)e(k)o (ey)h(bindings)h(in)f(an)g(initialization)75 2549 y(function)h (assigned)h(to)d(the)i Ft(rl_startup_hook)e Fu(v)m(ariable)j(\(see)e (Section)h(2.3)f([Readline)j(V)l(ariables],)75 2604 y(page)15 b(21\).)137 2670 y(These)h(functions)g(manage)e(k)o(ey)i(bindings.)p eop %%Page: 25 27 25 26 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(25)1650 183 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(bind)p 347 183 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key,)h(Function)f(*function)p Fg(\))195 238 y Fu(Binds)i Fm(k)o(ey)j Fu(to)14 b Fm(function)h Fu(in)h(the)f(curren)o(tly)g(activ)o(e)g(k)o(eymap.)20 b(Returns)15 b(non-zero)g(in)h(the)195 293 y(case)f(of)g(an)g(in)o(v)m (alid)j Fm(k)o(ey)p Fu(.)1650 374 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 374 V 21 w(bind)p 347 374 V 21 w(k)n(ey)p 452 374 V 21 w(in)p 520 374 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h(Function)f(*function,)283 429 y(Keymap)g(map)p Fg(\))195 484 y Fu(Bind)i Fm(k)o(ey)j Fu(to)c Fm(function)h Fu(in)g Fm(map)p Fu(.)k(Returns)15 b(non-zero)h(in)g(the)f(case)g(of)g(an)g(in)o(v)m(alid)j Fm(k)o(ey)p Fu(.)1650 565 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 565 V 21 w(un)n(bind)p 409 565 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key)p Fg(\))195 620 y Fu(Bind)g Fm(k)o(ey)j Fu(to)c(the)g(n)o(ull)i(function)f(in)g(the)f(curren)o(tly)h(activ)o(e) f(k)o(eymap.)19 b(Returns)14 b(non-zero)195 675 y(in)i(case)f(of)g (error.)1650 756 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 756 V 21 w(un)n(bind)p 409 756 V 21 w(k)n(ey)p 514 756 V 21 w(in)p 582 756 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h(Keymap)f(map)p Fg(\))195 811 y Fu(Bind)i Fm(k)o(ey)j Fu(to)c(the)g(n)o(ull)i(function)f(in)g Fm(map)p Fu(.)k(Returns)15 b(non-zero)h(in)g(case)f(of)g(error.)1650 892 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 892 V 21 w(un)n(bind)p 409 892 V 21 w(function)p 635 892 V 21 w(in)p 703 892 V 21 w(map)h Fg(\()p Ft(Function)14 b(*function,)283 947 y(Keymap)g(map)p Fg(\))195 1002 y Fu(Un)o(bind)j(all)f(k)o(eys)f(that)f(execute)i Fm(function)g Fu(in)g Fm(map)p Fu(.)1650 1083 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1083 V 21 w(un)n(bind)p 409 1083 V 21 w(command)p 674 1083 V 17 w(in)p 738 1083 V 22 w(map)h Fg(\()p Ft(char)14 b(*command,)g(Keymap)283 1138 y(map)p Fg(\))195 1193 y Fu(Un)o(bind)j(all)f(k)o(eys)f(that)f (are)h(b)q(ound)h(to)f Fm(command)i Fu(in)f Fm(map)p Fu(.)1650 1274 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1274 V 21 w(generic)p 413 1274 V 21 w(bind)j Fg(\()p Ft(int)15 b(type,)f(char)h(*keyseq,)f(char)h(*data,)283 1329 y(Keymap)f(map)p Fg(\))195 1384 y Fu(Bind)g(the)f(k)o(ey)g (sequence)i(represen)o(ted)e(b)o(y)g(the)g(string)g Fm(k)o(eyseq)h Fu(to)f(the)g(arbitrary)f(p)q(oin)o(ter)195 1438 y Fm(data)p Fu(.)19 b Fm(t)o(yp)q(e)e Fu(sa)o(ys)c(what)h(kind)i(of)e(data)f(is)i (p)q(oin)o(ted)g(to)f(b)o(y)g Fm(data)p Fu(;)g(this)h(can)f(b)q(e)h(a)f (function)195 1493 y(\()p Ft(ISFUNC)p Fu(\),)f(a)h(macro)g(\()p Ft(ISMACR)p Fu(\),)f(or)i(a)f(k)o(eymap)h(\()p Ft(ISKMAP)p Fu(\).)j(This)d(mak)o(es)f(new)h(k)o(eymaps)195 1548 y(as)g(necessary)l(.)20 b(The)c(initial)h(k)o(eymap)e(in)h(whic)o(h)g (to)e(do)i(bindings)h(is)e Fm(map)p Fu(.)1650 1629 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1629 V 21 w(parse)p 369 1629 V 19 w(and)p 480 1629 V 21 w(bind)j Fg(\()p Ft(char)14 b(*line)p Fg(\))195 1684 y Fu(P)o(arse)k Fm(line)23 b Fu(as)c(if)g(it)g(had)g(b)q(een)h(read)e(from)h(the)f Ft(inputrc)g Fu(\014le)i(and)f(p)q(erform)g(an)o(y)f(k)o(ey)195 1739 y(bindings)i(and)e(v)m(ariable)i(assignmen)o(ts)d(found)i(\(see)f (Section)h(1.3)e([Readline)j(Init)f(File],)195 1794 y(page)c(4\).)1650 1875 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1875 V 21 w(read)p 346 1875 V 20 w(init)p 450 1875 V 22 w(\014le)k Fg(\()p Ft(char)14 b(*filename)p Fg(\))195 1930 y Fu(Read)25 b(k)o(eybindings)i(and)e(v)m(ariable)h(assignmen)o(ts)e(from)g Fm(\014lename)29 b Fu(\(see)24 b(Section)i(1.3)195 1985 y([Readline)17 b(Init)f(File],)g(page)f(4\).)75 2086 y Fl(2.4.4)30 b(Asso)r(ciating)20 b(F)-5 b(unction)20 b(Names)h(and)f(Bindings)137 2179 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 2233 y(in)o(v)o(ok)o(ed)k (b)o(y)h(a)e(particular)i(k)o(ey)f(sequence.)1650 2315 y(F)l(unction)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2315 V 21 w(named)p 579 2315 V 19 w(function)j Fg(\()p Ft(char)14 b(*name)p Fg(\))195 2369 y Fu(Return)i(the)f(function)h (with)g(name)f Fm(name)p Fu(.)1650 2451 y(F)l(unction)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2451 V 21 w(function)p 617 2451 V 21 w(of)p 685 2451 V 19 w(k)n(eyseq)k Fg(\()p Ft(char)15 b(*keyseq,)f(Keymap)283 2506 y(map,)g(int)h(*type)p Fg(\))195 2560 y Fu(Return)j(the)f(function)g(in)o(v)o(ok)o(ed)g(b)o(y) g Fm(k)o(eyseq)h Fu(in)g(k)o(eymap)f Fm(map)p Fu(.)25 b(If)17 b Fm(map)h Fu(is)f(NULL,)h(the)195 2615 y(curren)o(t)13 b(k)o(eymap)g(is)h(used.)20 b(If)14 b Fm(t)o(yp)q(e)i Fu(is)e(not)f(NULL,)h(the)f(t)o(yp)q(e)g(of)g(the)h(ob)s(ject)f(is)h (returned)195 2670 y(in)i(it)f(\(one)g(of)g Ft(ISFUNC)p Fu(,)f Ft(ISKMAP)p Fu(,)g(or)h Ft(ISMACR)p Fu(\).)p eop %%Page: 26 28 26 27 bop 75 -58 a Fu(26)1299 b(GNU)15 b(Readline)i(Library)1650 183 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(rl)p 312 183 18 3 v 21 w(in)n(v)n(oking)p 541 183 V 23 w(k)n(eyseqs)k Fg(\()p Ft(Function)14 b(*function)p Fg(\))195 238 y Fu(Return)i(an)f(arra)o(y)f(of)h(strings)g(represen)o(ting)h(the)g(k)o (ey)f(sequences)h(used)g(to)f(in)o(v)o(ok)o(e)g Fm(func-)195 293 y(tion)g Fu(in)h(the)g(curren)o(t)f(k)o(eymap.)1650 387 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(rl)p 312 387 V 21 w(in)n(v)n(oking)p 541 387 V 23 w(k)n(eyseqs)p 750 387 V 21 w(in)p 818 387 V 22 w(map)i Fg(\()p Ft(Function)14 b(*function,)283 442 y(Keymap)g(map)p Fg(\))195 497 y Fu(Return)i(an)f(arra)o(y)f(of)h(strings)g(represen)o(ting)h(the)g(k)o (ey)f(sequences)h(used)g(to)f(in)o(v)o(ok)o(e)g Fm(func-)195 552 y(tion)g Fu(in)h(the)g(k)o(eymap)f Fm(map)p Fu(.)1650 646 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 646 V 21 w(function)p 467 646 V 21 w(dump)r(er)g Fg(\()p Ft(int)15 b(readable)p Fg(\))195 701 y Fu(Prin)o(t)k(the)h(readline)g (function)g(names)g(and)f(the)g(k)o(ey)g(sequences)i(curren)o(tly)e(b)q (ound)i(to)195 756 y(them)16 b(to)f Ft(rl_outstream)p Fu(.)k(If)d Fm(readable)j Fu(is)d(non-zero,)g(the)g(list)g(is)g (formatted)f(in)h(suc)o(h)g(a)195 810 y(w)o(a)o(y)e(that)h(it)g(can)g (b)q(e)h(made)g(part)e(of)h(an)g Ft(inputrc)f Fu(\014le)i(and)g (re-read.)1650 905 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 905 V 21 w(list)p 337 905 V 22 w(funmap)p 550 905 V 18 w(names)h Fg(\(\))195 960 y Fu(Prin)o(t)15 b(the)g(names)h(of)e(all)j(bindable)g(Readline)g(functions)f(to)f Ft(rl_outstream)p Fu(.)1650 1054 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(rl)p 312 1054 V 21 w(funmap)p 524 1054 V 18 w(names)i Fg(\(\))195 1109 y Fu(Return)12 b(a)e(NULL)i(terminated)g(arra)o(y)d(of)i(kno)o(wn)g(function)h(names.) 18 b(The)11 b(arra)o(y)f(is)i(sorted.)195 1163 y(The)k(arra)o(y)f (itself)i(is)f(allo)q(cated,)h(but)f(not)f(the)h(strings)g(inside.)24 b(Y)l(ou)16 b(should)h(free)f(\(\))f(the)195 1218 y(arra)o(y)f(when)i (y)o(ou)e(done,)i(but)f(not)g(the)g(p)q(oin)o(trs.)75 1333 y Fl(2.4.5)30 b(Allo)n(wing)21 b(Undoing)137 1430 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 1485 y(useful.)28 b(It)17 b(is)h(certainly)h(easy)e(to)g(try)g (something)g(if)h(y)o(ou)f(kno)o(w)g(y)o(ou)h(can)f(undo)h(it.)27 b(I)18 b(could)g(use)g(an)75 1540 y(undo)e(function)g(for)e(the)i(sto)q (c)o(k)e(mark)o(et.)137 1608 y(If)g(y)o(our)e(function)i(simply)h (inserts)f(text)e(once,)i(or)e(deletes)j(text)d(once,)i(and)f(uses)h Ft(rl_insert_text)75 1663 y(\(\))h Fu(or)g Ft(rl_delete_text)e(\(\))i Fu(to)f(do)h(it,)g(then)h(undoing)g(is)g(already)f(done)h(for)f(y)o(ou) f(automatically)l(.)137 1731 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 1786 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 1841 y(group)14 b(\(\))h Fu(and)h Ft(rl_end_undo_group)d(\(\))p Fu(.)137 1909 y(The)j(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 1975 y Ft(enum)23 b(undo_code)g({)h (UNDO_DELETE,)e(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)h(};)137 2043 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 2098 y(some)d(text.)18 b(That)12 b(is,)h(the)f(undo)g(co)q(de)h(tells)g (undo)g(what)e(to)h(undo,)h(not)f(ho)o(w)f(to)h(undo)g(it.)19 b Ft(UNDO_BEGIN)75 2152 y Fu(and)c Ft(UNDO_END)f Fu(are)h(tags)g(added) g(b)o(y)h Ft(rl_begin_undo_group)c(\(\))j Fu(and)g Ft (rl_end_undo_group)e(\(\))p Fu(.)1650 2247 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2247 V 21 w(b)r(egin)p 372 2247 V 20 w(undo)p 517 2247 V 20 w(group)h Fg(\(\))195 2302 y Fu(Begins)e(sa)o(ving)g(undo)g(information)f(in)i(a)e(group)g (construct.)29 b(The)19 b(undo)g(information)195 2356 y(usually)f(comes)f(from)f(calls)h(to)g Ft(rl_insert_text)c(\(\))j Fu(and)h Ft(rl_delete_text)c(\(\))p Fu(,)k(but)195 2411 y(could)f(b)q(e)g(the)f(result)h(of)f(calls)h(to)f Ft(rl_add_undo)e (\(\))p Fu(.)1650 2506 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2506 V 21 w(end)p 326 2506 V 20 w(undo)p 471 2506 V 20 w(group)h Fg(\(\))195 2560 y Fu(Closes)c(the)g(curren)o (t)g(undo)h(group)e(started)h(with)g Ft(rl_begin_undo_group)c(\(\))p Fu(.)25 b(There)195 2615 y(should)17 b(b)q(e)f(one)f(call)i(to)e Ft(rl_end_undo_group)e(\(\))i Fu(for)g(eac)o(h)g(call)i(to)e Ft(rl_begin_undo_)195 2670 y(group)f(\(\))p Fu(.)p eop %%Page: 27 29 27 28 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(27)1650 183 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 183 18 3 v 21 w(add)p 354 183 V 20 w(undo)i Fg(\()p Ft(enum)14 b(undo_code)g(what,)g(int)h(start,)g(int)f(end,)283 238 y(char)g(*text)p Fg(\))195 293 y Fu(Remem)o(b)q(er)j(ho)o(w)f(to)f (undo)i(an)f(ev)o(en)o(t)g(\(according)h(to)e Fm(what)q Fu(\).)23 b(The)16 b(a\013ected)g(text)g(runs)195 348 y(from)e Fm(start)h Fu(to)g Fm(end)p Fu(,)g(and)h(encompasses)f Fm(text)p Fu(.)1650 445 y(F)l(unction)-1749 b Fi(void)20 b Fh(free)p 296 445 V 20 w(undo)p 441 445 V 20 w(list)k Fg(\(\))195 500 y Fu(F)l(ree)15 b(the)h(existing)g(undo)f(list.)1650 597 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 597 V 21 w(do)p 297 597 V 20 w(undo)i Fg(\(\))195 651 y Fu(Undo)16 b(the)g(\014rst)f(thing)h(on)g(the)f(undo)h(list.)22 b(Returns)17 b Ft(0)e Fu(if)h(there)g(w)o(as)f(nothing)h(to)f(undo,)195 706 y(non-zero)g(if)h(something)g(w)o(as)e(undone.)137 803 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 858 y(c)o(hange)i(its)h(case\),)g(call)g Ft(rl_modifying)14 b(\(\))k Fu(once,)h(just)f(b)q(efore)h(y)o(ou)f(mo)q(dify)h(the)f (text.)29 b(Y)l(ou)19 b(m)o(ust)75 913 y(supply)d(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(.) 1650 1010 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1010 V 21 w(mo)r(difying)h Fg(\()p Ft(int)15 b(start,)f(int)h(end)p Fg(\))195 1065 y Fu(T)l(ell)i(Readline)i(to)c(sa)o(v)o(e)g(the)i(text)e (b)q(et)o(w)o(een)h Fm(start)g Fu(and)g Fm(end)j Fu(as)c(a)h(single)h (undo)g(unit.)23 b(It)195 1120 y(is)16 b(assumed)f(that)g(y)o(ou)f (will)j(subsequen)o(tly)g(mo)q(dify)e(that)g(text.)75 1237 y Fl(2.4.6)30 b(Redispla)n(y)1650 1363 y Fu(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1363 V 21 w(redispla)n(y)k Fg(\(\))195 1417 y Fu(Change)19 b(what's)f(displa)o(y)o(ed)i(on)f(the)f (screen)i(to)e(re\015ect)h(the)g(curren)o(t)g(con)o(ten)o(ts)f(of)g Ft(rl_)195 1472 y(line_buffer)p Fu(.)1650 1569 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1569 V 21 w(forced)p 390 1569 V 20 w(up)r(date)p 584 1569 V 20 w(displa)n(y)k Fg(\(\))195 1624 y Fu(F)l(orce)17 b(the)f(line)j(to)d(b)q(e)i(up)q(dated)f(and)g (redispla)o(y)o(ed,)h(whether)f(or)g(not)f(Readline)j(thinks)195 1679 y(the)c(screen)h(displa)o(y)g(is)g(correct.)1650 1776 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1776 V 21 w(on)p 297 1776 V 20 w(new)p 416 1776 V 21 w(line)k Fg(\(\))195 1831 y Fu(T)l(ell)15 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,)j(usually)195 1886 y(after)e(ouputting)i(a)f(newline.)1650 1983 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1983 V 21 w(on)p 297 1983 V 20 w(new)p 416 1983 V 21 w(line)p 525 1983 V 22 w(with)p 657 1983 V 22 w(prompt)h Fg(\(\))195 2037 y Fu(T)l(ell)c(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 Fm(rl)p 1595 2037 14 2 v 16 w(prompt)195 2092 y Fu(already)f(displa)o (y)o(ed.)22 b(This)15 b(could)h(b)q(e)g(used)g(b)o(y)f(applications)i (that)d(w)o(an)o(t)g(to)h(output)g(the)195 2147 y(prompt)j(string)g (themselv)o(es,)h(but)g(still)h(need)f(Readline)h(to)e(kno)o(w)g(the)g (prompt)g(string)195 2202 y(length)e(for)e(redispla)o(y)l(.)22 b(It)15 b(should)h(b)q(e)g(used)g(after)e(setting)h Fm(rl)p 1258 2202 V 17 w(already)p 1420 2202 V 17 w(prompted)p Fu(.)1650 2299 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2299 18 3 v 21 w(reset)p 357 2299 V 20 w(line)p 465 2299 V 23 w(state)j Fg(\(\))195 2354 y Fu(Reset)17 b(the)f(displa)o(y)h (state)f(to)f(a)h(clean)h(state)f(and)g(redispla)o(y)h(the)g(curren)o (t)f(line)i(starting)195 2409 y(on)d(a)g(new)g(line.)1650 2506 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2506 V 21 w(message)g Fg(\()p Ft(va_alist)p Fg(\))195 2560 y Fu(The)h(argumen)o(ts)f(are)g(a)g(string)h(as)f(w)o(ould)h(b)q(e)g (supplied)i(to)d Ft(printf)p Fu(.)35 b(The)21 b(resulting)195 2615 y(string)h(is)g(displa)o(y)o(ed)h(in)g(the)f Fm(ec)o(ho)g(area)p Fu(.)39 b(The)23 b(ec)o(ho)f(area)f(is)h(also)g(used)h(to)e(displa)o(y) 195 2670 y(n)o(umeric)16 b(argumen)o(ts)e(and)i(searc)o(h)f(strings.)p eop %%Page: 28 30 28 29 bop 75 -58 a Fu(28)1299 b(GNU)15 b(Readline)i(Library)1650 183 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(clear)p 354 183 V 21 w(message)h Fg(\(\))195 238 y Fu(Clear)15 b(the)h(message)e(in)i(the)g(ec)o(ho)f(area.)1650 333 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 333 V 21 w(sa)n(v)n(e)p 365 333 V 21 w(prompt)h Fg(\(\))195 388 y Fu(Sa)o(v)o(e)e(the)h(lo)q(cal)h(Readline)h(prompt)d(displa)o(y)i (state)e(in)h(preparation)g(for)f(displa)o(ying)i(a)195 443 y(new)15 b(message)g(in)h(the)f(message)g(area)g(with)g Ft(rl_message)p Fu(.)1650 538 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 538 V 21 w(restore)p 436 538 V 20 w(prompt)g Fg(\(\))195 593 y Fu(Restore)c(the)h(lo)q(cal)h(Readline)g(prompt)e (displa)o(y)i(state)e(sa)o(v)o(ed)g(b)o(y)g(the)h(most)e(recen)o(t)i (call)195 648 y(to)e Ft(rl_save_prompt)p Fu(.)75 763 y Fl(2.4.7)30 b(Mo)r(difying)20 b(T)-5 b(ext)1650 887 y Fu(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 887 V 21 w(insert)p 378 887 V 21 w(text)k Fg(\()p Ft(char)14 b(*text)p Fg(\))195 942 y Fu(Insert)h Fm(text)h Fu(in)o(to)f(the)h (line)g(at)f(the)g(curren)o(t)g(cursor)g(p)q(osition.)1650 1037 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1037 V 21 w(delete)p 383 1037 V 22 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)f(end)p Fg(\))195 1092 y Fu(Delete)i(the)f(text)g(b)q (et)o(w)o(een)g Fm(start)g Fu(and)h Fm(end)h Fu(in)f(the)g(curren)o(t)f (line.)1650 1187 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1187 V 21 w(cop)n(y)p 421 1187 V 21 w(text)24 b Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 1242 y Fu(Return)h(a)f(cop)o(y)g(of)g(the)g(text)f(b)q(et)o(w)o(een)i Fm(start)f Fu(and)g Fm(end)j Fu(in)e(the)f(curren)o(t)g(line.)1650 1337 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1337 V 21 w(kill)p 311 1337 V 23 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 1392 y Fu(Cop)o(y)j(the)h(text)f(b)q (et)o(w)o(een)h Fm(start)f Fu(and)h Fm(end)i Fu(in)e(the)g(curren)o(t)f (line)i(to)e(the)h(kill)h(ring,)g(ap-)195 1447 y(p)q(ending)15 b(or)f(prep)q(ending)h(to)e(the)h(last)f(kill)j(if)e(the)g(last)f (command)h(w)o(as)f(a)g(kill)i(command.)195 1502 y(The)j(text)f(is)h (deleted.)28 b(If)18 b Fm(start)f Fu(is)h(less)g(than)f Fm(end)p Fu(,)i(the)e(text)g(is)h(app)q(ended,)i(otherwise)195 1556 y(prep)q(ended.)i(If)15 b(the)g(last)h(command)f(w)o(as)f(not)h(a) g(kill,)h(a)f(new)h(kill)h(ring)e(slot)g(is)h(used.)75 1672 y Fl(2.4.8)30 b(Utilit)n(y)21 b(F)-5 b(unctions)1650 1796 y Fu(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1796 V 21 w(read)p 346 1796 V 20 w(k)n(ey)k Fg(\(\))195 1851 y Fu(Return)14 b(the)g(next)g(c)o(haracter)e(a)o(v)m(ailable.)22 b(This)14 b(handles)h(input)f(inserted)h(in)o(to)e(the)h(input)195 1905 y(stream)k(via)g Fm(p)q(ending)j(input)f Fu(\(see)f(Section)g(2.3) f([Readline)i(V)l(ariables],)g(page)e(21\))g(and)195 1960 y Ft(rl_stuff_char)13 b(\(\))p Fu(,)i(macros,)f(and)h(c)o (haracters)g(read)g(from)f(the)i(k)o(eyb)q(oard.)1650 2056 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2056 V 21 w(getc)j Fg(\()p Ft(FILE)14 b(*)p Fg(\))195 2110 y Fu(Return)i(the)f(next)g(c)o(haracter)g(a)o(v)m(ailable)i(from)d(the) h(k)o(eyb)q(oard.)1650 2206 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2206 V 21 w(stu\013)p 346 2206 V 20 w(c)n(har)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 2260 y Fu(Insert)22 b Fm(c)i Fu(in)o(to)e(the)g(Readline)i(input)f(stream.)38 b(It)22 b(will)h(b)q(e)f Ft(")p Fu(read)p Ft(")g Fu(b)q(efore)g (Readline)195 2315 y(attempts)14 b(to)h(read)g(c)o(haracters)f(from)h (the)g(terminal)h(with)f Ft(rl_read_key)f(\(\))p Fu(.)1650 2410 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2410 V 21 w(extend)p 404 2410 V 21 w(line)p 513 2410 V 22 w(bu\013er)j Fg(\()p Ft(int)15 b(len)p Fg(\))195 2465 y Fu(Ensure)f(that)e Ft(rl_line_buffer)g Fu(has)h(enough)h(space)f(to)g (hold)h Fm(len)h Fu(c)o(haracters,)d(p)q(ossibly)195 2520 y(reallo)q(cating)k(it)g(if)f(necessary)l(.)1650 2615 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2615 V 21 w(initiali)q(z)q(e)26 b Fg(\(\))195 2670 y Fu(Initialize)18 b(or)d(re-initialize)j(Readline's)f(in)o(ternal)f(state.)p eop %%Page: 29 31 29 30 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(29)1650 183 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(reset)p 357 183 V 20 w(terminal)j Fg(\()p Ft(char)15 b(*terminal_name)p Fg(\))195 238 y Fu(Reinitializ)q(e)h(Readline's)g(idea)e(of)f(the)h(terminal)g (settings)g(using)g Fm(terminal)p 1501 238 14 2 v 17 w(name)j Fu(as)c(the)195 293 y(terminal)k(t)o(yp)q(e)g(\(e.g.,)e Ft(vt100)p Fu(\).)24 b(If)16 b Fm(terminal)p 987 293 V 18 w(name)j Fu(is)e(NULL,)g(the)g(v)m(alue)h(of)e(the)h Ft(TERM)195 348 y Fu(en)o(vironmen)o(t)e(v)m(ariable)i(is)f(used.)1650 431 y(F)l(unction)-1749 b Fi(int)20 b Fh(alphab)r(etic)k Fg(\()p Ft(int)14 b(c)p Fg(\))195 486 y Fu(Return)i(1)f(if)g Fm(c)j Fu(is)e(an)f(alphab)q(etic)i(c)o(haracter.)1650 570 y(F)l(unction)-1749 b Fi(int)20 b Fh(n)n(umeric)i Fg(\()p Ft(int)15 b(c)p Fg(\))195 624 y Fu(Return)h(1)f(if)g Fm(c)j Fu(is)e(a)f(n)o(umeric)h(c)o(haracter.)1650 708 y(F)l(unction)-1749 b Fi(int)20 b Fh(ding)i Fg(\(\))195 763 y Fu(Ring)16 b(the)f(terminal)h(b)q(ell,)h(ob)q(eying)f(the)g (setting)f(of)g Ft(bell-style)p Fu(.)1650 847 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 847 18 3 v 21 w(displa)n(y)p 435 847 V 22 w(matc)n(h)p 611 847 V 20 w(list)25 b Fg(\()p Ft(char)14 b(**matches,)g(int)g(len,)h(int)283 901 y(max)p Fg(\))195 956 y Fu(A)j(con)o(v)o(enience)i(function)g(for)d(displa)o (ying)j(a)e(list)i(of)e(strings)g(in)h(columnar)g(format)e(on)195 1011 y(Readline's)e(output)e(stream.)18 b Ft(matches)12 b Fu(is)h(the)g(list)h(of)f(strings,)f(in)i(argv)e(format,)g(suc)o(h)h (as)195 1066 y(a)h(list)h(of)e(completion)j(matc)o(hes.)j Ft(len)13 b Fu(is)i(the)f(n)o(um)o(b)q(er)h(of)e(strings)h(in)h Ft(matches)p Fu(,)e(and)h Ft(max)195 1120 y Fu(is)k(the)g(length)h(of)e (the)h(longest)g(string)g(in)h Ft(matches)p Fu(.)27 b(This)18 b(function)h(uses)f(the)g(setting)195 1175 y(of)13 b Ft(print-completions-horizontally)d Fu(to)k(select)g(ho)o(w)g(the)g (matc)o(hes)f(are)h(displa)o(y)o(ed)195 1230 y(\(see)h(Section)h(1.3.1) e([Readline)j(Init)f(File)g(Syn)o(tax],)e(page)h(4\).)137 1314 y(The)h(follo)o(wing)g(are)f(implemen)o(ted)h(as)f(macros,)f (de\014ned)j(in)f Ft(chartypes.h)p Fu(.)1650 1397 y(F)l(unction)-1749 b Fi(int)20 b Fh(upp)r(ercase)p 426 1397 V 19 w(p)j Fg(\()p Ft(int)14 b(c)p Fg(\))195 1452 y Fu(Return)i(1)f(if)g Fm(c)j Fu(is)e(an)f(upp)q(ercase)i(alphab)q(etic)f(c)o(haracter.)1650 1536 y(F)l(unction)-1749 b Fi(int)20 b Fh(lo)n(w)n(ercase)p 409 1536 V 22 w(p)i Fg(\()p Ft(int)15 b(c)p Fg(\))195 1591 y Fu(Return)h(1)f(if)g Fm(c)j Fu(is)e(a)f(lo)o(w)o(ercase)g (alphab)q(etic)i(c)o(haracter.)1650 1674 y(F)l(unction)-1749 b Fi(int)20 b Fh(digit)p 289 1674 V 22 w(p)i Fg(\()p Ft(int)15 b(c)p Fg(\))195 1729 y Fu(Return)h(1)f(if)g Fm(c)j Fu(is)e(a)f(n)o(umeric)h(c)o(haracter.)1650 1813 y(F)l(unction)-1749 b Fi(int)20 b Fh(to)p 227 1813 V 20 w(upp)r(er)i Fg(\()p Ft(int)14 b(c)p Fg(\))195 1867 y Fu(If)21 b Fm(c)i Fu(is)e(a)g(lo)o(w)o(ercase)f(alphab)q(etic)i(c)o (haracter,)f(return)g(the)f(corresp)q(onding)i(upp)q(ercase)195 1922 y(c)o(haracter.)1650 2006 y(F)l(unction)-1749 b Fi(int)20 b Fh(to)p 227 2006 V 20 w(lo)n(w)n(er)k Fg(\()p Ft(int)15 b(c)p Fg(\))195 2061 y Fu(If)j Fm(c)j Fu(is)e(an)f(upp)q (ercase)h(alphab)q(etic)h(c)o(haracter,)e(return)g(the)g(corresp)q (onding)h(lo)o(w)o(ercase)195 2115 y(c)o(haracter.)1650 2199 y(F)l(unction)-1749 b Fi(int)20 b Fh(digit)p 289 2199 V 22 w(v)m(alue)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 2254 y Fu(If)g Fm(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 2357 y Fl(2.4.9)30 b(Alternate)20 b(In)n(terface)137 2451 y Fu(An)j(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: 30 32 30 31 bop 75 -58 a Fu(30)1299 b(GNU)15 b(Readline)i(Library)1650 183 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 183 18 3 v 21 w(callbac)n(k)p 458 183 V 23 w(handler)p 670 183 V 21 w(install)25 b Fg(\()p Ft(char)14 b(*prompt,)g(Vfunction)283 238 y(*lhandler)p Fg(\))195 293 y Fu(Set)i(up)h(the)g(terminal)g(for)f (readline)i(I/O)e(and)h(displa)o(y)g(the)g(initial)h(expanded)g(v)m (alue)f(of)195 348 y Fm(prompt)p Fu(.)24 b(Sa)o(v)o(e)17 b(the)g(v)m(alue)h(of)e Fm(lhandler)22 b Fu(to)17 b(use)g(as)f(a)h (callbac)o(k)h(when)f(a)g(complete)g(line)195 402 y(of)e(input)h(has)f (b)q(een)h(en)o(tered.)1650 498 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 498 V 21 w(callbac)n(k)p 458 498 V 23 w(read)p 591 498 V 20 w(c)n(har)j Fg(\(\))195 553 y Fu(Whenev)o(er)14 b(an)f(application)i(determines)f(that)f(k)o (eyb)q(oard)g(input)h(is)g(a)o(v)m(ailable,)h(it)f(should)195 608 y(call)20 b Ft(rl_callback_read_char\(\))p Fu(,)c(whic)o(h)k(will)g (read)f(the)g(next)g(c)o(haracter)f(from)g(the)195 663 y(curren)o(t)25 b(input)h(source.)48 b(If)25 b(that)g(c)o(haracter)f (completes)h(the)g(line,)k Ft(rl_callback_)195 717 y(read_char)14 b Fu(will)k(in)o(v)o(ok)o(e)e(the)f Fm(lhandler)21 b Fu(function)c(sa)o(v)o(ed)e(b)o(y)h Ft(rl_callback_handler_)195 772 y(install)g Fu(to)h(pro)q(cess)g(the)g(line.)27 b Ft(EOF)17 b Fu(is)h(indicated)g(b)o(y)f(calling)i Fm(lhandler)j Fu(with)c(a)f Ft(NULL)195 827 y Fu(line.)1650 923 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 923 V 21 w(callbac)n(k)p 458 923 V 23 w(handler)p 670 923 V 21 w(remo)n(v)n(e)i Fg(\(\))195 977 y Fu(Restore)15 b(the)g(terminal)g(to)g(its)g(initial)i(state)d (and)h(remo)o(v)o(e)f(the)h(line)h(handler.)21 b(This)16 b(ma)o(y)195 1032 y(b)q(e)g(called)h(from)d(within)j(a)d(callbac)o(k)j (as)d(w)o(ell)j(as)d(indep)q(enden)o(tly)m(.)75 1148 y Fl(2.4.10)29 b(An)21 b(Example)137 1246 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 1301 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 1356 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 1410 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 1477 y Ft(/*)24 b(Invert)f(the)g(case)g(of)h(the)f(COUNT)h(following)e(characters.)h (*/)195 1528 y(int)195 1580 y(invert_case_line)f(\(count,)h(key\))314 1632 y(int)h(count,)f(key;)195 1684 y({)243 1736 y(register)f(int)i (start,)f(end,)g(i;)243 1840 y(start)g(=)h(rl_point;)243 1944 y(if)f(\(rl_point)g(>=)h(rl_end\))290 1995 y(return)f(\(0\);)243 2099 y(if)g(\(count)g(<)h(0\))290 2151 y({)338 2203 y(direction)f(=)h (-1;)338 2255 y(count)f(=)h(-count;)290 2307 y(})243 2359 y(else)290 2411 y(direction)f(=)h(1;)243 2514 y(/*)f(Find)h(the)f (end)h(of)f(the)h(range)f(to)g(modify.)g(*/)243 2566 y(end)g(=)h(start)f(+)h(\(count)f(*)h(direction\);)243 2670 y(/*)f(Force)g(it)h(to)g(be)f(within)g(range.)g(*/)p eop %%Page: 31 33 31 32 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(31)243 183 y Ft(if)23 b(\(end)h(>)f(rl_end\))290 235 y(end)h(=)g(rl_end;)243 287 y(else)f(if)h(\(end)f(<)h(0\))290 339 y(end)g(=)g(0;)243 443 y(if)f(\(start)g(==)h(end\))290 495 y(return)f(\(0\);)243 598 y(if)g(\(start)g(>)h(end\))290 650 y({)338 702 y(int)g(temp)f(=)h(start;)338 754 y(start)f(=)h(end;) 338 806 y(end)g(=)f(temp;)290 858 y(})243 962 y(/*)g(Tell)h(readline)e (that)i(we)f(are)h(modifying)e(the)i(line,)f(so)h(it)f(will)h(save)314 1013 y(the)g(undo)f(information.)f(*/)243 1065 y(rl_modifying)g (\(start,)h(end\);)243 1169 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f (i++\))290 1221 y({)338 1273 y(if)h(\(uppercase_p)e (\(rl_line_buffer[i]\)\))386 1325 y(rl_line_buffer[i])f(=)j(to_lower)f (\(rl_line_buffer[i]\);)338 1377 y(else)g(if)h(\(lowercase_p)e (\(rl_line_buffer[i]\)\))386 1429 y(rl_line_buffer[i])f(=)j(to_upper)f (\(rl_line_buffer[i]\);)290 1480 y(})243 1532 y(/*)g(Move)h(point)f(to) g(on)h(top)f(of)h(the)f(last)h(character)e(changed.)h(*/)243 1584 y(rl_point)f(=)i(\(direction)f(==)g(1\))h(?)g(end)f(-)h(1)g(:)f (start;)243 1636 y(return)g(\(0\);)195 1688 y(})75 1835 y Fs(2.5)33 b(Readline)23 b(Signal)h(Handling)137 1938 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 1993 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 2048 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 2102 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 2157 y(Since)i(Readline)g(c)o(hanges)f(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 2212 y(pro)q(cessing)22 b(when)f(a)g(signal)h(is)g(receiv)o(ed)g(to)e (restore)g(the)i(terminal)f(to)g(a)g(sane)g(state,)g(or)f(pro)o(vide)75 2267 y(application)d(writers)e(with)g(functions)h(to)f(do)g(so)g(man)o (ually)l(.)137 2341 y(Readline)23 b(con)o(tains)d(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 2396 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 2451 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)75 2506 y(w)o(ere)22 b(in)h(e\013ect)f(b)q(efore)g Ft(readline)14 b(\(\))22 b Fu(w)o(as)f(called,)k(reset)d(the)g(signal)h (handling)h(to)d(what)g(it)i(w)o(as)75 2560 y(b)q(efore)e Ft(readline)14 b(\(\))20 b Fu(w)o(as)f(called,)k(and)e(resend)g(the)f (signal)i(to)d(the)i(calling)h(application.)37 b(If)21 b(and)75 2615 y(when)15 b(the)f(calling)i(application's)g(signal)f (handler)g(returns,)f(Readline)j(will)e(reinitialize)j(the)c(terminal) 75 2670 y(and)21 b(con)o(tin)o(ue)h(to)e(accept)h(input.)39 b(When)21 b(a)g Ft(SIGINT)f Fu(is)h(receiv)o(ed,)j(the)d(Readline)i (signal)f(handler)p eop %%Page: 32 34 32 33 bop 75 -58 a Fu(32)1299 b(GNU)15 b(Readline)i(Library)75 183 y(p)q(erforms)h(some)f(additional)j(w)o(ork,)d(whic)o(h)i(will)h (cause)e(an)o(y)g(partially-en)o(tered)h(line)h(to)d(b)q(e)i(ab)q (orted)75 238 y(\(see)c(the)g(description)i(of)e Ft(rl_free_line_state) e(\(\))p Fu(\).)137 307 y(There)i(is)h(an)f(additional)h(Readline)h (signal)f(handler,)g(for)e Ft(SIGWINCH)p Fu(,)g(whic)o(h)h(the)g(k)o (ernel)h(sends)g(to)75 362 y(a)i(pro)q(cess)h(whenev)o(er)h(the)e (terminal's)h(size)h(c)o(hanges)f(\(for)f(example,)i(if)f(a)f(user)h (resizes)h(an)e Ft(xterm)p Fu(\).)75 417 y(The)k(Readline)h Ft(SIGWINCH)d Fu(handler)j(up)q(dates)e(Readline's)i(in)o(ternal)g (screen)e(size)i(state,)e(and)h(then)75 472 y(calls)c(an)o(y)f Ft(SIGWINCH)e Fu(signal)j(handler)g(the)f(calling)i(application)f(has)f (installed.)27 b(Readline)19 b(calls)f(the)75 527 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 581 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 636 y(return)e(\(for)f(example,)h(a)g Ft(longjmp)f Fu(bac)o(k)g(to)h(a)f (main)h(pro)q(cessing)h(lo)q(op\),)f(it)g Fm(m)o(ust)g Fu(call)i Ft(rl_cleanup_)75 691 y(after_signal)d(\(\))g Fu(\(describ)q(ed)j(b)q(elo)o(w\),)e(to)g(restore)f(the)i(terminal)g (state.)137 760 y(Readline)h(pro)o(vides)e(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 815 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 870 y(applications)j(c)o (hange)e(the)g(v)m(alues)i(of)d(these)i(v)m(ariables)g(only)g(when)g (calling)g Ft(readline)d(\(\))p Fu(,)h(not)h(in)h(a)75 925 y(signal)e(handler,)g(so)f(Readline's)i(in)o(ternal)f(signal)g (state)e(is)i(not)f(corrupted.)1661 1021 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1021 18 3 v 21 w(catc)n(h)p 366 1021 V 22 w(signals)195 1076 y Fu(If)h(this)h(v)m(ariable)g(is)g (non-zero,)g(Readline)i(will)e(install)h(signal)f(handlers)g(for)e Ft(SIGINT)p Fu(,)195 1131 y Ft(SIGQUIT)p Fu(,)14 b Ft(SIGTERM)p Fu(,)g Ft(SIGALRM)p Fu(,)f Ft(SIGTSTP)p Fu(,)h Ft(SIGTTIN)p Fu(,)g(and)h Ft(SIGTTOU)p Fu(.)195 1200 y(The)g(default)h(v)m(alue)h (of)d Ft(rl_catch_signals)f Fu(is)j(1.)1661 1297 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1297 V 21 w(catc)n(h)p 366 1297 V 22 w(sigwinc)n(h)195 1351 y Fu(If)15 b(this)h(v)m(ariable)g(is)g (non-zero,)f(Readline)i(will)g(install)f(a)f(signal)h(handler)g(for)e Ft(SIGWINCH)p Fu(.)195 1421 y(The)h(default)h(v)m(alue)h(of)d Ft(rl_catch_sigwinch)f Fu(is)j(1.)137 1517 y(If)g(an)f(application)j (do)q(es)d(not)g(wish)i(to)d(ha)o(v)o(e)h(Readline)j(catc)o(h)e(an)o(y) f(signals,)h(or)f(to)f(handle)j(signals)75 1572 y(other)i(than)g(those) g(Readline)j(catc)o(hes)d(\()p Ft(SIGHUP)p Fu(,)g(for)g(example\),)h (Readline)i(pro)o(vides)d(con)o(v)o(enience)75 1627 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.)1650 1723 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1723 V 21 w(clean)n(up)p 450 1723 V 22 w(after)p 590 1723 V 20 w(signal)j Fg(\()p Ft(void)p Fg(\))195 1778 y Fu(This)12 b(function)h(will)g(reset)f(the)g(state)f(of)g(the)h(terminal)h(to)e (what)g(it)h(w)o(as)f(b)q(efore)h Ft(readline)195 1833 y(\(\))f Fu(w)o(as)f(called,)j(and)e(remo)o(v)o(e)g(the)g(Readline)i (signal)f(handlers)g(for)e(all)i(signals,)h(dep)q(ending)195 1888 y(on)i(the)g(v)m(alues)i(of)e Ft(rl_catch_signals)d Fu(and)k Ft(rl_catch_sigwinch)p Fu(.)1650 1984 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1984 V 21 w(free)p 356 1984 V 20 w(line)p 464 1984 V 23 w(state)j Fg(\()p Ft(void)p Fg(\))195 2039 y Fu(This)e(will)h(free)e(an)o(y)g(partial)g(state)g (asso)q(ciated)g(with)g(the)h(curren)o(t)f(input)h(line)h(\(undo)195 2094 y(information,)d(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,)195 2148 y(and)c(an)o(y)f(partially-en)o(tered)i(n)o(umeric)f(argumen)o (t\).)k(This)c(should)h(b)q(e)f(called)h(b)q(efore)e Ft(rl_)195 2203 y(cleanup_after_signal)f(\(\))p Fu(.)23 b(The)16 b(Readline)j(signal)e(handler)g(for)f Ft(SIGINT)f Fu(calls)j(this)195 2258 y(to)d(ab)q(ort)f(the)h(curren)o(t)h(input)g (line.)1650 2354 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 2354 V 21 w(reset)p 383 2354 V 20 w(after)p 521 2354 V 21 w(signal)j Fg(\()p Ft(void)p Fg(\))195 2409 y Fu(This)d(will)h (reinitialize)i(the)c(terminal)i(and)e(reinstall)i(an)o(y)e(Readline)j (signal)e(handlers,)195 2464 y(dep)q(ending)d(on)f(the)f(v)m(alues)h (of)f Ft(rl_catch_signals)e Fu(and)i Ft(rl_catch_sigwinch)p Fu(.)137 2560 y(If)20 b(an)g(application)h(do)q(es)f(not)g(wish)g (Readline)i(to)d(catc)o(h)g Ft(SIGWINCH)p Fu(,)h(it)g(ma)o(y)f(call)h Ft(rl_resize_)75 2615 y(terminal)14 b(\(\))i Fu(to)g(force)g(Readline)j (to)d(up)q(date)h(its)g(idea)g(of)f(the)g(terminal)i(size)f(when)g(a)f Ft(SIGWINCH)f Fu(is)75 2670 y(receiv)o(ed.)p eop %%Page: 33 35 33 34 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(33)1650 183 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 183 18 3 v 21 w(resize)p 401 183 V 22 w(terminal)j Fg(\()p Ft(void)p Fg(\))195 238 y Fu(Up)q(date)16 b(Readline's)h(in)o (ternal)f(screen)f(size.)137 319 y(The)h(follo)o(wing)g(functions)g (install)g(and)g(remo)o(v)o(e)e(Readline's)j(signal)f(handlers.)1650 399 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 399 V 21 w(set)p 307 399 V 20 w(signals)j Fg(\()p Ft(void)p Fg(\))195 454 y Fu(Install)28 b(Readline's)g(signal)f(handler)h(for)e Ft(SIGINT)p Fu(,)i Ft(SIGQUIT)p Fu(,)f Ft(SIGTERM)p Fu(,)h Ft(SIGALRM)p Fu(,)195 509 y Ft(SIGTSTP)p Fu(,)19 b Ft(SIGTTIN)p Fu(,)h Ft(SIGTTOU)p Fu(,)f(and)h Ft(SIGWINCH)p Fu(,)g(dep)q(ending)i (on)d(the)h(v)m(alues)h(of)e Ft(rl_)195 564 y(catch_signals)13 b Fu(and)j Ft(rl_catch_sigwinch)p Fu(.)1650 644 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 644 V 21 w(clear)p 354 644 V 21 w(signals)j Fg(\()p Ft(void)p Fg(\))195 699 y Fu(Remo)o(v)o(e)15 b(all)h(of)f(the)g(Readline)j(signal)e(handlers)g(installed)h(b)o(y)e Ft(rl_set_signals)e(\(\))p Fu(.)75 816 y Fs(2.6)33 b(Custom)21 b(Completers)137 908 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 963 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 1018 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 1073 y(co)q(op)q(erate)g(to)g(pro)o(vide)g(this)h(service.)75 1173 y Fl(2.6.1)30 b(Ho)n(w)21 b(Completing)f(W)-5 b(orks)137 1266 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 1321 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 1375 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)i(library)e (pro)o(vides)g(the)g(user)75 1430 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 1485 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 1540 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 1603 y(There)g(are)f(three)g(ma)s(jor)f(functions)i(used)f(to)g(p)q (erform)g(completion:)100 1667 y(1.)29 b(The)21 b(user-in)o(terface)g (function)g Ft(rl_complete)14 b(\(\))p Fu(.)35 b(This)21 b(function)g(is)g(called)h(with)f(the)f(same)165 1721 y(argumen)o(ts)c(as)g(other)h(Readline)i(functions)f(in)o(tended)g(for) e(in)o(teractiv)o(e)i(use:)23 b Fm(coun)o(t)18 b Fu(and)f Fm(in)o(v)o(ok-)165 1776 y(ing)p 228 1776 14 2 v 17 w(k)o(ey)p Fu(.)34 b(It)20 b(isolates)g(the)g(w)o(ord)f(to)h(b)q(e)g(completed)h (and)f(calls)h Ft(completion_matches)13 b(\(\))20 b Fu(to)165 1831 y(generate)f(a)f(list)i(of)e(p)q(ossible)j(completions.)32 b(It)18 b(then)i(either)f(lists)h(the)f(p)q(ossible)h(completions,)165 1886 y(inserts)g(the)f(p)q(ossible)j(completions,)f(or)e(actually)h(p)q (erforms)f(the)h(completion,)h(dep)q(ending)h(on)165 1940 y(whic)o(h)16 b(b)q(eha)o(vior)g(is)f(desired.)100 2004 y(2.)29 b(The)11 b(in)o(ternal)g(function)g Ft(completion_matches) i(\(\))d Fu(uses)h(y)o(our)e Fm(generator)k Fu(function)e(to)f (generate)165 2059 y(the)16 b(list)h(of)f(p)q(ossible)i(matc)o(hes,)d (and)h(then)h(returns)f(the)g(arra)o(y)f(of)g(these)i(matc)o(hes.)22 b(Y)l(ou)16 b(should)165 2113 y(place)g(the)f(address)h(of)e(y)o(our)h (generator)f(function)i(in)g Ft(rl_completion_entry_function)p Fu(.)100 2177 y(3.)29 b(The)19 b(generator)e(function)j(is)f(called)h (rep)q(eatedly)f(from)f Ft(completion_matches)13 b(\(\))p Fu(,)18 b(returning)165 2232 y(a)e(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 Fm(text)h Fu(and)g Fm(state)p Fu(.)22 b Fm(text)165 2286 y Fu(is)17 b(the)f(partial)g(w)o(ord)f(to)h(b)q(e)h(completed.)23 b Fm(state)18 b Fu(is)e(zero)g(the)g(\014rst)g(time)g(the)g(function)h (is)g(called,)165 2341 y(allo)o(wing)f(the)e(generator)g(to)g(p)q (erform)h(an)o(y)f(necessary)h(initialization,)j(and)d(a)f(p)q(ositiv)o (e)i(non-zero)165 2396 y(in)o(teger)i(for)f(eac)o(h)g(subsequen)o(t)h (call.)28 b(When)18 b(the)g(generator)f(function)h(returns)f Ft(\(char)e(*\)NULL)165 2451 y Fu(this)h(signals)h Ft (completion_matches)c(\(\))i Fu(that)g(there)h(are)g(no)g(more)f(p)q (ossibilitie)q(s)j(left.)23 b(Usually)165 2506 y(the)c(generator)g (function)h(computes)g(the)f(list)h(of)f(p)q(ossible)i(completions)g (when)e Fm(state)j Fu(is)d(zero,)165 2560 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 2615 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)19 b(frees)d(the)g(strings)f (when)165 2670 y(it)g(has)h(\014nished)g(with)g(them.)p eop %%Page: 34 36 34 35 bop 75 -58 a Fu(34)1299 b(GNU)15 b(Readline)i(Library)1650 183 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h (invoking_key)p Fg(\))195 238 y Fu(Complete)20 b(the)g(w)o(ord)f(at)g (or)g(b)q(efore)h(p)q(oin)o(t.)34 b(Y)l(ou)20 b(ha)o(v)o(e)f(supplied)j (the)e(function)h(that)195 293 y(do)q(es)15 b(the)g(initial)h(simple)h (matc)o(hing)d(selection)i(algorithm)f(\(see)f Ft(completion_matches) 195 348 y(\(\))p Fu(\).)19 b(The)d(default)f(is)h(to)f(do)g(\014lename) h(completion.)1661 448 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 448 V 21 w(completion)p 686 448 V 21 w(en)n(try)p 839 448 V 21 w(function)195 503 y Fu(This)c(is)f(a)g(p)q (oin)o(ter)g(to)g(the)g(generator)f(function)i(for)e Ft(completion_matches)f(\(\))p Fu(.)20 b(If)15 b(the)195 558 y(v)m(alue)21 b(of)e Ft(rl_completion_entry_functio)o(n)e Fu(is)j Ft(\(Function)14 b(*\)NULL)19 b Fu(then)h(the)f(de-)195 613 y(fault)11 b(\014lename)h(generator)d(function,)j Ft(filename_completion_function)g(\(\))p Fu(,)f(is)g(used.)75 734 y Fl(2.6.2)30 b(Completion)20 b(F)-5 b(unctions)137 834 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.)1650 935 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 935 V 21 w(complete)p 460 935 V 21 w(in)n(ternal)k Fg(\()p Ft(int)15 b(what_to_do)p Fg(\))195 990 y Fu(Complete)k(the)f(w)o(ord)g (at)g(or)g(b)q(efore)g(p)q(oin)o(t.)30 b Fm(what)p 1105 990 14 2 v 16 w(to)p 1162 990 V 16 w(do)21 b Fu(sa)o(ys)c(what)h(to)g (do)g(with)h(the)195 1045 y(completion.)33 b(A)19 b(v)m(alue)h(of)f(`)p Ft(?)p Fu(')f(means)h(list)h(the)f(p)q(ossible)i(completions.)33 b(`)p Ft(TAB)p Fu(')18 b(means)195 1099 y(do)g(standard)g(completion.) 30 b(`)p Ft(*)p Fu(')18 b(means)g(insert)g(all)i(of)d(the)i(p)q (ossible)h(completions.)30 b(`)p Ft(!)p Fu(')195 1154 y(means)17 b(to)f(displa)o(y)i(all)g(of)e(the)h(p)q(ossible)i (completions,)f(if)f(there)g(is)g(more)g(than)f(one,)h(as)195 1209 y(w)o(ell)f(as)f(p)q(erforming)h(partial)f(completion.)1650 1310 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1310 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h (invoking_key)p Fg(\))195 1365 y Fu(Complete)20 b(the)g(w)o(ord)f(at)g (or)g(b)q(efore)h(p)q(oin)o(t.)34 b(Y)l(ou)20 b(ha)o(v)o(e)f(supplied)j (the)e(function)h(that)195 1419 y(do)q(es)15 b(the)g(initial)h(simple)h (matc)o(hing)d(selection)i(algorithm)f(\(see)f Ft(completion_matches) 195 1474 y(\(\))h Fu(and)h Ft(rl_completion_entry_functi)o(on)p Fu(\).)i(The)e(default)g(is)g(to)f(do)g(\014lename)i(com-)195 1529 y(pletion.)k(This)15 b(calls)g Ft(rl_complete_internal)e(\(\))h Fu(with)h(an)f(argumen)o(t)f(dep)q(ending)k(on)195 1584 y Fm(in)o(v)o(oking)p 364 1584 14 2 v 17 w(k)o(ey)p Fu(.)1650 1685 y(F)l(unction)-1749 b Fi(int)19 b Fh(rl)p 214 1685 18 3 v 21 w(p)r(ossible)p 432 1685 V 20 w(completions)k Fg(\()p Ft(int)15 b(count,)f(int)h(invoking_key)p Fg(\)\))195 1739 y Fu(List)k(the)f(p)q(ossible)i(completions.)29 b(See)19 b(description)h(of)d Ft(rl_complete)d(\(\))p Fu(.)28 b(This)19 b(calls)195 1794 y Ft(rl_complete_internal)12 b(\(\))j Fu(with)h(an)f(argumen)o(t)f(of)h(`)p Ft(?)p Fu('.)1650 1895 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1895 V 21 w(insert)p 378 1895 V 21 w(completions)j Fg(\()p Ft(int)14 b(count,)g(int)h(invoking_key)p Fg(\)\))195 1950 y Fu(Insert)24 b(the)h(list)f(of)g(p)q(ossible)i(completions)f(in) o(to)f(the)g(line,)k(deleting)e(the)e(partially-)195 2004 y(completed)16 b(w)o(ord.)j(See)c(description)i(of)d Ft(rl_complete)g(\(\))p Fu(.)19 b(This)d(calls)g Ft(rl_complete_)195 2059 y(internal)e(\(\))h Fu(with)g(an)h(argumen)o(t)e(of)h(`)p Ft(*)p Fu('.)1650 2160 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(completion)p 547 2160 V 21 w(matc)n(hes)j Fg(\()p Ft(char)15 b(*text,)f(CPFunction)283 2215 y(*entry_func)p Fg(\))195 2270 y Fu(Returns)f(an)f(arra)o(y)f(of)h Ft(\(char)j(*\))d Fu(whic)o(h)h(is)g(a)f(list)h(of)f(completions)i(for)e Fm(text)p Fu(.)18 b(If)13 b(there)f(are)195 2324 y(no)17 b(completions,)g(returns)g Ft(\(char)d(**\)NULL)p Fu(.)23 b(The)17 b(\014rst)f(en)o(try)g(in)i(the)e(returned)h(arra)o(y)195 2379 y(is)c(the)h(substitution)f(for)g Fm(text)p Fu(.)18 b(The)13 b(remaining)i(en)o(tries)e(are)f(the)i(p)q(ossible)g (completions.)195 2434 y(The)h(arra)o(y)f(is)i(terminated)g(with)f(a)g Ft(NULL)g Fu(p)q(oin)o(ter.)195 2506 y Fm(en)o(try)p 302 2506 14 2 v 16 w(func)g Fu(is)d(a)f(function)h(of)g(t)o(w)o(o)e (args,)h(and)g(returns)h(a)f Ft(\(char)k(*\))p Fu(.)j(The)12 b(\014rst)f(argumen)o(t)195 2560 y(is)j Fm(text)p Fu(.)19 b(The)14 b(second)g(is)g(a)f(state)f(argumen)o(t;)h(it)h(is)g(zero)f (on)h(the)f(\014rst)g(call,)i(and)f(non-zero)195 2615 y(on)g(subsequen)o(t)g(calls.)21 b Fm(en)o(try)p 714 2615 V 16 w(func)c Fu(returns)d(a)f Ft(NULL)h Fu(p)q(oin)o(ter)g(to)f (the)h(caller)h(when)g(there)195 2670 y(are)g(no)g(more)g(matc)o(hes.)p eop %%Page: 35 37 35 36 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(35)1650 183 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(\014lename)p 455 183 18 3 v 20 w(completion)p 749 183 V 21 w(function)k Fg(\()p Ft(char)15 b(*text,)f(int)283 238 y(state)p Fg(\))195 293 y Fu(A)19 b(generator)g(function)h(for)f (\014lename)h(completion)h(in)f(the)f(general)h(case.)33 b(Note)19 b(that)195 348 y(completion)e(in)f(Bash)f(is)h(a)f(little)i (di\013eren)o(t)f(b)q(ecause)g(of)f(all)h(the)g(pathnames)f(that)g(m)o (ust)195 402 y(b)q(e)i(follo)o(w)o(ed)g(when)g(lo)q(oking)h(up)f (completions)h(for)e(a)g(command.)24 b(The)17 b(Bash)g(source)f(is)195 457 y(a)f(useful)h(reference)g(for)f(writing)g(custom)g(completion)h (functions.)1650 539 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(username)p 487 539 V 19 w(completion)p 780 539 V 21 w(function)k Fg(\()p Ft(char)14 b(*text,)g(int)283 594 y(state)p Fg(\))195 649 y Fu(A)k(completion)g(generator)f(for)g (usernames.)28 b Fm(text)18 b Fu(con)o(tains)f(a)h(partial)g(username)g (pre-)195 704 y(ceded)f(b)o(y)f(a)g(random)f(c)o(haracter)h(\(usually)h (`)p Ft(~)p Fu('\).)k(As)16 b(with)g(all)h(completion)g(generators,)195 759 y Fm(state)g Fu(is)f(zero)f(on)g(the)g(\014rst)g(call)h(and)g (non-zero)f(for)g(subsequen)o(t)h(calls.)75 861 y Fl(2.6.3)30 b(Completion)20 b(V)-5 b(ariables)1661 972 y Fu(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 972 V 21 w(completion)p 686 972 V 21 w(en)n(try)p 839 972 V 21 w(function)195 1026 y Fu(A)c(p)q(oin)o(ter)h(to)e(the)i(generator)e(function)i(for)e Ft(completion_matches)e(\(\))p Fu(.)22 b Ft(NULL)16 b Fu(means)195 1081 y(to)f(use)g Ft(filename_completion_functio)o(n)d (\(\))p Fu(,)j(the)g(default)h(\014lename)g(completer.)1661 1163 y(V)l(ariable)-1749 b Fi(CPPFunction)21 b(*)e Fh(rl)p 469 1163 V 21 w(attempted)p 749 1163 V 20 w(completion)p 1043 1163 V 21 w(function)195 1218 y Fu(A)d(p)q(oin)o(ter)h(to)f(an)g (alternativ)o(e)h(function)g(to)f(create)g(matc)o(hes.)23 b(The)16 b(function)i(is)e(called)195 1273 y(with)f Fm(text)p Fu(,)g Fm(start)p Fu(,)e(and)i Fm(end)p Fu(.)21 b Fm(start)15 b Fu(and)g Fm(end)i Fu(are)e(indices)i(in)f Ft(rl_line_buffer)d Fu(sa)o(ying)195 1328 y(what)22 b(the)h(b)q(oundaries)h(of)e Fm(text)h Fu(are.)42 b(If)23 b(this)g(function)h(exists)f(and)f (returns)h Ft(NULL)p Fu(,)195 1383 y(or)c(if)h(this)g(v)m(ariable)h(is) f(set)g(to)e Ft(NULL)p Fu(,)i(then)g Ft(rl_complete)14 b(\(\))19 b Fu(will)i(call)g(the)f(v)m(alue)g(of)195 1437 y Ft(rl_completion_entry_functi)o(on)14 b Fu(to)j(generate)g(matc) o(hes,)g(otherwise)g(the)g(arra)o(y)f(of)195 1492 y(strings)f(returned) h(will)h(b)q(e)e(used.)1661 1574 y(V)l(ariable)-1749 b Fi(CPFunction)21 b(*)e Fh(rl)p 443 1574 V 21 w(\014lename)p 672 1574 V 20 w(quoting)p 881 1574 V 21 w(function)195 1629 y Fu(A)g(p)q(oin)o(ter)g(to)f(a)h(function)g(that)g(will)h(quote)f (a)f(\014lename)i(in)g(an)e(application-)j(sp)q(eci\014c)195 1684 y(fashion.)33 b(This)20 b(is)g(called)h(if)f(\014lename)g (completion)h(is)f(b)q(eing)g(attempted)f(and)h(one)f(of)195 1739 y(the)13 b(c)o(haracters)f(in)h Ft(rl_filename_quote_characte)o (rs)d Fu(app)q(ears)i(in)i(a)e(completed)i(\014le-)195 1793 y(name.)29 b(The)18 b(function)h(is)g(called)h(with)e Fm(text)p Fu(,)g Fm(matc)o(h)p 1144 1793 14 2 v 16 w(t)o(yp)q(e)p Fu(,)h(and)f Fm(quote)p 1480 1793 V 16 w(p)q(oin)o(ter)p Fu(.)30 b(The)195 1848 y Fm(text)17 b Fu(is)h(the)f(\014lename)h(to)e (b)q(e)h(quoted.)25 b(The)17 b Fm(matc)o(h)p 1115 1848 V 16 w(t)o(yp)q(e)i Fu(is)f(either)f Ft(SINGLE_MATCH)p Fu(,)e(if)195 1903 y(there)j(is)g(only)h(one)f(completion)h(matc)o(h,)f (or)f Ft(MULT_MATCH)p Fu(.)27 b(Some)18 b(functions)g(use)h(this)195 1958 y(to)13 b(decide)i(whether)f(or)g(not)f(to)g(insert)h(a)f(closing) i(quote)f(c)o(haracter.)k(The)c Fm(quote)p 1600 1958 V 16 w(p)q(oin)o(ter)195 2013 y Fu(is)20 b(a)g(p)q(oin)o(ter)g(to)f(an) o(y)g(op)q(ening)i(quote)e(c)o(haracter)g(the)h(user)g(t)o(yp)q(ed.)34 b(Some)19 b(functions)195 2067 y(c)o(ho)q(ose)c(to)g(reset)g(this)g(c)o (haracter.)1661 2150 y(V)l(ariable)-1749 b Fi(CPFunction)21 b(*)e Fh(rl)p 443 2150 18 3 v 21 w(\014lename)p 672 2150 V 20 w(dequoting)p 939 2150 V 21 w(function)195 2204 y Fu(A)14 b(p)q(oin)o(ter)g(to)e(a)i(function)g(that)f(will)i(remo)o(v) o(e)e(application-sp)q(eci\014c)k(quoting)d(c)o(haracters)195 2259 y(from)21 b(a)g(\014lename)h(b)q(efore)f(completion)i(is)f (attempted,)g(so)f(those)g(c)o(haracters)f(do)h(not)195 2314 y(in)o(terfere)e(with)f(matc)o(hing)h(the)f(text)g(against)g (names)g(in)h(the)f(\014lesystem.)30 b(It)19 b(is)f(called)195 2369 y(with)g Fm(text)p Fu(,)g(the)g(text)g(of)g(the)g(w)o(ord)f(to)g (b)q(e)i(dequoted,)g(and)f Fm(quote)p 1381 2369 14 2 v 16 w(c)o(har)p Fu(,)g(whic)o(h)h(is)g(the)195 2424 y(quoting)e(c)o(haracter)f(that)g(delimits)i(the)f(\014lename)h (\(usually)f(`)p Ft(')p Fu(')f(or)g(`)p Ft(")p Fu('\).)23 b(If)17 b Fm(quote)p 1657 2424 V 16 w(c)o(har)195 2478 y Fu(is)f(zero,)e(the)i(\014lename)g(w)o(as)e(not)h(in)h(an)f(em)o(b)q (edded)i(string.)1661 2560 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2560 18 3 v 21 w(c)n(har)p 519 2560 V 20 w(is)p 577 2560 V 22 w(quoted)p 770 2560 V 20 w(p)195 2615 y Fu(A)c(p)q(oin)o(ter)g(to)f(a)h(function)g(to)g(call)g(that)g (determines)g(whether)g(or)g(not)f(a)g(sp)q(eci\014c)j(c)o(har-)195 2670 y(acter)12 b(in)i(the)f(line)i(bu\013er)e(is)g(quoted,)g (according)h(to)e(whatev)o(er)g(quoting)h(mec)o(hanism)h(the)p eop %%Page: 36 38 36 37 bop 75 -58 a Fu(36)1299 b(GNU)15 b(Readline)i(Library)195 183 y(program)12 b(calling)j(readline)g(uses.)20 b(The)13 b(function)h(is)g(called)h(with)f(t)o(w)o(o)e(argumen)o(ts:)18 b Fm(text)p Fu(,)195 238 y(the)11 b(text)g(of)g(the)g(line,)i(and)f Fm(index)p Fu(,)g(the)g(index)g(of)f(the)g(c)o(haracter)g(in)h(the)f (line.)20 b(It)11 b(is)h(used)g(to)195 293 y(decide)20 b(whether)e(a)g(c)o(haracter)g(found)h(in)g Ft (rl_completer_word_break_)o(charact)o(ers)195 348 y Fu(should)d(b)q(e)g (used)g(to)e(break)i(w)o(ords)e(for)h(the)g(completer.)1661 447 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 447 18 3 v 21 w(completion)p 510 447 V 21 w(query)p 673 447 V 21 w(items)195 502 y Fu(Up)d(to)e(this)i(man)o(y)f(items)h(will)h(b)q (e)f(displa)o(y)o(ed)g(in)g(resp)q(onse)g(to)f(a)g(p)q (ossible-completions)195 557 y(call.)26 b(After)16 b(that,)g(w)o(e)h (ask)f(the)h(user)g(if)g(she)g(is)h(sure)e(she)i(w)o(an)o(ts)d(to)h (see)h(them)g(all.)26 b(The)195 612 y(default)16 b(v)m(alue)g(is)g (100.)1661 712 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 712 V 21 w(basic)p 430 712 V 21 w(w)n(ord)p 575 712 V 21 w(break)p 736 712 V 20 w(c)n(haracters)195 766 y Fu(The)13 b(basic)h(list)f(of)g(c)o(haracters)f(that)g(signal)i (a)e(break)h(b)q(et)o(w)o(een)g(w)o(ords)f(for)g(the)h(completer)195 821 y(routine.)20 b(The)c(default)g(v)m(alue)g(of)f(this)g(v)m(ariable) i(is)f(the)f(c)o(haracters)g(whic)o(h)h(break)f(w)o(ords)195 876 y(for)g(completion)h(in)g(Bash,)f(i.e.,)g Ft(")g (\\t\\n\\"\\\\'`@$><=;|&{\(")p Fu(.)1661 976 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 976 V 21 w(basic)p 430 976 V 21 w(quote)p 590 976 V 21 w(c)n(haracters)195 1030 y Fu(List)d(of)f(quote)g(c)o(haracters)f(whic)o(h)i(can)f(cause)h(a)f (w)o(ord)f(break.)1661 1130 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1130 V 21 w(completer)p 555 1130 V 21 w(w)n(ord)p 700 1130 V 20 w(break)p 860 1130 V 20 w(c)n(haracters)195 1185 y Fu(The)j(list)g(of)f(c)o(haracters)g(that)g (signal)h(a)g(break)f(b)q(et)o(w)o(een)h(w)o(ords)f(for)g Ft(rl_complete_)195 1240 y(internal)14 b(\(\))p Fu(.)k(The)10 b(default)h(list)g(is)g(the)f(v)m(alue)h(of)f Ft (rl_basic_word_break_charac)o(ters)p Fu(.)p 1909 1244 21 36 v 1661 1340 a(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1340 18 3 v 21 w(completer)p 555 1340 V 21 w(quote)p 715 1340 V 21 w(c)n(haracters)195 1394 y Fu(List)11 b(of)g(c)o(haracters)f(whic)o(h)h(can)g(b)q(e)h(used)f(to)g(quote)f(a)h (substring)g(of)f(the)h(line.)20 b(Completion)195 1449 y(o)q(ccurs)c(on)g(the)g(en)o(tire)g(substring,)g(and)g(within)h(the)e (substring)h Ft(rl_completer_word_)195 1504 y(break_characters)d Fu(are)h(treated)g(as)h(an)o(y)f(other)g(c)o(haracter,)g(unless)i(they) f(also)g(app)q(ear)195 1559 y(within)h(this)g(list.)1661 1658 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1658 V 21 w(\014lename)p 515 1658 V 20 w(quote)p 674 1658 V 21 w(c)n(haracters)195 1713 y Fu(A)d(list)g(of)g(c)o(haracters)e (that)h(cause)h(a)g(\014lename)h(to)e(b)q(e)h(quoted)g(b)o(y)f(the)h (completer)g(when)195 1768 y(they)f(app)q(ear)h(in)g(a)f(completed)h (\014lename.)21 b(The)15 b(default)h(is)g(the)f(n)o(ull)i(string.)1661 1868 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1868 V 21 w(sp)r(ecial)p 473 1868 V 22 w(pre\014xes)195 1923 y Fu(The)14 b(list)h(of)e(c)o(haracters)g(that)g(are)g(w)o(ord)g (break)h(c)o(haracters,)f(but)h(should)g(b)q(e)h(left)f(in)g Fm(text)195 1977 y Fu(when)19 b(it)g(is)g(passed)f(to)g(the)h (completion)g(function.)31 b(Programs)17 b(can)h(use)h(this)g(to)f (help)195 2032 y(determine)e(what)e(kind)i(of)e(completing)i(to)e(do.) 19 b(F)l(or)14 b(instance,)h(Bash)g(sets)f(this)i(v)m(ariable)195 2087 y(to)f Ft(")p Fu($)p Ft(@")f Fu(so)h(that)f(it)i(can)f(complete)h (shell)h(v)m(ariables)f(and)g(hostnames.)1661 2187 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2187 V 21 w(completion)p 510 2187 V 21 w(app)r(end)p 715 2187 V 19 w(c)n(haracter)195 2241 y Fu(When)15 b(a)e(single)j(completion)f(alternativ)o(e)f(matc)o (hes)g(at)g(the)g(end)h(of)e(the)i(command)f(line,)195 2296 y(this)20 b(c)o(haracter)e(is)i(app)q(ended)h(to)d(the)i(inserted) g(completion)g(text.)31 b(The)20 b(default)g(is)f(a)195 2351 y(space)14 b(c)o(haracter)f(\(`)i('\).)j(Setting)c(this)h(to)e (the)h(n)o(ull)h(c)o(haracter)e(\(`)p Ft(\\0)p Fu('\))f(prev)o(en)o(ts) i(an)o(ything)195 2406 y(b)q(eing)24 b(app)q(ended)g(automatically)l(.) 42 b(This)23 b(can)g(b)q(e)g(c)o(hanged)f(in)i(custom)e(completion)195 2461 y(functions)15 b(to)e(pro)o(vide)i(the)f(\\most)f(sensible)j(w)o (ord)d(separator)g(c)o(haracter")g(according)i(to)195 2515 y(an)g(application-sp)q(eci\014)q(c)j(command)d(line)i(syn)o(tax)d (sp)q(eci\014cation.)1661 2615 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2615 V 21 w(ignore)p 391 2615 V 20 w(completion)p 685 2615 V 21 w(duplicates)195 2670 y Fu(If)15 b(non-zero,)h(then)f(disallo)o(w)h(duplicates)h(in)f(the)g (matc)o(hes.)j(Default)c(is)h(1.)p eop %%Page: 37 39 37 38 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(37)1661 183 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 183 18 3 v 21 w(\014lename)p 444 183 V 20 w(completion)p 738 183 V 21 w(desired)195 238 y Fu(Non-zero)15 b(means)g(that)g(the)g(results)h(of)f(the)g(matc)o(hes)g(are)f(to)h(b)q (e)h(treated)f(as)f(\014lenames.)195 293 y(This)e(is)h Fm(alw)o(a)o(ys)f Fu(zero)g(on)g(en)o(try)l(,)g(and)g(can)f(only)i(b)q (e)f(c)o(hanged)g(within)h(a)e(completion)i(en)o(try)195 348 y(generator)f(function.)20 b(If)14 b(it)f(is)h(set)f(to)g(a)g (non-zero)g(v)m(alue,)i(directory)e(names)h(ha)o(v)o(e)f(a)g(slash)195 402 y(app)q(ended)k(and)f(Readline)h(attempts)e(to)f(quote)i(completed) g(\014lenames)g(if)g(they)g(con)o(tain)195 457 y(an)o(y)f(em)o(b)q (edded)i(w)o(ord)d(break)h(c)o(haracters.)1661 541 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 541 V 21 w(\014lename)p 444 541 V 20 w(quoting)p 653 541 V 21 w(desired)195 596 y Fu(Non-zero)c(means)f(that)g(the)h(results)g(of)g(the)f(matc)o(hes)h (are)f(to)g(b)q(e)h(quoted)g(using)h(double)195 650 y(quotes)12 b(\(or)f(an)g(application-sp)q(eci)q(\014c)k(quoting)d(mec)o(hanism\))g (if)g(the)g(completed)h(\014lename)195 705 y(con)o(tains)f(an)o(y)g(c)o (haracters)g(in)h Ft(rl_filename_quote_chars)p Fu(.)j(This)c(is)h Fm(alw)o(a)o(ys)h Fu(non-zero)195 760 y(on)d(en)o(try)l(,)g(and)h(can)f (only)h(b)q(e)g(c)o(hanged)f(within)h(a)f(completion)i(en)o(try)d (generator)g(function.)195 815 y(The)16 b(quoting)h(is)g(e\013ected)f (via)h(a)e(call)j(to)d(the)i(function)g(p)q(oin)o(ted)g(to)e(b)o(y)i Ft(rl_filename_)195 870 y(quoting_function)p Fu(.)1661 953 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 953 V 21 w(inhibit)p 399 953 V 23 w(completion)195 1008 y Fu(If)15 b(this)f(v)m(ariable)i(is)f(non-zero,)f(completion)i(is)f (inhibit)p Ft(<)p Fu(ed.)22 b(The)14 b(completion)i(c)o(haracter)195 1063 y(will)h(b)q(e)f(inserted)g(as)f(an)o(y)f(other)h(b)q(ound)h(to)f Ft(self-insert)p Fu(.)1661 1146 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1146 V 21 w(ignore)p 567 1146 V 20 w(some)p 714 1146 V 19 w(completions)p 1030 1146 V 21 w(function)195 1201 y Fu(This)15 b(function,)g(if)f (de\014ned,)i(is)e(called)i(b)o(y)e(the)h(completer)f(when)h(real)g (\014lename)g(comple-)195 1256 y(tion)k(is)g(done,)g(after)f(all)i(the) f(matc)o(hing)f(names)h(ha)o(v)o(e)f(b)q(een)i(generated.)30 b(It)19 b(is)g(passed)195 1311 y(a)h Ft(NULL)f Fu(terminated)h(arra)o (y)f(of)g(matc)o(hes.)34 b(The)20 b(\014rst)g(elemen)o(t)h(\()p Ft(matches[0])p Fu(\))c(is)k(the)195 1366 y(maximal)e(substring)f (common)g(to)g(all)h(matc)o(hes.)29 b(This)19 b(function)g(can)f (re-arrange)g(the)195 1420 y(list)h(of)e(matc)o(hes)h(as)f(required,)i (but)f(eac)o(h)g(elemen)o(t)h(deleted)g(from)e(the)h(arra)o(y)f(m)o (ust)g(b)q(e)195 1475 y(freed.)1661 1559 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1559 V 21 w(directory)p 639 1559 V 21 w(completion)p 934 1559 V 21 w(ho)r(ok)195 1613 y Fu(This)13 b(function,)h(if)g(de\014ned,)g(is)f(allo)o(w)o(ed)h (to)e(mo)q(dify)h(the)g(directory)g(p)q(ortion)g(of)g(\014lenames)195 1668 y(Readline)k(completes.)j(It)15 b(is)g(called)h(with)f(the)g (address)g(of)f(a)g(string)h(\(the)f(curren)o(t)h(direc-)195 1723 y(tory)f(name\))g(as)h(an)f(argumen)o(t.)19 b(It)c(could)h(b)q(e)f (used)h(to)e(expand)h(sym)o(b)q(olic)h(links)g(or)e(shell)195 1778 y(v)m(ariables)j(in)f(pathnames.)1661 1861 y(V)l(ariable)-1749 b Fi(VFunction)20 b(*)g Fh(rl)p 417 1861 V 21 w(completion)p 712 1861 V 21 w(displa)n(y)p 906 1861 V 22 w(matc)n(hes)p 1131 1861 V 20 w(ho)r(ok)195 1916 y Fu(If)g(non-zero,)g(then)f(this)h (is)g(the)f(address)h(of)f(a)g(function)h(to)f(call)h(when)g (completing)g(a)195 1971 y(w)o(ord)h(w)o(ould)h(normally)h(displa)o(y)g (the)f(list)h(of)e(p)q(ossible)j(matc)o(hes.)39 b(This)23 b(function)f(is)195 2026 y(called)d(in)f(lieu)h(of)e(Readline)j(displa) o(ying)f(the)e(list.)27 b(It)18 b(tak)o(es)e(three)i(argumen)o(ts:)23 b(\()p Ft(char)195 2081 y(**)p Fm(matc)o(hes)p Fu(,)g Ft(int)e Fm(n)o(um)p 623 2081 14 2 v 17 w(matc)o(hes)p Fu(,)h Ft(int)g Fm(max)p 1015 2081 V 16 w(length)p Fu(\))g(where)g Fm(matc)o(hes)i Fu(is)e(the)g(arra)o(y)195 2135 y(of)17 b(matc)o(hing)h(strings,)f Fm(n)o(um)p 702 2135 V 17 w(matc)o(hes)h Fu(is)g(the)g(n)o(um)o(b)q(er)g(of)f(strings)g(in)h (that)f(arra)o(y)l(,)g(and)195 2190 y Fm(max)p 283 2190 V 16 w(length)f Fu(is)h(the)e(length)i(of)e(the)h(longest)g(string)f (in)i(that)e(arra)o(y)l(.)20 b(Readline)e(pro)o(vides)195 2245 y(a)d(con)o(v)o(enience)i(function,)g Ft(rl_display_match_list)p Fu(,)12 b(that)j(tak)o(es)g(care)g(of)h(doing)g(the)195 2300 y(displa)o(y)k(to)f(Readline's)i(output)f(stream.)31 b(That)19 b(function)h(ma)o(y)f(b)q(e)h(called)h(from)e(this)195 2355 y(ho)q(ok.)75 2458 y Fl(2.6.4)30 b(A)21 b(Short)f(Completion)g (Example)137 2552 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)i(library)l(.)19 b(It)11 b(is)f(called)75 2606 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 2661 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: 38 40 38 39 bop 75 -58 a Fu(38)1299 b(GNU)15 b(Readline)i(Library)195 183 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 235 y(GNU)g(Readline)g (library.)46 b(This)24 b(application)e(interactively)g(allows)h(users) 267 287 y(to)g(manipulate)g(files)g(and)g(their)g(modes.)h(*/)195 391 y(#include)f()195 443 y(#include)g()195 495 y(#include)g()195 546 y(#include)g()195 598 y(#include)g()195 702 y(#include)g ()195 754 y(#include)g()195 858 y(extern)g(char)g(*getwd)g(\(\);)195 910 y(extern)g(char)g (*xmalloc)g(\(\);)195 1013 y(/*)h(The)f(names)g(of)h(functions)e(that)i (actually)f(do)g(the)h(manipulation.)e(*/)195 1065 y(int)h(com_list)g (\(\),)h(com_view)e(\(\),)i(com_rename)e(\(\),)i(com_stat)f(\(\),)g (com_pwd)g(\(\);)195 1117 y(int)g(com_delete)g(\(\),)g(com_help)g (\(\),)h(com_cd)f(\(\),)g(com_quit)g(\(\);)195 1221 y(/*)h(A)f (structure)g(which)g(contains)g(information)f(on)i(the)f(commands)g (this)g(program)267 1273 y(can)g(understand.)f(*/)195 1377 y(typedef)h(struct)g({)243 1429 y(char)g(*name;)g(/*)h(User)f (printable)g(name)g(of)h(the)f(function.)g(*/)243 1480 y(Function)f(*func;)i(/*)f(Function)g(to)g(call)h(to)f(do)h(the)f(job.) h(*/)243 1532 y(char)f(*doc;)g(/*)h(Documentation)e(for)h(this)h (function.)46 b(*/)195 1584 y(})24 b(COMMAND;)195 1688 y(COMMAND)f(commands[])f(=)i({)243 1740 y({)f("cd",)h(com_cd,)f ("Change)f(to)i(directory)f(DIR")g(},)243 1792 y({)g("delete",)g (com_delete,)f("Delete)h(FILE")h(},)243 1844 y({)f("help",)g(com_help,) g("Display)g(this)g(text")g(},)243 1896 y({)g("?",)h(com_help,)e ("Synonym)h(for)h(`help'")f(},)243 1947 y({)g("list",)g(com_list,)g ("List)g(files)g(in)h(DIR")f(},)243 1999 y({)g("ls",)h(com_list,)e ("Synonym)h(for)g(`list'")g(},)243 2051 y({)g("pwd",)g(com_pwd,)g ("Print)g(the)h(current)f(working)g(directory")f(},)243 2103 y({)h("quit",)g(com_quit,)g("Quit)g(using)g(Fileman")g(},)243 2155 y({)g("rename",)g(com_rename,)f("Rename)h(FILE)h(to)f(NEWNAME")g (},)243 2207 y({)g("stat",)g(com_stat,)g("Print)g(out)g(statistics)g (on)h(FILE")f(},)243 2259 y({)g("view",)g(com_view,)g("View)g(the)h (contents)e(of)i(FILE")f(},)243 2311 y({)g(\(char)h(*\)NULL,)f (\(Function)f(*\)NULL,)h(\(char)g(*\)NULL)g(})195 2363 y(};)195 2466 y(/*)h(Forward)e(declarations.)h(*/)195 2518 y(char)g(*stripwhite)g(\(\);)195 2570 y(COMMAND)g(*find_command)f (\(\);)p eop %%Page: 39 41 39 40 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(39)195 183 y Ft(/*)24 b(The)f(name)g(of)h(this)f (program,)g(as)h(taken)f(from)g(argv[0].)g(*/)195 235 y(char)g(*progname;)195 339 y(/*)h(When)f(non-zero,)g(this)g(global)g (means)g(the)h(user)f(is)g(done)h(using)f(this)g(program.)g(*/)p 1985 349 21 42 v 195 391 a(int)g(done;)195 495 y(char)g(*)195 546 y(dupstr)g(\(s\))314 598 y(int)h(s;)195 650 y({)243 702 y(char)f(*r;)243 806 y(r)g(=)h(xmalloc)f(\(strlen)g(\(s\))g(+)h (1\);)243 858 y(strcpy)f(\(r,)g(s\);)243 910 y(return)g(\(r\);)195 962 y(})195 1065 y(main)g(\(argc,)g(argv\))314 1117 y(int)h(argc;)314 1169 y(char)g(**argv;)195 1221 y({)243 1273 y(char)f(*line,)g(*s;)243 1377 y(progname)f(=)i(argv[0];)243 1480 y(initialize_readline)d(\(\);)i (/*)h(Bind)f(our)h(completer.)e(*/)243 1584 y(/*)h(Loop)h(reading)f (and)g(executing)g(lines)g(until)g(the)g(user)h(quits.)f(*/)243 1636 y(for)g(\()h(;)g(done)f(==)h(0;)f(\))290 1688 y({)338 1740 y(line)g(=)h(readline)f(\("FileMan:)f("\);)338 1844 y(if)i(\(!line\))386 1896 y(break;)338 1999 y(/*)g(Remove)f(leading)g (and)g(trailing)g(whitespace)f(from)i(the)f(line.)410 2051 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 2103 y(and)g(execute)g(it.)h(*/)338 2155 y(s)g(=)g(stripwhite)e(\(line\);)338 2259 y(if)i(\(*s\))386 2311 y({)434 2363 y(add_history)e(\(s\);)434 2414 y(execute_line)g (\(s\);)386 2466 y(})338 2570 y(free)h(\(line\);)290 2622 y(})p eop %%Page: 40 42 40 41 bop 75 -58 a Fu(40)1299 b(GNU)15 b(Readline)i(Library)243 183 y Ft(exit)23 b(\(0\);)195 235 y(})195 339 y(/*)h(Execute)e(a)i (command)f(line.)g(*/)195 391 y(int)195 443 y(execute_line)f(\(line\)) 314 495 y(char)i(*line;)195 546 y({)243 598 y(register)e(int)i(i;)243 650 y(COMMAND)f(*command;)243 702 y(char)g(*word;)243 806 y(/*)g(Isolate)g(the)h(command)f(word.)g(*/)243 858 y(i)g(=)h(0;)243 910 y(while)f(\(line[i])g(&&)g(whitespace)g (\(line[i]\)\))290 962 y(i++;)243 1013 y(word)g(=)h(line)f(+)h(i;)243 1117 y(while)f(\(line[i])g(&&)g(!whitespace)g(\(line[i]\)\))290 1169 y(i++;)243 1273 y(if)g(\(line[i]\))290 1325 y(line[i++])g(=)h ('\\0';)243 1429 y(command)f(=)g(find_command)g(\(word\);)243 1532 y(if)g(\(!command\))290 1584 y({)338 1636 y(fprintf)g(\(stderr,)g ("\045s:)g(No)h(such)f(command)g(for)g(FileMan.\\n",)g(word\);)338 1688 y(return)g(\(-1\);)290 1740 y(})243 1844 y(/*)g(Get)h(argument)f (to)g(command,)g(if)g(any.)h(*/)243 1896 y(while)f(\(whitespace)f (\(line[i]\)\))290 1947 y(i++;)243 2051 y(word)h(=)h(line)f(+)h(i;)243 2155 y(/*)f(Call)h(the)f(function.)g(*/)243 2207 y(return)g (\(\(*\(command->func\)\))e(\(word\)\);)195 2259 y(})195 2363 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 2414 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 2466 y(COMMAND)g(*)195 2518 y(find_command)f(\(name\)) 314 2570 y(char)i(*name;)195 2622 y({)p eop %%Page: 41 43 41 42 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(41)243 183 y Ft(register)22 b(int)i(i;)243 287 y(for)f(\(i)h(=)f(0;)h(commands[i].name;)e(i++\))290 339 y(if)i(\(strcmp)f(\(name,)g(commands[i].name\))f(==)h(0\))338 391 y(return)g(\(&commands[i]\);)243 495 y(return)g(\(\(COMMAND)f (*\)NULL\);)195 546 y(})195 650 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 702 y(into)g(STRING.)g(*/)195 754 y(char)g(*)195 806 y(stripwhite)f(\(string\))314 858 y(char)i(*string;)195 910 y({)243 962 y(register)e(char)i(*s,)f(*t;)243 1065 y(for)g(\(s)h(=)f(string;)g(whitespace)g(\(*s\);)g(s++\))290 1117 y(;)243 1221 y(if)g(\(*s)h(==)f(0\))290 1273 y(return)g(\(s\);)243 1377 y(t)g(=)h(s)g(+)g(strlen)f(\(s\))g(-)h(1;)243 1429 y(while)f(\(t)g(>)h(s)g(&&)g(whitespace)e(\(*t\)\))290 1480 y(t--;)243 1532 y(*++t)h(=)h('\\0';)243 1636 y(return)f(s;)195 1688 y(})195 1792 y(/*)h(***********************)o(*******)o(********)o (*******)o(*******)o(********)o(****)d(*/)195 1844 y(/*)1575 b(*/)195 1896 y(/*)429 b(Interface)23 b(to)g(Readline)g(Completion)381 b(*/)195 1947 y(/*)1575 b(*/)195 1999 y(/*)24 b (***********************)o(*******)o(********)o(*******)o(*******)o (********)o(****)d(*/)195 2103 y(char)i(*command_generator)f(\(\);)195 2155 y(char)h(**fileman_completion)e(\(\);)195 2259 y(/*)j(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)h(complete)p 2034 2269 21 42 v 267 2311 a(on)f(command)g(names)g(if)h(this)f(is)h(the)f(first)g(word)h (in)f(the)h(line,)f(or)h(on)f(filenames)p 1962 2317 21 35 v 267 2363 a(if)g(not.)g(*/)195 2414 y(initialize_readline)e(\(\)) 195 2466 y({)243 2518 y(/*)i(Allow)g(conditional)g(parsing)g(of)g(the)h (~/.inputrc)e(file.)h(*/)243 2570 y(rl_readline_name)e(=)j("FileMan";)p eop %%Page: 42 44 42 43 bop 75 -58 a Fu(42)1299 b(GNU)15 b(Readline)i(Library)243 183 y Ft(/*)23 b(Tell)h(the)f(completer)g(that)g(we)h(want)f(a)h(crack) f(first.)g(*/)243 235 y(rl_attempted_completion_)o(functio)o(n)e(=)j (\(CPPFunction)e(*\)fileman_completion;)195 287 y(})195 391 y(/*)i(Attempt)e(to)i(complete)f(on)g(the)h(contents)f(of)g(TEXT.) 47 b(START)23 b(and)h(END)f(bound)h(the)267 443 y(region)f(of)g (rl_line_buffer)f(that)h(contains)g(the)h(word)f(to)h(complete.)46 b(TEXT)23 b(is)267 495 y(the)g(word)g(to)h(complete.)46 b(We)24 b(can)f(use)h(the)f(entire)g(contents)g(of)h(rl_line_buffer)p 1963 505 21 38 v 267 546 a(in)f(case)g(we)h(want)f(to)h(do)g(some)f (simple)g(parsing.)47 b(Return)23 b(the)g(array)g(of)h(matches,)p 1986 557 V 267 598 a(or)f(NULL)g(if)h(there)f(aren't)g(any.)h(*/)195 650 y(char)f(**)195 702 y(fileman_completion)e(\(text,)i(start,)g (end\))314 754 y(char)h(*text;)314 806 y(int)g(start,)f(end;)195 858 y({)243 910 y(char)g(**matches;)243 1013 y(matches)g(=)g(\(char)h (**\)NULL;)243 1117 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 1169 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 1221 y(directory.)f(*/)243 1273 y(if)g(\(start)g(==)h(0\))290 1325 y(matches)f(=)h (completion_matches)d(\(text,)j(command_generator\);)243 1429 y(return)f(\(matches\);)195 1480 y(})195 1584 y(/*)h(Generator)e (function)h(for)g(command)g(completion.)47 b(STATE)23 b(lets)g(us)h(know)f(whether)p 1938 1594 21 42 v 267 1636 a(to)g(start)g(from)h(scratch;)e(without)h(any)h(state)f(\(i.e.)g (STATE)g(==)h(0\),)f(then)h(we)267 1688 y(start)f(at)g(the)h(top)f(of)h (the)f(list.)g(*/)195 1740 y(char)g(*)195 1792 y(command_generator)f (\(text,)h(state\))314 1844 y(char)h(*text;)314 1896 y(int)g(state;)195 1947 y({)243 1999 y(static)f(int)g(list_index,)g (len;)243 2051 y(char)g(*name;)243 2155 y(/*)g(If)h(this)f(is)h(a)g (new)f(word)g(to)h(complete,)f(initialize)f(now.)47 b(This)24 b(includes)314 2207 y(saving)f(the)h(length)f(of)g(TEXT)h(for)f (efficiency,)g(and)g(initializing)f(the)i(index)p 1938 2217 21 38 v 314 2259 a(variable)f(to)h(0.)f(*/)243 2311 y(if)g(\(!state\))290 2363 y({)338 2414 y(list_index)g(=)g(0;)338 2466 y(len)h(=)f(strlen)g(\(text\);)290 2518 y(})243 2622 y(/*)g(Return)g(the)h(next)f(name)g(which)h(partially)e(matches)h (from)g(the)h(command)f(list.)g(*/)p 1985 2632 21 42 v eop %%Page: 43 45 43 44 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(43)243 183 y Ft(while)23 b(\(name)g(=)h (commands[list_index].name)o(\))290 235 y({)338 287 y(list_index++;)338 391 y(if)g(\(strncmp)f(\(name,)g(text,)g(len\))g(==)h(0\))386 443 y(return)f(\(dupstr\(name\)\);)290 495 y(})243 598 y(/*)g(If)h(no)f(names)h(matched,)e(then)i(return)f(NULL.)g(*/)243 650 y(return)g(\(\(char)g(*\)NULL\);)195 702 y(})195 806 y(/*)h(***********************)o(*******)o(********)o(*******)o (*******)o(********)o(****)d(*/)195 858 y(/*)1575 b(*/)195 910 y(/*)549 b(FileMan)22 b(Commands)644 b(*/)195 962 y(/*)1575 b(*/)195 1013 y(/*)24 b(***********************)o(*******)o (********)o(*******)o(*******)o(********)o(****)d(*/)195 1117 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 1169 y(commands.)f(*/)195 1221 y(static)h(char)g(syscom[1024];)195 1325 y(/*)h(List)f(the)g(file\(s\))g(named)g(in)h(arg.)f(*/)195 1377 y(com_list)g(\(arg\))314 1429 y(char)h(*arg;)195 1480 y({)243 1532 y(if)f(\(!arg\))290 1584 y(arg)h(=)g("";)243 1688 y(sprintf)f(\(syscom,)f("ls)i(-FClg)f(\045s",)g(arg\);)243 1740 y(return)g(\(system)g(\(syscom\)\);)195 1792 y(})195 1896 y(com_view)g(\(arg\))314 1947 y(char)h(*arg;)195 1999 y({)243 2051 y(if)f(\(!valid_argument)f(\("view",)h(arg\)\))290 2103 y(return)g(1;)243 2207 y(sprintf)g(\(syscom,)f("more)i(\045s",)f (arg\);)243 2259 y(return)g(\(system)g(\(syscom\)\);)195 2311 y(})195 2414 y(com_rename)f(\(arg\))314 2466 y(char)i(*arg;)195 2518 y({)243 2570 y(too_dangerous)e(\("rename"\);)243 2622 y(return)h(\(1\);)p eop %%Page: 44 46 44 45 bop 75 -58 a Fu(44)1299 b(GNU)15 b(Readline)i(Library)195 183 y Ft(})195 287 y(com_stat)23 b(\(arg\))314 339 y(char)h(*arg;)195 391 y({)243 443 y(struct)f(stat)g(finfo;)243 546 y(if)g (\(!valid_argument)f(\("stat",)h(arg\)\))290 598 y(return)g(\(1\);)243 702 y(if)g(\(stat)g(\(arg,)h(&finfo\))f(==)g(-1\))290 754 y({)338 806 y(perror)g(\(arg\);)338 858 y(return)g(\(1\);)290 910 y(})243 1013 y(printf)g(\("Statistics)f(for)h(`\045s':\\n",)g (arg\);)243 1117 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 1169 y(finfo.st_nlink,)434 1221 y(\(finfo.st_nlink)e(==)j(1\))g(?)f("") h(:)g("s",)434 1273 y(finfo.st_size,)434 1325 y(\(finfo.st_size)e(==)h (1\))h(?)f("")h(:)g("s"\);)243 1377 y(printf)f(\("Inode)g(Last)g (Change)g(at:)g(\045s",)h(ctime)f(\(&finfo.st_ctime\)\);)243 1429 y(printf)g(\(")143 b(Last)23 b(access)g(at:)g(\045s",)h(ctime)f (\(&finfo.st_atime\)\);)243 1480 y(printf)g(\(")95 b(Last)23 b(modified)g(at:)g(\045s",)h(ctime)f(\(&finfo.st_mtime\)\);)243 1532 y(return)g(\(0\);)195 1584 y(})195 1688 y(com_delete)f(\(arg\))314 1740 y(char)i(*arg;)195 1792 y({)243 1844 y(too_dangerous)e (\("delete"\);)243 1896 y(return)h(\(1\);)195 1947 y(})195 2051 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 2103 y(not)f(present.)g(*/)195 2155 y(com_help)g(\(arg\))314 2207 y(char)h(*arg;)195 2259 y({)243 2311 y(register)e(int)i(i;)243 2363 y(int)f(printed)g(=)h (0;)243 2466 y(for)f(\(i)h(=)f(0;)h(commands[i].name;)e(i++\))290 2518 y({)338 2570 y(if)i(\(!*arg)f(||)g(\(strcmp)g(\(arg,)g (commands[i].name\))f(==)i(0\)\))386 2622 y({)p eop %%Page: 45 47 45 46 bop 75 -58 a Fu(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g (Readline)844 b(45)434 183 y Ft(printf)23 b(\("\045s\\t\\t\045s.\\n",)e (commands[i].name,)h(commands[i].doc\);)434 235 y(printed++;)386 287 y(})290 339 y(})243 443 y(if)h(\(!printed\))290 495 y({)338 546 y(printf)g(\("No)h(commands)e(match)h(`\045s'.)48 b(Possibilties)22 b(are:\\n",)h(arg\);)338 650 y(for)h(\(i)f(=)h(0;)g (commands[i].name;)d(i++\))386 702 y({)434 754 y(/*)i(Print)g(in)h(six) f(columns.)g(*/)434 806 y(if)g(\(printed)g(==)h(6\))481 858 y({)529 910 y(printed)f(=)h(0;)529 962 y(printf)f(\("\\n"\);)481 1013 y(})434 1117 y(printf)g(\("\045s\\t",)f(commands[i].name\);)434 1169 y(printed++;)386 1221 y(})338 1325 y(if)i(\(printed\))386 1377 y(printf)f(\("\\n"\);)290 1429 y(})243 1480 y(return)g(\(0\);)195 1532 y(})195 1636 y(/*)h(Change)f(to)g(the)h(directory)e(ARG.)i(*/)195 1688 y(com_cd)f(\(arg\))314 1740 y(char)h(*arg;)195 1792 y({)243 1844 y(if)f(\(chdir)g(\(arg\))h(==)f(-1\))290 1896 y({)338 1947 y(perror)g(\(arg\);)338 1999 y(return)g(1;)290 2051 y(})243 2155 y(com_pwd)g(\(""\);)243 2207 y(return)g(\(0\);)195 2259 y(})195 2363 y(/*)h(Print)f(out)g(the)h(current)f(working)f (directory.)h(*/)195 2414 y(com_pwd)g(\(ignore\))314 2466 y(char)h(*ignore;)195 2518 y({)243 2570 y(char)f(dir[1024],)g(*s;) p eop %%Page: 46 48 46 47 bop 75 -58 a Fu(46)1299 b(GNU)15 b(Readline)i(Library)243 183 y Ft(s)23 b(=)h(getwd)f(\(dir\);)243 235 y(if)g(\(s)h(==)f(0\))290 287 y({)338 339 y(printf)g(\("Error)g(getting)g(pwd:)g(\045s\\n",)g (dir\);)338 391 y(return)g(1;)290 443 y(})243 546 y(printf)g (\("Current)f(directory)h(is)h(\045s\\n",)f(dir\);)243 598 y(return)g(0;)195 650 y(})195 754 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)h(non-zero.)e (*/)p 1961 764 21 42 v 195 806 a(com_quit)h(\(arg\))314 858 y(char)h(*arg;)195 910 y({)243 962 y(done)f(=)h(1;)243 1013 y(return)f(\(0\);)195 1065 y(})195 1169 y(/*)h(Function)e(which)i (tells)f(you)g(that)g(you)h(can't)f(do)h(this.)f(*/)195 1221 y(too_dangerous)f(\(caller\))314 1273 y(char)i(*caller;)195 1325 y({)243 1377 y(fprintf)f(\(stderr,)457 1429 y("\045s:)h(Too)f (dangerous)g(for)g(me)h(to)g(distribute.)46 b(Write)23 b(it)h(yourself.\\n",)p 1987 1439 V 457 1480 a(caller\);)195 1532 y(})195 1636 y(/*)g(Return)f(non-zero)f(if)i(ARG)f(is)h(a)g(valid) f(argument)g(for)g(CALLER,)g(else)g(print)267 1688 y(an)g(error)g (message)g(and)h(return)f(zero.)g(*/)195 1740 y(int)195 1792 y(valid_argument)f(\(caller,)h(arg\))314 1844 y(char)h(*caller,)e (*arg;)195 1896 y({)243 1947 y(if)h(\(!arg)g(||)h(!*arg\))290 1999 y({)338 2051 y(fprintf)f(\(stderr,)g("\045s:)g(Argument)g (required.\\n",)f(caller\);)338 2103 y(return)h(\(0\);)290 2155 y(})243 2259 y(return)g(\(1\);)195 2311 y(})p eop %%Page: 47 49 47 48 bop 75 -58 a Fu(Concept)15 b(Index)1466 b(47)75 183 y Fq(Concept)27 b(Index)75 359 y Fs(C)75 417 y Ff(command)14 b(editing)9 b Fe(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(1)75 517 y Fs(E)75 575 y Ff(editing)15 b(command)f(lines)8 b Fe(.)f(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(1)75 675 y Fs(I)75 733 y Ff(initiali)q(zati)q(on)c(\014le,)e(readline)8 b Fe(.)g(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(4)75 782 y(in)o(teraction,)15 b(readline)e Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(1)75 882 y Fs(K)75 940 y Ff(kill)15 b(ring)e Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)24 b Ff(3)1012 359 y(killin)q(g)16 b(text)11 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)24 b Ff(2)1012 495 y Fs(N)1012 553 y Ff(notation,)15 b(readline)5 b Fe(.)k(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) 19 b Ff(1)1012 688 y Fs(R)1012 747 y Ff(readline,)c(function)6 b Fe(.)i(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(19)1012 882 y Fs(Y)1012 940 y Ff(y)o(anking)c(text)6 b Fe(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)19 b Ff(2)p eop %%Page: 48 50 48 49 bop 75 -58 a Fu(48)1299 b(GNU)15 b(Readline)i(Library)p eop %%Page: 49 51 49 50 bop 75 -58 a Fu(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1187 b(49)75 183 y Fq(F)-7 b(unction)26 b(and)h(V)-7 b(ariable)26 b(Index)75 345 y Fs(A)75 403 y Fd(abort)11 b(\(C-g\))6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)18 b Ff(17)75 453 y Fd(accept-lin)o(e)10 b(\(Newline)o(,)g(Return\)) s Fe(.)s(.)c(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(12)75 503 y Fd(alphabetic)r Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(29)75 652 y Fs(B)75 711 y Fd(backward-c)o(ha)o(r)10 b(\(C-b\))t Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(12)75 760 y Fd(backward-d)o(el)o(ete)o(-c)o(har)9 b(\(Rubout\))f Fe(.)s(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(14)75 810 y Fd(backward-k)o(il)o(l-l)o(in)o(e)10 b(\(C-x)h(Rubout\))e Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) 22 b Ff(14)75 860 y Fd(backward-k)o(il)o(l-w)o(or)o(d)10 b(\(M-DEL\))t Fe(.)s(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)16 b Ff(15)75 910 y Fd(backward-w)o(or)o(d)10 b(\(M-b\))t Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(12)75 960 y Fd(beginning-)o(of)o(-hi)o(st)o(ory)9 b(\(M-<\))t Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)16 b Ff(13)75 1009 y Fd(beginning-)o(of)o(-li)o(ne)9 b(\(C-a\))e Fe(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(12)75 1059 y(b)q(ell-st)o(yle)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)23 b Ff(4)75 1209 y Fs(C)75 1267 y Fd(call-last-)o(kb)o(d-m)o(ac)o(ro)9 b(\(C-x)j(e\))6 b Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) 18 b Ff(16)75 1317 y Fd(capitalize)o(-w)o(ord)9 b(\(M-c\))f Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)23 b Ff(14)75 1366 y Fd(character-)o(se)o(arc)o (h)10 b(\(C-]\))f Fe(.)s(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Ff(17)75 1416 y Fd(character-)o(se)o(arc)o(h-)o(bac)o(kwa)o(rd)9 b(\(M-C-]\))s Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(17)75 1466 y Fd(clear-scre)o(en)9 b(\(C-l\))c Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)18 b Ff(12)75 1516 y(commen)o(t-b)q(egin)9 b Fe(.)f(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Ff(4)75 1566 y Fd(complete)10 b(\(TAB\))e Fe(.)e(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(16)75 1616 y(completion-query-i)q (tems)9 b Fe(.)f(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(5)75 1665 y Fd(completion)p 276 1665 12 2 v 10 w(matches)5 b Fe(.)s(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)17 b Ff(34)75 1715 y(con)o(v)o(ert-meta)11 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(5)75 1765 y Fd(copy-backw)o(ar) o(d-w)o(or)o(d)10 b(\(\))f Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(15)75 1815 y Fd(copy-forwa)o(rd)o(-wo)o(rd)9 b(\(\))i Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(15)75 1865 y Fd(copy-regio)o(n-)o (as-)o(ki)o(ll)9 b(\(\))g Fe(.)c(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Ff(15)75 2014 y Fs(D)75 2072 y Fd(delete-cha)o(r)10 b(\(C-d\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(13)75 2122 y Fd(delete-cha)o(r-)o(or-)o(li)o(st)9 b(\(\))g Fe(.)c(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)21 b Ff(16)75 2172 y Fd(delete-hor)o(iz)o(ont)o(al)o (-sp)o(ace)9 b(\(\))t Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)16 b Ff(15)75 2222 y Fd(digit-argu)o(me)o(nt)9 b(\(M-0,)i(M-1,)h(...)f(M--\))t Fe(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)16 b Ff(15)75 2271 y Fd(digit)p 177 2271 V 12 w(p)10 b Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)23 b Ff(29)75 2321 y Fd(digit)p 177 2321 V 12 w(value)5 b Fe(.)t(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)18 b Ff(29)75 2371 y Fd(ding)10 b Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(29)75 2421 y(disable-comple)q (tion)7 b Fe(.)i(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(5)75 2471 y Fd(do-upperca)o(se)o(-ve)o(rs)o(ion)9 b(\(M-a,)i(M-b,)g(M-)p Fe(x)p Fd(,)h Fc(:)6 b(:)g(:)p Fd(\))j Fe(.)d(.)23 b Ff(17)75 2521 y Fd(downcase-w)o(or)o(d)10 b(\(M-l\))t Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(14)75 2570 y Fd(dump-funct)o(io)o(ns)9 b(\(\))d Fe(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)19 b Ff(17)75 2620 y Fd(dump-macro)o(s)10 b(\(\))f Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(18)75 2670 y Fd(dump-varia)o(bl)o(es)9 b(\(\))d Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(18)1012 345 y Fs(E)1012 403 y Ff(editing-mo)q(de)13 b Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)23 b Ff(5)1012 453 y(enable-k)o(eypad)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)22 b Ff(5)1012 503 y Fd(end-kbd-mac)o(ro)9 b(\(C-x)i(\)\))5 b Fe(.)h(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)18 b Ff(16)1012 553 y Fd(end-of-hist)o(or)o(y)10 b(\(M->\))f Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)24 b Ff(13)1012 603 y Fd(end-of-line)9 b(\(C-e\))d Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)20 b Ff(12)1012 652 y Fd(exchange-po)o(in)o(t-a)o(nd)o(-ma)o (rk)9 b(\(C-x)j(C-x\))7 b Fe(.)t(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(17)1012 702 y(expand-tilde)8 b Fe(.)h(.)d(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)20 b Ff(5)1012 811 y Fs(F)1012 869 y Fd(filename)p 1174 869 V 11 w(completion)p 1385 869 V 11 w(function)s Fe(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)16 b Ff(35)1012 919 y Fd(forward-bac)o(kw)o(ard) o(-d)o(ele)o(te)o(-ch)o(ar)9 b(\(\))d Fe(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)19 b Ff(14)1012 969 y Fd(forward-cha)o(r)10 b(\(C-f\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(12)1012 1019 y Fd(forward-sea)o(rc)o(h-h)o(is)o(tor)o(y)10 b(\(C-s\))d Fe(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)23 b Ff(13)1012 1069 y Fd(forward-wor)o(d)10 b(\(M-f\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(12)1012 1118 y Fd(free)p 1094 1118 V 13 w(undo)p 1187 1118 V 13 w(list)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)17 b Ff(27)1012 1228 y Fs(H)1012 1286 y Fd(history-sea)o(rc)o(h-b)o (ac)o(kwa)o(rd)9 b(\(\))t Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(13)1012 1336 y Fd(history-sea)o(rc) o(h-f)o(or)o(war)o(d)10 b(\(\))5 b Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(13)1012 1385 y(horizon)o(tal-scrol)q(l-mo)r(de)c Fe(.)6 b(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)24 b Ff(5)1012 1495 y Fs(I)1012 1553 y Ff(input-meta)12 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)23 b Ff(5)1012 1602 y Fd(insert-comm)o(en)o(t)10 b(\(M-#\))f Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)24 b Ff(17)1012 1652 y Fd(insert-comp)o(le)o(tio)o(ns)9 b(\(M-*\))d Fe(.)t(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)19 b Ff(16)1012 1702 y(isearc)o(h-terminators)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(6)1012 1811 y Fs(K)1012 1869 y Ff(k)o(eymap)t Fe(.)7 b(.)g(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(6)1012 1919 y Fd(kill-line)10 b(\(C-k\))f Fe(.)t(.)d(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(14)1012 1969 y Fd(kill-region)9 b(\(\))g Fe(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(15)1012 2019 y Fd(kill-whole-)o(li)o(ne)9 b(\(\))c Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(15)1012 2069 y Fd(kill-word)10 b(\(M-d\))f Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)22 b Ff(15)1012 2178 y Fs(L)1012 2236 y Fd(lowercase)p 1194 2236 V 11 w(p)5 b Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(29)1012 2345 y Fs(M)1012 2403 y Ff(mark-mo)q(di\014ed-li)q(nes)6 b Fe(.)j(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(6)1012 2453 y Fd(menu-comple)o(te)9 b(\(\))f Fe(.)d(.)h(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(16)1012 2503 y(meta-\015ag)8 b Fe(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)21 b Ff(5)1012 2612 y Fs(N)1012 2670 y Fd(next-histor)o(y)10 b(\(C-n\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)18 b Ff(12)p eop %%Page: 50 52 50 51 bop 75 -58 a Fu(50)1299 b(GNU)15 b(Readline)i(Library)75 183 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\))155 233 y Fe(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(13)75 283 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\))155 333 y Fe(.)d(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)16 b Ff(13)75 382 y Fd(numeric)7 b Fe(.)t(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(29)75 485 y Fs(O)75 543 y Ff(output-meta)7 b Fe(.)g(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(6)75 646 y Fs(P)75 704 y Fd(possible-c)o(om)o(ple)o(ti)o(ons)9 b(\(M-?\))t Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)16 b Ff(16)75 754 y Fd(prefix-met)o(a)10 b(\(ESC\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(17)75 804 y Fd(previous-h)o(is)o(tor)o(y)10 b(\(C-p\))f Fe(.)s(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)21 b Ff(12)75 907 y Fs(Q)75 965 y Fd(quoted-ins)o(er)o(t)10 b(\(C-q,)h(C-v\))d Fe(.)e(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)22 b Ff(14)75 1068 y Fs(R)75 1126 y Fd(re-read-in)o(it)o(-fi)o(le)9 b(\(C-x)i(C-r\))6 b Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)18 b Ff(17)75 1176 y Fd(readline)6 b Fe(.)s(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)19 b Ff(19)75 1225 y Fd(redraw-cur)o(re)o(nt-)o(li)o(ne) 9 b(\(\))g Fe(.)c(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)21 b Ff(12)75 1275 y Fd(reverse-se)o(ar) o(ch-)o(hi)o(sto)o(ry)9 b(\(C-r\))f Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Ff(13)75 1325 y Fd(revert-lin)o(e)10 b(\(M-r\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(17)75 1375 y Fd(rl)p 117 1375 12 2 v 13 w(add)p 190 1375 V 13 w(defun)6 b Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)19 b Ff(23)75 1425 y Fd(rl)p 117 1425 V 13 w(add)p 190 1425 V 13 w(undo)8 b Fe(.)d(.)h(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Ff(27)75 1474 y Fd(rl)p 117 1474 V 13 w(already)p 270 1474 V 12 w(prompted)e Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(22)75 1524 y Fd(rl)p 117 1524 V 13 w(attempted)p 310 1524 V 11 w(completion)p 520 1524 V 10 w(function)g Fe(.)6 b(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)24 b Ff(35)75 1574 y Fd(rl)p 117 1574 V 13 w(basic)p 230 1574 V 13 w(quote)p 343 1574 V 12 w(character)o(s)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(36)75 1624 y Fd(rl)p 117 1624 V 13 w(basic)p 230 1624 V 13 w(word)p 323 1624 V 12 w(break)p 435 1624 V 12 w(characters)h Fe(.)6 b(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(36)75 1674 y Fd(rl)p 117 1674 V 13 w(begin)p 230 1674 V 13 w(undo)p 323 1674 V 12 w(group)9 b Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(26)75 1724 y Fd(rl)p 117 1724 V 13 w(bind)p 210 1724 V 13 w(key)8 b Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)20 b Ff(25)75 1773 y Fd(rl)p 117 1773 V 13 w(bind)p 210 1773 V 13 w(key)p 283 1773 V 13 w(in)p 336 1773 V 13 w(map)t Fe(.)5 b(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)17 b Ff(25)75 1823 y Fd(rl)p 117 1823 V 13 w(binding)p 270 1823 V 12 w(keymap)k Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Ff(23)75 1873 y Fd(rl_callbac)o(k_)o(han)o(dl)o(er_)o(ins)o(ta)o(ll)7 b Fe(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(30)75 1923 y Fd(rl_callbac)o(k_)o(han)o(dl)o(er_)o(rem)o(ov)o(e)9 b Fe(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.) 21 b Ff(30)75 1973 y Fd(rl_callbac)o(k_)o(rea)o(d_)o(cha)o(r)6 b Fe(.)s(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)19 b Ff(30)75 2022 y Fd(rl)p 117 2022 V 13 w(catch)p 230 2022 V 13 w(signals)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(32)75 2072 y Fd(rl)p 117 2072 V 13 w(catch)p 230 2072 V 13 w(sigwinch)k Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23 b Ff(32)75 2122 y Fd(rl)p 117 2122 V 13 w(char)p 210 2122 V 13 w(is)p 263 2122 V 13 w(quoted)p 396 2122 V 12 w(p)18 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(35)75 2172 y Fd(rl)p 117 2172 V 13 w(cleanup)p 270 2172 V 12 w(after)p 382 2172 V 12 w(signal)t Fe(.)s(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)16 b Ff(32)75 2222 y Fd(rl)p 117 2222 V 13 w(clear)p 230 2222 V 13 w(message)7 b Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)22 b Ff(28)75 2271 y Fd(rl)p 117 2271 V 13 w(clear)p 230 2271 V 13 w(signals)7 b Fe(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)h(.)22 b Ff(33)75 2321 y Fd(rl)p 117 2321 V 13 w(complete)5 b Fe(.)s(.)h(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(34)75 2371 y Fd(rl)p 117 2371 V 13 w(complete)p 290 2371 V 11 w(internal)5 b Fe(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)17 b Ff(34)75 2421 y Fd(rl)p 117 2421 V 13 w(completer)p 310 2421 V 11 w(quote)p 421 2421 V 12 w(characters)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)19 b Ff(36)75 2471 y Fd(rl)p 117 2471 V 13 w(completer)p 310 2471 V 11 w(word)p 401 2471 V 13 w(break)p 514 2471 V 12 w(character)o(s)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(36)75 2521 y Fd(rl)p 117 2521 V 13 w(completion)p 329 2521 V 11 w(append)p 461 2521 V 11 w(character)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)18 b Ff(36)75 2570 y Fd(rl)p 117 2570 V 13 w(completion)p 329 2570 V 11 w(display)p 481 2570 V 11 w(matches)p 632 2570 V 11 w(hook)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)16 b Ff(37)75 2620 y Fd(rl)p 117 2620 V 13 w(completion)p 329 2620 V 11 w(entry)p 441 2620 V 12 w(function)21 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(34,)13 b(35)75 2670 y Fd(rl)p 117 2670 V 13 w(completion)p 329 2670 V 11 w(query)p 441 2670 V 12 w(items)h Fe(.)6 b(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(36)1012 183 y Fd(rl)p 1054 183 V 14 w(copy)p 1148 183 V 12 w(keymap)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)17 b Ff(24)1012 233 y Fd(rl)p 1054 233 V 14 w(copy)p 1148 233 V 12 w(text)6 b Fe(.)f(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(28)1012 283 y Fd(rl)p 1054 283 V 14 w(delete)p 1188 283 V 12 w(text)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Ff(28)1012 333 y Fd(rl)p 1054 333 V 14 w(directory)p 1247 333 V 10 w(completion)p 1458 333 V 11 w(hook)i Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(37)1012 382 y Fd(rl)p 1054 382 V 14 w(discard)p 1208 382 V 11 w(keymap)9 b Fe(.)s(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) 22 b Ff(24)1012 432 y Fd(rl)p 1054 432 V 14 w(display)p 1208 432 V 11 w(match)p 1319 432 V 12 w(list)6 b Fe(.)f(.)h(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)19 b Ff(29)1012 482 y Fd(rl)p 1054 482 V 14 w(do)p 1108 482 V 13 w(undo)9 b Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Ff(27)1012 532 y Fd(rl)p 1054 532 V 14 w(done)15 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(22)1012 582 y Fd(rl)p 1054 582 V 14 w(end)f Fe(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(21)1012 632 y Fd(rl)p 1054 632 V 14 w(end)p 1128 632 V 13 w(undo)p 1221 632 V 12 w(group)10 b Fe(.)c(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)25 b Ff(26)1012 681 y Fd(rl)p 1054 681 V 14 w(erase)p 1168 681 V 12 w(empty)p 1280 681 V 12 w(line)d Fe(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)24 b Ff(22)1012 731 y Fd(rl)p 1054 731 V 14 w(event)p 1168 731 V 12 w(hook)18 b Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(23)1012 781 y Fd(rl)p 1054 781 V 14 w(executing)p 1247 781 V 10 w(keymap)e Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)21 b Ff(23)1012 831 y Fd(rl)p 1054 831 V 14 w(extend)p 1188 831 V 12 w(line)p 1280 831 V 12 w(buffer)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) 19 b Ff(28)1012 881 y Fd(rl)p 1054 881 V 14 w(filename)p 1228 881 V 11 w(completio)o(n)p 1438 881 V 11 w(desired)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(37)1012 930 y Fd(rl)p 1054 930 V 14 w(filename)p 1228 930 V 11 w(dequoting)p 1418 930 V 10 w(function)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(35)1012 980 y Fd(rl)p 1054 980 V 14 w(filename)p 1228 980 V 11 w(quote)p 1339 980 V 12 w(character)o(s)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(36)1012 1030 y Fd(rl)p 1054 1030 V 14 w(filename)p 1228 1030 V 11 w(quoting)p 1379 1030 V 11 w(desired)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(37)1012 1080 y Fd(rl)p 1054 1080 V 14 w(filename)p 1228 1080 V 11 w(quoting)p 1379 1080 V 11 w(function)18 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(35)1012 1130 y Fd(rl)p 1054 1130 V 14 w(forced)p 1188 1130 V 12 w(update)p 1320 1130 V 11 w(display)9 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)24 b Ff(27)1012 1180 y Fd(rl)p 1054 1180 V 14 w(free)p 1148 1180 V 12 w(line)p 1240 1180 V 13 w(state)8 b Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Ff(32)1012 1229 y Fd(rl)p 1054 1229 V 14 w(function)p 1228 1229 V 11 w(dumper)7 b Fe(.)t(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(26)1012 1279 y Fd(rl)p 1054 1279 V 14 w(function)p 1228 1279 V 11 w(of)p 1279 1279 V 13 w(keyseq)6 b Fe(.)t(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)19 b Ff(25)1012 1329 y Fd(rl)p 1054 1329 V 14 w(funmap)p 1188 1329 V 12 w(names)9 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)24 b Ff(26)1012 1379 y Fd(rl)p 1054 1379 V 14 w(generic)p 1208 1379 V 11 w(bind)10 b Fe(.)c(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)24 b Ff(25)1012 1429 y Fd(rl)p 1054 1429 V 14 w(get)p 1128 1429 V 13 w(keymap)5 b Fe(.)t(.)h(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)18 b Ff(24)1012 1478 y Fd(rl)p 1054 1478 V 14 w(get)p 1128 1478 V 13 w(keymap)p 1261 1478 V 11 w(by)p 1312 1478 V 14 w(name)9 b Fe(.)t(.)d(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)22 b Ff(24)1012 1528 y Fd(rl)p 1054 1528 V 14 w(get)p 1128 1528 V 13 w(keymap)p 1261 1528 V 11 w(name)9 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)23 b Ff(24)1012 1578 y Fd(rl)p 1054 1578 V 14 w(getc)8 b Fe(.)e(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)23 b Ff(28)1012 1628 y Fd(rl)p 1054 1628 V 14 w(getc)p 1148 1628 V 12 w(function)13 b Fe(.)7 b(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(23)1012 1678 y Fd(rl)p 1054 1678 V 14 w(ignore)p 1188 1678 V 12 w(completi)o(on)p 1399 1678 V 11 w(duplicate)o(s)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)17 b Ff(36)1012 1727 y Fd(rl)p 1054 1727 V 14 w(ignore)p 1188 1727 V 12 w(some)p 1280 1727 V 12 w(completion)o(s)p 1511 1727 V 11 w(function)j Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(37)1012 1777 y Fd(rl)p 1054 1777 V 14 w(inhibit)p 1208 1777 V 11 w(completion)15 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(37)1012 1827 y Fd(rl)p 1054 1827 V 14 w(initializ)o(e)8 b Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)24 b Ff(28)1012 1877 y Fd(rl)p 1054 1877 V 14 w(insert)p 1188 1877 V 12 w(completi)o(ons)r Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(34)1012 1927 y Fd(rl)p 1054 1927 V 14 w(insert)p 1188 1927 V 12 w(text)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17 b Ff(28)1012 1977 y Fd(rl)p 1054 1977 V 14 w(instream)g Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Ff(22)1012 2026 y Fd(rl)p 1054 2026 V 14 w(invoking)p 1228 2026 V 11 w(keyseqs)6 b Fe(.)s(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(26)1012 2076 y Fd(rl)p 1054 2076 V 14 w(invoking)p 1228 2076 V 11 w(keyseqs)p 1379 2076 V 11 w(in)p 1430 2076 V 14 w(map)9 b Fe(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)24 b Ff(26)1012 2126 y Fd(rl)p 1054 2126 V 14 w(kill)p 1148 2126 V 12 w(text)6 b Fe(.)f(.)h(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(28)1012 2176 y Fd(rl)p 1054 2176 V 14 w(library)p 1208 2176 V 11 w(version)g Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(22)1012 2226 y Fd(rl)p 1054 2226 V 14 w(line)p 1148 2226 V 12 w(buffer)17 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)19 b Ff(21)1012 2275 y Fd(rl)p 1054 2275 V 14 w(list)p 1148 2275 V 12 w(funmap)p 1280 2275 V 12 w(names)7 b Fe(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(26)1012 2325 y Fd(rl)p 1054 2325 V 14 w(make)p 1148 2325 V 12 w(bare)p 1240 2325 V 13 w(keymap)9 b Fe(.)s(.)d(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) 22 b Ff(24)1012 2375 y Fd(rl)p 1054 2375 V 14 w(make)p 1148 2375 V 12 w(keymap)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h (.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)17 b Ff(24)1012 2425 y Fd(rl)p 1054 2425 V 14 w(mark)e Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(21)1012 2475 y Fd(rl)p 1054 2475 V 14 w(message)6 b Fe(.)s(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)19 b Ff(27)1012 2524 y Fd(rl)p 1054 2524 V 14 w(modifying)s Fe(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(27)1012 2574 y Fd(rl)p 1054 2574 V 14 w(named)p 1168 2574 V 12 w(function)8 b Fe(.)s(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)22 b Ff(25)1012 2624 y Fd(rl)p 1054 2624 V 14 w(on)p 1108 2624 V 13 w(new)p 1181 2624 V 13 w(line)7 b Fe(.)t(.)f(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(27)p eop %%Page: 51 53 51 52 bop 75 -58 a Fu(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1187 b(51)75 183 y Fd(rl)p 117 183 12 2 v 13 w(on)p 170 183 V 14 w(new)p 244 183 V 13 w(line)p 337 183 V 12 w(with)p 429 183 V 13 w(prompt)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(27)75 233 y Fd(rl)p 117 233 V 13 w(outstream)d Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)h(.)18 b Ff(22)75 283 y Fd(rl)p 117 283 V 13 w(parse)p 230 283 V 13 w(and)p 303 283 V 13 w(bind)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(25)75 333 y Fd(rl)p 117 333 V 13 w(pending)p 270 333 V 12 w(input)14 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(22)75 382 y Fd(rl)p 117 382 V 13 w(point)22 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)24 b Ff(21)75 432 y Fd(rl)p 117 432 V 13 w(possible)p 290 432 V 11 w(completions)6 b Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)22 b Ff(34)75 482 y Fd(rl)p 117 482 V 13 w(pre)p 190 482 V 13 w(input)p 303 482 V 13 w(hook)16 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) 18 b Ff(22)75 532 y Fd(rl)p 117 532 V 13 w(prompt)i Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) 22 b Ff(22)75 582 y Fd(rl)p 117 582 V 13 w(read)p 210 582 V 13 w(init)p 303 582 V 13 w(file)9 b Fe(.)d(.)g(.)g(.)h(.)f(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)24 b Ff(25)75 632 y Fd(rl)p 117 632 V 13 w(read)p 210 632 V 13 w(key)8 b Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)20 b Ff(28)75 681 y Fd(rl)p 117 681 V 13 w(readline)p 290 681 V 11 w(name)15 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(22)75 731 y Fd(rl)p 117 731 V 13 w(redisplay)t Fe(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Ff(27)75 781 y Fd(rl)p 117 781 V 13 w(redisplay)p 310 781 V 11 w(function)f Fe(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)18 b Ff(23)75 831 y Fd(rl)p 117 831 V 13 w(reset)p 230 831 V 13 w(after)p 343 831 V 12 w(signal)6 b Fe(.)t(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(32)75 881 y Fd(rl)p 117 881 V 13 w(reset)p 230 881 V 13 w(line)p 323 881 V 12 w(state)9 b Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)21 b Ff(27)75 930 y Fd(rl)p 117 930 V 13 w(reset)p 230 930 V 13 w(terminal)8 b Fe(.)s(.)e(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) 21 b Ff(29)75 980 y Fd(rl)p 117 980 V 13 w(resize)p 250 980 V 12 w(terminal)7 b Fe(.)s(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(33)75 1030 y Fd(rl)p 117 1030 V 13 w(restore)p 270 1030 V 12 w(prompt)9 b Fe(.)s(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)21 b Ff(28)75 1080 y Fd(rl)p 117 1080 V 13 w(save)p 210 1080 V 13 w(prompt)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)17 b Ff(28)75 1130 y Fd(rl)p 117 1130 V 13 w(set)p 190 1130 V 13 w(keymap)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(24)75 1180 y Fd(rl)p 117 1180 V 13 w(set)p 190 1180 V 13 w(signals)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(33)75 1229 y Fd(rl)p 117 1229 V 13 w(special)p 270 1229 V 12 w(prefixes)h Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(36)75 1279 y Fd(rl)p 117 1279 V 13 w(startup)p 270 1279 V 12 w(hook)16 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)17 b Ff(22)75 1329 y Fd(rl)p 117 1329 V 13 w(stuff)p 230 1329 V 13 w(char)5 b Fe(.)t(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)18 b Ff(28)75 1379 y Fd(rl)p 117 1379 V 13 w(terminal)p 290 1379 V 11 w(name)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)16 b Ff(22)75 1429 y Fd(rl)p 117 1429 V 13 w(unbind)p 250 1429 V 12 w(command)p 402 1429 V 12 w(in)p 454 1429 V 13 w(map)5 b Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(25)75 1478 y Fd(rl)p 117 1478 V 13 w(unbind)p 250 1478 V 12 w(function)p 422 1478 V 11 w(in)p 473 1478 V 14 w(map)t Fe(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(25)75 1528 y Fd(rl)p 117 1528 V 13 w(unbind)p 250 1528 V 12 w(key)5 b Fe(.)g(.)h(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(25)75 1578 y Fd(rl)p 117 1578 V 13 w(unbind)p 250 1578 V 12 w(key)p 322 1578 V 13 w(in)p 375 1578 V 13 w(map)10 b Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(25)1012 183 y Fs(S)1012 241 y Fd(self-insert)9 b(\(a,)j(b,)g(A,)g(1,)g(!,)g(...\))t Fe(.)5 b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(14)1012 291 y Fd(set-mark)10 b(\(C-@\))e Fe(.)f(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(17)1012 341 y(sho)o(w-all-if-am) o(bigu)q(ous)8 b Fe(.)g(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(6)1012 391 y Fd(start-kbd-m)o(ac)o(ro)9 b(\(C-x)j(\(\))e Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g (.)g(.)g(.)g(.)24 b Ff(16)1012 490 y Fs(T)1012 549 y Fd(tab-insert)9 b(\(M-TAB\))c Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(14)1012 598 y Fd(tilde-expan)o(d)10 b(\(M-~\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(17)1012 648 y Fd(to)p 1054 648 V 14 w(lower)9 b Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)22 b Ff(29)1012 698 y Fd(to)p 1054 698 V 14 w(upper)9 b Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.) g(.)g(.)g(.)22 b Ff(29)1012 748 y Fd(transpose-c)o(ha)o(rs)9 b(\(C-t\))f Fe(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Ff(14)1012 798 y Fd(transpose-w)o(or)o(ds)9 b(\(M-t\))f Fe(.)e(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Ff(14)1012 897 y Fs(U)1012 955 y Fd(undo)12 b(\(C-)p 1166 955 V 13 w(,)g(C-x)g(C-u\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)18 b Ff(17)1012 1005 y Fd(universal-a)o(rg)o(ume)o(nt)9 b(\(\))g Fe(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)23 b Ff(15)1012 1055 y Fd(unix-line-d)o(is)o(car)o(d)10 b(\(C-u\))d Fe(.)t(.)f(.)g(.)g(.)g(.)g (.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(14)1012 1105 y Fd(unix-word-r)o(ub)o(out)9 b(\(C-w\))g Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)22 b Ff(15)1012 1155 y Fd(upcase-word)9 b(\(M-u\))d Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(14)1012 1204 y Fd(uppercase)p 1194 1204 V 11 w(p)5 b Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)18 b Ff(29)1012 1254 y Fd(username)p 1174 1254 V 11 w(completion)p 1385 1254 V 11 w(function)s Fe(.)s(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)16 b Ff(35)1012 1354 y Fs(V)1012 1412 y Ff(visible-stats)t Fe(.)9 b(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)17 b Ff(6)1012 1512 y Fs(Y)1012 1570 y Fd(yank)12 b(\(C-y\))7 b Fe(.)t(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.) g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)20 b Ff(15)1012 1620 y Fd(yank-last-a)o(rg)9 b(\(M-.,)i(M-)p 1433 1620 V 13 w(\))t Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(13)1012 1669 y Fd(yank-nth-ar)o(g)10 b(\(M-C-y\))e Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)24 b Ff(13)1012 1719 y Fd(yank-pop)10 b(\(M-y\))e Fe(.)f(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(15)p eop %%Page: 52 54 52 53 bop 75 -58 a Fu(52)1299 b(GNU)15 b(Readline)i(Library)p eop %%Page: -1 55 -1 54 bop 1862 -58 a Fu(i)75 183 y Fq(T)-7 b(able)27 b(of)f(Con)n(ten)n(ts)75 354 y Fs(1)67 b(Command)22 b(Line)i(Editing)d Fb(.)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 423 y Fu(1.1)j(In)o(tro)q(duction)16 b(to)f(Line)h(Editing)e Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f (.)27 b Fu(1)224 478 y(1.2)45 b(Readline)17 b(In)o(teraction)8 b Fa(.)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 532 y(1.2.1)44 b(Readline)17 b(Bare)e(Essen)o(tials)f Fa(.)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 587 y(1.2.2)44 b(Readline)17 b(Mo)o(v)o(emen)o(t)d(Commands) 7 b Fa(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f (.)h(.)21 b Fu(2)374 642 y(1.2.3)44 b(Readline)17 b(Killing)h(Commands) 11 b Fa(.)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 697 y(1.2.4)44 b(Readline)17 b(Argumen)o(ts)12 b Fa(.)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 752 y(1.2.5)44 b(Searc)o(hing)16 b(for)e(Commands)h(in)h (the)f(History)e Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27 b Fu(3)224 806 y(1.3)45 b(Readline)17 b(Init)g(File)e Fa(.)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 861 y(1.3.1)44 b(Readline)17 b(Init)f(File)h(Syn)o(tax)7 b Fa(.)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 916 y(1.3.2)44 b(Conditional)16 b(Init)g(Constructs)5 b Fa(.)i(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)g(.)f(.)19 b Fu(8)374 971 y(1.3.3)44 b(Sample)16 b(Init)g(File)11 b Fa(.)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 1026 y(1.4)45 b(Bindable)17 b(Readline)h (Commands)6 b Fa(.)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 1080 y(1.4.1)44 b(Commands)14 b(F)l(or)h(Mo)o(ving)e Fa(.)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 1135 y(1.4.2)44 b(Commands)14 b(F)l(or)h(Manipulating)i(The)e(History)9 b Fa(.)e(.)h(.)f(.)h(.)f(.)h(.)24 b Fu(12)374 1190 y(1.4.3)44 b(Commands)14 b(F)l(or)h(Changing)h(T)l(ext)e Fa(.)8 b(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)30 b Fu(13)374 1245 y(1.4.4)44 b(Killing)18 b(And)e(Y)l(anking)9 b Fa(.)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(14)374 1299 y(1.4.5)44 b(Sp)q(ecifying)17 b(Numeric)f(Argumen)o(ts)c Fa(.)c(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)27 b Fu(15)374 1354 y(1.4.6)44 b(Letting)15 b(Readline)j(T)o(yp)q(e)d(F)l (or)g(Y)l(ou)10 b Fa(.)d(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)25 b Fu(16)374 1409 y(1.4.7)44 b(Keyb)q(oard)15 b(Macros)6 b Fa(.)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(16)374 1464 y(1.4.8)44 b(Some)15 b(Miscellaneous)i(Commands)7 b Fa(.)g(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.) 22 b Fu(17)224 1519 y(1.5)45 b(Readline)17 b(vi)f(Mo)q(de)e Fa(.)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 1640 y Fs(2)67 b(Programming)23 b(with)g(GNU)f(Readline)12 b Fb(.)f(.)g(.)f(.)g(.)g(.)g(.)h(.)f(.)35 b Fs(19)224 1708 y Fu(2.1)45 b(Basic)16 b(Beha)o(vior)8 b Fa(.)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(19)224 1763 y(2.2)45 b(Custom)14 b(F)l(unctions)7 b Fa(.)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(20)374 1818 y(2.2.1)44 b(The)15 b(F)l(unction)h(T)o(yp)q(e)11 b Fa(.)d(.)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(.)26 b Fu(20)374 1873 y(2.2.2)44 b(W)l(riting)16 b(a)e(New)i(F)l(unction)6 b Fa(.)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(21)224 1928 y(2.3)45 b(Readline)17 b(V)l(ariables)f Fa(.)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(21)224 1982 y(2.4)45 b(Readline)17 b(Con)o(v)o(enience)g(F)l(unctions)7 b Fa(.)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(23)374 2037 y(2.4.1)44 b(Naming)15 b(a)g(F)l(unction)e Fa(.)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(23)374 2092 y(2.4.2)44 b(Selecting)17 b(a)e(Keymap)6 b Fa(.)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(24)374 2147 y(2.4.3)44 b(Binding)17 b(Keys)5 b Fa(.)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(24)374 2202 y(2.4.4)44 b(Asso)q(ciating)16 b(F)l(unction)g(Names)f (and)g(Bindings)8 b Fa(.)h(.)f(.)f(.)h(.)f(.)h(.)23 b Fu(25)374 2256 y(2.4.5)44 b(Allo)o(wing)16 b(Undoing)f Fa(.)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(26)374 2311 y(2.4.6)44 b(Redispla)o(y)10 b Fa(.)f(.)f(.)g(.)f(.)h(.) f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)26 b Fu(27)374 2366 y(2.4.7)44 b(Mo)q(difying)16 b(T)l(ext)7 b Fa(.)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(28)374 2421 y(2.4.8)44 b(Utilit)o(y)16 b(F)l(unctions)e Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.) h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 b Fu(28)374 2475 y(2.4.9)44 b(Alternate)15 b(In)o(terface)5 b Fa(.)i(.)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(.)20 b Fu(29)374 2530 y(2.4.10)43 b(An)16 b(Example)f Fa(.)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(.)30 b Fu(30)224 2585 y(2.5)45 b(Readline)17 b(Signal)g(Handling)12 b Fa(.)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(31)224 2640 y(2.6)45 b(Custom)14 b(Completers)f Fa(.)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(33)p eop %%Page: -2 56 -2 55 bop 75 -58 a Fu(ii)1321 b(GNU)15 b(Readline)i(Library)374 42 y(2.6.1)44 b(Ho)o(w)14 b(Completing)i(W)l(orks)10 b Fa(.)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(33)374 96 y(2.6.2)44 b(Completion)16 b(F)l(unctions)6 b Fa(.)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(34)374 151 y(2.6.3)44 b(Completion)16 b(V)l(ariables)c Fa(.)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(35)374 206 y(2.6.4)44 b(A)15 b(Short)g(Completion)h(Example)5 b Fa(.)j(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h (.)f(.)20 b Fu(37)75 327 y Fs(Concept)i(Index)10 b Fb(.)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(47)75 462 y(F)-6 b(unction)25 b(and)d(V)-6 b(ariable)24 b(Index)9 b Fb(.)i(.)f(.)g(.)h(.)f(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)32 b Fs(49)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF