%!PS-Adobe-2.0 %%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software %%Title: readline.dvi %%Pages: 56 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentPaperSizes: A4 %%EndComments %DVIPSCommandLine: dvips -D 300 -o readline.ps readline.dvi %DVIPSParameters: dpi=300, comments removed %DVIPSSource: TeX output 1998.12.31:1253 %%BeginProcSet: tex.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}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{dup dup 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 dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /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 dup definefont setfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ 128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup 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 /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 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 dup 1 get dup mul exch 0 get dup 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 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 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 /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail {dup /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 39158280 55380996 1000 300 300 (readline.dvi) @start /Fa 1 47 df<70F8F8F0E005057B840E>46 D E /Fb 1 47 df<0E003F007F807F80FF80FF80FF007E003C000909798815>46 D E /Fc 1 59 df<60F0F06004047D830B>58 D E /Fd 53 127 df<60F0F0F0F0F0F0F0F0F0F0F0F0F0600000000060F0F0600417789614>33 D<071C00071C00071C00071C00071C00FFFF80FFFF807FFF800E38000E38000E38000E38 000E38000E38000E38007FFF80FFFF80FFFF801C70001C70001C70001C70001C70001117 7F9614>35 D<0180038006000C001C0018003800700070007000E000E000E000E000E000 E000E000E000E000700070007000380018001C000C00060003800180091D799914>40 D<80C0603038181C0E0E0E0707070707070707070E0E0E1C18383060C080081D7C9914> I<038003800380638CF39E7FFC3FF80FE00FE03FF87FFCF39E638C0380038003800F107E 9214>I<70F8FCFC7C0C1830E0C0060A798414>44 DI<70F8 F8F8700505798414>I<07C00FE01C7038383018701C701CE00EE00EE00EE00EE00EE00E E00EE00EE00E701C701C383838381C700FE007C00F177E9614>48 D<0300030007000F003F00F7004700070007000700070007000700070007000700070007 000700070007007FF07FF00C177C9614>I<0006001E003E00F801F003C00F801F003C00 F800F000F8003C001F000F8003C001F000F8003E001E00060F157E9514>60 D62 D<1FE03FF8701CE00EE00E400E003C007000E001C003 800380038003800300000000000000000003000780078003000F177E9614>I<01E007F0 0E38181C38FC71FC731E771EEE0EEE0EEE0EEE0EEE0EEE0EEE0E771C731871F038E01806 0E1E07F801F00F177E9614>I<01C00003E00003E0000360000360000770000770000770 000770000630000E38000E38000E38000E38001C1C001FFC001FFC001C1C001C1C00380E 00380E00FE3F80FE3F8011177F9614>II<01F1 8007FF800E1F801C0780380780700380700380700380E00000E00000E00000E00000E000 00E00000E000007003807003807003803807001C07000E0E0007FC0001F00011177F9614 >III76 DII82 D<0FCC1FFC307C603CE01CE01CE01CE00070007E003FE0 0FF001F8001C001E000E600EE00EE00EF01CF838FFF0C7E00F177E9614>I<7FFF80FFFF 80E1C380E1C380E1C380E1C38001C00001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C00001C00001C00001C00001C0000FF8000FF80011177F9614>I93 D95 D<1FC0007FF000707800201800001C00001C0007FC00 1FFC003C1C00701C00E01C00E01C00E01C00707C003FFF800F8F8011107E8F14>97 DI<03F80FFE1C0E380470006000E000E000E000E00060007000380E1C1E0FFC03 F00F107E8F14>I<007E00007E00000E00000E00000E00000E00000E0007CE000FFE001C 3E00301E00700E00E00E00E00E00E00E00E00E00E00E00E00E00700E00301E00383E001F EFC007CFC012177F9614>I<07E00FF01C38301C700CE00EE00EFFFEFFFEE00060007000 380E1C1E0FFC03F00F107E8F14>I<00FC01FE038E07040700070007007FFEFFFE070007 000700070007000700070007000700070007000700FFF8FFF80F177F9614>I<07CF001F FF80383B80301800701C00701C00701C003018003838003FF00037C0007000007000003F F8001FFC003FFE00700F00E00380E00380E00380E003807007003C1E001FFC0007F00011 197F8F14>II<06000F000F0006000000000000000000FF00FF00070007000700 070007000700070007000700070007000700FFF8FFF80D187C9714>I107 DI II<07C01FF03C78701C701CE00EE00EE00E E00EE00EE00E701C783C3C781FF007C00F107E8F14>II<03E7000FF700 1C1F00300F00700F00E00700E00700E00700E00700E00700E00700700F00300F001C3F00 0FF70007C700000700000700000700000700000700000700003FE0003FE013187F8F14> II<0FD83FF86038C038C038F0007F803FF0 07F8001C6006E006F006F81CFFF8CFE00F107E8F14>I<06000E000E000E000E007FFCFF FC0E000E000E000E000E000E000E000E000E0E0E0E0E0E0E1C07F801F00F157F9414>I< FC3F00FC3F001C07001C07001C07001C07001C07001C07001C07001C07001C07001C0700 1C07001C1F000FFFE003E7E01310808F14>III<7E3F007E3F001E3C000E7800077000 07E00003E00001C00003C00003E0000770000E78000E38001C1C00FE3F80FE3F8011107F 8F14>II<3FFF7FFF700E701C7038007000E001C0038007000E001C0738 077007FFFFFFFF10107F8F14>I<1C103F38E7E041C00D047D9614>126 D E /Fe 2 121 df<7070F06004047D830B>46 D<3FC7E007838007020003840003C800 01D80000F00000E00000F00001F000013800023800041C00081E00381E00FC3FC013107F 8F14>120 D E /Ff 38 123 df<00FE000381000601800E03801C01001C00001C00001C 00001C00001C0000FFFF801C03801C03801C03801C03801C03801C03801C03801C03801C 03801C03801C03801C03801C03801C0380FF8FF0141A809915>12 D<00FF800383800603800E03801C03801C03801C03801C03801C03801C0380FFFF801C03 801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03 801C0380FF9FF0141A809915>I<60F0F07010101020204040040B7D830B>44 DI<03000700FF00070007000700070007000700070007000700 070007000700070007000700070007000700070007007FF80D187D9713>49 D<0F80106020304038803CC01CE01C401C003C003800380070006000C001800100020004 040804100430083FF87FF8FFF80E187E9713>I<07E01838201C601E700E201E001E001C 001C0038007007E00038001C000E000F000FE00FE00FC00F400E601C183807E010187F97 13>I<001800180038007800F800B8013802380238043808381838103820384038C038FF FF00380038003800380038003803FF10187F9713>I<30183FF03FE03F80200020002000 200020002FC03060203000380018001C001C401CE01CE01C80184038403030E00F800E18 7E9713>I<01F807040C06180E300E300070006000E000E3E0E418E80CF00EE006E007E0 07E007600760077006300E180C0C3807E010187F9713>I<40007FFF7FFE7FFE40048008 80108010002000400040008001800100030003000700060006000E000E000E000E000E00 040010197E9813>I<07E01818300C2006600660067006780C3E181F3007C003E00CF830 7C601E600FC007C003C003C00360022004181807E010187F9713>I<07E01C303018700C 600EE006E006E007E007E0076007700F3017182707C700070006000E000C700C70186030 30600F8010187F9713>I<1FC000387000383800101C00001C00001C0003FC001E1C0038 1C00701C00E01C00E01C80E01C80E03C80705F801F8F0011107F8F13>97 DI<07F81C1C381C70087000E000E000E000E000E000E000 7000700438081C1807E00E107F8F11>I<003F0000070000070000070000070000070000 070000070000070000070003E7000C1700180F00300700700700E00700E00700E00700E0 0700E00700E00700600700700700380F001C370007C7E0131A7F9915>I<07C01C303018 7018600CE00CFFFCE000E000E000E0006000700438081C1807E00E107F8F11>I<01F007 180E381C101C001C001C001C001C001C00FFC01C001C001C001C001C001C001C001C001C 001C001C001C001C001C00FF800D1A80990C>I<0FCF0018718030300070380070380070 38007038003030001860002FC0006000006000007000003FF0003FFC001FFE00600F00C0 0300C00300C00300C00300600600381C0007E00011187F8F13>II<183C3C18000000000000FC1C1C1C1C1C1C1C1C1C1C1C1C1C1CFF081A80990A>I< FC00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C1FC01C0F00 1C0C001C18001C20001C40001CE0001DE0001E70001C78001C38001C1C001C1E001C0F00 1C0F80FF9FE0131A809914>107 DI II<07E01C38300C700E6006E007E007E007 E007E007E0076006700E381C1C3807E010107F8F13>II<03E1000C1300180B00 300F00700700E00700E00700E00700E00700E00700E00700700700700700380F001C3700 07C700000700000700000700000700000700000700003FE013177F8F14>II<1F20 60E04020C020C020F0007F003FC01FE000F080708030C030C020F0408F800C107F8F0F> I<0800080008000800180018003800FFC038003800380038003800380038003800382038 203820382018201C4007800B177F960F>I IIIIII E /Fg 2 42 df<00E001C00380078007000F001E001E001C003C00 3C0038007800780078007000F000F000F000F000F000F000F000F000F000F000F000F000 F000F000700078007800780038003C003C001C001E001E000F0007000780038001C000E0 0B2E7CA112>40 DI E /Fh 28 123 df<000FF83F00007FFDFFC001FC1FE3E003F03FC7E007E03FC7E00FC03F 87E00FC03F83C00FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80 00FFFFFFFC00FFFFFFFC000FC01F80000FC01F80000FC01F80000FC01F80000FC01F8000 0FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80000F C01F80000FC01F80000FC01F80000FC01F80000FC01F80000FC01F80007FF8FFF8007FF8 FFF80023237FA221>11 D<0007F800007FFC0001FC0E0003F01F0007E03F000FC03F000F C03F000FC03F000FC01E000FC00C000FC000000FC000000FC0FF80FFFFFF80FFFFFF800F C01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800F C01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F800FC01F807F F8FFF07FF8FFF01C237FA220>I<00180030006000C001C00380078007000F001E001E00 3E003C003C007C007C007C007800F800F800F800F800F800F800F800F800F800F800F800 F800F80078007C007C007C003C003C003E001E001E000F0007000780038001C000C00060 003000180D317BA416>40 D<07FE00001FFF80003F07E0003F03F0003F01F0003F01F800 1E01F8000001F8000001F800003FF80003FDF8001F81F8003E01F8007C01F800F801F800 F801F800F801F800F801F8007C02F8007E0CF8001FF87F8007E03F8019167E951C>97 DI<00FF8007FFE00F83F01F03F03E03F07E03F07C01E07C0000FC0000FC0000FC00 00FC0000FC0000FC00007C00007E00007E00003E00181F00300FC06007FFC000FF001516 7E9519>I<0001FF000001FF0000003F0000003F0000003F0000003F0000003F0000003F 0000003F0000003F0000003F0000003F0000003F0000FE3F0007FFBF000FC1FF001F007F 003E003F007E003F007C003F007C003F00FC003F00FC003F00FC003F00FC003F00FC003F 00FC003F00FC003F007C003F007E003F003E003F001F007F000F81FF0007FF3FE001FC3F E01B237EA220>I<00FE0007FF800F83C01E01E03E00F07E00F07C00F87C0078FC0078FF FFF8FFFFF8FC0000FC0000FC00007C00007C00003E00183E00181F00300F80E003FFC000 FF0015167E951A>I<001F8000FFE001F1F003E3F007E3F00FC3F00FC1E00FC0000FC000 0FC0000FC0000FC0000FC000FFFE00FFFE000FC0000FC0000FC0000FC0000FC0000FC000 0FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC000 7FFC007FFC0014237EA212>I<00FE0F8003FF9FC00F83E3C01F01F3C01E00F0003E00F8 003E00F8003E00F8003E00F8003E00F8001E00F0001F01F0000F83E0000BFF800008FE00 0018000000180000001C0000001FFFE0001FFFFC000FFFFF0007FFFF001FFFFF807C001F C078000FC0F80007C0F80007C0F80007C07C000F803E001F001F807E000FFFFC0001FFE0 001A217F951D>II<1E003F007F807F807F807F803F001E00000000000000000000 000000FF80FF801F801F801F801F801F801F801F801F801F801F801F801F801F801F801F 801F801F801F80FFF0FFF00C247EA30F>I107 DIII<00FF0007FFE00F81F01F00F83E007C7C003E7C003E7C003EFC00 3FFC003FFC003FFC003FFC003FFC003FFC003F7C003E7E007E3E007C1F00F80F81F007FF E000FF0018167E951D>II<00FE030007FF07000FC1CF001F00DF003F007F007E003F007E003F007C003F00FC00 3F00FC003F00FC003F00FC003F00FC003F00FC003F00FC003F007E003F007E003F003E00 7F001F00FF000FC1FF0007FF3F0000FC3F0000003F0000003F0000003F0000003F000000 3F0000003F0000003F0000003F000001FFE00001FFE01B207E951E>II<07F9801FFF80 380780700380F00180F00180F80000FF0000FFF8007FFE003FFF001FFF8007FF80003FC0 C007C0C003C0E003C0E003C0F00380FC0F00EFFE00C3F80012167E9517>I<0180000180 000180000180000380000380000780000780000F80003F8000FFFF00FFFF001F80001F80 001F80001F80001F80001F80001F80001F80001F80001F80001F80001F81801F81801F81 801F81801F81800F83000FC30007FE0001F80011207F9F16>III< FFF3FF83FCFFF3FF83FC1F807C00E00FC07C00C00FC03E00C00FE03E01C007E07F018007 E07F018003F07F030003F0CF830003F8CF870001F9CFC60001F987C60000FD87EC0000FF 03EC0000FF03FC00007F03F800007E01F800003E01F000003C00F000003C00F000001800 600026167F9529>III<7FFFF07FFFF07C07E0700FC060 1FC0E01F80C03F00C07F00C07E0000FC0001FC0003F80003F03007E0300FE0300FC0701F 80703F80603F00E07E03E0FFFFE0FFFFE014167E9519>I E /Fi 29 122 df<00E00000E00000E00000E00000E000F0E1E0FCE7E07EEFC01FFF0007FC0001 F00007FC001FFF007EEFC0FCE7E0F0E1E000E00000E00000E00000E00000E00013157D99 1A>42 D<007C3801FF3807FFF80F83F81E00F81C00783800783800387000387000387000 00E00000E00000E00000E00000E00000E00000E00000E000007000007000387000383800 383800381C00701E00F00F83E007FFC001FF80007C00151E7E9D1A>67 D69 D<7FFFFCFFFFFC7FFFFC 0E001C0E001C0E001C0E001C0E001C0E00000E00000E03800E03800E03800FFF800FFF80 0FFF800E03800E03800E03800E00000E00000E00000E00000E00000E00000E00000E0000 7FE000FFE0007FE000161E7F9D1A>I73 D<7F03F8FF87FC7F03F81C01E01C03C01C03801C07001C0F001C1E001C1C00 1C38001C78001CF0001CF8001DF8001FDC001F9C001F0E001E0F001E07001C07801C0380 1C01C01C01C01C00E01C00E01C00707F00FCFF81FE7F00FC171E7F9D1A>75 D<7FE000FFF0007FE0000E00000E00000E00000E00000E00000E00000E00000E00000E00 000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E001C0E00 1C0E001C0E001C0E001C7FFFFCFFFFFC7FFFFC161E7F9D1A>I80 D86 D<7FFFC0FFFFE0FFFFE07FFFC013047D7E1A>95 D<1FF0003FFC007FFE0078 0F00300700000380000380007F8007FF801FFF803F8380780380700380E00380E00380E0 0380700780780F803FFFFC1FFDFC07F0FC16157D941A>97 DI<00FF8003FFC00FFFE01F01E03C00C078000070000070 0000E00000E00000E00000E00000E000007000007000007800703C00701F01F00FFFE003 FFC000FE0014157D941A>I<001FC0001FC0001FC00001C00001C00001C00001C00001C0 0001C001F1C007FDC00FFFC01E0FC03C07C07803C07001C0E001C0E001C0E001C0E001C0 E001C0E001C0E001C07003C07003C03807C03E0FC01FFFFC07FDFC01F1FC161E7E9D1A> I<01F80007FF000FFF801E07C03C01C07800E07000E0E00070E00070FFFFF0FFFFF0FFFF F0E000007000007000007800703C00701F01F00FFFE003FF8000FE0014157D941A>I<00 07E0001FF0003FF800787800F03000E00000E00000E00000E0007FFFF0FFFFF0FFFFF000 E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000 E00000E00000E0003FFF807FFFC03FFF80151E7F9D1A>I104 D<01C00003E00003E00003E00001C000000000000000 0000000000000000007FE0007FE0007FE00000E00000E00000E00000E00000E00000E000 00E00000E00000E00000E00000E00000E00000E00000E00000E0007FFF80FFFFC07FFF80 121F7C9E1A>I108 D<7CE0E000FFFBF8007FFFF8001F1F1C001E1E1C001E1E1C001C1C1C001C1C1C001C1C1C 001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C001C1C1C 007F1F1F00FF9F9F807F1F1F00191580941A>II<01F00007FC001FFF003E0F803C07807803C0 7001C0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07803C03C07803E0F80 1FFF0007FC0001F00013157D941A>II<7F81F8FF8FFC7F9FFE03FE1E03F80C03E00003E00003C00003 80000380000380000380000380000380000380000380000380000380007FFF00FFFF007F FF0017157F941A>114 D<0180000380000380000380000380000380000380007FFFE0FF FFE0FFFFE003800003800003800003800003800003800003800003800003800003800003 807003807003807003807001C1E001FFE000FF80003F00141C7F9B1A>116 DI<7F C7FCFFC7FE7FC7FC0E00E00E00E00E00E00701C00701C00701C003838003838003838001 C70001C70001C70000EE0000EE0000EE00007C00007C0000380017157F941A>I<7FC7F8 7FCFFC7FC7F80703C003838003C70001EF0000FE00007C00007800003800007C0000EE00 01EE0001C7000383800783C00701C07FC7FCFFC7FE7FC7FC17157F941A>120 D<7FC7FCFFC7FE7FC7FC0E00E00E00E00700E00701C00781C00381C003838001C38001C3 8001C70000E70000E70000E600006600006E00003C00003C00003C000038000038000038 0000780000700030700078E00071E0007FC0003F80001E000017207F941A>I E /Fj 1 59 df<70F8F8F87005057C840D>58 D E /Fk 6 102 df<06000F001F800F80 0F800380070007000F000E003C007C00F0006000090E769B18>39 D<7FFFC0FFFFE0FFFFE07FFFC013047C8F18>45 D<003E1800FFB801FFF807C1F8078078 0E00781E00781C0070380030380000700000700000700000E00000E00000E00000E00000 E00000E00000E000C07001C07001C07003C03807803C0F001FFE000FFC0003F000151C7C 9B18>67 D<07E01F800FE03FC007E03F8003B02E0003B06E0003B06E0003B0CE000730DC 000731DC0007319C0007319C0007339C0007331C000E3338000E3738000E3638000E3E38 000E3C38000E1838001C0070001C0070001C0070001C0070001C0070001C007000FE03F8 00FF03FC00FE03F8001A1C7F9B18>77 D<6000F000F000F000F8007800780078007C003C 003C003C003E001E001E001E001F000F000F000F000F8007800780078007C003C003C003 C003C003E001E001E001E001F000F000600C24789F18>92 D<00F80007FE000FFF001F07 803C03807801C07001C0E001C0E001C0FFFFC0FFFFC0FFFF80E00000E00000E003007007 80780F003FFE001FFC0007F00012147B9318>101 D E /Fl 52 122 df<3C7EFFFFFFFF7E3C08087C8711>46 D<007F800003FFF00007E1F8000F807C001F00 3E003F003F003E001F007E001F807E001F807E001F807E001F80FE001FC0FE001FC0FE00 1FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE00 1FC0FE001FC07E001F807E001F807E001F807E001F803F003F003F003F001F003E000F80 7C0007E1F80003FFF000007F80001A237EA21F>48 D<001C00003C0000FC00FFFC00FFFC 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC 0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC 0000FC0000FC0000FC0000FC007FFFFC7FFFFC16237CA21F>I<01FF0007FFC01E07F038 03F86001FC7C00FEFE00FEFE00FFFE007FFE007F7C007F3800FF0000FF0000FE0000FE00 01FC0001F80003F00007E0000780000F00001E00003C0000700000E00301C00303800707 00060600060FFFFE1FFFFE3FFFFE7FFFFCFFFFFCFFFFFC18237DA21F>I<01FF0007FFE0 1E03F03801F83C01FC7E00FE7E00FE7E00FE3E00FE1C01FE0001FC0001FC0003F80007F0 000FC001FF0001FF000007E00001F00001F80000FC0000FE0000FF0000FF1000FF7C00FF FE00FFFE00FFFE00FEFE00FE7C01FC7001F83E07F00FFFC001FF0018237DA21F>I<0000 380000007800000078000000F8000001F8000003F8000007F8000006F800000CF800001C F8000038F8000030F8000060F80000E0F80001C0F8000180F8000300F8000700F8000E00 F8001C00F8001800F8003000F8007000F800E000F800FFFFFFC0FFFFFFC00001F8000001 F8000001F8000001F8000001F8000001F8000001F800007FFFC0007FFFC01A237EA21F> I<18000C1F007C1FFFF81FFFF01FFFE01FFFC01FFF801FFC001800001800001800001800 0018000018FF001BFFE01F03F01C00F80800FC00007E00007E00007E00007F00007F7800 7FFC007FFC007FFC007FFC007EF8007E6000FC7000FC3801F81E07E007FFC001FE001823 7DA21F>I<001FC0007FF001F03803E00C07803E0F807E1F007E3F007E3F007E7E003C7E 00007E00007E0000FE3FC0FE7FF0FE80F8FF80FCFF007CFF007EFE007EFE007FFE007FFE 007FFE007F7E007F7E007F7E007F7E007F3E007E3F007E1F007C0F80F807C1F003FFC000 7F0018237DA21F>I<300000003C0000003FFFFFC03FFFFFC03FFFFF807FFFFF007FFFFE 007FFFFC006000180060001800E0003000C0006000C000C0000001800000018000000300 0000060000000E0000000E0000001C0000001C0000003C0000003C000000780000007800 0000F8000000F8000000F8000000F8000001F8000001F8000001F8000001F8000001F800 0001F8000000F00000006000001A257DA41F>I<00FF8003FFE00F01F81C007C38003C38 001E78001E78001E7C001E7E001E7F803C7FE03C3FF8781FFDF01FFFC00FFFC003FFE003 FFF80FFFFC1E1FFC3C07FE7803FE7800FFF0003FF0001FF0000FF0000FF0000FF0000E78 000E78001C3C00381F80F007FFE001FF0018237DA21F>I<00FF0003FFC00F83E01F00F0 3F00F87E007C7E007C7E007EFE007EFE007EFE007EFE007FFE007FFE007FFE007F7E007F 7E00FF3E00FF3F01FF1F017F0FFE7F03FC7F00007F00007E00007E3C007E7E00FC7E00FC 7E00F87E00F07C01F03003E01C0F800FFF0003F80018237DA21F>I<00001C0000000000 1C00000000003E00000000003E00000000003E00000000007F00000000007F0000000000 FF8000000000FF8000000000FF80000000019FC0000000019FC0000000031FE000000003 0FE0000000070FF00000000607F00000000607F00000000C07F80000000C03F80000001C 03FC0000001801FC0000001801FC0000003000FE0000003000FE0000007FFFFF0000007F FFFF000000E0007F800000C0003F800000C0003F80000180003FC0000180001FC0000380 001FE0000300000FE0000300000FE00007000007F000FFF000FFFF80FFF000FFFF802925 7EA42E>65 DI<0000FF8008000FFFF018003FC03C7800FE00 06F801F80003F803F00001F807E00000F80FC00000781FC00000783F800000383F800000 387F800000187F000000187F00000018FF00000000FF00000000FF00000000FF00000000 FF00000000FF00000000FF00000000FF00000000FF000000007F000000007F000000187F 800000183F800000183F800000181FC00000300FC000003007E000006003F00000C001F8 00018000FE000700003FC01E00000FFFF8000000FFC00025257DA42C>I69 DI72 DI75 DI< FFF8000000FFF8FFFC000001FFF803FC000001FE00037E0000037E00037E0000037E0003 7E0000037E00033F0000067E00033F0000067E00031F80000C7E00031F80000C7E00030F C000187E00030FC000187E000307E000307E000307E000307E000307E000307E000303F0 00607E000303F000607E000301F800C07E000301F800C07E000300FC01807E000300FC01 807E0003007E03007E0003007E03007E0003007E03007E0003003F06007E0003003F0600 7E0003001F8C007E0003001F8C007E0003000FD8007E0003000FD8007E00030007F0007E 00030007F0007E00030007F0007E00030003E0007E00078003E0007E00FFFC01C01FFFF8 FFFC01C01FFFF835257EA43A>II82 D<00FF008007FFE3800F80F7801E001F803C000F807800078078000380F80003 80F8000180F8000180FC000180FC000000FF0000007FE000007FFE00003FFFE0003FFFF8 001FFFFE0007FFFF0003FFFF80007FFF800003FFC000003FC000000FE0000007E0000007 E0C00003E0C00003E0C00003E0C00003C0E00003C0F00007C0F8000780FC000F00FFC03E 00E3FFF800803FE0001B257DA422>I<7FFFFFFFF87FFFFFFFF87E00FE01F87800FE0078 7000FE00386000FE00186000FE0018E000FE001CE000FE000CC000FE000CC000FE000CC0 00FE000CC000FE000C0000FE00000000FE00000000FE00000000FE00000000FE00000000 FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE 00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00 000000FE000000FFFFFE0000FFFFFE0026247EA32B>II< FFFF8001FFE0FFFF8001FFE007F800001C0003F80000180003F80000180003FC00003800 01FC0000300001FE0000700000FE0000600000FF00006000007F0000C000007F8000C000 003F80018000003F80018000003FC0038000001FC0030000001FE0070000000FE0060000 000FF00600000007F00C00000007F00C00000003F81800000003F81800000003FC380000 0001FC3000000001FE7000000000FE6000000000FF60000000007FC0000000007FC00000 00003F80000000003F80000000003F80000000001F00000000001F00000000000E000000 00000E0000002B257FA42E>II89 D<07FF00001FFFE0003E03F0003F00F8003F00FC003F007E001E007E000000 7E0000007E0000007E00001FFE0003FE7E000FC07E001F007E003E007E007E007E00FC00 7E00FC007E00FC007E00FC00BE007E01BE003F073E001FFE1FE007F00FE01B187E971E> 97 DI<007FE003FFF807C07C1F80FC1F00FC3F00FC 7E00787E0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00007E00007F0000 3F000C1F800C1FC01807E07003FFE0007F0016187E971B>I<0000FFC00000FFC000000F C000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000FC000000F C000000FC000000FC0007F0FC003FFCFC00FE0FFC01F803FC03F000FC03F000FC07E000F C07E000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE000FC0FE000F C07E000FC07E000FC03F000FC03F001FC01F803FC00FC0EFC003FFCFFC00FE0FFC1E267E A522>I<007F0003FFC007C1F00F80F81F00F83F007C7E007C7E007EFE007EFE007EFFFF FEFFFFFEFE0000FE0000FE00007E00007E00007E00063F00061F000C0F801807E07003FF E0007F8017187E971C>I<001FC0007FF001F8F003E1F807E1F807C1F80FC0F00FC0000F C0000FC0000FC0000FC0000FC0000FC000FFFF00FFFF000FC0000FC0000FC0000FC0000F C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000F C0000FC0000FC0000FC000FFFE00FFFE0015267EA513>I<01FF07C007FFDFE00F83F1E0 1F01F1E03E00F8007E00FC007E00FC007E00FC007E00FC007E00FC007E00FC003E00F800 1F01F0000F83E0000FFFC00011FF00003000000030000000380000003C0000003FFFE000 1FFFFC001FFFFE000FFFFF001FFFFF803C003F8078000FC0F80007C0F80007C0F80007C0 F80007C07C000F803E001F001F807E0007FFF80000FFC0001B247E971F>II<0F001F803FC03FC03FC03FC01F800F0000000000000000000000 000000007FC07FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC0 0FC00FC00FC00FC00FC00FC0FFF8FFF80D277EA611>I107 DIII<007F800003FFF00007C0F8001F807E003F003F 003F003F007E001F807E001F80FE001FC0FE001FC0FE001FC0FE001FC0FE001FC0FE001F C0FE001FC0FE001FC07E001F807E001F803F003F003F003F001F807E000FC0FC0003FFF0 00007F80001A187E971F>II114 D<07F8C01FFFC03C07C07001C0 F000C0F000C0F000C0FC0000FF80007FFC007FFE003FFF800FFFC003FFC0001FE00003E0 C001E0C001E0E001E0E001C0F003C0FC0780EFFF00C3FC0013187E9718>I<00C00000C0 0000C00000C00001C00001C00001C00003C00007C0000FC0001FC000FFFFC0FFFFC00FC0 000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0 600FC0600FC0600FC0600FC0600FC06007E0C007E1C001FF80007E0013237FA218>IIIIII E /Fm 28 122 df<0003E0001C1800381800703C00E03C00E03801C00001C00001C00001 C00001C0000380007FFFF00380700380700380700380700700E00700E00700E00700E007 00E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FF0FF016207E9F 19>12 D45 D<07FFFFF800F80078007800380078001800F00018 00F0000800F0000800F0000800F0000800F0000801E0080001E0080001E0080001E01800 01E0380001FFF80003C0300003C0100003C0100003C0100003C0100003C0000007800000 07800000078000000780000007800000078000000F0000000F800000FFFC00001D1F7E9E 1E>70 D<07FF803FE000F8001F000078000C00007800180000F000200000F000400000F0 00800000F001000000F002000000F008000001E010000001E020000001E060000001E0F0 000001E1F0000001E4F8000003C878000003D07C000003E03C000003C03E000003C01E00 0003C01F000007800F000007800F80000780078000078007C000078003C000078003E000 0F0001E0000F8003F000FFF00FFE00231F7E9E23>75 D<07F8000C0C001E06001E07001C 070000070000070000070000FF0007C7001E07003C0E00780E00F00E10F00E10F00E10F0 1E10F02E20784F401F878014147D9317>97 D<0700003F00000F00000700000700000E00 000E00000E00000E00000E00000E00001C00001C7C001D83001E01801C01C01C00E03800 E03800F03800F03800F03800F03800F07001E07001E07001C07003C0700380700700E80E 00CC380083E00014207B9F19>I<00FE000383000E07801C0780380700380000780000F0 0000F00000F00000F00000E00000E00000E00000F00000F001007002003804001C180007 E00011147D9314>I<0000380001F8000078000038000038000070000070000070000070 0000700000700000E000FCE00382E00601E01C01E03C00E03801C07801C0F001C0F001C0 F001C0F001C0E00380E00380E00380E00380F00380700780380F001C378007C7E015207D 9F19>I<00F800070E000E07001C0700380380780380700380F00380F00380FFFF80F000 00E00000E00000E00000E00000F001007002003004001C180007E00011147D9314>I<00 07C0001C600030F00060F000E0E000C00001C00001C00001C00001C00001C0000380003F FC000380000380000380000380000700000700000700000700000700000700000E00000E 00000E00000E00000E00000E00001C00001E0000FFC00014207F9F0E>I<00000E003E11 00E1A301C1C20381E00780E00701E00F01E00F01E00F01E00703C007038007870004FC00 0800000800001800001C00000FFF000FFFC00FFFE01800F0300030600030C00030C00030 C000306000603000C01C070007FC00181F809417>I<00E00007E00001E00000E00000E0 0001C00001C00001C00001C00001C00001C000038000038F800390E003A0E003C0600380 600780E00700E00700E00700E00700E00700E00E01C00E01C00E01C00E01C00E01C00E01 C01C03801E03C0FF8FF014207E9F19>I<01C003E003E003C00180000000000000000000 00000003801F800780038003800700070007000700070007000E000E000E000E000E000E 001C001E00FF800B1F7F9E0C>I<00E00007E00001E00000E00000E00001C00001C00001 C00001C00001C00001C0000380000381FC0380F00380C003818003810007040007080007 1800073800077C00071C000E1C000E0E000E0E000E0F000E07000E07801C03801E07C0FF 8FF016207E9F18>107 D<00E007E001E000E000E001C001C001C001C001C001C0038003 8003800380038003800700070007000700070007000E000E000E000E000E000E001C001E 00FF800B207F9F0C>I<0387C07C001F9861860007A072070003C0340300038038030007 80780700070070070007007007000700700700070070070007007007000E00E00E000E00 E00E000E00E00E000E00E00E000E00E00E000E00E00E001C01C01C001E01E01E00FFCFFC FFC022147E9326>I<038F801F90E007A0E003C0600380600780E00700E00700E00700E0 0700E00700E00E01C00E01C00E01C00E01C00E01C00E01C01C03801E03C0FF8FF014147E 9319>I<00FC000387000E01801C00C03800E03800E07000F0F000F0F000F0F000F0F000 F0E001E0E001E0E001C0E003C0F00380700700380E001C1C0007E00014147D9317>I<00 E3E00007EC380000F01C0000E00E0000E00F0001C0070001C0078001C0078001C0078001 C0078001C0078003800F0003800F0003800E0003801E0003801C00038038000740700007 61C000071F00000700000007000000070000000E0000000E0000000E0000000E0000001E 000000FFC00000191D809319>I<00FC200382600702601E01E03C01E03801C07801C0F0 01C0F001C0F001C0F001C0E00380E00380F00380F00380F00780700780380F001C370007 C700000700000700000700000E00000E00000E00000E00001E0000FFC0131D7D9318>I< 038E001FB38007C78003C7800383000780000700000700000700000700000700000E0000 0E00000E00000E00000E00000E00001C00001E0000FFC00011147E9312>I<01F9060708 031803180138023C001F001FF007FC01FE001F40074003400360036006F004C81887E010 147F9312>I<0080010001000100030007000F001E00FFF80E000E000E000E001C001C00 1C001C001C001C00380038103810381038103820382018400F800D1C7C9B12>I<1C0380 FC1F803C07801C03801C0380380700380700380700380700380700380700700E00700E00 700E00700E00701E00701E00703C00305E001F9F8011147B9319>III<1FF0FF03C07801C07001C04000E0C000E180007300007600003C00003C00001C0000 2E00004E000087000107000203800403800C01C03C03E0FE07FC18147F9318>I<0FF83F 8001E00E0001C00C0001C0080001E0080000E0100000E0300000E0200000E04000007040 0000708000007080000071000000390000003A0000003E0000003C000000380000001800 00001000000010000000200000002000000040000070C00000F0800000F1000000E60000 0078000000191D809318>I E /Fn 38 124 df<60F0F070101020204040040A7D960A> 39 D45 D<06000E00FE000E000E000E000E000E000E000E000E 000E000E000E000E000E000E000E000E000E00FFE00B157D9412>49 D<001000003800003800003800005C00005C00005C00008E00008E00008E000107000107 0002038002038002038007FFC00401C00401C00800E00800E01800F03800F0FE03FE1717 7F961A>65 DI<00FC100383300E00B01C0070380030300030700010600010E000 10E00000E00000E00000E00000E00000E000106000107000103000203800201C00400E00 8003830000FC0014177E9619>IIII<0FF800E000E000E000E0 00E000E000E000E000E000E000E000E000E000E000E000E000E0E0E0E0E0C1C061801F00 0D177E9612>74 D76 DII80 D82 D<0FC4302C601C400CC004C004C004E0007000 7F003FE00FF801FC001C000E0006800680068006C004E008D81087E00F177E9614>I<7F FFF860381840380840380880380480380480380400380000380000380000380000380000 380000380000380000380000380000380000380000380000380000380003FF8016177F96 19>II91 D<3FC0706070302038003803F81E3830387038E039E039E079 70FF1F1E100E7F8D12>97 DI<003E00000E00000E00000E00000E00000E00000E 00000E00000E0007CE001C3E00300E00700E00600E00E00E00E00E00E00E00E00E00600E 00700E00301E00182E0007CF8011177F9614>100 D<0FC0186030307038E018FFF8E000 E000E000600070083010183007C00D0E7F8D10>I<03E006700E701C201C001C001C001C 001C00FF801C001C001C001C001C001C001C001C001C001C001C001C007F800C1780960B >I<0F9E18E33060707070707070306018C02F80200060003FE03FF83FFC600EC006C006 C006600C38380FE010157F8D12>I107 DI<07C0183030 18600C600CE00EE00EE00EE00EE00E701C3018183007C00F0E7F8D12>111 DI<07C2001C 2600381E00700E00600E00E00E00E00E00E00E00E00E00600E00700E00301E001C2E0007 CE00000E00000E00000E00000E00000E00003F8011147F8D13>II<1F4060C0C040C040E000 FF007F801FC001E080608060C060E0C09F000B0E7F8D0E>I<0800080008001800180038 00FFC0380038003800380038003800380038403840384038401C800F000A147F930E>I< F83E00380E00380E00380E00380E00380E00380E00380E00380E00380E00380E00381E00 1C2E0007CF80110E7F8D14>I119 DI< FE1F380E3C0C1C081C080E100E100720072007E003C003C00180018001000100E200E200 A400780010147F8D13>I123 D E /Fo 2 106 df<00800180030003000300060006000C000C000C001800180018003000300060006000 6000C000C000600060006000300030001800180018000C000C000C000600060003000300 03000180008009267D9B0F>104 DI E /Fp 8 89 df<0007F008003C0C1800E0033801C000B8078000780F0000380E0000381E00 00183C0000183C0000087C0000087800000878000000F8000000F8000000F8000000F800 0000F8000000F8000000F8001FFF780000F8780000787C0000783C0000783C0000781E00 00780E0000780F0000780780007801C000B800E00118003C0E080007F00020217C9F27> 71 D73 D78 D<001FE0000070380001C00E 0003800700070003800F0003C01E0001E03C0000F03C0000F07C0000F87C0000F8780000 78F800007CF800007CF800007CF800007CF800007CF800007CF800007CF800007CF80000 7C780000787C0000F87C0000F83C0000F03E0001F01E0001E00F0003C007000380038007 0001E01E0000703800001FE0001E217C9F26>II<03F0200C0C601803E03000E06000E0600060E00060E00020E00020E000 20F00000F800007C00007F80003FFC001FFF0007FF8001FFC0000FE00003E00001E00000 F0000070800070800070800070800070C00060C000E0E000C0F80180C6030081FC001421 7C9F1C>83 D85 D<7FF807FE000FE001F00007C001C00003E000800001E001000001F002000000F8060000 0078040000003C080000003E180000001F100000000F200000000FC000000007C0000000 03C000000001E000000003F000000006F80000000478000000087C000000183E00000010 1E000000201F000000400F800000C0078000008003C000010003E000030001F000070000 F0001F8001F800FFC007FF80211F7E9E25>88 D E /Fq 34 121 df<0001C0000003C000000FC000007FC0001FFFC000FFFFC000FFBFC000E03FC000003F C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F C000003FC000003FC000003FC000003FC000003FC000003FC000003FC0007FFFFFF07FFF FFF07FFFFFF01C2E7AAD28>49 D<003FE00001FFFE0007FFFF800F80FFC01E003FE03800 1FF07C000FF87E0007FCFF0007FCFF8007FEFF8007FEFF8003FEFF8003FE7F0003FE3E00 07FE000007FE000007FC000007FC00000FF800000FF800000FF000001FE000001FC00000 3F8000007F0000007E000000F8000001F0000003E0000007C000000F0000001E000E003C 000E0038000E0070001E00E0001C01C0001C0300003C07FFFFFC0FFFFFFC1FFFFFFC3FFF FFFC7FFFFFF8FFFFFFF8FFFFFFF8FFFFFFF81F2E7CAD28>I<000003FF80018000003FFF F003800001FFFFFC07800007FF003F0F80001FF800079F80003FC00001FF8000FF800000 FF8001FE0000007F8003FC0000003F8007FC0000001F8007F80000000F800FF00000000F 801FF000000007801FF000000007803FE000000007803FE000000003807FE00000000380 7FE000000003807FC000000000007FC00000000000FFC00000000000FFC00000000000FF C00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0 0000000000FFC000000000007FC000000000007FC000000000007FE000000000007FE000 000003803FE000000003803FE000000003801FF000000003801FF000000007800FF00000 00070007F8000000070007FC0000000E0003FC0000001E0001FE0000001C0000FF800000 7800003FC00000F000001FF80003E0000007FF003F80000001FFFFFE000000003FFFF800 00000003FF80000031317CB03A>67 D69 DI<000003FF00030000007FFFF007000001FFFFFC0F0000 07FF007E1F00001FF0000FBF00007FC00003FF0000FF800001FF0001FE0000007F0003FC 0000007F0007FC0000003F000FF80000001F000FF00000001F001FF00000000F001FF000 00000F003FE000000007003FE000000007007FE000000007007FE000000007007FC00000 000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC0000000 0000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC000000000 00FFC00007FFFFF87FC00007FFFFF87FE00007FFFFF87FE0000001FF003FE0000001FF00 3FE0000001FF001FF0000001FF001FF0000001FF000FF0000001FF000FF8000001FF0007 FC000001FF0003FC000001FF0001FE000001FF0000FF800001FF00007FC00003FF00001F F800077F000007FF003E3F000001FFFFFC1F0000007FFFF00F00000003FF80030035317C B03F>I73 D76 D78 D80 D82 D<7FFFFFFFFFFF007FFFFFFFFFFF007FFFFFFFFFFF007FC00FF801FF007E000F F8003F007C000FF8001F0078000FF8000F0078000FF8000F0070000FF8000700F0000FF8 000780F0000FF8000780F0000FF8000780E0000FF8000380E0000FF8000380E0000FF800 0380E0000FF8000380E0000FF800038000000FF800000000000FF800000000000FF80000 0000000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000 00000FF800000000000FF800000000000FF800000000000FF800000000000FF800000000 000FF800000000000FF800000000000FF800000000000FF800000000000FF80000000000 0FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000F F800000000000FF800000000000FF800000000000FF800000000000FF8000000007FFFFF FF0000007FFFFFFF0000007FFFFFFF000031307DAF38>84 DII<00FFF0000003FFFF00000F803F80000FC00F E0001FE007F0001FE007F0001FE003F8000FC003FC00078003FC00000003FC00000003FC 00000003FC00000003FC000000FFFC00001FFFFC0000FFE3FC0003FC03FC000FF003FC00 1FC003FC003FC003FC007F8003FC007F8003FC00FF0003FC00FF0003FC00FF0003FC00FF 0007FC00FF0007FC007F800DFC003FC01DFE001FE078FFF007FFE07FF000FF803FF02420 7E9F27>97 D<01F8000000FFF8000000FFF8000000FFF80000000FF800000007F8000000 07F800000007F800000007F800000007F800000007F800000007F800000007F800000007 F800000007F800000007F800000007F800000007F800000007F83FE00007F8FFFC0007FB E07F0007FF001F8007FE000FC007FC000FE007F80007F007F80007F807F80007F807F800 03FC07F80003FC07F80003FC07F80003FE07F80003FE07F80003FE07F80003FE07F80003 FE07F80003FE07F80003FE07F80003FE07F80003FC07F80003FC07F80003FC07F80007F8 07F80007F807F80007F007FC000FE007FE000FC007E7003F8007C3C0FE000780FFF80007 003FC00027327EB12D>I<000FFF00007FFFC001FC01F003F003F007E007F80FE007F81F C007F83FC003F03FC001E07F8000007F8000007F800000FF800000FF800000FF800000FF 800000FF800000FF800000FF800000FF8000007F8000007F8000007F8000003FC0001C3F C0001C1FC000380FE0003807E0007003F001E001FC07C0007FFF00000FF8001E207D9F24 >I<0000000FC0000007FFC0000007FFC0000007FFC00000007FC00000003FC00000003F C00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC00000003FC0 0000003FC00000003FC00000003FC00000003FC00007F83FC0003FFF3FC000FE07BFC003 F801FFC007E0007FC00FE0007FC01FC0003FC03FC0003FC03FC0003FC07F80003FC07F80 003FC07F80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF80003FC0FF8000 3FC0FF80003FC0FF80003FC07F80003FC07F80003FC07F80003FC03FC0003FC03FC0003F C01FC0003FC00FE0007FC007E000FFC003F003FFE001FC0F3FFE007FFE3FFE000FF03FFE 27327DB12D>I<000FFC00007FFF8001FC0FC003F003E007E001F00FE001F81FC000FC3F C000FE3FC000FE7F80007E7F80007F7F80007FFF80007FFF80007FFFFFFFFFFFFFFFFFFF 800000FF800000FF800000FF8000007F8000007F8000007F8000003FC000071FC000071F C0000E0FE0000E07F0001C03F8007800FE03E0003FFFC00007FE0020207E9F25>I<0001 FE00000FFF80001FC3C0007F07E000FE0FF001FE0FF001FC0FF003FC0FF003FC07E003FC 018003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0000FFFF FC00FFFFFC00FFFFFC0003FC000003FC000003FC000003FC000003FC000003FC000003FC 000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC 000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC 000003FC00007FFFF0007FFFF0007FFFF0001C327EB119>I<001FF007C000FFFE3FE001 F83F79F007E00FC3F00FE00FE1F00FC007E0E01FC007F0001FC007F0003FC007F8003FC0 07F8003FC007F8003FC007F8003FC007F8001FC007F0001FC007F0000FC007E0000FE00F E00007E00FC00003F83F000006FFFE00000E1FF000000E000000001E000000001E000000 001F000000001F800000001FFFFF80000FFFFFF0000FFFFFFC0007FFFFFE0003FFFFFF00 03FFFFFF800FFFFFFFC03F00007FC07E00001FE07C00000FE0FC000007E0FC000007E0FC 000007E0FC000007E07E00000FC03E00000F803F00001F800FC0007E0007F803FC0001FF FFF000001FFF0000242F7E9F28>I<01F8000000FFF8000000FFF8000000FFF80000000F F800000007F800000007F800000007F800000007F800000007F800000007F800000007F8 00000007F800000007F800000007F800000007F800000007F800000007F800000007F807 F80007F83FFE0007F8783F0007F8C03F8007F9801FC007FB001FC007FE001FE007FC001F E007FC001FE007FC001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0 07F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007 F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0FFFF C3FFFFFFFFC3FFFFFFFFC3FFFF28327DB12D>I<03C00007E0000FF0001FF8001FF8001F F8001FF8000FF00007E00003C00000000000000000000000000000000000000000000000 000000000001F8007FF8007FF8007FF80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007 F80007F80007F80007F80007F80007F80007F800FFFF80FFFF80FFFF8011337DB217>I< 01F800FFF800FFF800FFF8000FF80007F80007F80007F80007F80007F80007F80007F800 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800 07F80007F80007F80007F80007F80007F80007F80007F80007F80007F80007F800FFFFC0 FFFFC0FFFFC012327DB117>108 D<03F007F8001FE000FFF03FFE00FFF800FFF0783F01 E0FC00FFF0C03F8300FE000FF1801FC6007F0007F3001FCC007F0007F6001FF8007F8007 FC001FF0007F8007FC001FF0007F8007FC001FF0007F8007F8001FE0007F8007F8001FE0 007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007 F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0 007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007 F8001FE0007F8007F8001FE0007F8007F8001FE0007F8007F8001FE0007F80FFFFC3FFFF 0FFFFCFFFFC3FFFF0FFFFCFFFFC3FFFF0FFFFC3E207D9F43>I<03F007F800FFF03FFE00 FFF0783F00FFF0C03F800FF1801FC007F3001FC007F6001FE007FC001FE007FC001FE007 FC001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8 001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F800 1FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE0FFFFC3FFFFFFFFC3FF FFFFFFC3FFFF28207D9F2D>I<0007FC0000007FFFC00001FC07F00003F001F80007E000 FC000FC0007E001FC0007F003FC0007F803F80003F807F80003FC07F80003FC07F80003F C0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0FF80003FE0 FF80003FE07F80003FC07F80003FC07F80003FC03FC0007F803FC0007F801FC0007F000F E000FE0007E000FC0003F803F80001FE0FF000007FFFC0000007FC000023207E9F28>I< 01F83FE000FFF8FFFC00FFFBE07F00FFFF003F8007FE001FC007FC000FE007F8000FF007 F80007F807F80007F807F80007FC07F80003FC07F80003FC07F80003FE07F80003FE07F8 0003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FE07F80003FC07F800 07FC07F80007FC07F80007F807F80007F807F8000FF007FC000FE007FE001FC007FF003F 8007FBC0FE0007F8FFF80007F83FC00007F800000007F800000007F800000007F8000000 07F800000007F800000007F800000007F800000007F800000007F800000007F8000000FF FFC00000FFFFC00000FFFFC00000272E7E9F2D>I<03F03F00FFF07FC0FFF1C3E0FFF187 E00FF30FF007F60FF007F60FF007FC07E007FC03C007FC000007FC000007F8000007F800 0007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F800 0007F8000007F8000007F8000007F8000007F8000007F8000007F80000FFFFE000FFFFE0 00FFFFE0001C207E9F21>114 D<01FF860007FFFE001F00FE003C003E0078001E007800 0E00F8000E00F8000E00F8000E00FC000000FF800000FFFC00007FFFC0003FFFF0003FFF F8001FFFFC0007FFFE0001FFFF00003FFF000000FF8000003F8060001F80E0000F80E000 0F80F0000F80F0000F00F8000F00FC001E00FE001C00FF807800F3FFF000C07F80001920 7D9F20>I<001C0000001C0000001C0000001C0000001C0000003C0000003C0000003C00 00007C0000007C000000FC000001FC000003FC000007FC00001FFFFE00FFFFFE00FFFFFE 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00 0003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC038003FC03 8003FC038003FC038003FC038003FC038003FC038001FC038001FC070000FE0700007F0E 00003FFC000007F000192E7FAD1F>I<01F80007E0FFF803FFE0FFF803FFE0FFF803FFE0 0FF8003FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007 F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8 001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8001FE007F8003FE007F800 3FE003F8007FE003F8007FE001FC00DFF000FE039FFF007FFF1FFF000FFC1FFF28207D9F 2D>I119 D<7FFF807FFC7FFF807FFC7FFF807FFC03 FC000F0001FE001E0000FF003C0000FF803800007FC07800003FC0F000001FE1E000000F F3C000000FFF80000007FF00000003FE00000001FE00000000FF00000000FF80000000FF C0000001FFC0000003DFE00000078FF00000078FF800000F07FC00001E03FE00003C01FE 00007800FF0000F000FF8001E0007FC003E0003FE0FFFC01FFFFFFFC01FFFFFFFC01FFFF 28207F9F2B>I E /Fr 1 14 df<0000FF00000007FFE000001F00F8000078001E0000E0 000700018000018003000000C006000000600C000000300C000000301800000018300000 000C300000000C6000000006600000000660000000066000000006C000000003C0000000 03C000000003C000000003C000000003C000000003C000000003C000000003C000000003 6000000006600000000660000000066000000006300000000C300000000C18000000180C 000000300C00000030060000006003000000C0018000018000E00007000078001E00001F 00F8000007FFE0000000FF0000282B7EA02D>13 D E /Fs 56 122 df<0006000C00180038007000E001E003C003C0078007800F800F001F001F003E003E00 3E007E007E007E007C007C00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00FC00 FC00FC007C007C007E007E007E003E003E003E001F001F000F000F800780078003C003C0 01E000E0007000380018000C00060F3C7AAC1A>40 D<3C007F00FF80FF80FFC0FFC0FFC0 7FC03EC000C000C00180018001800300030006000E001C00380010000A157B8813>44 D<1C007F007F00FF80FF80FF807F007F001C0009097B8813>46 D<000E00001E00007E00 07FE00FFFE00FFFE00F8FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00 00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00FFFFFEFFFFFEFFFFFE 17277BA622>49 D<00FF800007FFF0000FFFFC001E03FE003800FF807C003F80FE003FC0 FF001FC0FF001FE0FF000FE0FF000FE07E000FE03C001FE000001FE000001FC000001FC0 00003F8000003F0000007E000000FC000000F8000001F0000003E00000078000000F0000 001E0000003C00E0007000E000E000E001C001C0038001C0060001C00FFFFFC01FFFFFC0 3FFFFFC07FFFFFC0FFFFFF80FFFFFF80FFFFFF801B277DA622>I<007F800003FFF00007 FFFC000F81FE001F007F003F807F003F803F803F803F803F803F801F803F801F003F8000 007F0000007F0000007E000000FC000001F8000007F00000FFC00000FFC0000001F80000 007E0000003F0000003F8000001FC000001FC000001FE000001FE03C001FE07E001FE0FF 001FE0FF001FE0FF001FC0FF003FC0FE003F807C007F003F01FE001FFFFC0007FFF00000 FF80001B277DA622>I<00000F0000000F0000001F0000003F0000007F000000FF000001 FF000001FF000003BF0000073F00000E3F00001C3F00003C3F0000383F0000703F0000E0 3F0001C03F0003803F0007803F0007003F000E003F001C003F0038003F0070003F00F000 3F00FFFFFFF8FFFFFFF8FFFFFFF800007F0000007F0000007F0000007F0000007F000000 7F0000007F0000007F00001FFFF8001FFFF8001FFFF81D277EA622>I<180003001F801F 001FFFFE001FFFFC001FFFF8001FFFF0001FFFC0001FFF00001C0000001C0000001C0000 001C0000001C0000001C0000001C0000001C7FC0001DFFF8001F80FC001E003F0008003F 0000001F8000001FC000001FC000001FE000001FE018001FE07C001FE0FE001FE0FE001F E0FE001FE0FE001FC0FC001FC078003F8078003F803C007F001F01FE000FFFFC0003FFF0 0000FF80001B277DA622>I<0007F800003FFE0000FFFF0001FC078003F00FC007C01FC0 0F801FC01F801FC01F001FC03F000F803F0000007E0000007E0000007E000000FE020000 FE1FF000FE3FFC00FE603E00FE801F00FF801F80FF000FC0FF000FC0FE000FE0FE000FE0 FE000FE0FE000FE07E000FE07E000FE07E000FE07E000FE03E000FE03F000FC01F000FC0 1F001F800F801F0007E07E0003FFFC0001FFF800003FC0001B277DA622>I<380000003E 0000003FFFFFF03FFFFFF03FFFFFF07FFFFFE07FFFFFC07FFFFF807FFFFF0070000E0070 000E0070001C00E0003800E0007000E000E0000001C0000001C000000380000007800000 070000000F0000001F0000001E0000003E0000003E0000007E0000007C0000007C000000 FC000000FC000000FC000000FC000001FC000001FC000001FC000001FC000001FC000001 FC000001FC000000F80000007000001C297CA822>I<007F800001FFF00007FFF8000FC0 FC001F803E003F001F007E001F807E001F807E000F80FE000FC0FE000FC0FE000FC0FE00 0FE0FE000FE0FE000FE0FE000FE0FE000FE07E001FE07E001FE03F003FE01F002FE00F80 CFE007FF8FE001FF0FE000080FE000000FC000000FC000000FC000001F803E001F807F00 1F807F003F007F003E007F007E007E00FC003E03F8001FFFE0000FFF800001FE00001B27 7DA622>57 D<00000780000000000780000000000FC0000000000FC0000000000FC00000 00001FE0000000001FE0000000003FF0000000003FF0000000003FF00000000077F80000 000077F800000000F7FC00000000E3FC00000000E3FC00000001C1FE00000001C1FE0000 0003C1FF0000000380FF0000000380FF00000007007F80000007007F8000000F007FC000 000E003FC000000E003FC000001C001FE000001C001FE000003FFFFFF000003FFFFFF000 003FFFFFF00000700007F80000700007F80000F00007FC0000E00003FC0001E00003FE00 01C00001FE0001C00001FE0003C00001FF00FFFE003FFFFCFFFE003FFFFCFFFE003FFFFC 2E297EA833>65 DI<00007FE0030007FFFC07001FFFFF0F007FF00F9F00FF0001FF01FC0000FF03F8 00007F07F000003F0FE000001F1FC000001F1FC000000F3F8000000F3F800000077F8000 00077F800000077F00000000FF00000000FF00000000FF00000000FF00000000FF000000 00FF00000000FF00000000FF00000000FF000000007F000000007F800000007F80000007 3F800000073F800000071FC00000071FC000000E0FE000000E07F000001C03F800003C01 FC00007800FF0001F0007FF007C0001FFFFF800007FFFE0000007FF00028297CA831>I< FFFFFFFC0000FFFFFFFF8000FFFFFFFFE00003FC001FF80003FC0003FC0003FC0000FE00 03FC00007F0003FC00003F8003FC00001FC003FC00001FC003FC00000FE003FC00000FE0 03FC000007F003FC000007F003FC000007F003FC000007F003FC000007F803FC000007F8 03FC000007F803FC000007F803FC000007F803FC000007F803FC000007F803FC000007F8 03FC000007F803FC000007F803FC000007F003FC000007F003FC000007F003FC00000FE0 03FC00000FE003FC00000FC003FC00001FC003FC00003F8003FC00007F0003FC0000FF00 03FC0003FC0003FC001FF800FFFFFFFFF000FFFFFFFF8000FFFFFFFC00002D297EA834> III<00007FE0030000 07FFFC0700001FFFFF0F00007FF00F9F0000FF0001FF0001FC0000FF0003F800007F0007 F000003F000FE000001F001FC000001F001FC000000F003F8000000F003F80000007007F 80000007007F80000007007F0000000000FF0000000000FF0000000000FF0000000000FF 0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000FFFFF87F 0000FFFFF87F8000FFFFF87F800000FF003F800000FF003F800000FF001FC00000FF001F C00000FF000FE00000FF0007F00000FF0003F80000FF0001FC0000FF0000FF0001FF0000 7FF007FF00001FFFFF9F000007FFFE0F0000007FF003002D297CA835>III75 DIII<0000FFC00000000FFF FC0000003F807F000000FE001FC00001F80007E00003F00003F00007E00001F8000FE000 01FC001FC00000FE001FC00000FE003F8000007F003F8000007F007F8000007F807F0000 003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF0000 003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000 003FC07F0000003F807F8000007F807F8000007F803F8000007F003F8000007F001FC000 00FE001FC00000FE000FE00001FC0007F00003F80003F80007F00001FC000FE00000FE00 1FC000003FC0FF0000000FFFFC00000000FFC000002A297CA833>II<0000FFC00000000FFFFC0000 003FC0FF000000FE001FC00001FC000FE00003F00003F00007F00003F8000FE00001FC00 1FC00000FE001FC00000FE003F8000007F003F8000007F007F8000007F807F8000007F80 7F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0 FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0 7F0000003F807F8000007F807F8000007F803F8000007F003F8000007F001FC00000FE00 1FC03E00FE000FE07F81FC0007E0C1C1F80003F18063F00001F98067E00000FF803FC000 003FC07F0000000FFFFC00000000FFF800C00000003C00C00000001E00C00000001E01C0 0000001F83C00000001FFFC00000000FFF800000000FFF800000000FFF0000000007FF00 00000003FE0000000001FC0000000000F8002A357CA833>II<00FF806003FFF0E00FFF F8E01F80FDE03F001FE03E0007E07C0003E07C0003E0FC0001E0FC0001E0FC0000E0FE00 00E0FE0000E0FF000000FFC000007FFC00007FFFE0003FFFF8001FFFFE001FFFFF0007FF FF8003FFFFC000FFFFC0000FFFE000007FE000001FF000000FF0000007F0E00003F0E000 03F0E00003F0E00003F0F00003E0F00003E0F80007E0FC0007C0FF000F80FFE03F80E3FF FE00E1FFFC00C01FF0001C297CA825>I<7FFFFFFFFF807FFFFFFFFF807FFFFFFFFF807F 807F807F807C007F800F8078007F80078078007F80078070007F800380F0007F8003C0F0 007F8003C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F8001C0E0007F8001C000 007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000 007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000 007F80000000007F80000000007F80000000007F80000000007F80000000007F80000000 007F80000000007F80000000007F80000000007F80000000FFFFFFC00000FFFFFFC00000 FFFFFFC0002A287EA72F>IIII89 D<03FF80000FFFF0001F01FC003F80FE003F807F003F803F003F803F801F003F8000003F 8000003F8000003F8000003F80003FFF8001FC3F800FE03F801F803F803F003F807E003F 80FC003F80FC003F80FC003F80FC003F80FC005F807E00DF803F839FFC1FFE0FFC03FC03 FC1E1B7E9A21>97 DI<003FF00001FFFC0003F03E000FC07F001F807F003F007F003F007F007F003E00 7E0000007E000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000 7E0000007E0000007F0000003F0003803F8003801F8007000FE00E0003F83C0001FFF800 003FC000191B7E9A1E>I<00007FF000007FF000007FF0000007F0000007F0000007F000 0007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F0000007F000 3F87F001FFF7F007F03FF00FC00FF01F8007F03F0007F03F0007F07E0007F07E0007F07E 0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F0FE0007F07E 0007F07E0007F03F0007F03F0007F01F800FF00FC01FF007E07FFF01FFE7FF007F87FF20 2A7EA925>I<003FC00001FFF00003E07C000F803E001F801F001F001F003F000F807E00 0F807E000FC07E000FC0FE0007C0FE0007C0FFFFFFC0FFFFFFC0FE000000FE000000FE00 00007E0000007E0000007F0000003F0001C01F0001C00F80038007C0070003F01E0000FF FC00003FE0001A1B7E9A1F>I<0007F8003FFC007E3E01FC7F03F87F03F07F07F07F07F0 3E07F00007F00007F00007F00007F00007F00007F000FFFFC0FFFFC0FFFFC007F00007F0 0007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0 0007F00007F00007F00007F00007F00007F00007F0007FFF807FFF807FFF80182A7EA915 >I<00FF80F003FFE3F80FC1FE1C1F007C7C3F007E7C3E003E107E003F007E003F007E00 3F007E003F007E003F007E003F003E003E003F007E001F007C000FC1F8000BFFE00018FF 80001800000038000000380000003C0000003FFFF8003FFFFF001FFFFFC00FFFFFE007FF FFF01FFFFFF03C0007F07C0001F8F80000F8F80000F8F80000F8F80000F87C0001F07C00 01F03F0007E00FC01F8007FFFF00007FF0001E287E9A22>II<07000F801FC03FE03FE03FE01FC00F80 07000000000000000000000000000000FFE0FFE0FFE00FE00FE00FE00FE00FE00FE00FE0 0FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE00FE0FFFEFFFEFFFE0F2B 7EAA12>I108 DII<003FE00001FFFC0003F07E000FC01F801F800FC03F0007 E03F0007E07E0003F07E0003F07E0003F0FE0003F8FE0003F8FE0003F8FE0003F8FE0003 F8FE0003F8FE0003F8FE0003F87E0003F07E0003F03F0007E03F0007E01F800FC00FC01F 8007F07F0001FFFC00003FE0001D1B7E9A22>II114 D<03FE300FFFF03E03F07800F07000F0 F00070F00070F80070FE0000FFE0007FFF007FFFC03FFFE01FFFF007FFF800FFF80007FC 0000FCE0007CE0003CF0003CF00038F80038FC0070FF01E0E7FFC0C1FF00161B7E9A1B> I<00E00000E00000E00000E00001E00001E00001E00003E00003E00007E0000FE0001FFF E0FFFFE0FFFFE00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0 000FE0000FE0000FE0000FE0700FE0700FE0700FE0700FE0700FE0700FE07007F0E003F0 C001FF80007F0014267FA51A>IIIIII E /Ft 90 127 df<70F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F870000000 000070F8F8F870051C779B18>33 D<4010E038F078E038E038E038E038E038E038E038E0 38E038E03860300D0E7B9C18>I<030600078F00078F00078F00078F00078F00078F007F FFC0FFFFE0FFFFE07FFFC00F1E000F1E000F1E000F1E000F1E000F1E007FFFC0FFFFE0FF FFE07FFFC01E3C001E3C001E3C001E3C001E3C001E3C000C1800131C7E9B18>I<00C000 01C00001C00001C00003F0000FFC003FFE007DCF0071C700E1C380E1C780E1C780E1C780 F1C00079C0003FC0001FE0000FF80001FC0001DE0001CF0001C70061C380F1C380F1C380 E1C380E1C70071C70079DE003FFE001FF80007E00001C00001C00001C00000C00011247D 9F18>I<3803007C07807C0780EE0F80EE0F00EE0F00EE1F00EE1E00EE1E00EE3E007C3C 007C3C00387C0000780000780000F80000F00001F00001E00001E00003E00003C00003C0 0007C0000783800787C00F87C00F0EE00F0EE01F0EE01E0EE01E0EE03E0EE03C07C03C07 C018038013247E9F18>I<01C00007E0000FF0000E70001C38001C38001C38001C38001C 73F81CF3F81CE3F80FC1C00FC3800F83800F03801F07003F87007B8E0071CE00E1FC00E0 FC00E07C00E07870E0787070FE707FFFE03FC7E00F03C0151C7F9B18>I<387C7C7E3E0E 0E0E1C1C38F8F0C0070E789B18>I<007000F001E003C007800F001E001C003800380070 00700070007000E000E000E000E000E000E000E000E0007000700070007000380038001C 001E000F00078003C001F000F000700C24799F18>I<6000F00078003C001E000F000780 038001C001C000E000E000E000E00070007000700070007000700070007000E000E000E0 00E001C001C0038007800F001E003C007800F00060000C247C9F18>I<01C00001C00001 C00001C00041C100F1C780FDDF807FFF001FFC0007F00007F0001FFC007FFF00FDDF80F1 C78041C10001C00001C00001C00001C00011147D9718>I<00600000F00000F00000F000 00F00000F00000F00000F0007FFFC0FFFFE0FFFFE07FFFC000F00000F00000F00000F000 00F00000F00000F00000600013147E9718>I<1C3E7E7F3F1F070E1E7CF860080C788518> I<7FFFC0FFFFE0FFFFE07FFFC013047E8F18>I<3078FCFC78300606778518>I<00030000 0780000780000F80000F00001F00001E00001E00003E00003C00007C0000780000780000 F80000F00001F00001E00003E00003C00003C00007C0000780000F80000F00000F00001F 00001E00003E00003C00003C00007C0000780000F80000F00000F0000060000011247D9F 18>I<01F00007FC000FFE001F1F001C07003803807803C07001C07001C0E000E0E000E0 E000E0E000E0E000E0E000E0E000E0E000E0E000E0F001E07001C07001C07803C0380380 1C07001F1F000FFE0007FC0001F000131C7E9B18>I<01800380038007800F803F80FF80 FB8043800380038003800380038003800380038003800380038003800380038003800380 7FFCFFFE7FFC0F1C7B9B18>I<03F0000FFE003FFF007C0F807003C0E001C0F000E0F000 E06000E00000E00000E00001C00001C00003C0000780000F00001E00003C0000780000F0 0001E00007C0000F80001E00E03C00E07FFFE0FFFFE07FFFE0131C7E9B18>I<001F0000 3F0000770000770000E70001E70001C7000387000787000707000E07001E07003C070038 0700780700F00700FFFFF8FFFFF8FFFFF800070000070000070000070000070000070000 7FF0007FF0007FF0151C7F9B18>52 D<3FFF803FFF803FFF803800003800003800003800 003800003800003800003800003BF8003FFE003FFF003C07803003C00001C00000E00000 E06000E0F000E0F000E0E001C07003C07C0F803FFF001FFC0003F000131C7E9B18>I<00 7E0001FF0007FF800F83C01E03C01C03C0380180380000700000700000E1F800E7FE00FF FF00FE0780F803C0F001C0F000E0E000E0F000E07000E07000E07000E03801C03C03C01E 07800FFF0007FE0001F800131C7E9B18>II<03F8000FFE001FFF003E0F803803807001C07001C07001C07001C03803803C07 801FFF0007FC000FFE001F1F003C07807001C0F001E0E000E0E000E0E000E0E000E07001 C07803C03E0F801FFF000FFE0003F800131C7E9B18>I<3078FCFC783000000000000000 003078FCFC78300614779318>58 D<183C7E7E3C180000000000000000183C7E7E3E1E0E 1C3C78F060071A789318>I<0000C00003E00007E0001FC0003F8000FE0001FC0007F000 0FE0003F80007F0000FC0000FC00007F00003F80000FE00007F00001FC0000FE00003F80 001FC00007E00003E00000C013187E9918>I<7FFFC0FFFFE0FFFFE07FFFC00000000000 000000000000007FFFC0FFFFE0FFFFE07FFFC0130C7E9318>I<600000F80000FC00007F 00003F80000FE00007F00001FC0000FE00003F80001FC00007E00007E0001FC0003F8000 FE0001FC0007F0000FE0003F80007F0000FC0000F8000060000013187E9918>I<0FF000 3FFC007FFF00700F00F00380F00380600780000F00003E00007C0001F00001E00003C000 03C00003C00003C00003C00003800000000000000000000000000000000003800007C000 07C00007C000038000111C7D9B18>I<007C0001FE0007FF000F87801E03C03C1DC0387F C070FFE071E3E071C1E0E1C1E0E380E0E380E0E380E0E380E0E380E0E380E0E1C1C071C1 C071E3C070FF80387F003C1C001E00E00F83E007FFC001FF80007E00131C7E9B18>I<00 700000F80000F80000D80000D80001DC0001DC0001DC00018C00038E00038E00038E0003 8E000707000707000707000707000707000FFF800FFF800FFF800E03801C01C01C01C01C 01C07F07F0FF07F87F07F0151C7F9B18>I<7FFC00FFFF007FFF801C03C01C01C01C00E0 1C00E01C00E01C00E01C01E01C01C01C07C01FFF801FFF001FFFC01C03C01C00E01C00F0 1C00701C00701C00701C00701C00F01C00E01C03E07FFFC0FFFF807FFE00141C7F9B18> I<00F8E003FEE007FFE00F07E01E03E03C01E03800E07000E07000E0700000E00000E000 00E00000E00000E00000E00000E00000E000007000007000E07000E03800E03C00E01E01 C00F07C007FF8003FE0000F800131C7E9B18>I<7FF800FFFE007FFF001C0F801C03C01C 03C01C01E01C00E01C00E01C00F01C00701C00701C00701C00701C00701C00701C00701C 00701C00F01C00E01C00E01C01E01C01C01C03C01C0F807FFF00FFFE007FF800141C7F9B 18>III<01F1C003FDC00FFFC01F0FC01C03C03803C03801C07001C07001C0700000E0 0000E00000E00000E00000E00000E00FF0E01FF0E00FF07001C07001C07003C03803C038 03C01C07C01F0FC00FFFC003FDC001F1C0141C7E9B18>I<7F07F0FF8FF87F07F01C01C0 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01FFFC01FFFC01FFFC01C01C0 1C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C01C07F07F0FF8FF87F07F0 151C7F9B18>I<7FFF00FFFF807FFF0001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C00001C0 0001C00001C00001C0007FFF00FFFF807FFF00111C7D9B18>I<01FFC001FFC001FFC000 0E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000 0E00000E00000E00000E00000E00000E00000E00F00E00F00E00F03C007FFC003FF0000F C000121C7D9B18>I<7F07F0FF87F87F07F01C03C01C07801C07001C0E001C1E001C3C00 1C38001C70001CF0001DF0001DF0001FB8001FB8001F1C001E1C001C0E001C0E001C0700 1C07001C03801C03801C01C07F03F0FF87F87F03F0151C7F9B18>III<7E07F0FF0FF8 7F07F01D81C01D81C01D81C01DC1C01CC1C01CC1C01CE1C01CE1C01CE1C01C61C01C71C0 1C71C01C31C01C39C01C39C01C39C01C19C01C19C01C1DC01C0DC01C0DC01C0DC07F07C0 FF87C07F03C0151C7F9B18>I<0FFE003FFF807FFFC07803C07001C0F001E0E000E0E000 E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000 E0E000E0E000E0F001E07001C07C07C07FFFC03FFF800FFE00131C7E9B18>II<0FFE003FFF807FFFC07803C07001C0F001E0E000E0 E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0E000E0 E000E0E070E0E070E0F079E07039C0783FC07FFFC03FFF800FFE00000F00000780000780 0003C00001C00001C013227E9B18>I<7FF800FFFE007FFF001C0F801C03801C03C01C01 C01C01C01C01C01C03C01C03801C0F801FFF001FFE001FFE001C0F001C07001C03801C03 801C03801C03801C03801C039C1C039C1C039C7F01F8FF81F87F00F0161C7F9B18>I<03 F1C01FFFC03FFFC07C0FC07003C0E001C0E001C0E001C0E000007000007800003F00001F F00007FE0000FF00000F800003C00001C00000E00000E06000E0E000E0E001E0F001C0F8 0780FFFF80FFFE00E7F800131C7E9B18>I<7FFFF8FFFFF8FFFFF8E07038E07038E07038 E07038007000007000007000007000007000007000007000007000007000007000007000 00700000700000700000700000700000700000700007FF0007FF0007FF00151C7F9B18> IIII<7F0FE07F9FE07F0FE00E07000F07 00070E00078E00039C0003DC0001F80001F80000F80000F00000700000F00000F80001FC 0001DC00039E00038E00070F000707000E07800E03801E03C07F07F0FF07F87F07F0151C 7F9B18>II91 D<600000F00000F00000F800007800007C00003C00003C00003E00001E00001F00000F00 000F00000F800007800007C00003C00003C00003E00001E00001F00000F00000F8000078 00007800007C00003C00003E00001E00001E00001F00000F00000F800007800007800003 0011247D9F18>II<7FFFC0FFFFE0FFFFE07FFFC013047E7F18>95 D<061E3E387070E0E0E0F8FC7C7C38070E789E18>I<0FF0001FFC003FFE003C0F001807 0000038000038000FF8007FF801FFF807F0380780380E00380E00380E00380F00780780F 803FFFF81FFDF807F0F815147E9318>I<7E0000FE00007E00000E00000E00000E00000E 00000E00000E3E000EFF800FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E 00380E00380E00380F00700F00700F80E00FC1E00FFFC00EFF80063E00151C809B18>I< 01FE0007FF001FFF803E0780380300700000700000E00000E00000E00000E00000E00000 E000007000007001C03801C03E03C01FFF8007FF0001FC0012147D9318>I<001F80003F 80001F8000038000038000038000038000038003E3800FFB801FFF803C1F80380F807007 80700380E00380E00380E00380E00380E00380E00380700780700780380F803C1F801FFF F00FFBF803E3F0151C7E9B18>I<01F00007FC001FFE003E0F00380780700380700380E0 01C0E001C0FFFFC0FFFFC0FFFFC0E000007000007001C03801C03E07C01FFF8007FF0001 F80012147D9318>I<001F80007FC000FFE000E1E001C0C001C00001C00001C0007FFFC0 FFFFC0FFFFC001C00001C00001C00001C00001C00001C00001C00001C00001C00001C000 01C00001C00001C00001C0007FFF007FFF007FFF00131C7F9B18>I<01E1F007FFF80FFF F81E1E301C0E003807003807003807003807003807001C0E001E1E001FFC001FF80039E0 003800001C00001FFE001FFFC03FFFE07801F0700070E00038E00038E00038E000387800 F07E03F01FFFC00FFF8001FC00151F7F9318>I<7E0000FE00007E00000E00000E00000E 00000E00000E00000E3E000EFF800FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E 00E00E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC171C809B 18>I<038007C007C007C0038000000000000000007FC0FFC07FC001C001C001C001C001 C001C001C001C001C001C001C001C001C001C0FFFFFFFFFFFF101D7C9C18>I<0038007C 007C007C003800000000000000000FFC0FFC0FFC001C001C001C001C001C001C001C001C 001C001C001C001C001C001C001C001C001C001C001C001C001C001C6038F078FFF07FE0 3F800E277E9C18>I<7E0000FE00007E00000E00000E00000E00000E00000E00000E3FF0 0E3FF00E3FF00E07800E0F000E1E000E3C000E78000EF0000FF8000FFC000F9C000F0E00 0E0F000E07000E03800E03C07FC7F8FFC7F87FC7F8151C7F9B18>III<7E3E00FEFF807FFFC00FC1C00F80E00F00E00E00E00E00E00E00E00E00E0 0E00E00E00E00E00E00E00E00E00E00E00E00E00E07FC7FCFFE7FE7FC7FC1714809318> I<01F0000FFE001FFF003E0F803803807001C07001C0E000E0E000E0E000E0E000E0E000 E0F001E07001C07803C03C07803E0F801FFF000FFE0001F00013147E9318>I<7E3E00FE FF807FFFC00FC1E00F80E00F00700E00700E00380E00380E00380E00380E00380E00380F 00700F00700F80E00FC1E00FFFC00EFF800E3E000E00000E00000E00000E00000E00000E 00000E00007FC000FFE0007FC000151E809318>I<01F38007FB801FFF803E1F80380F80 700780700780E00380E00380E00380E00380E00380E00380700780700780380F803C1F80 1FFF800FFB8003E380000380000380000380000380000380000380000380001FF0003FF8 001FF0151E7E9318>II<07F7003FFF007FFF00780F00E00700E00700E007007C00007FE0001FFC0003 FE00001F00600780E00380E00380F00380F80F00FFFF00FFFC00E7F00011147D9318>I< 0180000380000380000380000380007FFFC0FFFFC0FFFFC0038000038000038000038000 0380000380000380000380000380000380400380E00380E00380E001C1C001FFC000FF80 003E0013197F9818>I<7E07E0FE0FE07E07E00E00E00E00E00E00E00E00E00E00E00E00 E00E00E00E00E00E00E00E00E00E00E00E00E00E01E00F03E007FFFC03FFFE01FCFC1714 809318>I<7F8FF0FF8FF87F8FF01C01C00E03800E03800E038007070007070007070007 8F00038E00038E00038E0001DC0001DC0001DC0000F80000F80000700015147F9318>I< FF07F8FF8FF8FF07F83800E03800E03800E03800E01C01C01C71C01CF9C01CF9C01CD9C0 1DDDC00DDD800DDD800DDD800D8D800F8F800F8F8007070015147F9318>I<7F8FF07F9F F07F8FF00F0700078E00039E0001DC0001F80000F80000700000F00000F80001DC00039E 00038E000707000E07807F8FF0FF8FF87F8FF015147F9318>I<7F8FF0FF8FF87F8FF00E 01C00E03800E0380070380070700070700038700038700038E0001CE0001CE0001CC0000 CC0000DC0000780000780000780000700000700000700000F00000E00079E0007BC0007F 80003F00001E0000151E7F9318>I<3FFFF07FFFF07FFFF07001E07003C0700780000F00 001E00003C0000F80001F00003C0000780000F00701E00703C0070780070FFFFF0FFFFF0 FFFFF014147F9318>I<0007E0001FE0007FE000780000E00000E00000E00000E00000E0 0000E00000E00000E00000E00000E00000E00001E0007FC000FF8000FF80007FC00001E0 0000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E0000078 00007FE0001FE00007E013247E9F18>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0600424769F18>I<7C0000FF0000FFC00003C000 00E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000E00000F000 007FC0003FE0003FE0007FC000F00000E00000E00000E00000E00000E00000E00000E000 00E00000E00000E00000E00003C000FFC000FF00007C000013247E9F18>I<060C1F1E3F BEFBF8F1F060C00F067C9B18>I E /Fu 77 123 df<001F83E000F06E3001C078780380 F8780300F03007007000070070000700700007007000070070000700700007007000FFFF FF8007007000070070000700700007007000070070000700700007007000070070000700 700007007000070070000700700007007000070070000700700007007000070070000700 70003FE3FF001D20809F1B>11 D<003F0000E0C001C0C00381E00701E00701E007000007 0000070000070000070000070000FFFFE00700E00700E00700E00700E00700E00700E007 00E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E00700E03F C3FC1620809F19>I<003FE000E0E001C1E00381E00700E00700E00700E00700E00700E0 0700E00700E00700E0FFFFE00700E00700E00700E00700E00700E00700E00700E00700E0 0700E00700E00700E00700E00700E00700E00700E00700E00700E00700E03FE7FC162080 9F19>I<001F81F80000F04F040001C07C06000380F80F000300F00F000700F00F000700 70000007007000000700700000070070000007007000000700700000FFFFFFFF00070070 070007007007000700700700070070070007007007000700700700070070070007007007 000700700700070070070007007007000700700700070070070007007007000700700700 0700700700070070070007007007003FE3FE3FE02320809F26>I<7038F87CFC7EFC7E74 3A0402040204020804080410081008201040200F0E7F9F17>34 D<00400000400003F000 0C4E00104100204080604080404040C041C0C043C0C043C0E04180E040007040007C4000 3FC0001FF8000FFC0003FE00007F00004F800043800041C00041C0F040C0F040C0F040C0 8040C08040804041802041003042000C4C0003F00000400000400000400012257EA117> 36 D<70F8FCFC74040404080810102040060E7C9F0D>39 D<0040008001000300060004 000C001800180038003000300070006000600060006000E000E000E000E000E000E000E0 00E000E000E000E000E00060006000600060007000300030003800180018000C00040006 0003000100008000400A2E7BA112>I<8000400020003000180008000C00060006000700 030003000380018001800180018001C001C001C001C001C001C001C001C001C001C001C0 01C001800180018001800380030003000700060006000C00080018003000200040008000 0A2E7EA112>I<70F0F8F878080808101010202040050E7C840D>44 DI<70F8F8F87005057C840D>I<0000400000C000018000018000 0180000300000300000300000600000600000C00000C00000C0000180000180000180000 300000300000600000600000600000C00000C00000C00001800001800001800003000003 00000600000600000600000C00000C00000C000018000018000030000030000030000060 0000600000600000C00000C00000122D7EA117>I<03F0000E1C001C0E00180600380700 700380700380700380700380F003C0F003C0F003C0F003C0F003C0F003C0F003C0F003C0 F003C0F003C0F003C0F003C0F003C07003807003807003807807803807001806001C0E00 0E1C0003F000121F7E9D17>I<008003800F80F380038003800380038003800380038003 80038003800380038003800380038003800380038003800380038003800380038007C0FF FE0F1E7C9D17>I<03F0000C1C00100E00200700400780800780F007C0F803C0F803C0F8 03C02007C00007C0000780000780000F00000E00001C0000380000700000600000C00001 80000300000600400C00401800401000803FFF807FFF80FFFF80121E7E9D17>I<03F000 0C1C00100E00200F00780F80780780780780380F80000F80000F00000F00001E00001C00 00700007F000003C00000E00000F000007800007800007C02007C0F807C0F807C0F807C0 F00780400780400F00200E00183C0007F000121F7E9D17>I<000600000600000E00000E 00001E00002E00002E00004E00008E00008E00010E00020E00020E00040E00080E00080E 00100E00200E00200E00400E00C00E00FFFFF0000E00000E00000E00000E00000E00000E 00000E0000FFE0141E7F9D17>I<1803001FFE001FFC001FF8001FE00010000010000010 000010000010000010000011F000161C00180E001007001007800003800003800003C000 03C00003C07003C0F003C0F003C0E00380400380400700200600100C0008380007E00012 1F7E9D17>I<007C000182000701000E03800C0780180780380300380000780000700000 700000F1F000F21C00F40600F80700F80380F80380F003C0F003C0F003C0F003C0F003C0 7003C07003C07003803803803807001807000C0E00061C0001F000121F7E9D17>I<4000 007FFFE07FFFC07FFFC04000808001008001008002000004000004000008000010000010 0000200000200000600000600000E00000C00001C00001C00001C00001C00003C00003C0 0003C00003C00003C00003C00003C000018000131F7E9D17>I<03F0000C0C0010060030 03002001806001806001806001807001807803003E03003F06001FC8000FF00003F80007 FC000C7E00103F00300F806007806001C0C001C0C000C0C000C0C000C0C0008060018020 01001002000C0C0003F000121F7E9D17>I<03F0000E18001C0C00380600380700700700 700380F00380F00380F003C0F003C0F003C0F003C0F003C07007C07007C03807C0180BC0 0E13C003E3C0000380000380000380000700300700780600780E00700C00201800107000 0FC000121F7E9D17>I<70F8F8F8700000000000000000000070F8F8F87005147C930D>I< 70F8F8F8700000000000000000000070F0F8F878080808101010202040051D7C930D>I< 000100000003800000038000000380000007C0000007C0000007C0000009E0000009E000 0009E0000010F0000010F0000010F00000207800002078000020780000403C0000403C00 00C03E0000801E0000801E0001FFFF0001000F0001000F00020007800200078002000780 040003C0040003C00C0003C01E0003E0FF801FFE1F207F9F22>65 DI<000FE01000381C3000E00270 03C00170078000F00F0000701E0000701E0000303C0000303C0000107C00001078000010 F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000F8000000 780000007C0000103C0000103C0000101E0000201E0000200F0000200780004003C00080 00E0030000380C00000FF0001C217E9F21>IIII<000FE01000381C3000E0027003C00170078000F0 0F0000701E0000701E0000303C0000303C0000107C00001078000010F8000000F8000000 F8000000F8000000F8000000F8000000F8000000F8003FFEF80001F0780000F07C0000F0 3C0000F03C0000F01E0000F01E0000F00F0000F0078000F003C0017000E0023000380C10 000FF0001F217E9F24>III75 DIII<001FE0000070380001C00E000380070007000380 0F0003C01E0001E03C0000F03C0000F07C0000F87C0000F878000078F800007CF800007C F800007CF800007CF800007CF800007CF800007CF800007CF800007C780000787C0000F8 7C0000F83C0000F03E0001F01E0001E00F0003C0070003800380070001E01E0000703800 001FE0001E217E9F23>II82 D<03F0400C0CC01803C030 01C06000C06000C0E000C0E00040E00040E00040F00000F800007C00007F80003FF8001F FF0007FF8000FFC0001FE00003E00001E00000F0000070800070800070800070800070C0 0060C000E0E000C0F80180C6030081FC0014217E9F19>I<7FFFFFE0780F01E0600F0060 400F0020400F0020C00F0030800F0010800F0010800F0010800F0010000F0000000F0000 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000 000F0000000F0000000F0000000F0000000F0000000F0000000F0000000F0000001F8000 03FFFC001C1F7E9E21>IIII89 D91 D<080410082010201040204020804080408040 B85CFC7EFC7E7C3E381C0F0E7A9F17>II<081020 204040808080B8FCFC7C38060E7D9F0D>96 D<1FE000303000781800781C00300E00000E 00000E00000E0000FE00078E001E0E00380E00780E00F00E10F00E10F00E10F01E10781E 103867200F83C014147E9317>I<1C0000FC00001C00001C00001C00001C00001C00001C 00001C00001C00001C00001C00001C7C001D87001E01801E00C01C00E01C00701C00701C 00781C00781C00781C00781C00781C00781C00701C00F01C00E01E00C01A018019870010 7C0015207E9F19>I<01FC000706001C0F00380F00380600780000700000F00000F00000 F00000F00000F00000F000007000007800003800803800801C010007060001F80011147F 9314>I<0001C0000FC00001C00001C00001C00001C00001C00001C00001C00001C00001 C00001C001F1C0070DC00C03C01801C03801C07801C07001C0F001C0F001C0F001C0F001 C0F001C0F001C07001C07001C03801C01803C00C03C0070DC001F1F815207F9F19>I<03 F0000E1C001C0E00380700380700700700700380F00380F00380FFFF80F00000F00000F0 00007000007000003800803800801C010007060001F80011147F9314>I<007C01C6030F 070F0E060E000E000E000E000E000E000E00FFF00E000E000E000E000E000E000E000E00 0E000E000E000E000E000E000E000E000E000E007FE01020809F0E>I<0000E003E3300E 3C301C1C30380E00780F00780F00780F00780F00780F00380E001C1C001E380033E00020 00002000003000003000003FFE001FFF801FFFC03001E0600070C00030C00030C00030C0 00306000603000C01C038003FC00141F7F9417>I<1C0000FC00001C00001C00001C0000 1C00001C00001C00001C00001C00001C00001C00001C7C001C86001D03001E03801E0380 1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380 1C03801C0380FF8FF014207E9F19>I<38007C007C007C00380000000000000000000000 00001C00FC001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C00 1C001C00FF80091F7F9E0C>I<00E001F001F001F000E000000000000000000000000000 7007F000F000700070007000700070007000700070007000700070007000700070007000 70007000700070007000706070F060F0C061803F000C28829E0E>I<1C0000FC00001C00 001C00001C00001C00001C00001C00001C00001C00001C00001C00001C1FE01C07801C06 001C04001C08001C10001C20001C60001CE0001DF0001E70001C38001C3C001C1C001C0E 001C0F001C07001C07801C07C0FF9FF014207E9F18>I<1C00FC001C001C001C001C001C 001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C001C 001C001C001C001C001C001C00FF8009207F9F0C>I<1C3E03E000FCC30C30001D039038 001E01E01C001E01E01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C00 1C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C01C01C001C 01C01C001C01C01C00FF8FF8FF8021147E9326>I<1C7C00FC86001D03001E03801E0380 1C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C0380 1C03801C0380FF8FF014147E9319>I<01F800070E001C03803801C03801C07000E07000 E0F000F0F000F0F000F0F000F0F000F0F000F07000E07000E03801C03801C01C0380070E 0001F80014147F9317>I<1C7C00FD87001E01801E01C01C00E01C00F01C00701C00781C 00781C00781C00781C00781C00781C00701C00F01C00E01E01C01E03801D87001C7C001C 00001C00001C00001C00001C00001C00001C00001C0000FF8000151D7E9319>I<01F040 070CC00E02C01C03C03801C07801C07001C0F001C0F001C0F001C0F001C0F001C0F001C0 7001C07801C03801C01C03C00C05C00709C001F1C00001C00001C00001C00001C00001C0 0001C00001C00001C0000FF8151D7F9318>I<1CF0FD181E3C1E3C1E181C001C001C001C 001C001C001C001C001C001C001C001C001C001C00FFC00E147E9312>I<0FC830386018 C008C008C008E0007C003FE01FF007F8003C800E8006C006C006C004E00CD81887E00F14 7F9312>I<020002000200060006000E000E003E00FFF80E000E000E000E000E000E000E 000E000E000E000E000E040E040E040E040E040708030801F00E1C7F9B12>I<1C0380FC 1F801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C03801C 03801C03801C03801C07800C0780061B8003E3F014147E9319>II III<7FFF700E600E401C40384078407000E001E0 01C00380078007010E011E011C0338027006700EFFFE10147F9314>I E /Fv 14 122 df<0000001FFC0000C000000003FFFFC001C00000001FFFFFF003C00000 007FFFFFFC07C0000001FFFC00FE0FC0000007FFC0001F9FC000000FFE000007FFC00000 3FF8000003FFC000007FF0000000FFC00000FFE00000007FC00001FFC00000007FC00001 FF800000003FC00003FF000000001FC00007FE000000001FC0000FFE000000000FC0000F FC000000000FC0001FFC0000000007C0001FFC0000000007C0003FF80000000007C0003F F80000000003C0003FF80000000003C0007FF80000000003C0007FF80000000003C0007F F0000000000000007FF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000000000000000FFF000000000000000FFF000000000000000FFF000000000000000FF F000001FFFFFFF807FF000001FFFFFFF807FF000001FFFFFFF807FF800001FFFFFFF807F F800000001FFC0003FF800000001FFC0003FF800000001FFC0003FF800000001FFC0001F FC00000001FFC0001FFC00000001FFC0000FFE00000001FFC0000FFE00000001FFC00007 FF00000001FFC00003FF00000001FFC00001FF80000001FFC00001FFC0000001FFC00000 FFE0000001FFC000007FF0000003FFC000003FFC000003FFC000000FFF000007FFC00000 07FFC0001FBFC0000001FFFC00FF1FC00000007FFFFFFE0FC00000001FFFFFF803C00000 0003FFFFE000C0000000001FFE00000000413D7BBB4C>71 D76 D78 D82 D85 D<003FFE00000001FFFFE0000007FFFFF800000FE007FC00000FF001FE00001FF800FF00 001FF8007F80001FF8007FC0001FF8003FC0000FF0003FE00007E0003FE00003C0003FE0 000000003FE0000000003FE0000000003FE0000000003FE0000000FFFFE000001FFFFFE0 00007FF83FE00003FF803FE00007FC003FE0000FF0003FE0001FE0003FE0003FE0003FE0 007FC0003FE0007FC0003FE000FF80003FE000FF80003FE000FF80003FE000FF80003FE0 00FF80007FE0007FC0007FE0007FC000DFE0003FE0039FF0001FF80F0FFFE007FFFE0FFF E001FFFC07FFE0003FE000FFE02B267DA52F>97 D<00FE00000000FFFE00000000FFFE00 000000FFFE00000000FFFE0000000007FE0000000003FE0000000003FE0000000003FE00 00000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE00 00000003FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FE00 00000003FE0000000003FE01FF000003FE1FFFF00003FE7FFFFC0003FEFC03FE0003FFF0 00FF0003FFC0003F8003FF00001FC003FE00001FE003FE00000FF003FE00000FF803FE00 000FF803FE000007FC03FE000007FC03FE000007FC03FE000007FE03FE000007FE03FE00 0007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE000007FE03FE00 0007FE03FE000007FC03FE000007FC03FE000007FC03FE00000FFC03FE00000FF803FE00 000FF003FE00001FF003FF00001FE003FF80003FC003FFC0007F8003F9E000FF0003F0FC 07FE0003F07FFFF80003E01FFFE00003C003FE00002F3C7DBB36>I<000000003F800000 003FFF800000003FFF800000003FFF800000003FFF8000000001FF8000000000FF800000 0000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800000 0000FF8000000000FF8000000000FF8000000000FF8000000000FF8000000000FF800000 0000FF8000000000FF8000000000FF800000FF80FF80000FFFF0FF80003FFFFCFF8000FF C03FFF8001FE000FFF8003FC0003FF8007F80001FF800FF00000FF801FF00000FF803FE0 0000FF803FE00000FF807FE00000FF807FC00000FF807FC00000FF807FC00000FF80FFC0 0000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC00000FF80FFC0 0000FF80FFC00000FF80FFC00000FF807FC00000FF807FC00000FF807FC00000FF803FE0 0000FF803FE00000FF801FE00000FF800FF00001FF8007F80003FF8003F80007FF8001FE 001FFFC000FF807EFFFE007FFFF8FFFE000FFFE0FFFE0001FF00FFFE2F3C7DBB36>100 D<0001FF8000000FFFF000007FFFFC0000FF81FE0003FE007F8007F8003F800FF0001FC0 0FF0000FE01FE0000FE03FE0000FF03FE00007F07FC00007F07FC00007F87FC00007F8FF C00007F8FFC00007F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFC0000000FFC0000000FFC0 000000FFC00000007FC00000007FC00000007FC00000003FE00000003FE00000781FE000 00781FF00000780FF00000F007F80001F003FC0003E001FE000FC000FFC07F80003FFFFE 00000FFFF8000000FFC00025267DA52C>I<01E00007F8000FFC000FFC001FFE001FFE00 1FFE001FFE000FFC000FFC0007F80001E000000000000000000000000000000000000000 00000000000000000000000000000000FE007FFE007FFE007FFE007FFE0007FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00 03FE0003FE0003FE00FFFFF0FFFFF0FFFFF0FFFFF0143D7DBC1A>105 D<00FE00FFFE00FFFE00FFFE00FFFE0007FE0003FE0003FE0003FE0003FE0003FE0003FE 0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE 0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE 0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE 0003FE0003FE0003FE0003FE0003FE0003FE0003FE0003FE00FFFFF8FFFFF8FFFFF8FFFF F8153C7DBB1A>108 D<01FC00FF8000FFFC03FFF000FFFC0FFFF800FFFC1E03FC00FFFC 3801FE0007FC6001FF0003FCC000FF0003FDC000FF8003FD8000FF8003FF0000FF8003FF 0000FF8003FF0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE 0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE 0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE 0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF8003FE0000FF80FFFF F83FFFFEFFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F267CA536>110 D<01FC03F000FFFC0FFC00FFFC1FFF00FFFC3C3F80FFFC707F8007FCE0FFC003FCC0FFC0 03FD80FFC003FD80FFC003FF807F8003FF003F0003FF001E0003FF00000003FE00000003 FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE 00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00 000003FE00000003FE00000003FE00000003FE00000003FE000000FFFFFC0000FFFFFC00 00FFFFFC0000FFFFFC000022267DA528>114 D121 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%PaperSize: A4 %%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.0,)c(for)i Ft(Readline)f(Library)g Fu(V)l(ersion)i(4.0.)1572 845 y(Decem)o(b)q(er)g(1998)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(675)g(Massac)o(h)o(usetts)g (Av)o(en)o(ue,)75 482 y(Cam)o(bridge,)h(MA)g(02139)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 294 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 419 y Fs(1.1)33 b(In)n(tro)r(duction)24 b(to)e(Line)i(Editing)137 514 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 580 y(The)h(text)327 578 y Fo(h)p 339 552 56 2 v 339 580 a Fn(C-k)p 339 587 V 393 578 a Fo(i)424 580 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 578 y Fo(h)p 1844 552 19 2 v 1844 580 a Fn(k)p 1844 587 V 1860 578 a Fo(i)75 634 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 700 y(The)g(text)325 698 y Fo(h)p 337 672 63 2 v 337 700 a Fn(M-k)p 337 708 V 398 698 a Fo(i)428 700 y Fu(is)f(read)g(as)g(`Meta-K')f(and)h(describ)q(es)i(the)e(c)o (haracter)g(pro)q(duced)h(when)f(the)h(meta)75 755 y(k)o(ey)d(\(if)h(y) o(ou)f(ha)o(v)o(e)g(one\))g(is)h(depressed,)g(and)g(the)922 753 y Fo(h)p 935 727 19 2 v 935 755 a Fn(k)p 935 763 V 951 753 a Fo(i)979 755 y Fu(k)o(ey)g(is)f(pressed.)20 b(If)14 b(y)o(ou)f(do)g(not)g(ha)o(v)o(e)g(a)g(meta)g(k)o(ey)l(,)75 810 y(the)k(iden)o(tical)i(k)o(eystrok)o(e)d(can)h(b)q(e)h(generated)f (b)o(y)g(t)o(yping)1110 808 y Fo(h)p 1122 782 70 2 v 1122 810 a Fn(ESC)p 1122 818 V 1189 808 a Fo(i)1221 810 y Fm(\014rst)p Fu(,)f(and)i(then)f(t)o(yping)1668 808 y Fo(h)p 1681 782 19 2 v 1681 810 a Fn(k)p 1681 818 V 1697 808 a Fo(i)1712 810 y Fu(.)26 b(Either)75 865 y(pro)q(cess)15 b(is)h(kno)o(wn)f(as)g Fm(metafying)k Fu(the)773 863 y Fo(h)p 785 837 V 785 865 a Fn(k)p 785 873 V 802 863 a Fo(i)832 865 y Fu(k)o(ey)l(.)137 931 y(The)h(text)334 929 y Fo(h)p 347 903 100 2 v 347 931 a Fn(M-C-k)p 347 938 V 444 929 a Fo(i)479 931 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 986 y Fm(metafying)291 984 y Fo(h)p 303 958 56 2 v 303 986 a Fn(C-k)p 303 993 V 357 984 a Fo(i)372 986 y Fu(.)137 1052 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 1050 y Fo(h)p 1396 1024 73 2 v 1396 1052 a Fn(DEL)p 1396 1059 V 1467 1050 a Fo(i)1482 1052 y Fu(,)1514 1050 y Fo(h)p 1526 1024 70 2 v 1526 1052 a Fn(ESC)p 1526 1059 V 1593 1050 a Fo(i)1608 1052 y Fu(,)1640 1050 y Fo(h)p 1652 1024 72 2 v 1652 1052 a Fn(LFD)p 1652 1059 V 1722 1050 a Fo(i)1737 1052 y Fu(,)1768 1050 y Fo(h)p 1780 1024 70 2 v 1780 1052 a Fn(SPC)p 1780 1059 V 1847 1050 a Fo(i)1862 1052 y Fu(,)75 1104 y Fo(h)p 87 1078 76 2 v 87 1106 a Fn(RET)p 87 1114 V 160 1104 a Fo(i)175 1106 y Fu(,)23 b(and)306 1104 y Fo(h)p 318 1078 74 2 v 318 1106 a Fn(T)m(AB)p 318 1114 V 390 1104 a Fo(i)427 1106 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 1161 y(Section)16 b(1.3)e([Readline)j(Init)g(File],)e(page)g (3\).)75 1286 y Fs(1.2)33 b(Readline)23 b(In)n(teraction)137 1381 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 1436 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 1491 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 1545 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 1600 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 1655 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 1653 y Fo(h)p 1172 1627 155 2 v 1172 1655 a Fn(RETURN)p 1172 1663 V 1324 1653 a Fo(i)1339 1655 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 1710 y(the)g(end)g(of)f (the)g(line)i(to)e(press)634 1708 y Fo(h)p 646 1682 V 646 1710 a Fn(RETURN)p 646 1717 V 798 1708 a Fo(i)813 1710 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 1765 y(of)f(the)g(cursor)g(within)h(the)g(line.) 75 1873 y Fl(1.2.1)30 b(Readline)20 b(Bare)g(Essen)n(tials)137 1968 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 2023 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 2077 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 2143 y(Sometimes)j(y)o(ou)f(ma)o(y)g(miss)h(t)o (yping)g(a)f(c)o(haracter)g(that)f(y)o(ou)i(w)o(an)o(ted)f(to)f(t)o(yp) q(e,)i(and)g(not)f(notice)75 2198 y(y)o(our)c(error)f(un)o(til)i(y)o (ou)f(ha)o(v)o(e)g(t)o(yp)q(ed)g(sev)o(eral)h(other)e(c)o(haracters.)19 b(In)c(that)e(case,)h(y)o(ou)g(can)g(t)o(yp)q(e)1739 2196 y Fo(h)p 1751 2170 57 2 v 1751 2198 a Fn(C-b)p 1751 2206 V 1806 2196 a Fo(i)1835 2198 y Fu(to)75 2253 y(mo)o(v)o(e)h(the)h (cursor)g(to)f(the)h(left,)g(and)g(then)h(correct)e(y)o(our)h(mistak)o (e.)21 b(Afterw)o(ards,)15 b(y)o(ou)h(can)g(mo)o(v)o(e)f(the)75 2308 y(cursor)g(to)f(the)i(righ)o(t)f(with)559 2306 y Fo(h)p 571 2280 49 2 v 571 2308 a Fn(C-f)p 571 2315 V 617 2306 a Fo(i)632 2308 y Fu(.)137 2374 y(When)i(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 2428 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 2483 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 2538 y(bac)o(k')d(to)h(\014ll)h(in)g(the)f(blank)g(space)h(created)f(b) o(y)f(the)h(remo)o(v)m(al)g(of)g(the)g(text.)21 b(A)16 b(list)h(of)e(the)h(basic)h(bare)75 2593 y(essen)o(tials)f(for)f (editing)h(the)f(text)g(of)g(an)g(input)h(line)h(follo)o(ws.)75 2668 y Fo(h)p 87 2642 57 2 v 87 2670 a Fn(C-b)p 87 2678 V 142 2668 a Fo(i)315 2670 y Fu(Mo)o(v)o(e)d(bac)o(k)h(one)h(c)o (haracter.)p eop %%Page: 2 4 2 3 bop 75 -58 a Fu(2)1322 b(GNU)15 b(Readline)i(Library)75 181 y Fo(h)p 87 155 49 2 v 87 183 a Fn(C-f)p 87 191 V 133 181 a Fo(i)315 183 y Fu(Mo)o(v)o(e)d(forw)o(ard)g(one)h(c)o (haracter.)75 258 y Fo(h)p 87 232 73 2 v 87 260 a Fn(DEL)p 87 268 V 158 258 a Fo(i)315 260 y Fu(Delete)h(the)f(c)o(haracter)g(to)f (the)h(left)h(of)f(the)g(cursor.)75 335 y Fo(h)p 87 309 57 2 v 87 337 a Fn(C-d)p 87 344 V 142 335 a Fo(i)315 337 y Fu(Delete)h(the)f(c)o(haracter)g(underneath)h(the)f(cursor.)75 413 y(Prin)o(ting)h(c)o(haracters)315 468 y(Insert)f(the)h(c)o (haracter)e(in)o(to)h(the)h(line)h(at)d(the)h(cursor.)75 543 y Fo(h)p 87 517 50 2 v 87 545 a Fn(C-)p 126 545 11 2 v 87 553 50 2 v 135 543 a Fo(i)315 545 y Fu(Undo)i(the)g(last)f (editing)i(command.)25 b(Y)l(ou)17 b(can)g(undo)g(all)g(the)g(w)o(a)o (y)f(bac)o(k)h(to)f(an)g(empt)o(y)315 600 y(line.)75 707 y Fl(1.2.2)30 b(Readline)20 b(Mo)n(v)n(emen)n(t)i(Commands)137 802 y Fu(The)17 b(ab)q(o)o(v)o(e)e(table)i(describ)q(es)g(the)f(most)g (basic)g(p)q(ossible)i(k)o(eystrok)o(es)d(that)g(y)o(ou)h(need)h(in)g (order)f(to)75 857 y(do)e(editing)h(of)f(the)g(input)h(line.)22 b(F)l(or)13 b(y)o(our)h(con)o(v)o(enience,)h(man)o(y)f(other)f (commands)h(ha)o(v)o(e)g(b)q(een)h(added)75 912 y(in)f(addition)g(to) 356 910 y Fo(h)p 368 884 57 2 v 368 912 a Fn(C-b)p 368 919 V 423 910 a Fo(i)438 912 y Fu(,)464 910 y Fo(h)p 476 884 49 2 v 476 912 a Fn(C-f)p 476 919 V 522 910 a Fo(i)537 912 y Fu(,)563 910 y Fo(h)p 575 884 57 2 v 575 912 a Fn(C-d)p 575 919 V 629 910 a Fo(i)644 912 y Fu(,)f(and)756 910 y Fo(h)p 768 884 73 2 v 768 912 a Fn(DEL)p 768 919 V 839 910 a Fo(i)854 912 y Fu(.)19 b(Here)13 b(are)g(some)g(commands)f (for)g(mo)o(ving)h(more)g(rapidly)75 966 y(ab)q(out)i(the)g(line.)75 1041 y Fo(h)p 87 1015 55 2 v 87 1043 a Fn(C-a)p 87 1051 V 140 1041 a Fo(i)315 1043 y Fu(Mo)o(v)o(e)f(to)h(the)g(start)f(of)h (the)g(line.)75 1118 y Fo(h)p 87 1092 53 2 v 87 1120 a Fn(C-e)p 87 1127 V 138 1118 a Fo(i)315 1120 y Fu(Mo)o(v)o(e)f(to)h (the)g(end)h(of)f(the)g(line.)75 1194 y Fo(h)p 87 1168 55 2 v 87 1196 a Fn(M-f)p 87 1204 V 140 1194 a Fo(i)315 1196 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 1271 y Fo(h)p 87 1245 64 2 v 87 1273 a Fn(M-b)p 87 1281 V 149 1271 a Fo(i)315 1273 y Fu(Mo)o(v)o(e)e(bac)o(kw)o(ard)h(a)g(w)o (ord.)75 1348 y Fo(h)p 87 1322 48 2 v 87 1350 a Fn(C-l)p 87 1358 V 132 1348 a Fo(i)315 1350 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 1427 y(Notice)d(ho)o(w)368 1425 y Fo(h)p 380 1399 49 2 v 380 1427 a Fn(C-f)p 380 1434 V 426 1425 a Fo(i)452 1427 y Fu(mo)o(v)o(es)f(forw)o(ard)f(a)i(c)o(haracter,)f(while)1105 1425 y Fo(h)p 1117 1399 55 2 v 1117 1427 a Fn(M-f)p 1117 1434 V 1170 1425 a Fo(i)1197 1427 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 1481 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 1536 y(w)o(ords.)75 1644 y Fl(1.2.3)30 b(Readline)20 b(Killing)h(Commands)137 1739 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 1793 y(usually)h(b)o(y)e Fm(y)o(anking)k Fu(\(re-inserting\))d(it)g (bac)o(k)f(in)o(to)g(the)h(line.)31 b(If)18 b(the)h(description)g(for)f (a)g(command)75 1848 y(sa)o(ys)e(that)f(it)i(`kills')g(text,)f(then)h (y)o(ou)f(can)h(b)q(e)g(sure)f(that)g(y)o(ou)g(can)h(get)f(the)g(text)g (bac)o(k)g(in)i(a)e(di\013eren)o(t)75 1903 y(\(or)e(the)i(same\))e (place)i(later.)137 1969 y(When)c(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 2023 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 2078 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 2133 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 2199 y(Here)h(is)f(the)h(list)g (of)e(commands)h(for)g(killing)j(text.)75 2274 y Fo(h)p 87 2247 56 2 v 87 2276 a Fn(C-k)p 87 2283 V 141 2274 a Fo(i)315 2276 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 2350 y Fo(h)p 87 2324 64 2 v 87 2352 a Fn(M-d)p 87 2360 V 149 2350 a Fo(i)315 2352 y Fu(Kill)h(from)d(the)i(cursor)e(to)h(the)g (end)g(of)g(the)g(curren)o(t)g(w)o(ord,)f(or)h(if)g(b)q(et)o(w)o(een)g (w)o(ords,)g(to)f(the)315 2407 y(end)j(of)f(the)g(next)g(w)o(ord.)75 2482 y Fo(h)p 87 2456 118 2 v 87 2484 a Fn(M-DEL)p 87 2491 V 202 2482 a Fo(i)315 2484 y Fu(Kill)i(from)d(the)g(cursor)h(the)f (start)g(of)g(the)g(previous)i(w)o(ord,)d(or)h(if)h(b)q(et)o(w)o(een)g (w)o(ords,)f(to)g(the)315 2539 y(start)g(of)h(the)g(previous)h(w)o (ord.)75 2613 y Fo(h)p 87 2587 63 2 v 87 2615 a Fn(C-w)p 87 2623 V 148 2613 a Fo(i)315 2615 y Fu(Kill)i(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 2613 y Fo(h)p 1745 2587 118 2 v 1745 2615 a Fn(M-DEL)p 1745 2623 V 1860 2613 a Fo(i)315 2670 y Fu(b)q(ecause)g(the)f(w)o(ord)g(b)q(oundaries)h(di\013er.)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(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 238 y(recen)o(tly-killed)d (text)d(from)f(the)i(kill)h(bu\013er.)75 316 y Fo(h)p 87 290 56 2 v 87 318 a Fn(C-y)p 87 326 V 141 316 a Fo(i)315 318 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 396 y Fo(h)p 87 370 63 2 v 87 398 a Fn(M-y)p 87 406 V 148 396 a Fo(i)315 398 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 453 y(command)d(is)568 451 y Fo(h)p 580 425 56 2 v 580 453 a Fn(C-y)p 580 461 V 634 451 a Fo(i)664 453 y Fu(or)719 451 y Fo(h)p 732 425 63 2 v 732 453 a Fn(M-y)p 732 461 V 792 451 a Fo(i)807 453 y Fu(.)75 566 y Fl(1.2.4)30 b(Readline)20 b(Argumen)n(ts)137 662 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 717 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 772 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 827 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 881 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 949 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 1004 y(the)h(command.)23 b(If)16 b(the)g(\014rst)g(`digit')g(t)o(yp)q(ed)g (is)h(a)f(min)o(us)g(sign)h(\()1194 1002 y Fo(h)p 1206 976 12 2 v 1206 1004 a Fn(-)p 1206 1011 V 1215 1002 a Fo(i)1230 1004 y Fu(\),)f(then)g(the)g(sign)h(of)f(the)g(argumen)o(t)75 1059 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 1113 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 1111 y Fo(h)p 1805 1085 57 2 v 1805 1113 a Fn(C-d)p 1805 1121 V 1860 1111 a Fo(i)75 1168 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 1281 y Fl(1.2.5)30 b(Searc)n(hing)21 b(for)f(Commands)h(in)f (the)h(History)137 1377 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 1432 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 1500 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 1555 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 1609 y(matc)o(hing)e(the)g(string)g(t)o(yp)q(ed)h(so)e (far.)22 b(An)17 b(incremen)o(tal)g(searc)o(h)f(requires)h(only)f(as)g (man)o(y)g(c)o(haracters)75 1664 y(as)k(needed)j(to)d(\014nd)h(the)g (desired)h(history)f(en)o(try)l(.)37 b(The)21 b(c)o(haracters)f(presen) o(t)h(in)g(the)g(v)m(alue)h(of)f(the)75 1719 y Fm(isearc)o (h-terminators)e Fu(v)m(ariable)f(are)f(used)h(to)e(terminate)h(an)g (incremen)o(tal)i(searc)o(h.)25 b(If)17 b(that)g(v)m(ariable)75 1774 y(has)f(not)f(b)q(een)i(assigned)f(a)g(v)m(alue,)g(the)774 1772 y Fo(h)p 786 1746 70 2 v 786 1774 a Fn(ESC)p 786 1781 V 853 1772 a Fo(i)884 1774 y Fu(and)973 1772 y Fo(h)p 985 1746 56 2 v 985 1774 a Fn(C-J)p 985 1781 V 1038 1772 a Fo(i)1069 1774 y Fu(c)o(haracters)f(will)i(terminate)f(an)g(incremen) o(tal)75 1828 y(searc)o(h.)230 1826 y Fo(h)p 242 1800 55 2 v 242 1828 a Fn(C-g)p 242 1836 V 295 1826 a Fo(i)323 1828 y Fu(will)f(ab)q(ort)e(an)g(incremen)o(tal)h(searc)o(h)f(and)h (restore)f(the)g(original)h(line.)21 b(When)14 b(the)f(searc)o(h)75 1883 y(is)k(terminated,)g(the)f(history)h(en)o(try)f(con)o(taining)h (the)g(searc)o(h)f(string)h(b)q(ecomes)g(the)f(curren)o(t)h(line.)25 b(T)l(o)75 1938 y(\014nd)18 b(other)f(matc)o(hing)h(en)o(tries)g(in)g (the)g(history)f(list,)i(t)o(yp)q(e)1125 1936 y Fo(h)p 1137 1910 52 2 v 1137 1938 a Fn(C-s)p 1137 1946 V 1186 1936 a Fo(i)1219 1938 y Fu(or)1277 1936 y Fo(h)p 1289 1910 51 2 v 1289 1938 a Fn(C-r)p 1289 1946 V 1338 1936 a Fo(i)1370 1938 y Fu(as)e(appropriate.)27 b(This)18 b(will)75 1993 y(searc)o(h)h(bac)o(kw)o(ard)f(or)h(forw)o(ard)e(in)j (the)f(history)h(for)e(the)h(next)g(en)o(try)g(matc)o(hing)g(the)g (searc)o(h)g(string)75 2048 y(t)o(yp)q(ed)g(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 2102 y(searc)o(h)h(and)h(execute) g(that)f(command.)35 b(F)l(or)20 b(instance,)i(a)1151 2100 y Fo(h)p 1163 2074 76 2 v 1163 2102 a Fn(RET)p 1163 2110 V 1236 2100 a Fo(i)1271 2102 y Fu(will)g(terminate)f(the)f(searc)o (h)h(and)75 2157 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 2225 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 2280 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 2334 y(con)o(ten)o(ts)15 b(of)f(the)i(curren)o(t)f (line.)75 2464 y Fs(1.3)33 b(Readline)23 b(Init)h(File)137 2560 y Fu(Although)18 b(the)g(Readline)i(library)e(comes)g(with)f(a)h (set)f(of)g Ft(emacs)p Fu(-lik)o(e)h(k)o(eybindings)i(installed)f(b)o (y)75 2615 y(default,)13 b(it)g(is)g(p)q(ossible)h(to)e(use)g(a)g (di\013eren)o(t)h(set)f(of)g(k)o(eybindings.)21 b(An)o(y)12 b(user)h(can)f(customize)h(programs)75 2670 y(that)g(use)i(Readline)h (b)o(y)e(putting)g(commands)g(in)h(an)f Fm(inputrc)j Fu(\014le)e(in)g(his)g(home)f(directory)l(.)20 b(The)14 b(name)p eop %%Page: 4 6 4 5 bop 75 -58 a Fu(4)1322 b(GNU)15 b(Readline)i(Library)75 183 y(of)e(this)h(\014le)h(is)f(tak)o(en)f(from)g(the)g(v)m(alue)i(of)e (the)h(en)o(vironmen)o(t)g(v)m(ariable)h Ft(INPUTRC)p Fu(.)j(If)c(that)e(v)m(ariable)j(is)75 238 y(unset,)e(the)g(default)h (is)g(`)p Ft(~/.inputrc)p Fu('.)137 310 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 364 y(k)o(ey)g(bindings)i(are)e (set.)137 436 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 491 y(that)h(y)o(ou)h(migh)o(t)g(ha)o (v)o(e)g(made)g(to)g(it.)75 612 y Fl(1.3.1)30 b(Readline)20 b(Init)g(File)h(Syn)n(tax)137 712 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 767 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 822 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 877 y(denote)h(v)m(ariable)i(settings)e(and)h(k)o(ey)f (bindings.)75 963 y(V)l(ariable)h(Settings)315 1018 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 1073 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 1127 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 1194 y Ft(set)23 b(editing-mode)g(vi)315 1263 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 1347 y Ft(bell-style)555 1402 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 1457 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 1512 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 1567 y(`)p Ft(audible)p Fu(')g(\(the)h (default\),)i(Readline)h(attempts)d(to)g(ring)h(the)g(terminal's)555 1621 y(b)q(ell.)315 1705 y Ft(comment-begin)555 1760 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 1815 y(comment)f Fu(command)h(is)h(executed.)21 b(The)15 b(default)h(v)m(alue)g(is)g Ft("#")p Fu(.)315 1899 y Ft(completion-ignore-case)555 1954 y Fu(If)e(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 2009 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 2093 y Ft(completion-query-items) 555 2148 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 2202 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 2257 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 2312 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 2367 y(they)i(are)g(simply)i(listed.)k(The)15 b(default)h(limit)h(is)e Ft(100)p Fu(.)315 2451 y Ft(convert-meta)555 2506 y Fu(If)c(set)g(to)g (`)p Ft(on)p Fu(',)f(Readline)j(will)g(con)o(v)o(ert)d(c)o(haracters)h (with)g(the)g(eigh)o(th)h(bit)f(set)555 2560 y(to)i(an)h(ASCI)q(I)h(k)o (ey)e(sequence)i(b)o(y)f(stripping)g(the)g(eigh)o(th)g(bit)g(and)g (prep)q(end-)555 2615 y(ing)j(an)695 2613 y Fo(h)p 708 2587 70 2 v 708 2615 a Fn(ESC)p 708 2623 V 775 2613 a Fo(i)805 2615 y Fu(c)o(haracter,)f(con)o(v)o(erting)f(them)h(to)g(a)f (meta-pre\014xed)i(k)o(ey)f(se-)555 2670 y(quence.)21 b(The)15 b(default)h(v)m(alue)h(is)e(`)p Ft(on)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(disable-completion)555 238 y Fu(If)19 b(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 293 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 348 y(to)h Ft(self-insert)p Fu(.)j(The)d(default)h(is)g(`)p Ft(off)p Fu('.)315 432 y Ft(editing-mode)555 487 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 542 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 597 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 652 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 736 y Ft(enable-keypad)555 791 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 846 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 901 y(The)j(default)h(is)g(`)p Ft(off)p Fu('.)315 986 y Ft(expand-tilde)555 1040 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 1095 y(w)o(ord)f(completion.)21 b(The)15 b(default)h(is)f(`)p Ft(off)p Fu('.)315 1180 y Ft(horizontal-scroll-mode)555 1235 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 1290 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 1344 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 1399 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 1454 y(v)m(ariable)j(is)e(set)g(to)g(`)p Ft(off)p Fu('.)315 1539 y Ft(input-meta)555 1594 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 1648 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 1703 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 1758 y(name)15 b Ft(meta-flag)f Fu(is)i(a)f(synon)o(ym)g(for) f(this)i(v)m(ariable.)315 1843 y Ft(isearch-terminators)555 1898 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 1952 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 2007 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 2062 y(not)13 b(b)q(een)h(giv)o(en)g(a)f(v)m(alue,)i(the)e(c)o(haracters) 1312 2060 y Fo(h)p 1324 2034 70 2 v 1324 2062 a Fn(ESC)p 1324 2070 V 1391 2060 a Fo(i)1419 2062 y Fu(and)1505 2060 y Fo(h)p 1518 2034 56 2 v 1518 2062 a Fn(C-J)p 1518 2070 V 1571 2060 a Fo(i)1599 2062 y Fu(will)i(terminate)555 2117 y(an)g(incremen)o(tal)h(searc)o(h.)315 2202 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 2256 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 2311 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 2366 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 2421 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 2476 y(also)15 b(a\013ects)g(the)g(default)h(k)o (eymap.)315 2560 y Ft(mark-directories)555 2615 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 2670 y(The)15 b(default)h(is)g(`)p Ft(on)p Fu('.)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(mark-modified-lines)555 238 y Fu(This)i(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 293 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 348 y(This)e(v)m(ariable)g(is)g(`)p Ft(off)p Fu(')e(b)o(y)h(default.)315 425 y Ft(output-meta)555 480 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 535 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 590 y(default)16 b(is)f(`)p Ft(off)p Fu('.)315 667 y Ft(print-completions-horizont)o (ally)555 722 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 777 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 832 y(The)15 b(default)h(is)g(`)p Ft(off)p Fu('.)315 909 y Ft(show-all-if-ambiguous)555 964 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 1019 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 1074 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 1128 y(The)c(default)h(v)m(alue)h(is)e(`)p Ft(off)p Fu('.)315 1206 y Ft(visible-stats)555 1261 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 1316 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 1393 y(Key)h(Bindings)315 1448 y(The)e(syn)o(tax)f(for)g(con)o(trolling)i(k)o(ey)f(bindings)i(in) e(the)g(init)h(\014le)g(is)f(simple.)21 b(First)14 b(y)o(ou)f(ha)o(v)o (e)315 1503 y(to)19 b(kno)o(w)f(the)i(name)f(of)g(the)g(command)g(that) f(y)o(ou)h(w)o(an)o(t)f(to)h(c)o(hange.)32 b(The)19 b(follo)o(wing)315 1558 y(sections)f(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 1612 y(and)d(a)g(short)g(description)i(of)d(what)h(the)g(command)g(do)q (es.)315 1679 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 1733 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)315 1788 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 1843 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 1921 y Fm(k)o(eyname)s Fu(:)k Fm(function-name)g Fu(or)c Fm(macro)555 1976 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 2039 y Ft(Control-u:)22 b(universal-argument)675 2091 y(Meta-Rubout:)g(backward-kill-word)675 2143 y(Control-o:)g(">)i(output")555 2209 y Fu(In)19 b(the)f(ab)q(o)o(v)o(e)g(example,)1023 2207 y Fo(h)p 1035 2181 57 2 v 1035 2209 a Fn(C-u)p 1035 2216 V 1090 2207 a Fo(i)1123 2209 y Fu(is)h(b)q(ound)g(to)f(the)g(function)h Ft(universal-)555 2264 y(argument)p Fu(,)g(and)872 2262 y Fo(h)p 884 2236 55 2 v 884 2264 a Fn(C-o)p 884 2271 V 937 2262 a Fo(i)971 2264 y Fu(is)h(b)q(ound)g(to)f(run)h(the)f(macro) g(expressed)h(on)g(the)555 2318 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 2396 y Ft(")p Fm(k)o(eyseq)q Ft(")p Fu(:)20 b Fm(function-name)e Fu(or)d Fm(macro)555 2451 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 2506 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 2560 y(double)c(quotes.)19 b(Some)13 b(GNU)g(Emacs)f(st)o(yle)h(k)o(ey)g (escap)q(es)g(can)g(b)q(e)h(used,)f(as)555 2615 y(in)18 b(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 2670 y(recognized.)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)675 183 y Ft("\\C-u":)23 b(universal-argument)675 235 y("\\C-x\\C-r":)f(re-read-init-file)675 287 y("\\e[11~":)h ("Function)f(Key)i(1")555 358 y Fu(In)19 b(the)f(ab)q(o)o(v)o(e)g (example,)1023 356 y Fo(h)p 1035 330 57 2 v 1035 358 a Fn(C-u)p 1035 365 V 1090 356 a Fo(i)1123 358 y Fu(is)h(b)q(ound)g(to) f(the)g(function)h Ft(universal-)555 412 y(argument)9 b Fu(\(just)h(as)h(it)g(w)o(as)e(in)j(the)e(\014rst)h(example\),)g(`) 1463 410 y Fo(h)p 1475 384 56 2 v 1475 412 a Fn(C-x)p 1475 420 V 1529 410 a Fo(i)k(h)p 1571 384 51 2 v 1571 412 a Fn(C-r)p 1571 420 V 1620 410 a Fo(i)1635 412 y Fu(')10 b(is)h(b)q(ound)h(to)555 467 y(the)k(function)i Ft(re-read-init-file)p Fu(,)c(and)i(`)1351 465 y Fo(h)p 1363 439 70 2 v 1363 467 a Fn(ESC)p 1363 475 V 1430 465 a Fo(i)f(h)p 1472 439 10 2 v 1472 467 a Fn([)p 1472 475 V 1480 465 a Fo(i)g(h)p 1522 439 18 2 v 1522 467 a Fn(1)p 1522 475 V 1538 465 a Fo(i)g(h)p 1580 439 V 1580 467 a Fn(1)p 1580 475 V 1595 465 a Fo(i)g(h)p 1637 439 24 2 v 1637 467 a Ft(~)p 1637 475 V 1659 465 a Fo(i)1674 467 y Fu(')h(is)h(b)q(ound)555 522 y(to)e(insert)g(the)g(text)g(`)p Ft(Function)f(Key)h(1)p Fu('.)315 608 y(The)e(follo)o(wing)h(GNU)f (Emacs)f(st)o(yle)h(escap)q(e)h(sequences)g(are)f(a)o(v)m(ailable)i (when)e(sp)q(ecifying)315 663 y(k)o(ey)i(sequences:)315 749 y Fk(\\C-)168 b Fu(con)o(trol)15 b(pre\014x)315 835 y Fk(\\M-)168 b Fu(meta)15 b(pre\014x)315 922 y Fk(\\e)192 b Fu(an)15 b(escap)q(e)h(c)o(haracter)315 1008 y Fk(\\\\)192 b Fu(bac)o(kslash)315 1094 y Fk(\\)p Ft(")555 1092 y Fo(h)p 567 1066 V 567 1094 a Ft(")p 567 1102 V 589 1092 a Fo(i)315 1180 y Fk(\\')555 1178 y Fo(h)p 567 1152 10 2 v 567 1180 a Fn(')p 567 1188 V 575 1178 a Fo(i)315 1267 y Fu(In)13 b(addition)g(to)f(the)g(GNU)h(Emacs)f(st)o(yle)g(escap) q(e)h(sequences,)h(a)e(second)h(set)f(of)g(bac)o(kslash)315 1321 y(escap)q(es)k(is)g(a)o(v)m(ailable:)315 1408 y Ft(\\a)192 b Fu(alert)15 b(\(b)q(ell\))315 1494 y Ft(\\b)192 b Fu(bac)o(kspace)315 1580 y Ft(\\d)g Fu(delete)315 1666 y Ft(\\f)g Fu(form)14 b(feed)315 1752 y Ft(\\n)192 b Fu(newline)315 1839 y Ft(\\r)g Fu(carriage)15 b(return)315 1925 y Ft(\\t)192 b Fu(horizon)o(tal)16 b(tab)315 2011 y Ft(\\v)192 b Fu(v)o(ertical)16 b(tab)315 2097 y Ft(\\)p Fm(nnn)141 b Fu(the)12 b(c)o(haracter)f(whose)h(ASCI)q(I)h(co)q(de)g (is)f(the)g(o)q(ctal)g(v)m(alue)h Fm(nnn)g Fu(\(one)f(to)f(three)555 2152 y(digits\))315 2238 y Ft(\\x)p Fm(nnn)117 b Fu(the)14 b(c)o(haracter)f(whose)h(ASCI)q(I)h(co)q(de)f(is)g(the)g(hexadecimal)i (v)m(alue)f Fm(nnn)f Fu(\(one)555 2293 y(to)h(three)g(digits\))315 2379 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 2434 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 2489 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 2544 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 2599 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 2666 y Ft("\\C-x\\\\":)23 b("\\\\")p eop %%Page: 8 10 8 9 bop 75 -58 a Fu(8)1322 b(GNU)15 b(Readline)i(Library)75 183 y Fl(1.3.2)30 b(Conditional)20 b(Init)g(Constructs)137 280 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 334 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 389 y(the)e(result)h(of)f(tests.)k(There)c(are)g(four)g(parser)g (directiv)o(es)h(used.)75 469 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 524 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 578 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 658 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 713 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 768 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 823 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 877 y(in)k Ft(emacs)f Fu(mo)q(de.)315 957 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 1012 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 1067 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 1121 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 1176 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 1231 y Ft(sun-cmd)p Fu(,)d(for)g(instance.)315 1311 y Ft(application)555 1365 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 1420 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 1475 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 1530 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 1585 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 1639 y(previous)j(w)o(ord)e(in)i(Bash:)675 1704 y Ft($if)23 b(Bash)675 1756 y(#)h(Quote)f(the)g(current)g(or)h (previous)f(word)675 1808 y("\\C-xq":)g("\\eb\\"\\ef\\"")675 1859 y($endif)75 1939 y($endif)96 b Fu(This)16 b(command,)e(as)h(seen)h (in)g(the)f(previous)h(example,)g(terminates)f(an)g Ft($if)f Fu(command.)75 2019 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 2099 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 2153 y(bindings)j(from)e(that)f(\014le.)435 2218 y Ft($include)23 b(/etc/inputrc)75 2330 y Fl(1.3.3)30 b(Sample)20 b(Init)h(File)137 2426 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 2481 y(and)f(conditional)i(syn)o(tax.)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)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: 10 12 10 11 bop 75 -58 a Fu(10)1299 b(GNU)15 b(Readline)i(Library)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: 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-.":)23 b(yank-last-arg)195 235 y($endif)75 369 y Fs(1.4)33 b(Bindable)24 b(Readline)f(Commands)137 467 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.)75 583 y Fl(1.4.1)30 b(Commands)21 b(F)-5 b(or)19 b(Mo)n(ving)75 695 y Ft(beginning-of-line)13 b(\(C-a\))315 749 y Fu(Mo)o(v)o(e)h(to)h (the)g(start)f(of)h(the)g(curren)o(t)g(line.)75 831 y Ft(end-of-line)f(\(C-e\))315 886 y Fu(Mo)o(v)o(e)g(to)h(the)g(end)h(of) f(the)g(line.)75 967 y Ft(forward-char)f(\(C-f\))315 1022 y Fu(Mo)o(v)o(e)g(forw)o(ard)g(a)h(c)o(haracter.)75 1104 y Ft(backward-char)e(\(C-b\))315 1159 y Fu(Mo)o(v)o(e)h(bac)o(k)h (a)g(c)o(haracter.)75 1240 y Ft(forward-word)f(\(M-f\))315 1295 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 1350 y(digits.)75 1431 y Ft(backward-word)e(\(M-b\))315 1486 y Fu(Mo)o(v)o(e)i(bac)o(k)h(to)g(the)g(start)f(of)h(this,)g(or)g (the)g(previous,)h(w)o(ord.)22 b(W)l(ords)16 b(are)g(comp)q(osed)g(of) 315 1541 y(letters)f(and)h(digits.)75 1623 y Ft(clear-screen)e(\(C-l\)) 315 1677 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 1732 y(of)i(the)g(screen.)75 1814 y Ft(redraw-current-line)e(\(\))315 1869 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 1985 y Fl(1.4.2)30 b(Commands)21 b(F)-5 b(or)19 b(Manipulating)i(The)f(History)75 2096 y Ft(accept-line)14 b(\(Newline,)g(Return\))315 2151 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 2206 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 2261 y(to)h(its)g(original)h(state.)75 2342 y Ft(previous-history)d (\(C-p\))315 2397 y Fu(Mo)o(v)o(e)h(`up')h(through)g(the)g(history)g (list.)75 2479 y Ft(next-history)f(\(C-n\))315 2534 y Fu(Mo)o(v)o(e)g(`do)o(wn')g(through)h(the)h(history)f(list.)75 2615 y Ft(beginning-of-history)d(\(M-<\))315 2670 y Fu(Mo)o(v)o(e)i(to) h(the)g(\014rst)g(line)i(in)f(the)f(history)l(.)p eop %%Page: 12 14 12 13 bop 75 -58 a Fu(12)1299 b(GNU)15 b(Readline)i(Library)75 183 y Ft(end-of-history)c(\(M->\))315 238 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 324 y Ft(reverse-search-history)c (\(C-r\))315 379 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 433 y(tory)e(as)h(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o(tal)h (searc)o(h.)75 519 y Ft(forward-search-history)c(\(C-s\))315 574 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 629 y(history)g(as)g(necessary)l(.)20 b(This)c(is)g(an)f(incremen)o (tal)h(searc)o(h.)75 715 y Ft(non-incremental-reverse-se)o(arch-hi)o (story)c(\(M-p\))315 769 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 824 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 879 y(user.)75 965 y Ft(non-incremental-forward-se)o(arch-hi)o(story)12 b(\(M-n\))315 1019 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 1074 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 1129 y(user.)75 1215 y Ft(history-search-forward)f(\(\))315 1270 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 1324 y(start)15 b(of)h(the)h(curren)o(t)f(line)i(and)e(the)h(curren)o (t)f(cursor)g(p)q(osition)i(\(the)e Fm(p)q(oin)o(t)q Fu(\).)23 b(This)17 b(is)g(a)315 1379 y(non-incremen)o(tal)g(searc)o (h.)i(By)d(default,)f(this)h(command)f(is)h(un)o(b)q(ound.)75 1465 y Ft(history-search-backward)c(\(\))315 1520 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 1575 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 1629 y(default,)15 b(this)h(command)f(is)h(un)o(b)q(ound.)75 1715 y Ft(yank-nth-arg)e(\(M-C-y\))315 1770 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 1825 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 1879 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 1934 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 2020 y Ft(yank-last-arg)d(\(M-.,)i(M-_\))315 2075 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 2130 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 2184 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 2239 y(last)d(argumen)o(t)g(of)f(eac)o(h)i (line)g(in)g(turn.)75 2363 y Fl(1.4.3)30 b(Commands)21 b(F)-5 b(or)19 b(Changing)i(T)-5 b(ext)75 2481 y Ft(delete-char)14 b(\(C-d\))315 2536 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 2591 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 2646 y(b)q(ound)g(to)f Ft(delete-char)p Fu(,)e(then)j(return)f Ft(EOF)p Fu(.)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(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 374 y Ft(forward-backward-delete-ch)o(ar)12 b(\(\))315 429 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 483 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 538 y(is)f(not)f(b)q(ound)h(to)e(a)h(k)o(ey)l(.)75 619 y Ft(quoted-insert)e(\(C-q,)i(C-v\))315 674 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 729 y(sequences)f(lik)o(e)605 727 y Fo(h)p 617 701 56 2 v 617 729 a Fn(C-q)p 617 737 V 671 727 a Fo(i)685 729 y Fu(,)f(for)g(example.)75 810 y Ft(tab-insert)f(\(M-TAB\))315 865 y Fu(Insert)h(a)g(tab)g(c)o(haracter.)75 946 y Ft(self-insert)f (\(a,)g(b,)h(A,)g(1,)g(!,)g(...\))315 1001 y Fu(Insert)g(y)o(ourself.) 75 1082 y Ft(transpose-chars)e(\(C-t\))315 1136 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 1191 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 1246 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 1301 y(don't)k(w)o(ork.) 75 1382 y Ft(transpose-words)e(\(M-t\))315 1437 y Fu(Drag)j(the)h(w)o (ord)f(b)q(ehind)k(the)d(cursor)f(past)h(the)g(w)o(ord)g(in)g(fron)o(t) g(of)f(the)h(cursor)g(mo)o(ving)315 1491 y(the)e(cursor)g(o)o(v)o(er)g (that)f(w)o(ord)g(as)h(w)o(ell.)75 1572 y Ft(upcase-word)f(\(M-u\))315 1627 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 1682 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 1763 y Ft(downcase-word)d(\(M-l\))315 1818 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 1873 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 1954 y Ft(capitalize-word)e(\(M-c\))315 2008 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 2063 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 2178 y Fl(1.4.4)30 b(Killing)20 b(And)h(Y)-5 b(anking)75 2289 y Ft(kill-line)14 b(\(C-k\))315 2344 y Fu(Kill)j(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 2425 y Ft(backward-kill-line)e(\(C-x)h(Rubout\))315 2479 y Fu(Kill)j(bac)o(kw)o(ard)e(to)f(the)i(b)q(eginning)h(of)e(the)g(line.) 75 2560 y Ft(unix-line-discard)e(\(C-u\))315 2615 y Fu(Kill)18 b(bac)o(kw)o(ard)d(from)g(the)h(cursor)g(to)f(the)h(b)q(eginning)i(of)e (the)g(curren)o(t)g(line.)24 b(The)16 b(killed)315 2670 y(text)f(is)g(sa)o(v)o(ed)g(on)g(the)h(kill-ring.)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(kill-whole-line)c(\(\))315 238 y Fu(Kill)h(all)e(c)o (haracters)f(on)g(the)g(curren)o(t)h(line,)h(no)f(matter)e(where)h(the) h(cursor)f(is.)19 b(By)12 b(default,)315 293 y(this)k(is)f(un)o(b)q (ound.)75 374 y Ft(kill-word)f(\(M-d\))315 429 y Fu(Kill)i(from)d(the)i (cursor)e(to)h(the)g(end)g(of)g(the)g(curren)o(t)g(w)o(ord,)f(or)h(if)g (b)q(et)o(w)o(een)g(w)o(ords,)g(to)f(the)315 483 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 Ft(forward-word)p Fu(.)75 564 y Ft(backward-kill-word)e(\(M-DEL\))315 619 y Fu(Kill)18 b(the)d(w)o(ord)g(b)q(ehind)j(the)d(cursor.)20 b(W)l(ord)c(b)q(oundaries)g(are)f(the)h(same)f(as)g Ft(backward-)315 674 y(word)p Fu(.)75 755 y Ft(unix-word-rubout)e(\(C-w\))315 810 y Fu(Kill)20 b(the)d(w)o(ord)g(b)q(ehind)j(the)d(cursor,)h(using)g (white)g(space)g(as)f(a)g(w)o(ord)g(b)q(oundary)l(.)28 b(The)315 865 y(killed)17 b(text)e(is)h(sa)o(v)o(ed)f(on)g(the)g (kill-ring.)75 946 y Ft(delete-horizontal-space)d(\(\))315 1001 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 1082 y Ft(kill-region)e(\(\))315 1136 y Fu(Kill)h(the)e(text)f(b)q(et)o(w)o (een)h(the)g(p)q(oin)o(t)g(and)g(the)g Fm(mark)i Fu(\(sa)o(v)o(ed)d (cursor)g(p)q(osition\).)20 b(This)13 b(text)315 1191 y(is)j(referred)f(to)g(as)f(the)i Fm(region)p Fu(.)k(By)15 b(default,)h(this)f(command)g(is)h(un)o(b)q(ound.)75 1272 y Ft(copy-region-as-kill)d(\(\))315 1327 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 1382 y(By)e(default,)h(this)f(command)g(is)h(un)o(b)q(ound.)75 1463 y Ft(copy-backward-word)d(\(\))315 1518 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 1572 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 1653 y Ft(copy-forward-word)d(\(\)) 315 1708 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 1763 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 1844 y Ft(yank)f(\(C-y\))315 1899 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 1980 y Ft(yank-pop)f(\(M-y\))315 2035 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 2089 y(command)d(is)h(y)o(ank)f(or)f(y)o (ank-p)q(op.)75 2204 y Fl(1.4.5)30 b(Sp)r(ecifying)20 b(Numeric)h(Argumen)n(ts)75 2315 y Ft(digit-argument)13 b(\(M-0,)i(M-1,)f(...)h(M--\))315 2370 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 2423 y Fo(h)p 327 2397 50 2 v 327 2425 a Fn(M{)p 327 2432 V 375 2423 a Fo(i)405 2425 y Fu(starts)g(a)h(negativ)o(e)g(argumen)o(t.)75 2506 y Ft(universal-argument)e(\(\))315 2560 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 2615 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 2670 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)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)315 183 y(again)16 b(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 238 y(if)g(this)g(command)f(is)h(immediately)h(follo)o(w)o(ed)f(b)o(y)f (a)g(c)o(haracter)g(that)g(is)h(neither)g(a)f(digit)315 293 y(or)d(min)o(us)i(sign,)f(the)g(argumen)o(t)g(coun)o(t)f(for)h(the) g(next)g(command)g(is)g(m)o(ultiplied)j(b)o(y)d(four.)315 348 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 402 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 457 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 565 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 671 y Ft(complete)14 b(\(TAB\))315 726 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 781 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 835 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 890 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 945 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 1000 y(so)g(on.)75 1077 y Ft(possible-completions)d(\(M-?\))315 1131 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 1208 y Ft(insert-completions)e(\(M-*\))315 1263 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 1318 y(b)o(y)f Ft(possible-completions)p Fu(.)75 1395 y Ft(menu-complete)e(\(\))315 1450 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 1504 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 1559 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 1614 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 1669 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 1724 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 1778 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 1855 y Ft(delete-char-or-list)e(\(\))315 1910 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 1965 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 2020 y(completions)p Fu(.)k(This)e(command)f(is)h(un)o (b)q(ound)g(b)o(y)f(default.)75 2127 y Fl(1.4.7)30 b(Keyb)r(oard)20 b(Macros)75 2233 y Ft(start-kbd-macro)13 b(\(C-x)i(\(\))315 2288 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 2365 y Ft(end-kbd-macro)e(\(C-x)i(\)\))315 2420 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 2475 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: 16 18 16 17 bop 75 -58 a Fu(16)1299 b(GNU)15 b(Readline)i(Library)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)g(the)f(con)o(ten)o(ts)g(of)f(the)i(inputrc)g(\014le,)g (and)g(incorp)q(orate)f(an)o(y)g(bindings)i(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: 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 Ft(dump-variables)13 b(\(\))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: 18 20 18 19 bop 75 -58 a Fu(18)1299 b(GNU)15 b(Readline)i(Library)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 771 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 769 y Fo(h)p 1181 742 74 2 v 1181 771 a Fn(T)m(AB)p 1181 778 V 1253 769 a Fo(i)1280 771 y Fu(completion:)19 b(completion)13 b(on)f(\014le)75 825 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 880 y(of)g(the)205 878 y Fo(h)p 217 852 V 217 880 a Fn(T)m(AB)p 217 888 V 289 878 a Fo(i)319 880 y Fu(k)o(ey)g(with)h Ft(rl_bind_key)d(\(\))p Fu(.)195 946 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 1014 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 1069 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 1067 y Fo(h)p 1641 1041 V 1641 1069 a Fn(T)m(AB)p 1641 1076 V 1712 1067 a Fo(i)1745 1069 y Fu(to)17 b Ft(rl_)75 1124 y(insert)d(\(\))i Fu(mak)o(es)433 1122 y Fo(h)p 446 1096 V 446 1124 a Fn(T)m(AB)p 446 1131 V 517 1122 a Fo(i)548 1124 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 1178 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 1247 y(Th)o(us,)g(to)g(disable)h(the)g(default)703 1245 y Fo(h)p 716 1219 V 716 1247 a Fn(T)m(AB)p 716 1254 V 787 1245 a Fo(i)817 1247 y Fu(b)q(eha)o(vior,)g(the)f(follo)o(wing)h (su\016ces:)195 1312 y Ft(rl_bind_key)22 b(\('\\t',)h(rl_insert\);)137 1381 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 1435 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 1490 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 (32\).)75 1622 y Fs(2.2)33 b(Custom)21 b(F)-6 b(unctions)137 1719 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 1774 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 1829 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 1884 y(functionalit)o(y)j(to)f(Readline.)75 1998 y Fl(2.2.1)30 b(The)20 b(F)-5 b(unction)20 b(T)n(yp)r(e)137 2095 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 2150 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 2218 y Ft(typedef)g(int)h(Function)f(\(\);)137 2287 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 2342 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 2396 y(function.)21 b(Instead)15 b(of)g(the)g(classic)i(C)e (declaration)137 2465 y Ft(int)g(\(*\)\(\)func;)75 2533 y Fu(w)o(e)g(ma)o(y)f(write)137 2602 y Ft(Function)g(*func;)75 2670 y Fu(Similarly)l(,)j(there)e(are)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)195 183 y Ft(typedef)23 b(void)g(VFunction)g(\(\);) 195 235 y(typedef)g(char)g(*CPFunction)g(\(\);)g Fu(and)195 287 y Ft(typedef)g(char)g(**CPPFunction)f(\(\);)75 353 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 408 y(sp)q(ectiv)o(ely)l(.)75 517 y Fl(2.2.2)30 b(W)-5 b(riting)20 b(a)h(New)f(F)-5 b(unction)137 612 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 667 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 722 y(state)c(of)h(the)g(line)i (read)e(so)g(far.)137 788 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 851 y Ft(foo)23 b(\(int)h(count,)f(int)g(key\))75 917 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 972 y(this)f(function.)137 1038 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 1093 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 1148 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 1203 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 1258 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 1312 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 1438 y Fs(2.3)33 b(Readline)23 b(V)-6 b(ariables)137 1533 y Fu(These)16 b(v)m(ariables)g(are)f(a)o(v)m (ailable)i(to)e(function)h(writers.)1661 1622 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1622 18 3 v 21 w(line)p 395 1622 V 23 w(bu\013er)195 1677 y Fu(This)c(is)f(the)h(line)h (gathered)e(so)f(far.)19 b(Y)l(ou)c(are)f(w)o(elcome)g(to)g(mo)q(dify)g (the)h(con)o(ten)o(ts)e(of)h(the)195 1732 y(line,)i(but)g(see)f (Section)h(2.4.5)e([Allo)o(wing)i(Undoing],)f(page)g(26.)1661 1821 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1821 V 21 w(p)r(oin)n(t)195 1876 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 1965 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1965 V 21 w(end)195 2019 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 2074 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 2163 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2163 V 21 w(mark)195 2218 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 2273 y(a)h Fm(region)p Fu(.)1661 2362 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2362 V 21 w(done)195 2417 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 2471 y(immediately)l(.)1661 2560 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2560 V 21 w(p)r(ending)p 436 2560 V 20 w(input)195 2615 y Fu(Setting)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 2670 y(a)g(single)h(c)o(haracter)f(in)o(to)g(the)g(input)i(stream.) 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(erase)p 363 183 V 20 w(empt)n(y)p 540 183 V 20 w(line)195 238 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 293 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 348 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 402 y(blank)j(line.)1661 499 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 499 V 21 w(prompt)195 554 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 609 y(should)i(not)f(b)q(e)h(assigned)g(to)e(directly)l (.)1661 705 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 705 V 21 w(library)p 475 705 V 22 w(v)n(ersion)195 760 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 856 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 856 V 21 w(terminal)p 518 856 V 21 w(name)195 911 y Fu(The)c(terminal)h(t)o(yp)q(e,)f(used)h (for)f(initialization.)1661 1008 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1008 V 21 w(readline)p 505 1008 V 22 w(name)195 1063 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 1117 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 1172 y(Init)16 b(Constructs],)e(page)h(8\).)1661 1269 y(V)l(ariable)-1749 b Fi(FILE)20 b(*)f Fh(rl)p 286 1269 V 21 w(instream)195 1324 y Fu(The)c(stdio)h(stream)e(from)h(whic)o (h)h(Readline)h(reads)e(input.)1661 1420 y(V)l(ariable)-1749 b Fi(FILE)20 b(*)f Fh(rl)p 286 1420 V 21 w(outstream)195 1475 y Fu(The)c(stdio)h(stream)e(to)h(whic)o(h)h(Readline)h(p)q (erforms)e(output.)1661 1571 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1571 V 21 w(startup)p 595 1571 V 20 w(ho)r(ok)195 1626 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 1681 y(the)i(\014rst)g(prompt.)1661 1778 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1778 V 21 w(pre)p 494 1778 V 20 w(input)p 647 1778 V 21 w(ho)r(ok)195 1832 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 1887 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.)1661 1984 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1984 V 21 w(ev)n(en)n(t)p 544 1984 V 22 w(ho)r(ok)195 2039 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 2093 y(is)g(w)o(aiting)f(for)g(terminal)h(input.)1661 2190 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2190 V 21 w(getc)p 514 2190 V 21 w(function)195 2245 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 2299 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 2354 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 2451 y(V)l(ariable)-1749 b Fi(VFunction)20 b(*)g Fh(rl)p 417 2451 V 21 w(redispla)n(y)p 661 2451 V 22 w(function)195 2506 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 2560 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 2615 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 2670 y([Redispla)o(y],)16 b(page)f(27\).)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(Keymap)20 b Fh(rl)p 293 183 18 3 v 21 w(executing)p 551 183 V 22 w(k)n(eymap)195 238 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(23\))f(in)195 293 y(whic)o(h)e(the)f(curren)o(tly)h(executing)g(readline)h(function)f (w)o(as)f(found.)1661 392 y(V)l(ariable)-1749 b Fi(Keymap)20 b Fh(rl)p 293 392 V 21 w(binding)p 501 392 V 22 w(k)n(eymap)195 447 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(23\))f(in)195 501 y(whic)o(h)e(the)f(last)g(k)o(ey)h(binding)h(o)q(ccurred.)75 639 y Fs(2.4)33 b(Readline)23 b(Con)n(v)n(enience)g(F)-6 b(unctions)75 787 y Fl(2.4.1)30 b(Naming)20 b(a)g(F)-5 b(unction)137 886 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 941 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 996 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 1064 y Ft(Meta-Rubout:)46 b(backward-kill-word)137 1134 y Fu(This)20 b(binds)h(the)f(k)o(eystrok)o(e)659 1132 y Fo(h)p 671 1106 209 2 v 671 1134 a Fn(Meta-Rub)q(out)p 671 1142 V 878 1132 a Fo(i)912 1134 y Fu(to)f(the)h(function)g Fm(descriptiv)o(ely)25 b Fu(named)20 b Ft(backward-)75 1189 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 1244 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 1343 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1343 18 3 v 21 w(add)p 328 1343 V 20 w(defun)i Fg(\()p Ft(char)14 b(*name,)g(Function)g (*function,)g(int)h(key)p Fg(\))195 1398 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 1453 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 1552 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 1606 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 1661 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 1716 y(functions)f(describ)q(ed)h(b)q(elo)o(w.)75 1835 y Fl(2.4.2)30 b(Selecting)20 b(a)h(Keymap)137 1935 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 1989 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 2044 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 2143 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 2143 V 21 w(mak)n(e)p 445 2143 V 20 w(bare)p 575 2143 V 20 w(k)n(eymap)j Fg(\(\))195 2198 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 2253 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 2352 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 2352 V 21 w(cop)n(y)p 428 2352 V 21 w(k)n(eymap)j Fg(\()p Ft(Keymap)14 b(map)p Fg(\))195 2407 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 2506 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 2506 V 21 w(mak)n(e)p 445 2506 V 20 w(k)n(eymap)j Fg(\(\))195 2560 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 2560 14 2 v 17 w(insert,)g(the)h(lo)o(w-)195 2615 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 2670 y(b)q(ound)c(to)f(pro)q(duce)h(n)o (umeric)g(argumen)o(ts.)p eop %%Page: 24 26 24 25 bop 75 -58 a Fu(24)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(discard)p 441 183 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 238 y Fu(F)l(ree)h(the)h(storage)d (asso)q(ciated)j(with)f Fm(k)o(eymap)p Fu(.)137 330 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 384 y(k)o(eymap)15 b(is)h(activ)o(e.)1650 476 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 476 V 21 w(get)p 391 476 V 21 w(k)n(eymap)i Fg(\(\))195 531 y Fu(Returns)16 b(the)f(curren)o (tly)h(activ)o(e)f(k)o(eymap.)1650 622 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 622 V 21 w(set)p 333 622 V 21 w(k)n(eymap)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 677 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 768 y(F)l(unction)-1749 b Fi(Keymap)20 b Fh(rl)p 293 768 V 21 w(get)p 391 768 V 21 w(k)n(eymap)p 605 768 V 20 w(b)n(y)p 685 768 V 21 w(name)i Fg(\()p Ft(char)14 b(*name)p Fg(\))195 823 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 878 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(3\).)1650 970 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 970 V 21 w(get)p 384 970 V 21 w(k)n(eymap)p 598 970 V 20 w(name)i Fg(\()p Ft(Keymap)14 b(keymap)p Fg(\))195 1024 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 1079 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(3\).)75 1191 y Fl(2.4.3)30 b(Binding)20 b(Keys)137 1287 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 1342 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 1396 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 1451 y(and)15 b(the)h(examples)g(in)g(this) f(man)o(ual)h(assume)f(that.)137 1518 y(These)h(functions)g(manage)e(k) o(ey)i(bindings.)1650 1610 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1610 V 21 w(bind)p 347 1610 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key,)h(Function)f(*function)p Fg(\))195 1664 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 1719 y(case)f(of)g(an)g(in)o(v)m (alid)j Fm(k)o(ey)p Fu(.)1650 1811 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1811 V 21 w(bind)p 347 1811 V 21 w(k)n(ey)p 452 1811 V 21 w(in)p 520 1811 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h(Function)f(*function,)283 1866 y(Keymap)g(map)p Fg(\))195 1920 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 2012 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2012 V 21 w(un)n(bind)p 409 2012 V 21 w(k)n(ey)k Fg(\()p Ft(int)14 b(key)p Fg(\))195 2067 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 2121 y(in)i(case)f(of)g(error.)1650 2213 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2213 V 21 w(un)n(bind)p 409 2213 V 21 w(k)n(ey)p 514 2213 V 21 w(in)p 582 2213 V 22 w(map)h Fg(\()p Ft(int)14 b(key,)h(Keymap)f(map)p Fg(\))195 2268 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 2359 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2359 V 21 w(un)n(bind)p 409 2359 V 21 w(function)p 635 2359 V 21 w(in)p 703 2359 V 21 w(map)h Fg(\()p Ft(Function)14 b(*function,)283 2414 y(Keymap)g(map)p Fg(\))195 2469 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 2560 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2560 V 21 w(un)n(bind)p 409 2560 V 21 w(command)p 674 2560 V 17 w(in)p 738 2560 V 22 w(map)h Fg(\()p Ft(char)14 b(*command,)g(Keymap)283 2615 y(map)p Fg(\))195 2670 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(.)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(generic)p 413 183 V 21 w(bind)j Fg(\()p Ft(int)15 b(type,)f(char)h(*keyseq,)f(char)h(*data,) 283 238 y(Keymap)f(map)p Fg(\))195 293 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 348 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 402 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 457 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 567 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 567 V 21 w(parse)p 369 567 V 19 w(and)p 480 567 V 21 w(bind)j Fg(\()p Ft(char)14 b(*line)p Fg(\))195 622 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 677 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 731 y(page)c(3\).)1650 841 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 841 V 21 w(read)p 346 841 V 20 w(init)p 450 841 V 22 w(\014le)k Fg(\()p Ft(char)14 b(*filename)p Fg(\))195 896 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 951 y([Readline)17 b(Init)f(File],)g(page)f(3\).)75 1080 y Fl(2.4.4)30 b(Asso)r(ciating)20 b(F)-5 b(unction)20 b(Names)h(and)f(Bindings)137 1185 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 1240 y(in)o(v)o(ok)o(ed)k (b)o(y)h(a)e(particular)i(k)o(ey)f(sequence.)1650 1350 y(F)l(unction)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1350 V 21 w(named)p 579 1350 V 19 w(function)j Fg(\()p Ft(char)14 b(*name)p Fg(\))195 1405 y Fu(Return)i(the)f(function)h (with)g(name)f Fm(name)p Fu(.)1650 1514 y(F)l(unction)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1514 V 21 w(function)p 617 1514 V 21 w(of)p 685 1514 V 19 w(k)n(eyseq)k Fg(\()p Ft(char)15 b(*keyseq,)f(Keymap)283 1569 y(map,)g(int)h(*type)p Fg(\))195 1624 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 1679 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 1734 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(\).)1650 1843 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(rl)p 312 1843 V 21 w(in)n(v)n(oking)p 541 1843 V 23 w(k)n(eyseqs)k Fg(\()p Ft(Function)14 b(*function)p Fg(\))195 1898 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 1953 y(tion)g Fu(in)h(the)g(curren)o(t)f(k)o(eymap.)1650 2063 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(rl)p 312 2063 V 21 w(in)n(v)n(oking)p 541 2063 V 23 w(k)n(eyseqs)p 750 2063 V 21 w(in)p 818 2063 V 22 w(map)i Fg(\()p Ft(Function)14 b(*function,)283 2117 y(Keymap)g(map)p Fg(\))195 2172 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 2227 y(tion)g Fu(in)h(the)g(k)o(eymap)f Fm(map)p Fu(.)1650 2337 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 2337 V 21 w(function)p 467 2337 V 21 w(dump)r(er)g Fg(\()p Ft(int)15 b(readable)p Fg(\))195 2392 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 2446 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 2501 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 2611 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 2611 V 21 w(list)p 337 2611 V 22 w(funmap)p 550 2611 V 18 w(names)h Fg(\(\))195 2666 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(.)p eop %%Page: 26 28 26 27 bop 75 -58 a Fu(26)1299 b(GNU)15 b(Readline)i(Library)75 183 y Fl(2.4.5)30 b(Allo)n(wing)21 b(Undoing)137 287 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 341 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 396 y(undo)e(function)g(for)e(the)i(sto)q (c)o(k)e(mark)o(et.)137 471 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 525 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 600 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 655 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 709 y(group)14 b(\(\))h Fu(and)h Ft(rl_end_undo_group)d(\(\))p Fu(.)137 784 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 855 y Ft(enum)23 b(undo_code)g({)h(UNDO_DELETE,) e(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)h(};)137 930 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 985 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 1039 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 1146 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1146 18 3 v 21 w(b)r(egin)p 372 1146 V 20 w(undo)p 517 1146 V 20 w(group)h Fg(\(\))195 1201 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 1255 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 1310 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 1417 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1417 V 21 w(end)p 326 1417 V 20 w(undo)p 471 1417 V 20 w(group)h Fg(\(\))195 1471 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 1526 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 1581 y(group)f(\(\))p Fu(.)1650 1687 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1687 V 21 w(add)p 354 1687 V 20 w(undo)i Fg(\()p Ft(enum)14 b(undo_code)g(what,)g(int)h(start,)g(int)f(end,)283 1742 y(char)g(*text)p Fg(\))195 1797 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 1852 y(from)e Fm(start)h Fu(to)g Fm(end)p Fu(,)g(and)h(encompasses)f Fm(text)p Fu(.)1650 1958 y(F)l(unction)-1749 b Fi(void)20 b Fh(free)p 296 1958 V 20 w(undo)p 441 1958 V 20 w(list)k Fg(\(\))195 2013 y Fu(F)l(ree)15 b(the)h(existing)g(undo)f(list.)1650 2119 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2119 V 21 w(do)p 297 2119 V 20 w(undo)i Fg(\(\))195 2174 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 2229 y(non-zero)g(if)h(something)g(w)o(as)e(undone.)137 2336 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 2390 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 2445 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 2552 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2552 V 21 w(mo)r(difying)h Fg(\()p Ft(int)15 b(start,)f(int)h(end)p Fg(\))195 2606 y Fu(T)l(ell)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 2661 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.)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)75 183 y Fl(2.4.6)30 b(Redispla)n(y)1650 300 y Fu(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 300 18 3 v 21 w(redispla)n(y)k Fg(\(\))195 355 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 410 y(line_buffer)p Fu(.)1650 497 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 497 V 21 w(forced)p 390 497 V 20 w(up)r(date)p 584 497 V 20 w(displa)n(y)k Fg(\(\))195 552 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 607 y(the)c(screen)h (displa)o(y)g(is)g(correct.)1650 694 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 694 V 21 w(on)p 297 694 V 20 w(new)p 416 694 V 21 w(line)k Fg(\(\))195 749 y Fu(T)l(ell)17 b(the)f(up)q(date)g(routines)g(that)f(w)o(e)g(ha)o(v)o(e)g(mo)o(v)o(ed) g(on)o(to)g(a)g(new)h(\(empt)o(y\))f(line,)i(usually)195 804 y(after)d(ouputting)i(a)f(newline.)1650 892 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 892 V 21 w(reset)p 357 892 V 20 w(line)p 465 892 V 23 w(state)j Fg(\(\))195 947 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 1001 y(on)d(a)g(new)g(line.)1650 1089 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1089 V 21 w(message)g Fg(\()p Ft(va_alist)p Fg(\))195 1144 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 1199 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 1253 y(n)o(umeric)16 b(argumen)o(ts)e(and)i(searc)o(h)f(strings.)1650 1341 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1341 V 21 w(clear)p 354 1341 V 21 w(message)h Fg(\(\))195 1396 y Fu(Clear)15 b(the)h(message)e(in)i(the)g(ec)o(ho)f(area.)1650 1483 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1483 V 21 w(sa)n(v)n(e)p 365 1483 V 21 w(prompt)h Fg(\(\))195 1538 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 1593 y(new)15 b(message)g(in)h(the)f(message)g(area)g(with)g Ft(rl_message)p Fu(.)1650 1681 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1681 V 21 w(restore)p 436 1681 V 20 w(prompt)g Fg(\(\))195 1736 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 1790 y(to)e Ft(rl_save_prompt)p Fu(.)75 1898 y Fl(2.4.7)30 b(Mo)r(difying)20 b(T)-5 b(ext)1650 2015 y Fu(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2015 V 21 w(insert)p 378 2015 V 21 w(text)k Fg(\()p Ft(char)14 b(*text)p Fg(\))195 2069 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 2157 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2157 V 21 w(delete)p 383 2157 V 22 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)f(end)p Fg(\))195 2212 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 2300 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 2300 V 21 w(cop)n(y)p 421 2300 V 21 w(text)24 b Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 2354 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 2442 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2442 V 21 w(kill)p 311 2442 V 23 w(text)k Fg(\()p Ft(int)14 b(start,)h(int)g(end)p Fg(\))195 2497 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 2552 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 2606 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 2661 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.)p eop %%Page: 28 30 28 29 bop 75 -58 a Fu(28)1299 b(GNU)15 b(Readline)i(Library)75 183 y Fl(2.4.8)30 b(Utilit)n(y)21 b(F)-5 b(unctions)1650 304 y Fu(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 304 18 3 v 21 w(read)p 346 304 V 20 w(k)n(ey)k Fg(\(\))195 359 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 414 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 469 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 561 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 561 V 21 w(getc)j Fg(\()p Ft(FILE)14 b(*)p Fg(\))195 616 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 708 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 708 V 21 w(stu\013)p 346 708 V 20 w(c)n(har)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 763 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 817 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 910 y(F)l(unction)-1749 b Fi(rl_extend_line_buffer)22 b Fh(\(in)n(t)j Ft(len)p Fg(\))195 964 y Fu(Ensure)14 b(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 1019 y(reallo)q(cating)k (it)g(if)f(necessary)l(.)1650 1111 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1111 V 21 w(initiali)q(z)q(e)26 b Fg(\(\))195 1166 y Fu(Initialize)18 b(or)d(re-initialize)j (Readline's)f(in)o(ternal)f(state.)1650 1258 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1258 V 21 w(reset)p 357 1258 V 20 w(terminal)j Fg(\()p Ft(char)15 b(*terminal_name)p Fg(\))195 1313 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 1313 14 2 v 17 w(name)j Fu(as)c(the)195 1368 y(terminal)j(t)o(yp)q(e)f (\(e.g.,)f Ft(vt100)p Fu(\).)1650 1460 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 1515 y Fu(Return)i(1)f(if)g Fm(c)j Fu(is)e(an)f(alphab)q (etic)i(c)o(haracter.)1650 1607 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 1662 y Fu(Return)h(1)f(if)g Fm(c)j Fu(is)e(a)f(n)o(umeric)h(c)o (haracter.)1650 1754 y(F)l(unction)-1749 b Fi(int)20 b Fh(ding)i Fg(\(\))195 1808 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 1901 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1901 18 3 v 21 w(displa)n(y)p 435 1901 V 22 w(matc)n(h)p 611 1901 V 20 w(list)25 b Fg(\()p Ft(char)14 b(**matches,)g(int)g(len,)h (int)283 1955 y(max)p Fg(\))195 2010 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 2065 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 2120 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 2174 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 2229 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 2284 y(\(see)h(Section)h(1.3.1) e([Readline)j(Init)f(File)g(Syn)o(tax],)e(page)h(4\).)137 2376 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 2468 y(F)l(unction)-1749 b Fi(int)20 b Fh(upp)r(ercase)p 426 2468 V 19 w(p)j Fg(\()p Ft(int)14 b(c)p Fg(\))195 2523 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 2615 y(F)l(unction)-1749 b Fi(int)20 b Fh(lo)n(w)n(ercase)p 409 2615 V 22 w(p)i Fg(\()p Ft(int)15 b(c)p Fg(\))195 2670 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.)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(digit)p 289 183 18 3 v 22 w(p)i Fg(\()p Ft(int)15 b(c)p Fg(\))195 238 y Fu(Return)h(1)f(if)g Fm(c)j Fu(is)e(a)f(n)o (umeric)h(c)o(haracter.)1650 328 y(F)l(unction)-1749 b Fi(int)20 b Fh(to)p 227 328 V 20 w(upp)r(er)i Fg(\()p Ft(int)14 b(c)p Fg(\))195 383 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 437 y(c)o(haracter.)1650 527 y(F)l(unction)-1749 b Fi(int)20 b Fh(to)p 227 527 V 20 w(lo)n(w)n(er)k Fg(\()p Ft(int)15 b(c)p Fg(\))195 582 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 637 y(c)o(haracter.)1650 727 y(F)l(unction)-1749 b Fi(int)20 b Fh(digit)p 289 727 V 22 w(v)m(alue)j Fg(\()p Ft(int)15 b(c)p Fg(\))195 781 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 891 y Fl(2.4.9)30 b(Alternate)20 b(In)n(terface)137 987 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 1042 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 1096 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 1151 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 1206 y(this)i(easy)l(.)1650 1296 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1296 V 21 w(callbac)n(k)p 458 1296 V 23 w(handler)p 670 1296 V 21 w(install)25 b Fg(\()p Ft(char)14 b(*prompt,)g(Vfunction)283 1351 y(*lhandler)p Fg(\))195 1405 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 1460 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 1515 y(of)e(input)h(has)f (b)q(een)h(en)o(tered.)1650 1605 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1605 V 21 w(callbac)n(k)p 458 1605 V 23 w(read)p 591 1605 V 20 w(c)n(har)j Fg(\(\))195 1660 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 1714 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 1769 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 1824 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 1879 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 1934 y Fu(line.)1650 2023 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 2023 V 21 w(callbac)n(k)p 458 2023 V 23 w(handler)p 670 2023 V 21 w(remo)n(v)n(e)i Fg(\(\))195 2078 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 2133 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 2243 y Fl(2.4.10)29 b(An)21 b(Example)137 2338 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 2393 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 2448 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 2503 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 2566 y Ft(/*)24 b(Invert)f(the)g(case)g(of)h(the)f(COUNT)h(following)e(characters.)h (*/)195 2618 y(int)195 2670 y(invert_case_line)f(\(count,)h(key\))p eop %%Page: 30 32 30 31 bop 75 -58 a Fu(30)1299 b(GNU)15 b(Readline)i(Library)314 183 y Ft(int)24 b(count,)f(key;)195 235 y({)243 287 y(register)f(int)i (start,)f(end,)g(i;)243 391 y(start)g(=)h(rl_point;)243 495 y(if)f(\(rl_point)g(>=)h(rl_end\))290 546 y(return)f(\(0\);)243 650 y(if)g(\(count)g(<)h(0\))290 702 y({)338 754 y(direction)f(=)h(-1;) 338 806 y(count)f(=)h(-count;)290 858 y(})243 910 y(else)290 962 y(direction)f(=)h(1;)243 1065 y(/*)f(Find)h(the)f(end)h(of)f(the)h (range)f(to)g(modify.)g(*/)243 1117 y(end)g(=)h(start)f(+)h(\(count)f (*)h(direction\);)243 1221 y(/*)f(Force)g(it)h(to)g(be)f(within)g (range.)g(*/)243 1273 y(if)g(\(end)h(>)f(rl_end\))290 1325 y(end)h(=)g(rl_end;)243 1377 y(else)f(if)h(\(end)f(<)h(0\))290 1429 y(end)g(=)g(0;)243 1532 y(if)f(\(start)g(==)h(end\))290 1584 y(return)f(\(0\);)243 1688 y(if)g(\(start)g(>)h(end\))290 1740 y({)338 1792 y(int)g(temp)f(=)h(start;)338 1844 y(start)f(=)h(end;)338 1896 y(end)g(=)f(temp;)290 1947 y(})243 2051 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 2103 y(the)g(undo)f (information.)f(*/)243 2155 y(rl_modifying)g(\(start,)h(end\);)243 2259 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f(i++\))290 2311 y({)338 2363 y(if)h(\(uppercase_p)e(\(rl_line_buffer[i]\)\))386 2414 y(rl_line_buffer[i])f(=)j(to_lower)f(\(rl_line_buffer[i]\);)338 2466 y(else)g(if)h(\(lowercase_p)e(\(rl_line_buffer[i]\)\))386 2518 y(rl_line_buffer[i])f(=)j(to_upper)f(\(rl_line_buffer[i]\);)290 2570 y(})243 2622 y(/*)g(Move)h(point)f(to)g(on)h(top)f(of)h(the)f (last)h(character)e(changed.)h(*/)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(rl_point)22 b(=)i(\(direction)f(==)g (1\))h(?)g(end)f(-)h(1)g(:)f(start;)243 235 y(return)g(\(0\);)195 287 y(})75 408 y Fs(2.5)33 b(Readline)23 b(Signal)h(Handling)137 502 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 557 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 612 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 667 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 721 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 776 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 831 y(application)d(writers)e(with)g(functions)h(to)f(do)g(so)g(man)o (ually)l(.)137 896 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 951 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 1005 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 1060 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 1115 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 1170 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 1225 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)75 1279 y(p)q(erforms)c(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 1334 y(\(see)c(the)g(description)i(of)e Ft(rl_free_line_state)e(\(\))p Fu(\).)137 1399 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 1454 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 1509 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 1563 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 1618 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 1673 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 1728 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 1783 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 1847 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 1902 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 1957 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 2012 y(signal)e(handler,)g(so)f(Readline's)i(in)o(ternal)f(signal)g (state)e(is)i(not)f(corrupted.)1661 2097 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2097 18 3 v 21 w(catc)n(h)p 366 2097 V 22 w(signals)195 2151 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 2206 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 2271 y(The)g(default)h(v)m(alue)h (of)d Ft(rl_catch_signals)f Fu(is)j(1.)1661 2356 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2356 V 21 w(catc)n(h)p 366 2356 V 22 w(sigwinc)n(h)195 2411 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 2476 y(The)h(default)h(v)m(alue)h(of)d Ft(rl_catch_sigwinch)f Fu(is)j(1.)137 2560 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 2615 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 2670 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.)p eop %%Page: 32 34 32 33 bop 75 -58 a Fu(32)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(clean)n(up)p 450 183 V 22 w(after)p 590 183 V 20 w(signal)j Fg(\()p Ft(void)p Fg(\))195 238 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 293 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 348 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 437 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 437 V 21 w(free)p 356 437 V 20 w(line)p 464 437 V 23 w(state)j Fg(\()p Ft(void)p Fg(\))195 492 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 546 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 601 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 656 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 711 y(to)d(ab)q(ort)f(the)h(curren)o(t)h(input)g (line.)1650 800 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 800 V 21 w(reset)p 383 800 V 20 w(after)p 521 800 V 21 w(signal)j Fg(\()p Ft(void)p Fg(\))195 855 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 910 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 999 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 1054 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 1109 y(receiv)o(ed.)1650 1198 y(F)l(unction)-1749 b Fi(void)20 b Fh(rl)p 241 1198 V 21 w(resize)p 401 1198 V 22 w(terminal)j Fg(\()p Ft(void)p Fg(\))195 1253 y Fu(Up)q(date)16 b(Readline's)h(in)o(ternal)f(screen)f (size.)137 1342 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 1431 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1431 V 21 w(set)p 307 1431 V 20 w(signals)j Fg(\()p Ft(void)p Fg(\))195 1486 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 1541 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 1596 y(catch_signals)13 b Fu(and)j Ft(rl_catch_sigwinch)p Fu(.)1650 1685 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1685 V 21 w(clear)p 354 1685 V 21 w(signals)j Fg(\()p Ft(void)p Fg(\))195 1740 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 1865 y Fs(2.6)33 b(Custom)21 b(Completers)137 1961 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 2016 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 2070 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 2125 y(co)q(op)q(erate)g(to)g(pro)o(vide)g(this)h(service.)75 2234 y Fl(2.6.1)30 b(Ho)n(w)21 b(Completing)f(W)-5 b(orks)137 2330 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 2385 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 2439 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 2494 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 2549 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 2604 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 2670 y(There)g(are)f(three)g(ma)s(jor)f(functions)i(used)f(to)g(p)q (erform)g(completion:)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)100 183 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 238 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 293 y(ing)p 228 293 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 348 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 402 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 457 y(whic)o(h)16 b(b)q(eha)o(vior)g(is)f(desired.)100 525 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 580 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 635 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 703 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 758 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 813 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 868 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 922 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 977 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 1032 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 1087 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 1141 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 1196 y(it)g(has)h(\014nished)g(with)g(them.)1650 1292 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 1292 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h (invoking_key)p Fg(\))195 1347 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 1402 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 1456 y(\(\))p Fu(\).)19 b(The)d(default)f(is)h(to)f(do)g (\014lename)h(completion.)1661 1552 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1552 V 21 w(completion)p 686 1552 V 21 w(en)n(try)p 839 1552 V 21 w(function)195 1607 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 1662 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 1717 y(fault)11 b(\014lename)h(generator)d(function,)j Ft(filename_completion_function) g(\(\))p Fu(,)f(is)g(used.)75 1832 y Fl(2.6.2)30 b(Completion)20 b(F)-5 b(unctions)137 1930 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 2026 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2026 V 21 w(complete)p 460 2026 V 21 w(in)n(ternal)k Fg(\()p Ft(int)15 b(what_to_do)p Fg(\))195 2081 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 2081 14 2 v 16 w(to)p 1162 2081 V 16 w(do)21 b Fu(sa)o(ys)c(what)h (to)g(do)g(with)h(the)195 2136 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 2191 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 2245 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 2300 y(w)o(ell)f(as)f(p)q(erforming)h(partial)f (completion.)1650 2396 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 2396 18 3 v 21 w(complete)j Fg(\()p Ft(int)14 b(ignore,)g(int)h(invoking_key)p Fg(\))195 2451 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 2506 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 2560 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 2615 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 2670 y Fm(in)o(v)o(oking)p 364 2670 14 2 v 17 w(k)o(ey)p Fu(.)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)19 b Fh(rl)p 214 183 18 3 v 21 w(p)r(ossible)p 432 183 V 20 w(completions)k Fg(\()p Ft(int)15 b(count,)f(int)h(invoking_key)p Fg(\)\))195 238 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 293 y Ft(rl_complete_internal)12 b(\(\))j Fu(with)h(an)f(argumen)o(t)f(of)h(`)p Ft(?)p Fu('.)1650 396 y(F)l(unction)-1749 b Fi(int)20 b Fh(rl)p 215 396 V 21 w(insert)p 378 396 V 21 w(completions)j Fg(\()p Ft(int)14 b(count,)g(int)h(invoking_key)p Fg(\)\))195 451 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 505 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 560 y(internal)e(\(\))h Fu(with)g(an)h(argumen)o(t)e(of)h(`)p Ft(*)p Fu('.)1650 663 y(F)l(unction)-1749 b Fi(char)20 b(**)f Fh(completion)p 547 663 V 21 w(matc)n(hes)j Fg(\()p Ft(char)15 b(*text,)f(CPFunction)283 718 y(*entry_func)p Fg(\))195 773 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 828 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 882 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 937 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 1010 y Fm(en)o(try)p 302 1010 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 1065 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 1120 y(on)g(subsequen)o(t)g(calls.)21 b Fm(en)o(try)p 714 1120 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 1174 y(are)g(no)g(more)g(matc)o(hes.) 1650 1277 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(\014lename)p 455 1277 18 3 v 20 w(completion)p 749 1277 V 21 w(function)k Fg(\()p Ft(char)15 b(*text,)f(int)283 1332 y(state)p Fg(\))195 1387 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 1442 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 1497 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 1551 y(a)f(useful)h(reference)g(for)f(writing)g(custom)g(completion)h (functions.)1650 1654 y(F)l(unction)-1749 b Fi(char)20 b(*)f Fh(username)p 487 1654 V 19 w(completion)p 780 1654 V 21 w(function)k Fg(\()p Ft(char)14 b(*text,)g(int)283 1709 y(state)p Fg(\))195 1764 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 1819 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 1874 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 1997 y Fl(2.6.3)30 b(Completion)20 b(V)-5 b(ariables)1661 2129 y Fu(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2129 V 21 w(completion)p 686 2129 V 21 w(en)n(try)p 839 2129 V 21 w(function)195 2183 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 2238 y(to)f(use)g Ft(filename_entry_function)d(\(\))p Fu(,)j(the)g(default)h(\014lename)g(completer.)1661 2341 y(V)l(ariable)-1749 b Fi(CPPFunction)21 b(*)e Fh(rl)p 469 2341 V 21 w(attempted)p 749 2341 V 20 w(completion)p 1043 2341 V 21 w(function)195 2396 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 2451 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 2506 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 2560 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 2615 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 2670 y(strings)f(returned) h(will)h(b)q(e)e(used.)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)1661 183 y(V)l(ariable)-1749 b Fi(CPFunction)21 b(*)e Fh(rl)p 443 183 18 3 v 21 w(\014lename)p 672 183 V 20 w(quoting)p 881 183 V 21 w(function)195 238 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 293 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 348 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 402 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 402 14 2 v 16 w(t)o(yp)q(e)p Fu(,)h(and)f Fm(quote)p 1480 402 V 16 w(p)q(oin)o(ter)p Fu(.)30 b(The)195 457 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 457 V 16 w(t)o(yp)q(e)i Fu(is)f(either)f Ft(SINGLE_MATCH)p Fu(,)e(if)195 512 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 567 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 567 V 16 w(p)q(oin)o(ter)195 622 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 676 y(c)o(ho)q(ose)c(to)g(reset)g(this)g(c)o (haracter.)1661 765 y(V)l(ariable)-1749 b Fi(CPFunction)21 b(*)e Fh(rl)p 443 765 18 3 v 21 w(\014lename)p 672 765 V 20 w(dequoting)p 939 765 V 21 w(function)195 820 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 875 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 930 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 985 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 985 14 2 v 16 w(c)o(har)p Fu(,)g(whic)o(h)h(is)g(the)195 1039 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 1039 V 16 w(c)o(har)195 1094 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 1183 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 1183 18 3 v 21 w(c)n(har)p 519 1183 V 20 w(is)p 577 1183 V 22 w(quoted)p 770 1183 V 20 w(p)195 1238 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 1293 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)195 1348 y(program)e(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 1403 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 1457 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 1512 y Fu(should)d(b)q(e)g(used)g(to)e(break)i(w)o(ords)e(for)h(the)g (completer.)1661 1601 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1601 V 21 w(completion)p 510 1601 V 21 w(query)p 673 1601 V 21 w(items)195 1656 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 1711 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 1766 y(default)16 b(v)m(alue)g(is)g(100.)1661 1855 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 1855 V 21 w(basic)p 430 1855 V 21 w(w)n(ord)p 575 1855 V 21 w(break)p 736 1855 V 20 w(c)n(haracters)195 1910 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 1964 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 2019 y(for)g(completion)h(in)g(Bash,)f(i.e.,)g Ft(")g(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fu(.)1661 2108 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 2108 V 21 w(basic)p 430 2108 V 21 w(quote)p 590 2108 V 21 w(c)n(haracters)195 2163 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 2252 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 2252 V 21 w(completer)p 555 2252 V 21 w(w)n(ord)p 700 2252 V 20 w(break)p 860 2252 V 20 w(c)n(haracters)195 2307 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 2362 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 2366 21 36 v 1661 2451 a(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 2451 18 3 v 21 w(completer)p 555 2451 V 21 w(quote)p 715 2451 V 21 w(c)n(haracters)195 2506 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 2560 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 2615 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 2670 y(within)h(this)g(list.)p eop %%Page: 36 38 36 37 bop 75 -58 a Fu(36)1299 b(GNU)15 b(Readline)i(Library)1661 183 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 183 18 3 v 21 w(\014lename)p 515 183 V 20 w(quote)p 674 183 V 21 w(c)n(haracters)195 238 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 293 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 398 y(V)l(ariable)-1749 b Fi(char)20 b(*)f Fh(rl)p 286 398 V 21 w(sp)r(ecial)p 473 398 V 22 w(pre\014xes)195 452 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 507 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 562 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 617 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 722 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 722 V 21 w(completion)p 510 722 V 21 w(app)r(end)p 715 722 V 19 w(c)n(haracter)195 776 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 831 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 886 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 941 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 996 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 1050 y(an)g(application-sp)q(eci\014)q(c)j(command)d(line)i(syn)o(tax)d (sp)q(eci\014cation.)1661 1155 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1155 V 21 w(ignore)p 391 1155 V 20 w(completion)p 685 1155 V 21 w(duplicates)195 1210 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.)1661 1315 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1315 V 21 w(\014lename)p 444 1315 V 20 w(completion)p 738 1315 V 21 w(desired)195 1369 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 1424 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 1479 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 1534 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 1589 y(an)o(y)f(em)o(b)q(edded)i(w)o(ord)d(break)h(c)o(haracters.)1661 1693 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 1693 V 21 w(\014lename)p 444 1693 V 20 w(quoting)p 653 1693 V 21 w(desired)195 1748 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 1803 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 1858 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 1913 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 1967 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 2022 y(quoting_function)p Fu(.)1661 2127 y(V)l(ariable)-1749 b Fi(int)20 b Fh(rl)p 215 2127 V 21 w(inhibit)p 399 2127 V 23 w(completion)195 2182 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 2236 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 2341 y(V)l(ariable)-1749 b Fi(Function)20 b(*)g Fh(rl)p 391 2341 V 21 w(ignore)p 567 2341 V 20 w(some)p 714 2341 V 19 w(completions)p 1030 2341 V 21 w(function)195 2396 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 2451 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 2506 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 2560 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 2615 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 2670 y(freed.)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(Function)20 b(*)g Fh(rl)p 391 183 18 3 v 21 w(directory)p 639 183 V 21 w(completion)p 934 183 V 21 w(ho)r(ok)195 238 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 293 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 348 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 402 y(v)m(ariables)j(in)f(pathnames.)1661 495 y(V)l(ariable)-1749 b Fi(VFunction)20 b(*)g Fh(rl)p 417 495 V 21 w(completion)p 712 495 V 21 w(displa)n(y)p 906 495 V 22 w(matc)n(hes)p 1131 495 V 20 w(ho)r(ok)195 549 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 604 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 659 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 714 y(**)p Fm(matc)o(hes)p Fu(,)g Ft(int)e Fm(n)o(um)p 623 714 14 2 v 17 w(matc)o(hes)p Fu(,)h Ft(int)g Fm(max)p 1015 714 V 16 w(length)p Fu(\))g(where)g Fm(matc)o(hes)i Fu(is)e(the)g(arra)o(y)195 769 y(of)17 b(matc)o(hing)h(strings,)f Fm(n)o(um)p 702 769 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 823 y Fm(max)p 283 823 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 878 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 933 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 988 y(ho)q(ok.)75 1100 y Fl(2.6.4)30 b(A)21 b(Short)f(Completion)g (Example)137 1196 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 1251 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 1306 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(3)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(2)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(\()75 403 y Fd(\(int)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(28)75 513 y Fs(A)75 571 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(16)75 621 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(11)75 671 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(28)75 781 y Fs(B)75 839 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(11)75 889 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(12)75 939 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(13)75 989 y Fd(backward-k)o(il)o(l-w)o(or)o(d)10 b(\(M-DEL\))d Fe(.)s(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) 19 b Ff(13,)13 b(14)75 1038 y Fd(backward-w)o(or)o(d)d(\(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(11)75 1088 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(11)75 1138 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(11)75 1188 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 1298 y Fs(C)75 1356 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(15)75 1406 y Fd(capitalize)o(-w)o(ord)9 b(\(M-c\))c Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)17 b Ff(12,)c(13)75 1456 y Fd(character-)o(se)o(arc)o(h)d (\(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(16)75 1506 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(16)75 1555 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(11)75 1605 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 1655 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(15)75 1705 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(4)75 1755 y Fd(completion)p 276 1755 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 1804 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(4)75 1854 y Fd(copy-backw)o(ar)o(d-w)o(or)o(d)10 b(\(\))5 b Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)17 b Ff(13,)c(14)75 1904 y Fd(copy-forwa)o(rd)o(-wo)o(rd)c (\(\))d Fe(.)f(.)h(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)18 b Ff(13,)13 b(14)75 1954 y Fd(copy-regio)o(n-)o(as-)o(ki)o(ll)c(\(\))s Fe(.)d(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(13,)d(14)75 2064 y Fs(D)75 2122 y Fd(delete-cha)o(r)d(\(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(12)75 2172 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(15)75 2222 y Fd(delete-hor)o(iz)o(ont)o(al)o (-sp)o(ace)9 b(\(\))e Fe(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)19 b Ff(13,)13 b(14)75 2271 y Fd(digit-argu)o(me)o(nt)c(\(M-0,) i(M-1,)h(...)f(M--\))t Fe(.)t(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)16 b Ff(14)75 2321 y Fd(digit_p)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 2371 y Fd(digit_valu)o(e)7 b Fe(.)g(.)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(.)23 b Ff(29)75 2421 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(28)75 2471 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 2521 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(16)75 2570 y Fd(downcase-w)o(or)o(d)10 b(\(M-l\))d Fe(.)t(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(12,)13 b(13)75 2620 y Fd(dump-funct)o(io)o(ns)c(\(\))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(16)75 2670 y Fd(dump-macro)o(s)10 b(\(\))5 b Fe(.)g(.)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(.)17 b Ff(16,)c(17)1012 345 y Fd(dump-variab)o(le)o(s)d(\(\))f Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(16,)13 b(17)1012 463 y Fs(E)1012 521 y Ff(editing-mo)q(de)g 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 571 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 620 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(15)1012 670 y Fd(end-of-hist)o(or)o(y)10 b(\(M->\))c Fe(.)t(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(11,)13 b(12)1012 720 y Fd(end-of-line)c(\(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(11)1012 770 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(16)1012 820 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 937 y Fs(F)1012 995 y Fd(filename)p 1174 995 V 11 w(completion)p 1385 995 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(34)1012 1045 y Fd(forward-bac)o(kw)o(ard)o (-d)o(ele)o(te)o(-ch)o(ar)9 b(\(\))g Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.) 22 b Ff(12,)13 b(13)1012 1095 y Fd(forward-cha)o(r)d(\(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(11)1012 1145 y Fd(forward-sea)o(rc)o(h-h)o(is)o(tor)o(y)10 b(\(C-s\))t Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Ff(11,)c(12)1012 1194 y Fd(forward-wor)o(d)d(\(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(11)1012 1244 y Fd(free)p 1094 1244 V 13 w(undo)p 1187 1244 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(26)1012 1362 y Fs(H)1012 1420 y Fd(history-sea)o(rc)o(h-b)o (ac)o(kwa)o(rd)9 b(\(\))e Fe(.)e(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)20 b Ff(11,)13 b(12)1012 1470 y Fd(history-sea)o(rc)o(h-f)o (or)o(war)o(d)d(\(\))e Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g (.)g(.)g(.)g(.)21 b Ff(11,)13 b(12)1012 1519 y(horizon)o(tal-scrol)q (l-mo)r(de)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(.)g(.)24 b Ff(5)1012 1637 y Fs(I)1012 1695 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 1745 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(16)1012 1795 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(15)1012 1844 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(5)1012 1962 y Fs(K)1012 2020 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(5)1012 2070 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(13)1012 2120 y Fd(kill-region)9 b(\(\))c 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(.)18 b Ff(13,)13 b(14)1012 2169 y Fd(kill-whole-)o(li)o(ne)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(.)22 b Ff(13,)13 b(14)1012 2219 y Fd(kill-word)d(\(M-d\))t Fe(.)t(.)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(.)17 b Ff(13,)c(14)1012 2337 y Fs(L)1012 2395 y Fd(lowercase)p 1194 2395 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(28)1012 2512 y Fs(M)1012 2570 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 2620 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(15)1012 2670 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)p eop %%Page: 50 52 50 51 bop 75 -58 a Fu(50)1299 b(GNU)15 b(Readline)i(Library)75 183 y Fs(N)75 241 y Fd(next-histo)o(ry)9 b(\(C-n\))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(11)75 291 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\))158 341 y Fe(.)d(.)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(.)19 b Ff(11,)13 b(12)75 391 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)c(\(M-p\))158 441 y Fe(.)d(.)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(.)19 b Ff(11,)13 b(12)75 490 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(28)75 591 y Fs(O)75 649 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 750 y Fs(P)75 808 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(15)75 858 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(16)75 908 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(11)75 1008 y Fs(Q)75 1067 y Fd(quoted-ins)o(er)o(t)10 b(\(C-q,)h(C-v\))t Fe(.)t(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(12,)c(13)75 1167 y Fs(R)75 1225 y Fd(re-read-in)o(it)o(-fi)o(le)c (\(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(16)75 1275 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 1325 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(11)75 1375 y Fd(reverse-se)o(ar) o(ch-)o(hi)o(sto)o(ry)9 b(\(C-r\))t Fe(.)c(.)h(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)17 b Ff(11,)c(12)75 1425 y Fd(revert-lin)o(e)d(\(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(16)75 1474 y Fd(rl)p 117 1474 12 2 v 13 w(add)p 190 1474 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 1524 y Fd(rl)p 117 1524 V 13 w(add)p 190 1524 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(26)75 1574 y Fd(rl)p 117 1574 V 13 w(attempted)p 310 1574 V 11 w(completion)p 520 1574 V 10 w(function)h Fe(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) 24 b Ff(34)75 1624 y Fd(rl)p 117 1624 V 13 w(basic)p 230 1624 V 13 w(quote)p 343 1624 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(35)75 1674 y Fd(rl)p 117 1674 V 13 w(basic)p 230 1674 V 13 w(word)p 323 1674 V 12 w(break)p 435 1674 V 12 w(characters)h Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)21 b Ff(35)75 1724 y Fd(rl)p 117 1724 V 13 w(begin)p 230 1724 V 13 w(undo)p 323 1724 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 1773 y Fd(rl)p 117 1773 V 13 w(bind)p 210 1773 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(24)75 1823 y Fd(rl)p 117 1823 V 13 w(bind)p 210 1823 V 13 w(key)p 283 1823 V 13 w(in)p 336 1823 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(24)75 1873 y Fd(rl)p 117 1873 V 13 w(binding)p 270 1873 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 1923 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(29)75 1973 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(29)75 2022 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(29)75 2072 y Fd(rl)p 117 2072 V 13 w(catch)p 230 2072 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(31)75 2122 y Fd(rl)p 117 2122 V 13 w(catch)p 230 2122 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(31)75 2172 y Fd(rl)p 117 2172 V 13 w(char)p 210 2172 V 13 w(is)p 263 2172 V 13 w(quoted)p 396 2172 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 2222 y Fd(rl)p 117 2222 V 13 w(cleanup)p 270 2222 V 12 w(after)p 382 2222 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 2271 y Fd(rl)p 117 2271 V 13 w(clear)p 230 2271 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(27)75 2321 y Fd(rl)p 117 2321 V 13 w(clear)p 230 2321 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(32)75 2371 y Fd(rl)p 117 2371 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(33)75 2421 y Fd(rl)p 117 2421 V 13 w(complete)p 290 2421 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(33)75 2471 y Fd(rl)p 117 2471 V 13 w(completer)p 310 2471 V 11 w(quote)p 421 2471 V 12 w(characters)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)h(.)f(.)g(.)19 b Ff(35)75 2521 y Fd(rl)p 117 2521 V 13 w(completer)p 310 2521 V 11 w(word)p 401 2521 V 13 w(break)p 514 2521 V 12 w(character)o(s)13 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(35)75 2570 y Fd(rl)p 117 2570 V 13 w(completion)p 329 2570 V 11 w(append)p 461 2570 V 11 w(character)f Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)18 b Ff(36)75 2620 y Fd(rl)p 117 2620 V 13 w(completion)p 329 2620 V 11 w(display)p 481 2620 V 11 w(matches)p 632 2620 V 11 w(hook)d Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)16 b Ff(37)75 2670 y Fd(rl)p 117 2670 V 13 w(completion)p 329 2670 V 11 w(entry)p 441 2670 V 12 w(function)21 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(33,)13 b(34)1012 183 y Fd(rl)p 1054 183 V 14 w(completio)o(n)p 1267 183 V 11 w(query)p 1378 183 V 12 w(items)h Fe(.)6 b(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)17 b Ff(35)1012 233 y Fd(rl)p 1054 233 V 14 w(copy)p 1148 233 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(23)1012 283 y Fd(rl)p 1054 283 V 14 w(copy)p 1148 283 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(27)1012 333 y Fd(rl)p 1054 333 V 14 w(delete)p 1188 333 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(27)1012 382 y Fd(rl)p 1054 382 V 14 w(directory)p 1247 382 V 10 w(completion)p 1458 382 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 432 y Fd(rl)p 1054 432 V 14 w(discard)p 1208 432 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 482 y Fd(rl)p 1054 482 V 14 w(display)p 1208 482 V 11 w(match)p 1319 482 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(28)1012 532 y Fd(rl)p 1054 532 V 14 w(do)p 1108 532 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(26)1012 582 y Fd(rl)p 1054 582 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(21)1012 632 y Fd(rl)p 1054 632 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 681 y Fd(rl)p 1054 681 V 14 w(end)p 1128 681 V 13 w(undo)p 1221 681 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 731 y Fd(rl)p 1054 731 V 14 w(erase)p 1168 731 V 12 w(empty)p 1280 731 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 781 y Fd(rl)p 1054 781 V 14 w(event)p 1168 781 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(22)1012 831 y Fd(rl)p 1054 831 V 14 w(executing)p 1247 831 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 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)16 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(36)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(36)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(25)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(generic)p 1208 1329 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 1379 y Fd(rl)p 1054 1379 V 14 w(get)p 1128 1379 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 1429 y Fd(rl)p 1054 1429 V 14 w(get)p 1128 1429 V 13 w(keymap)p 1261 1429 V 11 w(by)p 1312 1429 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 1478 y Fd(rl)p 1054 1478 V 14 w(get)p 1128 1478 V 13 w(keymap)p 1261 1478 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 1528 y Fd(rl)p 1054 1528 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 1578 y Fd(rl)p 1054 1578 V 14 w(getc)p 1148 1578 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(22)1012 1628 y Fd(rl)p 1054 1628 V 14 w(ignore)p 1188 1628 V 12 w(completi)o(on)p 1399 1628 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 1678 y Fd(rl)p 1054 1678 V 14 w(ignore)p 1188 1678 V 12 w(some)p 1280 1678 V 12 w(completion)o(s)p 1511 1678 V 11 w(function)j Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(36)1012 1727 y Fd(rl)p 1054 1727 V 14 w(inhibit)p 1208 1727 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(36)1012 1777 y Fd(rl)p 1054 1777 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 1827 y Fd(rl)p 1054 1827 V 14 w(insert)p 1188 1827 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 1877 y Fd(rl)p 1054 1877 V 14 w(insert)p 1188 1877 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(27)1012 1927 y Fd(rl)p 1054 1927 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 1977 y Fd(rl)p 1054 1977 V 14 w(invoking)p 1228 1977 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(25)1012 2026 y Fd(rl)p 1054 2026 V 14 w(invoking)p 1228 2026 V 11 w(keyseqs)p 1379 2026 V 11 w(in)p 1430 2026 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(25)1012 2076 y Fd(rl)p 1054 2076 V 14 w(kill)p 1148 2076 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(27)1012 2126 y Fd(rl)p 1054 2126 V 14 w(library)p 1208 2126 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 2176 y Fd(rl)p 1054 2176 V 14 w(line)p 1148 2176 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 2226 y Fd(rl)p 1054 2226 V 14 w(list)p 1148 2226 V 12 w(funmap)p 1280 2226 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(25)1012 2275 y Fd(rl)p 1054 2275 V 14 w(make)p 1148 2275 V 12 w(bare)p 1240 2275 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(23)1012 2325 y Fd(rl)p 1054 2325 V 14 w(make)p 1148 2325 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(23)1012 2375 y Fd(rl)p 1054 2375 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 2425 y Fd(rl)p 1054 2425 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 2475 y Fd(rl)p 1054 2475 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(26)1012 2524 y Fd(rl)p 1054 2524 V 14 w(named)p 1168 2524 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 2574 y Fd(rl)p 1054 2574 V 14 w(on)p 1108 2574 V 13 w(new)p 1181 2574 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)1012 2624 y Fd(rl)p 1054 2624 V 14 w(outstream)15 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(.)19 b Ff(22)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(parse)p 230 183 V 13 w(and)p 303 183 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 233 y Fd(rl)p 117 233 V 13 w(pending)p 270 233 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(21)75 283 y Fd(rl)p 117 283 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 333 y Fd(rl)p 117 333 V 13 w(possible)p 290 333 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 382 y Fd(rl)p 117 382 V 13 w(pre)p 190 382 V 13 w(input)p 303 382 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 432 y Fd(rl)p 117 432 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 482 y Fd(rl)p 117 482 V 13 w(read)p 210 482 V 13 w(init)p 303 482 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 532 y Fd(rl)p 117 532 V 13 w(read)p 210 532 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 582 y Fd(rl)p 117 582 V 13 w(readline)p 290 582 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 632 y Fd(rl)p 117 632 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 681 y Fd(rl)p 117 681 V 13 w(redisplay)p 310 681 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(22)75 731 y Fd(rl)p 117 731 V 13 w(reset)p 230 731 V 13 w(after)p 343 731 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 781 y Fd(rl)p 117 781 V 13 w(reset)p 230 781 V 13 w(line)p 323 781 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 831 y Fd(rl)p 117 831 V 13 w(reset)p 230 831 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(28)75 881 y Fd(rl)p 117 881 V 13 w(resize)p 250 881 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(32)75 930 y Fd(rl)p 117 930 V 13 w(restore)p 270 930 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(27)75 980 y Fd(rl)p 117 980 V 13 w(save)p 210 980 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(27)75 1030 y Fd(rl)p 117 1030 V 13 w(set)p 190 1030 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 1080 y Fd(rl)p 117 1080 V 13 w(set)p 190 1080 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(32)75 1130 y Fd(rl)p 117 1130 V 13 w(special)p 270 1130 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 1180 y Fd(rl)p 117 1180 V 13 w(startup)p 270 1180 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 1229 y Fd(rl)p 117 1229 V 13 w(stuff)p 230 1229 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 1279 y Fd(rl)p 117 1279 V 13 w(terminal)p 290 1279 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 1329 y Fd(rl)p 117 1329 V 13 w(unbind)p 250 1329 V 12 w(command)p 402 1329 V 12 w(in)p 454 1329 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(24)75 1379 y Fd(rl)p 117 1379 V 13 w(unbind)p 250 1379 V 12 w(function)p 422 1379 V 11 w(in)p 473 1379 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(24)75 1429 y Fd(rl)p 117 1429 V 13 w(unbind)p 250 1429 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(24)75 1478 y Fd(rl)p 117 1478 V 13 w(unbind)p 250 1478 V 12 w(key)p 322 1478 V 13 w(in)p 375 1478 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(24)75 1578 y Fs(S)75 1636 y Fd(self-inser)o(t)10 b(\(a,)h(b,)h(A,)g(1,)g(!,)g(...\))c Fe(.)t(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Ff(12,)13 b(13)1012 183 y Fd(set-mark)d(\(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(16)1012 233 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 283 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(15)1012 389 y Fs(T)1012 447 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(13)1012 497 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(16)1012 546 y Fd(to_lower)6 b Fe(.)s(.)g(.)g(.)h(.)f (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(29)1012 596 y Fd(to_upper)6 b Fe(.)s(.)g(.)g(.)h(.)f(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.) g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)19 b Ff(29)1012 646 y Fd(transpose-c)o(ha)o(rs)9 b(\(C-t\))c Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)18 b Ff(12,)13 b(13)1012 696 y Fd(transpose-w)o(or)o(ds)c (\(M-t\))c Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)18 b Ff(12,)13 b(13)1012 802 y Fs(U)1012 860 y Fd(undo)f(\(C-)p 1166 860 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(16)1012 910 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(14)1012 959 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(13)1012 1009 y Fd(unix-word-r)o(ub)o (out)9 b(\(C-w\))s Fe(.)t(.)e(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)g(.)g(.)g(.)h(.)16 b Ff(13,)d(14)1012 1059 y Fd(upcase-word)c(\(M-u\))f Fe(.)e(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g (.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(12,)13 b(13)1012 1109 y Fd(uppercase)p 1194 1109 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(28)1012 1159 y Fd(username)p 1174 1159 V 11 w(completion)p 1385 1159 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(34)1012 1265 y Fs(V)1012 1323 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 1429 y Fs(Y)1012 1487 y Fd(yank)12 b(\(C-y\))c Fe(.)e(.)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(.) 23 b Ff(13,)13 b(14)1012 1537 y Fd(yank-last-a)o(rg)c(\(M-.,)i(M-)p 1433 1537 V 13 w(\))c Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.) g(.)g(.)g(.)g(.)g(.)20 b Ff(11,)13 b(12)1012 1586 y Fd(yank-nth-ar)o(g) d(\(M-C-y\))c Fe(.)s(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.) f(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(11,)13 b(12)1012 1636 y Fd(yank-pop)d(\(M-y\))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(.)18 b Ff(13,)13 b(14)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(3)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(8)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(11)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(11)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(11)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(12)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(13)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(14)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(15)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(15)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(16)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(17)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(23)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(27)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(29)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(32)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(32)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(33)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(34)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