view readline/doc/readline.ps @ 2996:9d4e3a9de17e

[project @ 1997-05-22 20:58:07 by jwe]
author jwe
date Thu, 22 May 1997 20:59:27 +0000
parents
children
line wrap: on
line source

%!PS (but not EPSF; comments have been disabled)
%DVIPSCommandLine: dvips -D 300 -o readline.ps readline.dvi
%DVIPSParameters: dpi=300, compressed, comments removed
%DVIPSSource:  TeX output 1997.05.22:1433
/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]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N
/cp 0 N{rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id
gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp
add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add
/gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{
dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1
adv}B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2
idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string
putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval
adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg}
{adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{
adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2
chg nd}{pop nd}]dup{bind pop}forall N /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
TeXDict begin 40258431 52099146 1000 300 300 (readline.dvi)
@start /Fa 1 47 df<127012F8A212F012E005057B840E>46 D
E /Fb 1 47 df<1238127C12FCA212F8127006067A8512>46 D E
/Fc 1 59 df<126012F0A2126004047D830B>58 D E /Fd 52 127
df<126012F0AD12601200A4126012F0A212600417789614>33 D<EA071CA5EA7FFFB512
80A2380E3800A7B51280A26C1300EA1C70A511177F9614>35 D<EA01801203EA06005A12
1C121812385AA35AA91270A37E1218121C120C7EEA03801201091D799914>40
D<128012C01260123012381218121C120EA31207A9120EA3121C121812381230126012C0
1280081D7C9914>I<EA0380A3EA638CEAF39EEA7FFCEA3FF8EA0FE0A2EA3FF8EA7FFCEA
F39EEA638CEA0380A30F107E9214>I<127012F812FCA2127C120C1218123012E012C006
0A798414>44 D<EAFFFEA30F037E8C14>I<127012F8A312700505798414>I<EA07C0EA0F
E0EA1C70EA3838EA3018EA701CA2EAE00EA9EA701CA2EA3838A2EA1C70EA0FE0EA07C00F
177E9614>48 D<1203A25A5A123F12F712471207AEEA7FF0A20C177C9614>I<130E133E
137C13F0EA03E0EA07C0EA1F00123E12F85A7E123E7EEA07C0EA03E0EA00F0137C133E13
0E0F137E9414>60 D<124012E012F8127C121EEA0F80EA07C0EA01F0EA00F8133E131E13
3E13F8EA01F0EA07C0EA0F80EA1E00127C5A12E012400F157E9514>62
D<EA1FE0EA3FF8EA701CEAE00EA21240EA003C137013E0EA01C0EA0380A41300C7FCA412
03EA0780A2EA03000F177E9614>I<EA01E0EA07F0EA0E38EA181CEA38FC1271EA731E12
77EAEE0EA7EA771CEA7318EA71F0EA38E0EA1806EA0E1EEA07F8EA01F00F177E9614>I<
EA01C0487EA21360A2EA0770A4EA0630EA0E38A4487EEA1FFCA2EA1C1CA2487EA238FE3F
80A211177F9614>I<EAFFF013FCEA381E130E1307A4130E131EEA3FFCA2EA381E130E13
07A5130E131EEAFFFC13F810177F9614>I<3801F180EA07FFEA0E1FEA1C071238EA7003
A348C7FCA738700380A338380700121CEA0E0EEA07FCEA01F011177F9614>I<EAFFE013
F8EA383C7F130E7FA3EB0380A8EB0700A2130E131E5BEAFFF813E011177F9614>I<B5FC
A2EA3807A490C7FCA21338A2EA3FF8A2EA3838A290C7FCA3EB0380A4B5FCA211177F9614
>I<B4FCA21238AF1307A4B5FCA210177E9614>76 D<38FC1F80A2007C1300EA7637A4EA
7777A2EA7367A313E7EA71C7A2EA7007A638F80F80A211177F9614>I<38FE3F80A2383E
0E00123BA4138E1239A213CEA31238A213EE136EA4133E12FEA211177F9614>I<EAFFE0
13F8EA383C131C7FA45B133CEA3FF85BEA38387FA51480EB1DC0A238FE0F80EB07001217
7F9614>82 D<EA0FCCEA1FFCEA307CEA603CEAE01CA313001270127EEA3FE0EA0FF0EA01
F8EA001C131E130E126012E0A2EAF01CEAF838EAFFF0EAC7E00F177E9614>I<387FFF80
B5FCEAE1C3A43801C000AFEA0FF8A211177F9614>I<EAFFE0A21200B3A712FFA20B1D7F
9914>93 D<EA1FC0EA7FF0EA7078EA2018EA001CA2EA07FC121FEA3C1C127012E0A3EA70
7C383FFF80EA0F8F11107E8F14>97 D<12FCA2121CA513F8EA1DFEEA1F07EA1E03001C13
80EB01C0A6EB0380001E1300EA1F0EEA1DFCEA0CF81217809614>I<EA03F8EA0FFEEA1C
0EEA3804EA7000126012E0A412601270EA380EEA1C1EEA0FFCEA03F00F107E8F14>I<13
7EA2130EA5EA07CEEA0FFEEA1C3EEA301EEA700E12E0A61270EA301EEA383E381FEFC0EA
07CF12177F9614>I<EA07E0EA0FF0EA1C38EA301CEA700CEAE00EA2EAFFFEA2EAE00012
601270EA380EEA1C1EEA0FFCEA03F00F107E8F14>I<13FCEA01FEEA038EEA07041300A3
EA7FFE12FFEA0700ACEAFFF8A20F177F9614>I<EA07CF381FFF80EA383B38301800EA70
1CA3EA3018EA3838EA3FF0EA37C00070C7FCA2EA3FF86C7E487EEA700F38E00380A43870
0700EA3C1EEA1FFCEA07F011197F8F14>I<12FCA2121CA51378EA1DFEEA1F86EA1E0712
1CAA38FF8FE0A21317809614>I<1206120FA21206C7FCA4B4FCA21207ACEAFFF8A20D18
7C9714>I<12FCA2121CA5EBFF80A2EB1C005B5B5BEA1DC0EA1FE0A2EA1E70EA1C38133C
131C7F38FF1F80A21117809614>107 D<EAFF80A21203B3EAFFFEA20F177E9614>I<EAFB
8EEAFFDF383CF380A2EA38E3AA38FEFBE013791310808F14>I<EAFC78EAFDFEEA1F86EA
1E07121CAA38FF8FE0A21310808F14>I<EA07C0EA1FF0EA3C78EA701CA2EAE00EA6EA70
1CEA783CEA3C78EA1FF0EA07C00F107E8F14>I<EAFCF8EAFDFEEA1F07EA1E03001C1380
EB01C0A6EB0380001E1300EA1F0EEA1DFCEA1CF890C7FCA6B47EA21218808F14>I<EA03
E7EA0FF7EA1C1FEA300F1270487EA6EA700F1230EA1C3FEA0FF7EA07C7EA0007A6EB3FE0
A213187F8F14>I<EAFE1FEB7F80EA0EE3380F810090C7FCA2120EA8EAFFF0A211107F8F
14>I<EA0FD8EA3FF8EA603812C0A2EAF000EA7F80EA3FF0EA07F8EA001CEA600612E012
F0EAF81CEAFFF8EACFE00F107E8F14>I<1206120EA4EA7FFC12FFEA0E00A8130EA3131C
EA07F8EA01F00F157F9414>I<EAFC3FA2EA1C07AB131F380FFFE0EA03E71310808F14>I<
38FE3F80A2383C1E00EA1C1CA36C5AA3EA0630EA0770A36C5AA311107F8F14>I<38FE3F
80A238700700EA380EA3EA39CEA3EA1B6C121AA3EA1E7CA2EA0E3811107F8F14>I<EA7E
3FA2EA1E3CEA0E78EA07705B12036C5A12037FEA0770EA0E781338487E38FE3F80A21110
7F8F14>I<38FE3F80A2381C0E005BA2120E5BA212071330A2EA0370A25B1201A25BA348
5A12730077C7FC127E123C11187F8F14>I<EA3FFF5AEA700E131C1338EA007013E0EA01
C0EA0380EA0700120EEA1C0712381270B5FCA210107F8F14>I<EA1C10EA3F38EAE7E0EA
41C00D047D9614>126 D E /Fe 2 121 df<1270A212F0126004047D830B>46
D<383FC7E038078380EB0200EA038413C8EA01D8EA00F05B7F120113381202487EEA081E
123838FC3FC013107F8F14>120 D E /Ff 39 123 df<13FEEA038138060180EA0E0338
1C010090C7FCA5B51280EA1C03AE38FF8FF0141A809915>12 D<EBFF80EA0383EA060312
0E121CA6B5FCEA1C03AE38FF9FF0141A809915>I<126012F0A212701210A31220A21240
A2040B7D830B>44 D<EAFFC0A20A0280880D>I<EA07E0EA1C38EA381CEA300CEA700EEA
6006A2EAE007AAEA6006A2EA700EEA300CEA381CEA1C38EA07E010187F9713>48
D<12035AB4FC1207B3A2EA7FF80D187D9713>I<EA0F80EA1060EA2030EA4038EA803CEA
C01C12E01240EA003C1338A21370136013C0EA018013001202EA040412081210EA3008EA
3FF8127F12FF0E187E9713>I<EA07E0EA1838EA201CEA601EEA700EEA201E1200131CA2
13381370EA07E0EA0038131C130E130FA212E0A212C0EA400EEA601CEA1838EA07E01018
7F9713>I<1318A21338137813F813B8EA01381202A212041208121812101220124012C0
B5FCEA0038A6EA03FF10187F9713>I<EA3018EA3FF013E01380EA2000A5EA2FC0EA3060
EA2030EA00381318131CA2124012E0A2EA8018EA40381330EA30E0EA0F800E187E9713>
I<EA01F8EA0704EA0C06EA180E123013001270126012E0EAE3E0EAE418EAE80CEAF00EEA
E0061307A31260A2EA7006EA300EEA180CEA0C38EA07E010187F9713>I<1240EA7FFF13
FEA2EA4004EA80081310A2EA00201340A21380120113005AA25A1206A2120EA512041019
7E9813>I<EA07E0EA1818EA300CEA20061260A21270EA780CEA3E18EA1F30EA07C0EA03
E0EA0CF8EA307CEA601E130FEAC0071303A3EA6002EA2004EA1818EA07E010187F9713>
I<EA07E0EA1C30EA3018EA700CEA600EEAE006A21307A31260EA700FEA3017EA1827EA07
C7EA00071306130E130C12701318EA6030EA3060EA0F8010187F9713>I<EA1FC0EA3870
7FEA101C1200A2EA03FCEA1E1C1238127012E01480A2133CEA705F381F8F0011107F8F13
>97 D<12FC121CA913FCEA1D07381E0380381C01C0130014E0A6EB01C01480381E0300EA
1906EA10F8131A809915>I<EA07F8EA1C1C1238EA700813005AA612701304EA3808EA1C
18EA07E00E107F8F11>I<133F1307A9EA03E7EA0C17EA180F487E127012E0A612601270
6C5AEA1C373807C7E0131A7F9915>I<EA07C0EA1C30EA30181270EA600C12E0EAFFFCEA
E000A41260EA7004EA3808EA1C18EA07E00E107F8F11>I<EA01F0EA0718EA0E38EA1C10
1300A6EAFFC0EA1C00AEEAFF800D1A80990C>I<EA0FCF3818718038303000EA7038A4EA
30306C5AEA2FC00060C7FCA21270EA3FF013FC6C7EEA600FEAC003A4EA6006EA381CEA07
E011187F8F13>I<12FC121CA9137CEA1D87381E0380A2121CAB38FF9FF0141A809915>I<
1218123CA212181200A612FC121CAE12FF081A80990A>I<12FC121CA9EB1FC0EB0F0013
0C5B13205B13E0121DEA1E70EA1C7813387F131E7F148038FF9FE0131A809914>107
D<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0A2001C1301
AB39FF9FE7F81D107F8F20>I<EAFC7CEA1D87381E0380A2121CAB38FF9FF01410808F15>
I<EA07E0EA1C38EA300CEA700EEA6006EAE007A6EA6006EA700EEA381CEA1C38EA07E010
107F8F13>I<EAFCFCEA1D07381E0380381C01C0A2EB00E0A6EB01C01480381E0300EA1D
06EA1CF890C7FCA6B47E1317808F15>I<EA03E1EA0C13EA180BEA300FEA700712E0A612
70A26C5AEA1C37EA07C7EA0007A6EB3FE013177F8F14>I<EAFC78EA1D9CEA1E1C1308EA
1C00ABEAFF800E10808F0F>I<EA1F20EA60E0EA402012C0A2EAF000127FEA3FC0EA1FE0
EA00F0EA8070133012C01320EAF040EA8F800C107F8F0F>I<1208A41218A21238EAFFC0
EA3800A81320A41218EA1C40EA07800B177F960F>I<38FC1F80EA1C03AB1307120CEA0E
0B3803F3F01410808F15>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2
EA01C0A36C5A11107F8F14>I<39FE7F1F8039381C0700003C1306381C0C04130E380E16
081317A238072310149013A33803C1A014E0380180C0A319107F8F1C>I<38FE3F80383C
1E00EA1C086C5AEA0F306C5A6C5A12017F1203EA0270487E1208EA181CEA381E38FC3FC0
12107F8F14>I<38FF0F80383C0700EA1C061304A26C5AA26C5AA3EA03A0A2EA01C0A36C
5AA248C7FCA212E112E212E4127811177F8F14>I<EAFFF8EAE07012C0EA80E0EA81C0A2
EA0380EA0700A2EA0E04121CA2EA380812701338EAFFF80E107F8F11>I
E /Fg 2 42 df<13E0EA01C0EA0380120713005A121EA2121C123CA212381278A3127012
F0AE12701278A31238123CA2121C121EA27E7E13801203EA01C0EA00E00B2E7CA112>40
D<12E012707E123C121C121E7EA27E1380A2120313C0A3120113E0AE13C01203A3138012
07A213005AA2121E121C123C12385A5A0B2E7EA112>I E /Fh 28
123 df<90380FF83F90397FFDFFC03A01FC1FE3E03903F03FC7EA07E0D80FC01387ED83
C091381F8000A6B612FCA2390FC01F80B2397FF8FFF8A223237FA221>11
D<EB07F8EB7FFC3801FC0E3803F01F48485AEA0FC0A3141E140C91C7FCA2ECFF80B6FCA2
380FC01FB2397FF8FFF0A21C237FA220>I<13181330136013C01201EA0380120713005A
121EA2123E123CA2127CA3127812F8AD1278127CA3123CA2123E121EA27E7E13801203EA
01C012001360133013180D317BA416>40 D<EA07FE381FFF80383F07E06D7E130180121E
1200A2133FEA03FDEA1F81EA3E01127C12F8A4EA7C02EA7E0C391FF87F803807E03F1916
7E951C>97 D<B47EA2121FABEB87F0EBBFFCEBF03EEBC01F9038800F8015C0140715E0A7
15C0A2140F15809038C01F00381E707E381C3FFC38180FE01B237EA220>I<EBFF800007
13E0380F83F0EA1F03123E127E387C01E090C7FC12FCA6127C127EA2003E13186C133038
0FC0603807FFC0C6130015167E9519>I<49B4FCA2EB003FAB13FE3807FFBF380FC1FF48
C67E003E7F127E127CA212FCA7127C127E123E6C5B380F81FF3907FF3FE0EA01FC1B237E
A220>I<13FE3807FF80380F83C0381E01E0383E00F0127E007C13F8147812FCB512F8A2
00FCC7FCA3127CA26C1318A26C1330380F80E03803FFC0C6130015167E951A>I<EB1F80
EBFFE03801F1F0EA03E31207EA0FC3EBC1E0EBC000A6EAFFFEA2EA0FC0B2EA7FFCA21423
7EA212>I<9038FE0F803903FF9FC0380F83E3381F01F3391E00F000003E7FA5001E5BEA
1F01380F83E0380BFF80D808FEC7FC0018C8FCA2121C381FFFE014FC6C13FF7E001F1480
397C001FC00078130F00F81307A3007CEB0F806CEB1F00381F807E6CB45A000113E01A21
7F951D>I<B47EA2121FABEB83F0EB8FFCEB987EEBA03EEBC03FA21380AE39FFF1FFE0A2
1B237DA220>I<121E123FEA7F80A4EA3F00121EC7FCA6EAFF80A2121FB2EAFFF0A20C24
7EA30F>I<B47EA2121FABECFF80A2EC3C00143014E0EB81C00183C7FC1386139E13BE13
FFEBDF80EB8FC01307806D7E6D7E130080147E39FFE1FFC0A21A237EA21E>107
D<EAFF80A2121FB3ADEAFFF0A20C237EA20F>I<3AFF03F803F890390FFE0FFE3A1F183F
183F9039201F201F014001C01380A201801380AE3BFFF0FFF0FFF0A22C167D9531>I<38
FF03F0EB0FFC381F187EEB203EEB403FA21380AE39FFF1FFE0A21B167D9520>I<13FF00
0713E0380F81F0381F00F8003E137C48133EA300FC133FA7007C133E007E137E003E137C
6C13F8380F81F03807FFE0C6130018167E951D>I<38FF87F0EBBFFC381FF07EEBC01F90
38800F8015C0A2EC07E0A715C0140FA2EC1F8001C01300EBF07EEBBFFCEB8FE00180C7FC
A8EAFFF0A21B207E9520>I<EBFE033807FF07380FC1CF381F00DF48137F007E7FA2127C
12FCA7127EA2003E5B6C5BEA0FC13807FF3FEA00FC1300A8903801FFE0A21B207E951E>
I<38FF0F80EB1FE0381F33F013631343A2EBC1E0EB8000ADEAFFF8A214167E9518>I<38
07F980EA1FFFEA3807EA7003EAF001A26CC7FCB4FC13F8EA7FFE6C7E6C1380120738003F
C0EAC007130312E0A200F0138038FC0F00EAEFFEEAC3F812167E9517>I<487EA41203A2
1207A2120F123FB5FCA2EA1F80ABEB8180A5380F830013C3EA07FEEA01F811207F9F16>
I<38FF81FFA2381F803FAF5C5C380FC1BF3907FF3FE0EA01FC1B167D9520>I<39FFF01F
E0A2391FC00700000F1306EBE00E0007130C13F000035BA26C6C5AA26C6C5AA2EBFEE0EB
7EC0137F6D5AA26DC7FCA2130EA21B167F951E>I<3AFFF3FF83FCA23A1F807C00E0D80F
C014C08001E013010007017F1380A2D803F0EB0300ECCF8301F81387D801F913C61487D8
00FD13ECEBFF0315FC017F5BEB7E01013E5BEB3C00A20118136026167F9529>I<39FFF0
7FC0A2390FC01C006C6C5A6D5A00035B6C6C5A3800FD80137F91C7FC7F6D7E497EEB37E0
EB67F013C33801C1F8380380FC48487E000E137F39FF81FFE0A21B167F951E>I<39FFF0
1FE0A2391FC00700000F1306EBE00E0007130C13F000035BA26C6C5AA26C6C5AA2EBFEE0
EB7EC0137F6D5AA26DC7FCA2130EA2130CA25B1278EAFC3813305BEA69C0EA7F80001FC8
FC1B207F951E>I<387FFFF0A2387C07E038700FC0EA601F00E0138038C03F005B137EC6
5A1201485AEBF030EA07E0120FEBC070EA1F80003F1360EB00E0EA7E03B5FCA214167E95
19>I E /Fi 29 122 df<13E0A538F0E1E0EAFCE7387EEFC0381FFF00EA07FCEA01F0EA
07FCEA1FFF387EEFC038FCE7E0EAF0E13800E000A513157D991A>42
D<EB7C38EA01FF000713F8EA0F83EA1E00001C13785A14385AA214005AA812701438A27E
A26C1370001E13F0380F83E03807FFC00001138038007C00151E7E9D1A>67
D<B512F8A3381C0038A51400A2130EA3EA1FFEA3EA1C0EA390C7FCA3141CA5B512FCA316
1E7E9D1A>69 D<387FFFFCB5FC7E380E001CA51400A2EB0380A3EA0FFFA3EA0E03A390C7
FCA8EA7FE012FF127F161E7F9D1A>I<B51280A33801C000B3A6B51280A3111E7C9D1A>
73 D<387F03F838FF87FC387F03F8381C01E0EB03C01480EB07005B131E131C5B13785B
7F121DEA1FDC139C130EEA1E0F7F001C13801303EB01C0A2EB00E0A21470007F13FC38FF
81FE387F00FC171E7F9D1A>75 D<EA7FE0487E6C5A000EC7FCB3141CA5387FFFFCB5FC7E
161E7F9D1A>I<EAFFFEEBFF8014C0381C03E0EB00F0147014781438A41478147014F0EB
03E0381FFFC01480EBFE00001CC7FCA9B47EA3151E7E9D1A>80 D<38FF01FEA3381C0070
A3001E13F0000E13E0A3380701C0A438038380A43801C700A4EA00C613EEA3136C137CA2
1338171E7F9D1A>86 D<387FFFC0B512E0A26C13C013047D7E1A>95
D<EA1FF0EA3FFC487EEA780FEA300738000380A2137FEA07FF121FEA3F83EA7803127012
E0A3EA7007EA780F383FFFFCEA1FFDEA07F016157D941A>97 D<12FEA3120EA6133EEBFF
80000F13E0EBC1F0EB8070EB0038120E141CA7000F13381478EB80F0EBC1E0EBFFC0000E
138038063E00161E7F9D1A>I<EBFF80000313C0000F13E0EA1F01383C00C04813001270
A25AA51270A2007813707E381F01F0380FFFE0000313C03800FE0014157D941A>I<EB1F
C0A31301A6EA01F1EA07FDEA0FFFEA1E0FEA3C07EA7803EA700112E0A7EA7003A2EA3807
EA3E0F381FFFFCEA07FDEA01F1161E7E9D1A>I<EA01F8EA07FF481380381E07C0EA3C01
387800E01270481370A2B512F0A300E0C7FC1270A2007813707E381F01F0380FFFE00003
13803800FE0014157D941A>I<EB07E0EB1FF0EB3FF8EB7878EBF030EBE000A4387FFFF0
B5FCA23800E000AF383FFF804813C06C1380151E7F9D1A>I<12FEA3120EA6133EEBFF80
000F13C013C1EB80E01300120EAC38FFE3FE13E713E3171E7F9D1A>104
D<EA01C0487EA36C5AC8FCA5EA7FE0A31200AF387FFF80B512C06C1380121F7C9E1A>I<
EAFFE0A31200B3A6B512E0A3131E7D9D1A>108 D<387CE0E038FFFBF8EA7FFF381F1F1C
EA1E1EA2EA1C1CAC387F1F1F39FF9F9F80397F1F1F00191580941A>I<EAFE3EEBFF80B5
12C0EA0FC1EB80E01300120EAC38FFE3FE13E713E317157F941A>I<EA01F0EA07FCEA1F
FF383E0F80EA3C07387803C0EA700138E000E0A6EAF001007013C0EA7803383C0780EA3E
0F381FFF00EA07FCEA01F013157D941A>I<EAFE3EEBFF80B512E0380FC1F0EB8070EB00
38120E141CA7000F13381478EB80F0EBC1E0EBFFC0000E1380EB3E0090C7FCA8EAFFE0A3
16207F941A>I<387F81F838FF8FFC387F9FFE3803FE1EEBF80CEBE000A25B5BAAEA7FFF
B5FC7E17157F941A>114 D<487E1203A6387FFFE0B5FCA238038000AA1470A43801C1E0
13FF6C1380EB3F00141C7F9B1A>116 D<38FE0FE0A3EA0E00AD1301EA0F033807FFFE7E
EA00FC17157F941A>I<387FC7FC00FF13FE007F13FC380E00E0A3380701C0A338038380
A33801C700A3EA00EEA3137CA2133817157F941A>I<387FC7F8EBCFFCEBC7F8380703C0
38038380EBC700EA01EFEA00FE137C13781338137C13EE120113C738038380000713C013
01387FC7FC00FF13FE007F13FC17157F941A>120 D<387FC7FC00FF13FE007F13FC380E
00E0A27EEB01C013811203EB8380EA01C3A2EBC700EA00E7A213E61366136E133CA31338
A3137813701230EA78E01271EA7FC06C5A001EC7FC17207F941A>I
E /Fj 1 59 df<127012F8A3127005057C840D>58 D E /Fk 52
122 df<123C127E12FFA4127E123C08087C8711>46 D<EB7F803803FFF03807E1F8380F
807C48487E48133F003E7F007E1480A400FE14C0AD007E1480A46CEB3F00A26C133E6C6C
5A3807E1F86CB45A38007F801A237EA21F>48 D<131C133C13FC12FFA21200B3AA387FFF
FCA216237CA21F>I<48B4FC000713C0381E07F0383803F8386001FC387C00FE12FE14FF
147FA2127C003813FFC7FC14FEA2EB01FC14F8EB03F0EB07E01480EB0F00131E5B1370EB
E003EA01C038038007380700061206380FFFFE5A5A4813FCB5FCA218237DA21F>I<48B4
FC000713E0381E03F0383801F8003C13FC387E00FEA3123EEA1C01000013FCA2EB03F8EB
07F0EB0FC03801FF00A2380007E0EB01F014F8EB00FC14FE14FFA21210127C12FEA214FE
A2387C01FC007013F8383E07F0380FFFC00001130018237DA21F>I<14381478A214F813
01130313071306130C131C13381330136013E0EA01C01380EA03005A120E5A12185A1270
5AB612C0A2390001F800A790387FFFC0A21A237EA21F>I<0018130C001F137CEBFFF814
F014E014C01480EBFC000018C7FCA513FF001B13E0381F03F0381C00F8000813FCC7127E
A3147FA2127812FCA3147E5A006013FC1270383801F8381E07E03807FFC03801FE001823
7DA21F>I<EB1FC0EB7FF03801F0383803E00C3807803E000F137EEA1F005AA2007E133C
1400A338FE3FC0EB7FF0EB80F800FF13FCEB007C147E5A147FA4127EA4003E137E123F6C
137C380F80F83807C1F03803FFC038007F0018237DA21F>I<1230123C003FB512C0A215
804814005C5C38600018A200E05B485B5CC6485AA249C7FC1306130EA25BA2133CA25BA2
13F8A41201A66C5A13601A257DA41F>I<EBFF80000313E0380F01F8381C007C48133C14
1E1278A2127C127E387F803C13E0383FF878381FFDF0EBFFC07E000313E014F8000F13FC
EA1E1F383C07FEEA7803EB00FF48133F141F140FA3140E1278141C6C1338381F80F03807
FFE00001130018237DA21F>I<13FF000313C0380F83E0381F00F04813F8007E137CA214
7E12FEA3147FA4127E14FF123EEA3F01001F137FEA0FFEEA03FCC7FC147EA2123C007E13
FCA214F814F0EA7C01383003E0381C0F80380FFF00EA03F818237DA21F>I<141CA2143E
A3147FA24A7EA39038019FC0A29038031FE0140F01077FEB0607A2010C7F1403011C7FEB
1801A2496C7EA2017FB5FCA29039E0007F8049133FA2484880151F00038190C7120FA248
6E7ED8FFF090B51280A229257EA42E>65 D<B612E015FC3903F0007FED3F80ED1FC0ED0F
E0A216F0A21507150FA216E0151F16C0ED7F80913801FE0090B512F815FF9039F0003FC0
ED0FE0ED07F016F8150316FCA616F81507ED0FF0ED1FE0ED7FC0B7120015F826257EA42C
>I<9138FF8008010FEBF01890393FC03C789039FE0006F8D801F8130348481301484813
0048481478121F48481438A2007F151890C8FCA2481500A97E16187F123FA26C6C143012
0F6C6C14606C6C14C06C6CEB0180D800FEEB070090383FC01E90380FFFF8010013C02525
7DA42C>I<B7FCA23903F8007FED0F8015071503A21501A3ED00C01406A21600A2140E14
1EEBFFFEA2EBF81E140E1406A21660A291C7FC16C0A415011503A2ED0F80153FB7FCA223
257EA428>69 D<B612FEA23803F800151F8181A281A3ED01801403A292C7FCA25C5C90B5
FCA2EBF80F8080A491C8FCAAB512F0A221257EA427>I<B500E0B512E0A23B03F80003F8
00AF90B6FCA29038F80003B0B500E0B512E0A22B257EA430>72 D<B512E0A23803F800B3
AFB512E0A213257EA417>I<B539E007FF80A2D803F8C7EA780016605E4B5A0307C7FC15
0E15185D5D5DEC03804AC8FC140E141F4A7E147FECDFC09038FB8FE09038FF0FF0EBFC07
496C7E816E7E1400157F82153F6F7E6F7E8215076F7E82B539E03FFFC0A22A257EA430>
75 D<B512F0A2D803F8C7FCB3A31503A31506A3150EA2151E153E157CEC03FCB6FCA220
257EA425>I<D8FFF8EDFFF86D5C0003EEFE00017EEC037EA36D1406A26D6C130CA26D6C
1318A26D6C1330A36D6C1360A26D6C13C0A2903900FC0180A291387E0300A3EC3F06A2EC
1F8CA2EC0FD8A2EC07F0A36E5AEA07803CFFFC01C01FFFF8A235257EA43A>I<D8FFF890
3807FFE07FD803FE9038003C006D14187F6D7E6D7E806D7E6D7E13036D7E6D7E80EC7F80
EC3FC0141FEC0FE015F0EC07F8EC03FC1401EC00FE157F1698ED3FD8ED1FF8150F150715
03A2150115001678486C1438D8FFFC1418A22B257EA430>I<B67E15F83903F801FEEC00
7F6F7E6F7EA282A55EA24B5A4BC7FCEC01FE90B512F815C09038F803F06E7E6E7E157EA2
157FA482A31760ED3FC017C0ED1FE1B539E00FFF80923801FE002B257EA42E>82
D<01FF1380000713E3380F80F7381E001F48130F481307140312F81401A27E91C7FCB4FC
EA7FE013FE383FFFE014F86C13FE00077F6C1480C67E010313C0EB003FEC0FE01407A200
C01303A315C07E6C13076C14806CEB0F0038FFC03E38E3FFF838803FE01B257DA422>I<
007FB612F8A2397E00FE010078EC00780070153800601518A200E0151C160C5AA4C71400
B3A390B512FEA226247EA32B>I<B539E00FFFC0A2D803F8C7EA78001630B3A700015D7F
00005D137C6D495A6D0107C7FC90380FE03E903803FFF89038007FC02A257EA42F>I<B5
398001FFE0A2D807F8C7EA1C0000031518A26D1438000115306D1470000015607F6D5C80
013F495AA2ECC003011F91C7FC6E5A010F130614F001075BA26D6C5AA2ECFC3801011330
ECFE700100136014FF6E5AA26E5AA36EC8FCA2140EA22B257FA42E>I<B53B81FFFE01FF
F0A23D07F0001FC0000F007013066C6C010F5CA26F7E6C6C5EA26D496C1338000017304B
7E017F01195CA291388030FE013F5E829139C0607F01011F5E03E0138190280FE0C03F83
C7FCA29139F1801FC3010715C617E69139FB000FEE010315EC02FF14FC6D486D5AA24A13
0301005DA24A130102785CA202306D5A3C257FA43F>I<B539C001FFE0A2D807F8C7EA1C
006C6C141816386C6C14306C6C5C16E06D6C5B6D6C485A1503D91FE090C7FC90380FF006
150E903807F80C6D6C5A15386D6C5A903800FF6015E06E5A6E5AAE90380FFFFCA22B257F
A42E>89 D<EA07FF001F13E0383E03F0383F00F880147E121EC7FCA3EB1FFE3803FE7EEA
0FC0EA1F00123E127E5AA314BEEA7E01383F073E391FFE1FE03807F00F1B187E971E>97
D<EAFFC0A2120FACEBC1FCEBCFFF9038FC0FC09038F007E09038C003F0A2EC01F8A215FC
A815F8A2EC03F013E09038F007E090381C1F80390E0FFF00380C03F81E267FA522>I<EB
7FE03803FFF83807C07C381F80FC13005A007E1378140012FEA8127E127F6C130CEA1F80
EBC0183807E0703803FFE038007F0016187E971B>I<ECFFC0A2140FAC137F3803FFCF38
0FE0FF381F803F383F000FA2127EA212FEA8127EA27E141F381F803F380FC0EF3903FFCF
FC3800FE0F1E267EA522>I<137F3803FFC03807C1F0380F80F8EA1F0048137C127E147E
12FEA2B512FEA248C7FCA3127EA214067E6C130C380F80183807E0703803FFE038007F80
17187E971C>I<EB1FC0EB7FF0EA01F83803E1F8120713C1380FC0F01400A7B5FCA2EA0F
C0B3A2EAFFFEA215267EA513>I<3901FF07C00007EBDFE0380F83F1EA1F01393E00F800
007E7FA6003E5B6C485A380F83E0EBFFC0001190C7FC0030C8FCA21238123C383FFFE06C
13FC806C7F481480383C003F48EB0FC000F81307A4007CEB0F806CEB1F00381F807E3807
FFF8C613C01B247E971F>I<EAFFC0A2120FAC14FE9038C3FF809038CE0FC013D89038D0
07E013E0A213C0AF39FFFC7FFEA21F267EA522>I<120FEA1F80EA3FC0A4EA1F80EA0F00
C7FCA7EA7FC0A2120FB3A2EAFFF8A20D277EA611>I<EAFFC0A2120FACEC1FF0A2EC0780
EC0E005C14305CEBC1C0EBC38013C713DFEBFFC0EBE7E0EBC3F0138180EB80FC147E80A2
EC1F80EC0FC039FFF83FF8A21D267FA520>107 D<EAFFC0A2120FB3B0EAFFFCA20E267E
A511>I<26FF80FE137F903A83FF81FFC03B0F8E0FC707E0019813CC903A9007E803F001
A013F0A201C013E0AF3BFFFC7FFE3FFFA230187E9733>I<38FF80FE903883FF80390F8E
0FC0139890389007E013A0A213C0AF39FFFC7FFEA21F187E9722>I<EB7F803803FFF038
07C0F8381F807E48487EA2007EEB1F80A200FE14C0A8007E1480A26CEB3F00A2381F807E
6C6C5A3803FFF038007F801A187E971F>I<38FFC1FCEBCFFF390FFC1FC09038F007E001
C013F0140315F8140115FCA8EC03F8A215F0EBE0079038F00FE09038DC1F809038CFFF00
EBC3F801C0C7FCA9EAFFFCA21E237F9722>I<38FF83E0EB8FF8380F8C7CEB90FC13B013
A01478EBE0005BAEEAFFFEA216187F9719>114 D<3807F8C0EA1FFFEA3C07EA7001EAF0
00A300FC1300B47EEA7FFC7F383FFF80000F13C0120338001FE01303EAC001A212E014C0
EAF00338FC078038EFFF00EAC3FC13187E9718>I<13C0A41201A312031207120F121FB5
12C0A2380FC000AC1460A63807E0C013E13801FF8038007E0013237FA218>I<39FFC07F
E0A2000F1307B0140FA200071317EBE0673903FFC7FE38007F071F187E9722>I<39FFF8
0FF8A2390FC001C015803907E00300A26D5A00031306EBF80E0001130C13FC00005B13FE
EB7E30A26D5AA214E06D5AA26D5AA26DC7FCA21D187F9720>I<3BFFF9FFE0FF80A23B1F
C03F001C00000F6D13181580D807E05CA29039F03FC07000030137136015E02601F8635B
A29038FCE3F1000001C15B15F990267F80FBC7FCA215FF90383F007EA2011E133CA3010C
131829187F972C>I<39FFF83FF0A2390FC00F003807E00E6C6C5A6D5A6C6C5A00001360
EB7EC06D5AA2131F6D7E497E80EB33F81361EBE0FC3801C07E3803807F3907003F804813
1F39FFC07FF8A21D187F9720>I<39FFF80FF8A2390FC001C015803907E00300A26D5A00
031306EBF80E0001130C13FC00005B13FEEB7E30A26D5AA214E06D5AA26D5AA26DC7FCA2
1306A25B1230EA781CEAFC185B1370EA68E0EA7FC0001FC8FC1D237F9720>I
E /Fl 28 122 df<EB03E0EB1C181338EB703C13E014383801C000A5485A387FFFF03803
8070A4380700E0A6380E01C0A6381C0380001E13C038FF0FF016207E9F19>12
D<EAFFF0A20C027E8A0F>45 D<0007B512F83900F800780178133815185B1508A53901E0
0800A314181438EBFFF83803C0301410A491C7FC485AA648C8FC7FEAFFFC1D1F7E9E1E>
70 D<3A07FF803FE03A00F8001F000178130C5D4913205D5D4AC7FC1402140848485A5C
146014F013E1EBE4F83803C878EBD07CEBE03CEBC03E141E141F48487E81140781140381
380F00016D487E39FFF00FFE231F7E9E23>75 D<EA07F8EA0C0CEA1E061307121C1200A3
13FFEA07C7EA1E07EA3C0E127800F01310A3131EEB2E2038784F40381F878014147D9317
>97 D<1207123F120F7EA2120EA65A137CEA1D83381E0180001C13C0EB00E05A14F0A538
7001E0A214C013031480EB0700EAE80EEACC38EA83E014207B9F19>I<13FEEA0383380E
0780121C0038130090C7FC12785AA45AA37E5BEA70026C5AEA1C18EA07E011147D9314>
I<1438EB01F8EB00781438A21470A614E013FCEA0382EA0601121CEA3C00383801C01278
12F0A438E00380A412F0EA700738380F00381C37803807C7E015207D9F19>I<13F8EA07
0EEA0E07121C383803801278127012F0A2B5FC00F0C7FC5AA46C5AEA7002EA3004EA1C18
EA07E011147D9314>I<EB07C0EB1C60EB30F01360EBE0E0EBC0001201A5485AEA3FFCEA
0380A448C7FCA6120EA65A121EEAFFC014207F9F0E>I<140EEB3E11EBE1A33801C1C238
0381E0EA07801301120FA3380703C01480EB8700EA04FC48C7FCA21218121CEA0FFF14C0
14E0381800F04813305A5AA3006013606C13C0381C0700EA07FC181F809417>I<13E012
0712011200A2485AA6485AEB8F80EB90E013A0EBC0601380000713E01300A5380E01C0A6
381C0380001E13C038FF8FF014207E9F19>I<EA01C0EA03E0A213C0EA0180C7FCA6EA03
80121F12071203A2EA0700A6120EA65A121EEAFF800B1F7F9E0C>I<13E0120712011200
A2485AA6485AEB81FCEB80F014C0EB81801400EA07045B13181338137C131C120E7FA213
0F7F1480EA1C03381E07C038FF8FF016207E9F18>107 D<13E0120712011200A2EA01C0
A6EA0380A6EA0700A6120EA65A121EEAFF800B207F9F0C>I<390387C07C391F98618639
07A072073903C03403EB80380007EB7807EB0070A5000EEBE00EA64848485A001EEBE01E
3AFFCFFCFFC022147E9326>I<38038F80381F90E0EA07A03803C0601380000713E01300
A5380E01C0A6381C0380001E13C038FF8FF014147E9319>I<13FCEA0387380E0180381C
00C04813E0A24813F012F0A438E001E0A214C0130300F0138038700700EA380E6C5AEA07
E014147D9317>I<EBE3E03807EC383800F01C497E140F48487E1580A53903800F00A214
0E141E141C5C38074070EB61C0011FC7FC90C8FCA3120EA4121EEAFFC0191D809319>I<
EBFC2038038260EA0702381E01E0123C003813C0127812F0A438E00380A212F0A2130712
7038380F00EA1C37EA07C7EA0007A3130EA4131EEBFFC0131D7D9318>I<EA038E381FB3
80EA07C71203EB8300EA078090C7FCA5120EA65A121EEAFFC011147E9312>I<EA01F9EA
0607EA080312181301EA3802EA3C00121F13F0EA07FCEA01FEEA001FEA40071303A21260
1306EAF004EAC818EA87E010147F9312>I<1380EA0100A35A5A5A121EEAFFF8EA0E00A4
5AA65A1310A41320A2EA1840EA0F800D1C7C9B12>I<381C0380EAFC1FEA3C07EA1C03A2
38380700A6EA700EA4131EA25BEA305E381F9F8011147B9319>I<38FF83F8381E00E000
1C13C01480121E380E01005B13025B12075BA25BEA039013A013E05B5B120190C7FC1514
7C9318>I<39FF9FE1FC393C078070391C030060148015401580EA0E0790380D81001309
EB19C21311380F21C4EA0720EB40C814E8EB80F0A26C485A1460000213401E147C9321>
I<381FF0FF3803C0780001137014403800E0C0EBE180EB73001376133CA2131C132E134E
1387EA0107380203801204380C01C0383C03E038FE07FC18147F9318>I<390FF83F8039
01E00E00EBC00C140813E000005B143014205C13705CA20171C7FC1339133A133E133C13
3813181310A25BA25BEA70C0EAF08000F1C8FC12E61278191D809318>I
E /Fm 8 89 df<903807F00890383C0C189038E003383901C000B8D80780137848C71238
120E001E14185A1508127C1278150012F8A6EC1FFF0078EB00F81578127C123CA27E120E
120F6C7ED801C013B83900E0011890383C0E08903807F00020217C9F27>71
D<EAFFF0EA0F00B3ABEAFFF00C1F7D9E12>73 D<B4EB0FF8390F8003E0EC0080EA0BC0EA
09E0A2EA08F01378A27F7FA27FEB0780A2EB03C0EB01E0A2EB00F01478A2143C141EA214
0F1407A214031401123E38FF80001D1F7C9E25>78 D<EB1FE0EB70383801C00E48487E39
070003804814C0001EEB01E048EB00F0A2007C14F8A20078147800F8147CA90078147800
7C14F8A2003C14F0003E1301001E14E06CEB03C06C148039038007003801E01E38007038
EB1FE01E217C9F26>I<B512F0380F803E0007130FEC0780EC03C0A215E0A415C0A2EC07
80EC0F00143EEBFFF00180C7FCAD487EEAFFFC1B1F7D9E22>I<3803F020380C0C603818
03E0EA30005A146012E01420A36C13007E127CEA7F80EA3FFC6CB4FC00071380000113C0
38000FE013031301EB00F014707EA46C136014E06C13C038F8018038C60300EA81FC1421
7C9F1C>83 D<39FFF00FF8390F0003E0EC0080B3A46CEB01001380120314026C6C5A6C6C
5AEB3830EB0FC01D207C9E25>85 D<397FF807FE390FE001F0D807C013C06C6C6C5A0001
49C7FCEBF0023800F806EB78046D5AEB3E18EB1F106D5A14C0130713036D7E497EEB06F8
EB0478EB087CEB183EEB101EEB201F496C7EEBC007496C7ED801007F486D7E481300391F
8001F83AFFC007FF80211F7E9E25>88 D E /Fn 34 121 df<EB01C01303130F137FEA1F
FFB5FC13BFEAE03F1200B3B1007FB512F0A31C2E7AAD28>49 D<EB3FE03801FFFE0007EB
FF80D80F8013C0391E003FE00038EB1FF0007CEB0FF8007EEB07FCB4FC018013FEA21403
A2EA7F00003E1307C7FC15FCA2EC0FF8A215F0EC1FE015C0EC3F80EC7F00147E14F8495A
495A495A49C7FC011E130E5B133849131E49131C485A48C7123C48B512FC5A5A5A4814F8
B6FCA31F2E7CAD28>I<913A03FF800180023FEBF00349B5EAFC0701079038003F0FD91F
F8EB079FD93FC0EB01FFD9FF807F4848C8127F4848153F0007161F49150F485A001F1607
A2485A1703127FA24992C7FCA212FFA9127FA27FEF0380123FA26C7E1707000F17006C7E
6D150E0003161E6C6C151C6C6C6C1478D93FC05CD91FF8EB03E0D907FFEB3F800101D9FF
FEC7FCD9003F13F80203138031317CB03A>67 D<B812F0A3C6903880003FEE07F8160316
00A21778A21738A3171C1507A31700A25D5D5D91B5FCA3EC803F818181A21707A392C712
0EA4171EA2173CA2177C17FC16011607163FB812F8A330317EB035>69
D<B812E0A3C6903880007FEE0FF016031601A21600A21770A31738A21507A21700A35D5D
5D91B5FCA3EC803F818181A592C8FCACB612C0A32D317EB033>I<DA03FF1303027FEBF0
0749B5EAFC0F01079038007E1FD91FF0EB0FBFD97FC0EB03FF49487F4848C87E485A0007
824848815B001F82A2484881A2127FA24992C7FC12FFAA0307B512F8127F7FDB00011300
123FA26C7EA2120F7F6C7E12036C7E6C6C7E6D6C5BD91FF8497ED907FFEB3E3F01019038
FFFC1F6D6CEBF00F0203EB800335317CB03F>I<B61280A3C6EB8000B3B3A7B61280A319
317EB01E>73 D<B67EA3000190C9FCB3A9EE0380A416071700A25EA35E5E5E5E4B5A150F
B7FCA329317DB030>76 D<B56C49B512C08080C66D90390003E0006E6E5AEBEFFC13E780
EBE3FF01E17F01E07F6E7E143F816E7E6E7E6E7E14036E7E16806E13C0ED7FE0ED3FF015
1F16F8ED0FFCED07FEED03FF6F13818117C1EE7FE1EE3FF1EE1FF9EE0FFD160717FF8282
82177F173FA2171F170F486C1507B500E014031701A23A317EB03F>78
D<B712E016FEEEFF80C6D9800013E0EE3FF0EE0FF8EE07FCA2EE03FEA217FFA717FEA2EE
07FC17F8160FEE3FE0EEFFC091B6120016F80280C8FCB3A2B67EA330317EB037>80
D<B77E16F816FEC690398003FF809238007FE0EE1FF0707EA283160783A65F160F5F4C5A
4C5A4C5ADB03FFC8FC91B512F816E091388007F8ED01FC6F7E167F83707EA283A583A4F0
038017F8161F1900706C5AB6398003FE0E933801FFFC9338001FF039317EB03C>82
D<007FB8FCA39039C00FF801D87E00EC003F007C82007882A200708200F01780A3481603
A5C792C7FCB3AA017FB6FCA331307DAF38>84 D<B6D88003B51280A3C60180C73807C000
715AB3AE137F4DC7FC80013F150EA26D6C5C6D6C5C6D6C5C6D6C495A903A00FF801FC002
3FB55A020F49C8FC020013E039317EB03E>I<B500FC91B5FCA3000390C8EA03C06C1780
6E14076C170080017F150EA26E141E013F151C6E143C011F153880010F5D8001075DA26E
130101035D6E13036D5D15806D4AC7FCA26F5A027F130EEDE01E023F131CEDF03C021F13
3815F8020F5BA2EDFCF002075B15FF6E5BA26E5BA26E90C8FCA3157EA2153CA238317EB0
3D>I<EBFFF0000313FF390F803F809038C00FE0486C6C7EA26E7ED80FC07FEA0780C7FC
A414FF131FEBFFE33803FC03EA0FF0EA1FC0123FEA7F80A2EAFF00A31407A2387F800D39
3FC01DFE3A1FE078FFF03907FFE07FC6EB803F24207E9F27>97 D<EA01F812FFA3120F12
07ADEC3FE0ECFFFC9038FBE07F9039FF001F8049EB0FC04914E049EB07F016F8A2ED03FC
A316FEA816FCA3ED07F8A216F06DEB0FE06D14C001E7EB3F809039C3C0FE00903880FFF8
9038003FC027327EB12D>I<EB0FFF017F13C03901FC01F03803F0033907E007F8120FEA
1FC0003FEB03F0EC01E04848C7FCA312FFA8127FA36C6C131CA2001F14386C7E00071470
3903F001E03901FC07C039007FFF00EB0FF81E207D9F24>I<ED0FC0EC07FFA3EC007F15
3FADEB07F8EB3FFF9038FE07BF3903F801FF3907E0007F120F4848133F123FA2485AA312
FFA8127FA36C7EA2121F6C6C137F000714FF2603F00313E03A01FC0F3FFE38007FFEEB0F
F027327DB12D>I<EB0FFC90387FFF803901FC0FC03903F003E03907E001F0000F14F839
1FC000FC003F14FEA24848137E157FA212FFA290B6FCA20180C7FCA4127FA36C6C130712
1F150E6C7E6C6C131C6C6C13783900FE03E090383FFFC0903807FE0020207E9F25>I<EB
01FE90380FFF8090381FC3C090387F07E09038FE0FF0120113FC1203EC07E0EC018091C7
FCA8B512FCA3D803FCC7FCB3A8387FFFF0A31C327EB119>I<90391FF007C09039FFFE3F
E03A01F83F79F03907E00FC3000F14E19039C007E0E0001FECF000A2003F80A5001F5CA2
000F5CEBE00F00075C2603F83FC7FC3806FFFE380E1FF090C9FC121EA2121F7F90B57E6C
14F015FC6C806C801680000F15C0003FC7127F007EEC1FE0007C140F00FC1407A4007EEC
0FC0003E1580003F141FD80FC0EB7E003907F803FC0001B512F0D8001F90C7FC242F7E9F
28>I<EA01F812FFA3120F1207ADEC07F8EC3FFEEC783F02C013809039F9801FC0EBFB00
01FE14E05BA35BB3B500C3B5FCA328327DB12D>I<EA03C0487E487E487EA46C5A6C5A6C
5AC8FCA9EA01F8127FA31207B3A7B51280A311337DB217>I<EA01F812FFA3120F1207B3
B3A6B512C0A312327DB117>108 D<2703F007F8EB1FE000FFD93FFEEBFFF8913A783F01
E0FC02C090388300FE280FF1801FC6137F2607F30013CC01F602F8148001FC5CA3495CB3
B500C3B5380FFFFCA33E207D9F43>I<3903F007F800FFEB3FFEEC783F02C013803A0FF1
801FC03807F30001F614E013FCA35BB3B500C3B5FCA328207D9F2D>I<EB07FC90387FFF
C03901FC07F03903F001F848486C7E4848137E001F147F003F158049133F007F15C0A300
FF15E0A8007F15C0A36C6CEB7F80A2001F15006C6C13FE00075C3903F803F83901FE0FF0
39007FFFC0D907FCC7FC23207E9F28>I<3901F83FE000FFEBFFFC9038FBE07F9039FF00
3F80D807FEEB1FC049EB0FE04914F0ED07F8A216FC1503A216FEA816FC1507A216F8A2ED
0FF06D14E06DEB1FC06DEB3F809039FBC0FE009038F8FFF8EC3FC091C8FCABB512C0A327
2E7E9F2D>I<3803F03F00FFEB7FC09038F1C3E01487390FF30FF0EA07F6A29038FC07E0
EC03C091C7FCA25BB2B512E0A31C207E9F21>114 D<3801FF86000713FEEA1F00003C13
3E48131E140E12F8A36C90C7FCB47E13FC387FFFC06C13F0806C7F00077F00017FEA003F
01001380143F0060131F00E0130FA27E15007E6C131E6C131C38FF807838F3FFF038C07F
8019207D9F20>I<131CA5133CA3137CA213FC120112031207381FFFFEB5FCA2D803FCC7
FCB0EC0380A71201EC0700EA00FEEB7F0EEB3FFCEB07F0192E7FAD1F>I<D801F8EB07E0
00FFEB03FFA3000FEB003F0007141FB3153FA20003147FA26C6CEBDFF03A00FE039FFF90
387FFF1FEB0FFC28207D9F2D>I<B53A1FFFE03FF8A33C0FF000FE0007806D150300076E
EB0700816D5D00039138FF800EA26C6C486D5A15DF01FF153C6C9039038FE038A2D97F87
6D5A150702C714F0D93FCF6D5AECCE03D91FFEEBF9C09138FC01FD16FF010F5D4A7EA26D
486DC7FCA20103147E4A133EA26D48131C35207E9F3A>119 D<3A7FFF807FFCA33A03FC
000F006C6C131E6C6C5BEC803890387FC078013F5B90381FE1E090380FF3C0ECFF806D90
C7FC6D5A13016D7E81815B903803DFE09038078FF08190380F07FC90381E03FEEB3C0149
6C7E4914804848EB7FC00003EC3FE026FFFC01B5FCA328207F9F2B>I
E /Fo 1 14 df<14FF010713E090381F00F80178131E01E01307D80180EB018048C812C0
00061560481530A248151848150CA2481506A4481503A900601506A46C150CA26C15186C
1530A26C15606C15C06C6CEB0180D800E0EB07000178131E011F13F8903807FFE0010090
C7FC282B7EA02D>13 D E /Fp 54 122 df<1306130C13181338137013E01201EA03C0A2
EA0780A2120F13005AA2123EA3127EA3127CA212FCAE127CA2127EA3123EA37EA27E1380
1207A2EA03C0A2EA01E01200137013381318130C13060F3C7AAC1A>40
D<123C127FEAFF80A213C0A3127F123E1200A2EA0180A3EA0300A21206120E5A5A12100A
157B8813>44 D<121C127FA2EAFF80A3EA7F00A2121C09097B8813>46
D<130E131E137EEA07FE12FFA212F81200B3ABB512FEA317277BA622>49
D<EBFF80000713F04813FC381E03FE393800FF80007C133F00FE14C06C131F15E0140FA2
127E003C131FC7FC15C0A2EC3F801500147E5C5C495A495AEB078049C7FC131E4913E013
705B3901C001C0EA0380EA0600000FB5FC5A5A5AB61280A31B277DA622>I<EB7F803803
FFF04813FC380F81FE381F007FEA3F80EC3F80A3121F1300C7EA7F00A2147E5C495AEB07
F0EBFFC0A2EB01F8EB007E801580EC1FC0A215E0A2123C127EB4FCA215C0143F48148000
7CEB7F00383F01FE6CB45A000713F0C613801B277DA622>I<140FA25C5C5C5C5BA2EB03
BFEB073F130E131C133C1338137013E0EA01C0EA038012071300120E5A5A5A12F0B612F8
A3C7EA7F00A890381FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C5C14C091
C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215E0A21218
127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C613801B277DA6
22>I<EB7F803801FFF000077F380FC0FC381F803E48487E007E1480A2140F00FE14C0A3
15E0A5007E131FA26C133F6C132F380F80CF3807FF8F0001130FEA0008010013C0A3EC1F
80123E127FEC3F00143E147E007E5B383E03F8381FFFE06C1380D801FEC7FC1B277DA622
>57 D<EC0780A24A7EA34A7EA24A7EA3EC77F8A2ECF7FC14E3A2903801C1FEA201037F14
80A249486C7EA24980010E133FA2496D7EA2013FB57EA39039700007F8A201F080491303
000181491301A2000381D8FFFE013F13FCA32E297EA833>65 D<B612F815FF16C03A03F8
001FE0ED0FF0ED07F8150316FCA21501A3150316F8A2ED07F0150FED1FC0EDFF8090B5EA
FE00EDFFC09039F8000FF0ED03F8ED01FC16FE1500A216FFA616FE1501ED03FC1507ED1F
F8B712E016C0EDFE0028297DA830>I<91387FE003903907FFFC07011FEBFF0F90397FF0
0F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A160F485A1607127FA290
C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C14786CB4EB01F09039
7FF007C0011FB512800107EBFE009038007FF028297CA831>I<B612FCEDFF8016E03A03
FC001FF8ED03FCED00FE167FEE3F80EE1FC0A2EE0FE0A2EE07F0A417F8AA17F0A3EE0FE0
A217C0161FEE3F80EE7F005EED03FCED1FF8B75A168003FCC7FC2D297EA834>I<B712E0
A33903FC001FED07F01501A215001670A3913801C0781638A302031300A2140F90B5FCA3
EBFC0F1403A20201130EA3161C91C7FCA3163C1638167816F815011503151FB712F0A327
297EA82C>I<B712C0A33903FC003FED0FE015031501A21500A316F0913801C070A31600
1403A2140F90B5FCA3EBFC0F1403A21401A491C8FCA9B512FCA324297EA82A>I<91387F
E003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F48488048488048
4880485A82485A82127FA290CAFC5AA892B512F87E7F03001300123FA26C7EA26C7E6C7E
6C7E6C7E6CB45B90387FF007011FB5129F0107EBFE0F9039007FF0032D297CA835>I<B5
D8F00FB5FCA3D803FCC7EA3FC0AF90B7FCA301FCC7123FB1B5D8F00FB5FCA330297EA835
>I<B512F0A33803FC00B3B1B512F0A314297EA819>I<B500F0EBFFFEA3D803FCC7EA0F00
161E5E5E16E0ED03C04B5A4BC7FC151E5D15F04A5A4A5A1407140F4A7EEC7FF04A7EEBFD
E79038FFC3FCEC83FE9038FE01FF497E6F7E826F7E151F6F7E8215076F7E6F7E8281EE7F
80B539F00FFFFEA32F297EA835>75 D<B512FCA3D803FCC8FCB3A3ED01C0A415031680A2
1507A2150FA2151F157F913801FF00B7FCA322297EA828>I<D8FFFE92383FFF80A26D5D
0003EFE000A2D9BF8014EFA2D99FC0EB01CFA2D98FE0EB038FA3D987F0EB070FA2D983F8
130EA2D981FC131CA3D980FE1338A2027F1370A291383F80E0A391381FC1C0A291380FE3
80A2913807F700A3EC03FEA26E5AA26E5AD8FFFE0203B51280A2157039297DA840>I<D8
FFFCEC7FFF7F7F00036DEB01C080EBBFE0139F80EB8FF8EB87FCEB83FEEB81FF01801380
147F15C0EC3FE0EC1FF0EC0FF8EC07FC140315FEEC01FF6E1381ED7FC1ED3FE1ED1FF115
0F16F9ED07FDED03FF8181167FA2163F161F160F1607D8FFFE14031601A230297EA835>
I<ECFFC0010F13FC90383F807F9039FE001FC0D801F8EB07E048486D7E48486D7E000F81
48486D7EA24848147FA2007F168090C8123FA34816C0AA6C16806D147FA2003F1600A26C
6C14FEA26C6C495A6C6C495A6C6C495A6C6C495A6C6C495A90263FC0FFC7FC90380FFFFC
010013C02A297CA833>I<B612F815FF16C03A03FC003FE0ED07F0ED03F816FC150116FE
A716FC150316F8ED07F0ED3FE090B61280EDFE0001FCC8FCB0B512F0A327297EA82E>I<
ECFFC0010F13FC90383FC0FF9039FE001FC048486D7ED803F0EB03F000078148486D7E48
486D7EA24848147FA2007F1680A290C8123FA24816C0AA6C16806D147FA2003F1600A26C
6C14FE143E3A0FE07F81FC00079038C1C1F83A03F18063F0D801F9EB67E0D800FFEB3FC0
90263FC07FC7FC90380FFFFC01004913C0EC003C811601ED1F8316FF6F1380A21700816F
5A6F5A6F5A2A357CA833>I<B612E015FE6F7E3A03FC003FE0ED0FF06F7E6F7E150182A6
5E4B5A1507ED0FE0ED3FC090B500FEC7FCA29039FC00FF80ED3FC06F7E6F7E6F7EA9170E
A21503923801FC1CB538F000FEEE7FF8EE0FE02F297EA832>I<9038FF80600003EBF0E0
000F13F8381F80FD383F001F003E1307481303A200FC1301A214007EA26C140013C0EA7F
FCEBFFE06C13F86C13FE80000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E0
1303A46C14E0A26C13076C14C0B4EB0F80EBE03F39E3FFFE0000E15B38C01FF01C297CA8
25>I<007FB71280A39039807F807FD87C00140F00781507A20070150300F016C0A24815
01A5C791C7FCB3A490B612C0A32A287EA72F>I<B500F0EBFFFEA3D803FCC7EA0380B3AA
0001ED07007F0000150E137F6D143CD91FC05B90390FF003F06DB55A01001480DA1FFCC7
FC2F297EA834>I<B500F0EB7FFFA3D803FEC7EA01C00001ED0380A26D14076C16006E5B
017F140E80013F5CA26E133C011F14386E1378010F14708001075CA26D6C485AA2ECFE03
01015CECFF076D91C7FC1587EC7F8EA215DEEC3FDC15FC6E5AA26E5AA36E5AA26E5AA230
297FA833>I<B53CE07FFFE01FFFC0A32803FC0003FCC7EA7000A26D6D7E000160A26D6E
13016C604B138002801503017F5F4B13C0D93FC0013F49C7FCA2913AE00E1FE00F011F16
0E17F09126F01C0F131E010F161C033C13F8902707F838075BA2037813FC902703FC7003
5BA2913AFEE001FEF001015E02FF14FF4B7E6D5EA26E486D5AA36EC76CC8FCA2023E8002
1E141EA242297FA845>I<B500F0EB3FFFA3D803FEC7EA03C06C6C15806C6DEB07005E6D
6C130E6E5B013F143C6D6C13386E5B010F14F06D6C5B6E485A01031303D901FF5B0387C7
FC6D138FEC7FCE15FC143F6E5A5D140FAE0103B512C0A330297FA833>89
D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA
0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803FC031E1B7E9A21
>97 D<EAFFE0A3120FACEBE1FE9038EFFF809038FE07E09038F803F09038F001F89038E0
00FCA2157EA2157FA8157EA315FCA29038F001F89038F803F090389C0FE090380FFF8039
0E01FC00202A7EA925>I<EB3FF03801FFFC3803F03E380FC07FEA1F80EA3F00A248133E
007E90C7FCA212FEA7127EA2127F6CEB03801380001FEB0700380FE00E3803F83C3801FF
F838003FC0191B7E9A1E>I<EC7FF0A31407ACEB3F873801FFF73807F03F380FC00F381F
8007EA3F00A2127EA312FEA8127EA27EA2381F800F380FC01F3907E07FFF3801FFE73800
7F87202A7EA925>I<EB3FC03801FFF03803E07C380F803E001F7F130048EB0F80127E15
C0A200FE1307A2B6FCA248C8FCA3127EA2127F6CEB01C07E390F8003803907C007003803
F01E3800FFFCEB3FE01A1B7E9A1F>I<EB07F8EB3FFCEB7E3E3801FC7FEA03F813F01207
143E1400A7B512C0A33807F000B3A3387FFF80A3182A7EA915>I<9038FF80F00003EBE3
F8390FC1FE1C391F007C7C48137E003EEB3E10007EEB3F00A6003E133E003F137E6C137C
380FC1F8380BFFE00018138090C8FC1238A2123C383FFFF814FF6C14C06C14E06C14F012
1F383C0007007CEB01F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB512003800
7FF01E287E9A22>I<EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EBE80701
F813F013F0A213E0B039FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0A3EA1F
C0EA0F80EA0700C7FCA7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I<EAFFE0A3120FB3
B2EAFFFEA30F2A7EA912>108 D<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D8
0FC49038F101FC9039C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A333
1B7D9A38>I<38FFC07E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213
E0B039FFFE3FFFA3201B7D9A25>I<EB3FE03801FFFC3803F07E390FC01F80391F800FC0
393F0007E0A2007EEB03F0A300FE14F8A8007E14F0A26CEB07E0A2391F800FC0390FC01F
803907F07F003801FFFC38003FE01D1B7E9A22>I<38FFE1FE9038EFFF809038FE0FE039
0FF803F09038F001F801E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038
F807F09038FC0FE09038EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FF
C1F0EBC7FCEBC63E380FCC7F13D813D0A2EBF03EEBE000B0B5FCA3181B7F9A1B>114
D<3803FE30380FFFF0EA3E03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C
13E06C13F0000713F8C6FCEB07FC130000E0137C143C7E14387E6C137038FF01E038E7FF
C000C11300161B7E9A1B>I<13E0A41201A31203A21207120F381FFFE0B5FCA2380FE000
AD1470A73807F0E0000313C03801FF8038007F0014267FA51A>I<39FFE07FF0A3000F13
07B2140FA2000713173903F067FF3801FFC738007F87201B7D9A25>I<39FFFC03FFA339
0FF000F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA214
9EEB3F9C14FC6D5AA26D5AA36D5AA26D5AA2201B7F9A23>I<3BFFFC7FFC1FFCA33B0FE0
0FE001C02607F007EB0380A201F8EBF00700031600EC0FF801FC5C0001150EEC1FFC2600
FE1C5B15FE9039FF387E3C017F1438EC787F6D486C5A16F0ECE01F011F5CA26D486C5AA2
EC800701075CA22E1B7F9A31>I<39FFFC1FFEA33907F003803803F8079038FC0F003801
FE1E00005BEB7F3814F86D5A6D5A130F806D7E130F497EEB3CFEEB38FFEB787F9038F03F
803901E01FC0D803C013E0EB800F39FFF03FFFA3201B7F9A23>I<39FFFC03FFA3390FF0
00F0000714E07F0003EB01C0A2EBFC0300011480EBFE070000140013FFEB7F0EA2149EEB
3F9C14FC6D5AA26D5AA36D5AA26D5AA25CA21307003890C7FCEA7C0FEAFE0E131E131C5B
EA74F0EA3FE0EA0F8020277F9A23>I E /Fq 90 127 df<127012F8B012701200A51270
12F8A31270051C779B18>33 D<EA4010EAE038EAF078EAE038AAEA60300D0E7B9C18>I<
EA0306EA078FA6387FFFC0B512E0A26C13C0380F1E00A6387FFFC0B512E0A26C13C0381E
3C00A6EA0C18131C7E9B18>I<13C01201A3EA03F0EA0FFCEA3FFEEA7DCFEA71C738E1C3
8013C7A338F1C0001279123F6C7EEA0FF8EA01FC13DE13CF13C73861C38012F1A212E1EB
C7001271EA79DEEA3FFEEA1FF8EA07E0EA01C0A3120011247D9F18>I<EA3803387C0780
A2EAEE0F1400A25B131EA2133EEA7C3CA2EA387CEA0078A213F85B12015BA212035BA212
07EB8380EB87C0120FEB0EE0A2121F121EA2123E383C07C0A23818038013247E9F18>I<
EA01C0EA07E0487EEA0E70487EA4EB73F813F313E3380FC1C0EBC38013831303381F0700
EA3F87EA7B8EEA71CEEAE1FC12E0137CEB7870A2EA70FE387FFFE0EA3FC7380F03C0151C
7F9B18>I<1238127CA2127E123E120EA3121CA2123812F812F012C0070E789B18>I<1370
13F0EA01E0EA03C0EA0780EA0F00121E121C5AA25AA45AA81270A47EA27E121E7EEA0780
EA03C0EA01F0120013700C24799F18>I<126012F012787E7E7EEA07801203EA01C0A2EA
00E0A41370A813E0A4EA01C0A2EA03801207EA0F00121E5A5A5A12600C247C9F18>I<EA
01C0A4EA41C138F1C780EAFDDF387FFF00EA1FFCEA07F0A2EA1FFCEA7FFF38FDDF80EAF1
C73841C100EA01C0A411147D9718>I<136013F0A7387FFFC0B512E0A26C13C03800F000
A7136013147E9718>I<121C123E127E127F123F121F1207120E121E127C12F81260080C
788518>I<387FFFC0B512E0A26C13C013047E8F18>I<1230127812FCA212781230060677
8518>I<1303EB0780A2130F14005B131EA2133E133C137C1378A213F85B12015B12035B
A212075B120F90C7FCA25A121E123E123CA2127C127812F85AA2126011247D9F18>I<EA
01F0EA07FC487EEA1F1FEA1C0738380380007813C0EA7001A238E000E0A9EAF001007013
C0A2EA780300381380381C0700EA1F1FEA0FFE6C5AEA01F0131C7E9B18>I<EA01801203
A21207120F123F12FF12FB12431203B0EA7FFCEAFFFEEA7FFC0F1C7B9B18>I<EA03F0EA
0FFEEA3FFF387C0F80387003C0EAE00138F000E0A21260C7FCA2EB01C0A21303EB0780EB
0F00131E5B5B5B485AEA07C0485A381E00E05AEA7FFFB5FC7E131C7E9B18>I<131F5B13
77A213E7120113C7EA038712071307120E121E123C1238127812F0B512F8A338000700A6
EB7FF0A3151C7F9B18>52 D<383FFF80A30038C7FCA8EA3BF8EA3FFE7F383C0780383003
C0EA0001EB00E0A2126012F0A238E001C0EA7003387C0F80383FFF00EA1FFCEA03F0131C
7E9B18>I<137E48B4FC00071380380F83C0EA1E03121C3838018090C7FC5AA2EAE1F8EA
E7FEB5FC38FE078038F803C0EAF001EB00E05A7E1270A3383801C0EA3C03381E0780380F
FF006C5AEA01F8131C7E9B18>I<12E0B512E0A214C038E00380EB0700C65A131E131C5B
A25B13F05BA2485AA3485AA448C7FCA7131D7E9C18>I<EA03F8EA0FFE487E383E0F80EA
3803387001C0A438380380EA3C07381FFF00EA07FC487EEA1F1F383C0780387001C000F0
13E0EAE000A4387001C0EA7803383E0F80381FFF006C5AEA03F8131C7E9B18>I<123012
7812FCA2127812301200A81230127812FCA2127812300614779318>58
D<1218123C127EA2123C12181200A81218123C127EA2123E121E120E121C123C127812F0
1260071A789318>I<14C0EB03E01307EB1FC0EB3F80EBFE00485AEA07F0485AEA3F8048
C7FC12FCA2127F6C7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E01303EB00C013187E
9918>I<387FFFC0B512E0A3C8FCA4B512E0A36C13C0130C7E9318>I<126012F87E127F6C
7EEA0FE06C7EEA01FC6C7EEB3F80EB1FC0EB07E0A2EB1FC0EB3F80EBFE00485AEA07F048
5AEA3F8048C7FC12FC5A126013187E9918>I<EA0FF0EA3FFC48B4FCEA700F38F00380A2
EA600738000F00133E5BEA01F05B485AA55BC8FCA5EA0380487EA36C5A111C7D9B18>I<
137CEA01FEEA07FF380F8780381E03C0EA3C1DEA387F3870FFE0EA71E313C112E1EAE380
A638E1C1C0127113E33870FF8038387F00EA3C1C381E00E0EA0F833807FFC00001138038
007E00131C7E9B18>I<137013F8A213D8A2EA01DCA3138CEA038EA4EA0707A5380FFF80
A3EA0E03381C01C0A3387F07F000FF13F8007F13F0151C7F9B18>I<EA7FFCB5FC6C1380
381C03C01301EB00E0A4130114C01307381FFF80140014C0EA1C03EB00E014F01470A414
F014E01303387FFFC0B51280387FFE00141C7F9B18>I<EBF8E0EA03FEEA07FFEA0F07EA
1E03EA3C01EA38005AA214005AA8127014E0A27E123C381E01C0EA0F073807FF803803FE
00EA00F8131C7E9B18>I<EA7FF8EAFFFE6C7E381C0F80EB03C0A2EB01E01300A214F014
70A814F014E0A2130114C01303EB0F80387FFF00485AEA7FF8141C7F9B18>I<B512F0A3
381C0070A41400A2130EA3EA1FFEA3EA1C0EA390C7FCA21438A5B512F8A3151C7F9B18>
I<B512F8A3381C0038A41400A21307A3EA1FFFA3EA1C07A390C7FCA7EAFFC0A3151C7F9B
18>I<3801F1C0EA03FDEA0FFFEA1F0FEA1C03123813011270A290C7FC5AA5EB0FF0131F
130F387001C0A213031238A2EA1C07EA1F0FEA0FFFEA03FDEA01F1141C7E9B18>I<387F
07F038FF8FF8387F07F0381C01C0A9EA1FFFA3EA1C01AA387F07F038FF8FF8387F07F015
1C7F9B18>I<EA7FFFB512806C1300EA01C0B3A4EA7FFFB512806C1300111C7D9B18>I<38
01FFC0A338000E00B312F0A2133CEA7FFCEA3FF0EA0FC0121C7D9B18>I<387F07F038FF
87F8387F07F0381C03C0EB07801400130E131E5B13385B13F0121DA2EA1FB8A2131C121E
EA1C0EA27FA2EB0380A2EB01C0387F03F038FF87F8387F03F0151C7F9B18>I<EAFFC0A3
001CC7FCB114E0A5B5FCA3131C7E9B18>I<38FC01F8EAFE03A2383B06E0A4138EA2EA39
8CA213DCA3EA38D8A213F81370A21300A638FE03F8A3151C7F9B18>I<387E07F038FF0F
F8387F07F0381D81C0A313C1121CA213E1A313611371A213311339A31319A2131D130DA3
EA7F07EAFF87EA7F03151C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0
EAE000B0EAF001007013C0EA7C07EA7FFF6C1380380FFE00131C7E9B18>I<EAFFFEEBFF
8014C0EA1C03EB01E013001470A514E01301EB03C0EA1FFF1480EBFE00001CC7FCA8B47E
A3141C7F9B18>I<EA0FFE383FFF804813C0EA7803EA700100F013E0EAE000AE1370A2EA
F079387039C0EA783FEA7FFF6C1380380FFE00EA000FEB0780A2EB03C01301A213227E9B
18>I<EA7FF8EAFFFE6C7E381C0F80130314C01301A313031480130F381FFF005BA2EA1C
0F7FEB0380A5149CA3387F01F8EAFF81387F00F0161C7F9B18>I<3803F1C0EA1FFF5AEA
7C0FEA7003EAE001A390C7FC12701278123FEA1FF0EA07FEC67EEB0F80EB03C01301EB00
E0A2126012E0130100F013C038F80780B5FCEBFE00EAE7F8131C7E9B18>I<387FFFF8B5
FCA238E07038A400001300B2EA07FFA3151C7F9B18>I<38FF83FEA3381C0070B36C13E0
EA0F01380783C03803FF806C1300EA007C171C809B18>I<38FE03F8EAFF07EAFE03383C
01E0001C13C0A3EA1E03000E1380A438070700A4EA038EA4EA018C13DCA3EA00D813F8A2
1370151C7F9B18>I<38FE03F8A338700070A36C13E0A513F8EA39FC13DCA2001913C0A3
138CA2EA1D8DA31305000D1380EA0F07A2EA0E03151C7F9B18>I<387F0FE0139F130F38
0E0700120FEA070E138EEA039C13DCEA01F8A212005B137013F07F487E13DCEA039E138E
EA070F7F000E13801303001E13C0387F07F000FF13F8007F13F0151C7F9B18>I<38FE03
F8EAFF07EAFE03381C01C0EA1E03000E1380EA0F0700071300A2EA038EA2EA01DCA3EA00
F8A21370A9EA01FC487E6C5A151C7F9B18>I<EAFFF8A3EAE000B3ACEAFFF8A30D24779F
18>91 D<126012F0A27E1278127C123CA2123E121E121F7EA27F12077F1203A27F12017F
12007F1378A2137C133C133E131EA2131F7F14801307A2EB030011247D9F18>I<EAFFF8
A3EA0038B3ACEAFFF8A30D247F9F18>I<387FFFC0B512E0A26C13C013047E7F18>95
D<1206121E123E12381270A212E0A312F812FC127CA21238070E789E18>I<EA0FF0EA1F
FC487EEA3C0FEA180738000380A213FF1207121FEA7F03127812E0A3EAF007EA780F383F
FFF8EA1FFDEA07F015147E9318>I<127E12FE127E120EA5133EEBFF80000F13C0EBC1E0
1380EB0070120E1438A6000F1370A2EB80E013C1EBFFC0000E138038063E00151C809B18
>I<EA01FEEA07FF001F1380EA3E073838030048C7FCA25AA61270EB01C01238EA3E0338
1FFF8000071300EA01FC12147D9318>I<EB1F80133F131F1303A5EA03E3EA0FFBEA1FFF
EA3C1FEA380FEA7007130312E0A6EA7007A2EA380FEA3C1F381FFFF0380FFBF83803E3F0
151C7E9B18>I<EA01F0EA07FCEA1FFEEA3E0F38380780EA7003A238E001C0A2B5FCA300
E0C7FC1270EB01C01238EA3E07381FFF8000071300EA01F812147D9318>I<EB1F80EB7F
C0EBFFE013E13801C0C01400A3387FFFC0B5FCA23801C000AEEA7FFFA3131C7F9B18>I<
3801E1F03807FFF85A381E1E30381C0E00487EA5EA1C0EEA1E1EEA1FFC5BEA39E00038C7
FC7EEA1FFEEBFFC04813E0387801F038700070481338A4007813F0EA7E03381FFFC06C13
803801FC00151F7F9318>I<127E12FE127E120EA5133EEBFF80000F13C013C1EB80E013
00120EAB387FC7FC38FFE7FE387FC7FC171C809B18>I<EA0380EA07C0A3EA0380C7FCA4
EA7FC012FF127F1201AEB5FCA3101D7C9C18>I<1338137CA313381300A4EA0FFCA3EA00
1CB3A4EA6038EAF078EAFFF0EA7FE0EA3F800E277E9C18>I<127E12FE127E120EA5EB3F
F0A3EB0780EB0F00131E5B5B5BEA0FF87F139C130EEA0E0F7FEB038014C0387FC7F812FF
127F151C7F9B18>I<EAFFC0A31201B3A4B51280A3111C7D9B18>I<38F9C1C038FFF7F013
FF383E3E38EA3C3CA2EA3838AB38FE3E3EEB7E7EEB3E3E1714809318>I<EA7E3E38FEFF
80007F13C0EA0FC1EB80E01300120EAB387FC7FC38FFE7FE387FC7FC1714809318>I<EA
01F0EA0FFE487E383E0F80EA3803387001C0A238E000E0A5EAF001007013C0EA7803383C
0780EA3E0F381FFF006C5AEA01F013147E9318>I<EA7E3E38FEFF80007F13C0380FC1E0
1380EB0070120E1438A6000F1370A2EB80E013C1EBFFC0000E1380EB3E0090C7FCA7EA7F
C0487E6C5A151E809318>I<3801F380EA07FBEA1FFFEA3E1FEA380FEA7007A2EAE003A6
EA7007A2EA380FEA3C1FEA1FFFEA0FFBEA03E3EA0003A7EB1FF0EB3FF8EB1FF0151E7E93
18>I<38FF0FC0EB3FE0EB7FF0EA07F0EBE060EBC0005BA290C7FCA9EAFFFC7F5B14147E
9318>I<EA07F7EA3FFF5AEA780FEAE007A3007CC7FCEA7FE0EA1FFCEA03FEEA001F3860
0780EAE003A212F038F80F00B5FC13FCEAE7F011147D9318>I<487E1203A4387FFFC0B5
FCA238038000A9144014E0A33801C1C013FF6C1380EB3E0013197F9818>I<387E07E0EA
FE0FEA7E07EA0E00AC1301EA0F033807FFFC6C13FE3801FCFC1714809318>I<387F8FF0
00FF13F8007F13F0381C01C0380E0380A338070700A3138FEA038EA3EA01DCA3EA00F8A2
137015147F9318>I<38FF07F8138F1307383800E0A4381C01C0137113F9A213D9EA1DDD
000D1380A3138DEA0F8FA23807070015147F9318>I<387F8FF0139F138F380F0700EA07
8EEA039EEA01DC13F81200137013F07FEA01DCEA039E138EEA0707000E1380387F8FF000
FF13F8007F13F015147F9318>I<387F8FF000FF13F8007F13F0380E01C0EB0380A21207
EB0700A2EA0387A2138EEA01CEA213CC120013DC1378A31370A313F05B1279EA7BC0EA7F
806CC7FC121E151E7F9318>I<383FFFF05AA2387001E0EB03C0EB078038000F00131E5B
13F8485AEA03C0485A380F0070121E5A5AB512F0A314147F9318>I<EB07E0131F137FEB
780013E0AB1201EA7FC0485AA26C7EEA01E01200AB1378EB7FE0131F130713247E9F18>
I<126012F0B3B012600424769F18>I<127CB4FC13C01203C67EAB7FEB7FC0EB3FE0A2EB
7FC0EBF0005BABEA03C012FF90C7FC127C13247E9F18>I<EA060CEA1F1EEA3FBEEAFBF8
EAF1F0EA60C00F067C9B18>I E /Fr 78 123 df<90381F83E09038F06E303901C07878
380380F8903800F03048EB7000A7B612803907007000B2383FE3FF1D20809F1B>11
D<133FEBE0C0EA01C0380381E0EA0701A290C7FCA6B512E0EA0700B2383FC3FC1620809F
19>I<EB3FE013E0EA01C1EA0381EA0700A8B5FCEA0700B2383FE7FC1620809F19>I<9038
1F81F89038F04F043901C07C06390380F80FEB00F05A0270C7FCA6B7FC3907007007B23A
3FE3FE3FE02320809F26>I<EA7038EAF87CEAFC7EA2EA743AEA0402A3EA0804A2EA1008
A2EA2010EA40200F0E7F9F17>34 D<1340A2EA03F0EA0C4EEA1041382040801260004013
4038C041C01343A238E04180EB40001270127CEA3FC0EA1FF86C7EEA03FEEA007FEB4F80
1343EB41C0A2EAF040A312801480EA404100201300EA3042EA0C4CEA03F0EA0040A31225
7EA117>36 D<127012F812FCA212741204A31208A21210A212201240060E7C9F0D>39
D<13401380EA01005A12061204120C5AA212381230A212701260A412E0AC1260A4127012
30A212381218A27E120412067E7EEA008013400A2E7BA112>I<7E12407E12307E120812
0C7EA212077EA213801201A413C0AC1380A412031300A25A1206A25A120812185A12205A
5A0A2E7EA112>I<127012F012F8A212781208A31210A31220A21240050E7C840D>44
D<EAFFF0A20C02808A0F>I<127012F8A3127005057C840D>I<144014C0EB0180A3EB0300
A31306A25BA35BA35BA25BA35BA3485AA348C7FCA21206A35AA35AA25AA35AA35AA2122D
7EA117>I<EA03F0EA0E1C487EEA1806EA380738700380A400F013C0AD00701380A3EA78
0700381300EA1806EA1C0E6C5AEA03F0121F7E9D17>I<13801203120F12F31203B3A6EA
07C0EAFFFE0F1E7C9D17>I<EA03F0EA0C1CEA100E487E00401380128000F013C0EAF803
A3EA200712001480A2EB0F00130E5B5B5B13605B485A48C7FC000613405A5A00101380EA
3FFF5AB5FC121E7E9D17>I<EA03F0EA0C1CEA100EEA200F007813801307A2EA380F1200
1400A2131E131C1370EA07F0EA003C130E130FEB0780A214C0122012F8A300F013801240
EB0F00EA200EEA183CEA07F0121F7E9D17>I<1306A2130EA2131E132EA2134E138EA2EA
010E1202A212041208A212101220A2124012C0B512F038000E00A7EBFFE0141E7F9D17>
I<EA1803EA1FFE5B5B13E00010C7FCA6EA11F0EA161CEA180EEA10071480EA0003A214C0
A3127012F0A200E013801240EB0700EA20066C5AEA0838EA07E0121F7E9D17>I<137CEA
0182EA0701380E0380EA0C0712183838030090C7FC12781270A2EAF1F0EAF21CEAF406EA
F807EB0380A200F013C0A51270A214801238EB07001218EA0C0E6C5AEA01F0121F7E9D17
>I<1240387FFFE014C0A23840008038800100A21302485AA25B5BA25BA21360A213E05B
1201A41203A76C5A131F7E9D17>I<EA03F0EA0C0CEA1006EA3003382001801260A31270
38780300123EEA3F06EA1FC8EA0FF0EA03F8487EEA0C7EEA103F38300F80EA6007EB01C0
12C01300A31480EA600100201300EA1002EA0C0CEA03F0121F7E9D17>I<EA03F0EA0E18
487E487E13071270EB038012F0A214C0A5EA7007A21238EA180BEA0E13EA03E338000380
A3EB07001230EA7806130EEA700CEA2018EA1070EA0FC0121F7E9D17>I<127012F8A312
701200AA127012F8A3127005147C930D>I<127012F8A312701200AA127012F012F8A212
781208A31210A31220A21240051D7C930D>I<5B497EA3497EA3EB09E0A3EB10F0A3EB20
78A3497EA2EBC03EEB801EA248B5FCEB000FA20002EB0780A348EB03C0A2120C001E14E0
39FF801FFE1F207F9F22>65 D<B512E0380F0078141EA2801580A515005C141E147CEBFF
F0EB007C141FEC0F80EC07C0140315E0A515C014071580EC0F00143EB512F01B1F7E9E20
>I<90380FE0109038381C309038E002703803C00139078000F048C71270121E15305A15
10127C127800F81400A91278007C1410123CA26C1420A27E6C6C13406C6C13803900E003
00EB380CEB0FF01C217E9F21>I<B512F83807801EEC0780EC03C0EC01E0EC00F0157015
78A2153CA3153EA8153CA2157C1578A215F0EC01E0EC03C0EC0780EC1E00B512F81F1F7F
9E23>I<B61280380F000F14031401140015C01540A314401500A214C0130113FF130113
001440A3EC0020A31540A315C01401EC0380140FB6FC1B1F7E9E1F>I<B6128038078007
1401A2140015C01540A4EC2000A3146014E013FF138014601420A391C7FCA87FEAFFFE1A
1F7F9E1E>I<90380FE0109038381C309038E002703803C00139078000F048C71270121E
15305A1510127C127800F81400A7EC3FFEEC01F000781300127C123CA27EA27E6C7E3903
C001703900E002309038380C1090380FF0001F217E9F24>I<39FFF07FF8390F000780AD
90B5FCEB0007AF39FFF07FF81D1F7E9E22>I<EAFFF0EA0F00B3ABEAFFF00C1F7E9E10>I<
3807FFC038003E00131EB3A3122012F8A3EAF01CEA403CEA6038EA1070EA0FC012207F9E
17>I<39FFF007FC390F0003E0EC0180150014025C5C5C5C5C5C49C7FC5B497E130FEB13
C0EB21E01341EB80F0EB0078A28080A280EC0780A2EC03C015E015F039FFF01FFE1F1F7E
9E23>I<EAFFF8EA0F8090C7FCB21402A414061404A2140C141C147CB512FC171F7E9E1C>
I<B46CEB07FE000715C0A2D805C0130BA2D804E01313A301701323A26D1343A36D1383A2
90380E0103A3EB0702A3EB0384A2EB01C8A3EB00F0A21460121FD8FFE0EB7FFE271F7F9E
2A>I<B4EB0FF8390F8003E0EC0080EA0BC0EA09E0A2EA08F01378A27F7FA27FEB0780A2
EB03C0EB01E0A2EB00F01478A2143C141EA2140F1407A214031401123E38FF80001D1F7E
9E22>I<EB1FE0EB70383801C00E48487E39070003804814C0001EEB01E048EB00F0A200
7C14F8A20078147800F8147CA900781478007C14F8A2003C14F0003E1301001E14E06CEB
03C06C148039038007003801E01E38007038EB1FE01E217E9F23>I<B512E0380F007C14
1E80EC0780A215C0A41580A2EC0F00141E147CEBFFE090C8FCAEEAFFF01A1F7E9E1F>I<
B57E380F00F0143C8080A21580A41500A2141E5C14F0EBFF80EB01C0EB0070A280143CA3
143EA31504143F141FEC0F0839FFF00788C7EA01F01E207E9E21>82
D<3803F040380C0CC0EA1803EA3001EA6000A212E01440A36C13007E127CEA7F80EA3FF8
6CB4FC00071380C613C0EB1FE013031301EB00F014707EA46C136014E06C13C038F80180
38C60300EA81FC14217E9F19>I<007FB512E038780F010060EB006000401420A200C014
3000801410A400001400B3497E3803FFFC1C1F7E9E21>I<39FFF00FF8390F0003E0EC00
80B3A46CEB01001380120314026C6C5A6C6C5AEB3830EB0FC01D207E9E22>I<39FFF003
FE391F8000F86CC7126015206C6C1340A36C6C1380A2EBE00100011400A23800F002A213
F8EB7804A26D5AA36D5AA2131F6D5AA2EB07C0A36D5AA36DC7FC1F207F9E22>I<3BFFF0
7FF81FF03B1F000FC007C06C903907800180170015C001805C00071502EC09E013C00003
5DEC19F01410D801E05CA2EC2078D800F05CA2EC403C01785CA2EC801E017C1460013C14
4090383D000F133F6D5CA2011E1307010E91C7FCA2010C7F010413022C207F9E2F>I<39
FFF001FF391F800078000F146012076D1340000314807F3901F001001200EBF802EB7C06
EB3C04EB3E08131EEB1F10EB0FB0EB07A014E06D5AACEB3FFC201F7F9E22>89
D<12FFA212C0B3B3A512FFA2082D7CA10D>91 D<EA0804EA1008EA2010A2EA4020A2EA80
40A3EAB85CEAFC7EA2EA7C3EEA381C0F0E7A9F17>I<12FFA21203B3B3A512FFA2082D80
A10D>I<120812101220A21240A21280A312B812FCA2127C1238060E7D9F0D>96
D<EA1FE0EA3030EA7818131CEA300E1200A313FEEA078EEA1E0E1238127800F01310A313
1E127838386720380F83C014147E9317>I<121C12FC121CAA137CEA1D87381E0180EB00
C0001C13E01470A21478A6147014F014E0001E13C0381A018038198700EA107C15207E9F
19>I<EA01FCEA0706EA1C0F123813060078C7FC127012F0A61270127800381380A2381C
0100EA0706EA01F811147F9314>I<EB01C0130F1301AAEA01F1EA070DEA0C03EA180112
381278127012F0A61270A21238EA1803120CEA070D3801F1F815207F9F19>I<EA03F0EA
0E1C487E487EA21270EB038012F0A2B5FC00F0C7FCA31270A26C1380A2381C0100EA0706
EA01F811147F9314>I<137CEA01C6EA030F1207EA0E061300A7EAFFF0EA0E00B2EA7FE0
1020809F0E>I<14E03803E330EA0E3CEA1C1C38380E00EA780FA5EA380E6C5AEA1E38EA
33E00020C7FCA21230A2EA3FFE381FFF8014C0383001E038600070481330A4006013606C
13C0381C03803803FC00141F7F9417>I<121C12FC121CAA137C1386EA1D03001E1380A2
121CAE38FF8FF014207E9F19>I<1238127CA31238C7FCA6121C12FC121CB1EAFF80091F
7F9E0C>I<13E0EA01F0A3EA00E01300A61370EA07F012001370B3A31260EAF06013C0EA
6180EA3F000C28829E0E>I<121C12FC121CAAEB1FE0EB0780EB060013045B5B5B136013
E0EA1DF0EA1E70EA1C38133C131C7F130F7F148014C038FF9FF014207E9F18>I<121C12
FC121CB3ABEAFF8009207F9F0C>I<391C3E03E039FCC30C30391D039038391E01E01CA2
001C13C0AE3AFF8FF8FF8021147E9326>I<EA1C7CEAFC86EA1D03001E1380A2121CAE38
FF8FF014147E9319>I<EA01F8EA070E381C0380383801C0A2387000E0A200F013F0A600
7013E0A2383801C0A2381C038038070E00EA01F814147F9317>I<EA1C7CEAFD87381E01
8014C0381C00E014F014701478A6147014F014E0381E01C0EB0380381D8700EA1C7C90C7
FCA8B47E151D7E9319>I<3801F04038070CC0EA0E02EA1C03EA38011278127012F0A612
7012781238EA1C03EA0C05EA0709EA01F1EA0001A8EB0FF8151D7F9318>I<EA1CF0EAFD
18EA1E3CA21318EA1C00AEEAFFC00E147E9312>I<EA0FC8EA3038EA6018EAC008A3EAE0
00127CEA3FE0EA1FF0EA07F8EA003CEA800E130612C0A21304EAE00CEAD818EA87E00F14
7F9312>I<1202A31206A2120EA2123EEAFFF8EA0E00AB1304A5EA07081203EA01F00E1C
7F9B12>I<381C0380EAFC1FEA1C03AE1307120CEA061B3803E3F014147E9319>I<38FF83
F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00E8A21370
A3132015147F9318>I<39FF9FE1FC393C078070391C030060EC8020000E1440A214C0D8
0704138014E0A239038861001471A23801D032143A143E3800E01CA2EB6018EB40081E14
7F9321>I<38FF87F8381E03C0380E0180EB0300EA0702EA0384EA01C813D8EA00F01370
137813F8139CEA010E1202EA060738040380000C13C0003C13E038FE07FC16147F9318>
I<38FF83F8383E00E0001C13C06C1380A338070100A21383EA0382A2EA01C4A213E4EA00
E8A21370A31320A25BA3EAF080A200F1C7FC1262123C151D7F9318>I<EA7FFFEA700E12
60EA401C133813781370EA00E0120113C0EA038012071301120E121EEA1C03EA3802EA70
06130EEAFFFE10147F9314>I E /Fs 14 122 df<DB1FFC14C00203B5EAC001021FECF0
03027FECFC07903B01FFFC00FE0F010701C0EB1F9F4948C7EA07FFD93FF8804948140049
48157F485B4A153F4890C9121F485A000F170F5B001F1707A2485A1803A2127FA24993C8
FCA212FFAA041FB61280127FA27FDC0001EBC000123FA36C7EA26C7EA26C7E7E6C7F806C
7F6D6C5CEB3FFCD90FFF5C6D01C0EB1FBF010101FCEBFF1F6D6CB5EAFE0F021FECF80302
03ECE0009126001FFEC9FC413D7BBB4C>71 D<B612FEA426007FF0C9FCB3ADEF03C0A517
071880A3170FA3171FA2173F177F17FF5E04071300163FB9FCA4323B7DBA3A>76
D<B500F00207B512E0808080D8007F92390007E0006E6F5A81017B7F81137901787F6E7E
6E7E81141F6E7E6E7F6E7F82806E7F6F7E6F7E826F7E816F13806F13C017E06F13F081EE
7FF8EE3FFC17FEEE1FFF827013837013C318E37013F382EF7FFBEF3FFFA283838383A283
83187F183FA201FC161FB500FC150F18071803A2433B7CBA4C>78
D<B712F8EEFFC017F817FE3B007FF0001FFF040313C004007F717E717EA284171FA284A6
60A2173F604D5A604C485A4C5BDC1FFEC8FC91B612F817C0A29139F0007FF0EE1FF8707E
707E707E8482A284A584A5F101E0A27013F0A2F103C0EF7FF8B600F890393FFC07809438
1FFE0F0507B51200050113FCCBEA1FF0433C7CBA48>82 D<B600F80107B512E0A426007F
F0C83807E000725AB3B3A3013F4C5AA280011F4CC7FCA26D6C151E0107163E6E5D6D6C5D
6D6D13019026007FE0EB0FE0DA3FFCEB7FC0020FB65A02034AC8FCDA007F13F003071380
433C7DBA4A>85 D<EB3FFE48B512E0000714F8390FE007FC9038F001FE486C6C7E6F7E82
153F6C48806C5A6C5AC8FCA491B5FC131F90387FF83F3803FF803807FC00EA0FF0485A12
3F485AA2485AA4157F6C7E15DF3A3FE0039FF03B1FF80F0FFFE03807FFFE0001497E3900
3FE0002B267DA52F>97 D<13FE12FFA412071203B04AB4FC021F13F0027F13FC9138FC03
FE9039FFF000FF02C0EB3F8091C7EA1FC04915E0EE0FF017F8A2EE07FCA317FEA917FCA3
160F17F817F0161F6D15E06EEB3FC06EEB7F80D9F9E0EBFF009039F0FC07FE91387FFFF8
D9E01F13E09026C003FEC7FC2F3C7DBB36>I<EE3F80ED3FFFA4150181B0ECFF80010F13
F0013F13FC9038FFC03F3901FE000F4848130348487F48487F121F485AA2127F5BA312FF
A9127FA36C7EA2121F6C6C5B6C6C5B00035CD801FE011F13C02700FF807E13FE90387FFF
F8010F13E0010113002F3C7DBB36>100 D<49B47E010F13F0017F13FC9038FF81FE3A03
FE007F80D807F8133F4848EB1FC0ED0FE0485A003F15F01507485A16F8A212FFA290B6FC
A301C0C8FCA4127FA36C7E1678121F7F000F15F06C6C13016C6CEB03E06C6CEB0FC03A00
FFC07F8090393FFFFE00010F13F8010013C025267DA52C>I<EA01E0EA07F8487EA2487E
A46C5AA26C5AEA01E0C8FCAB13FE127FA412071203B3AAB512F0A4143D7DBC1A>105
D<13FE12FFA412071203B3B3AEB512F8A4153C7DBB1A>108 D<D801FCEBFF8000FF0103
13F0020F7F91381E03FC91383801FE000701607F0003497E01FD15805C01FFC7FCA35BB3
A4B5D8F83F13FEA42F267CA536>110 D<3901FC03F000FFEB0FFC4AB4FC91383C3F80EC
707F00079038E0FFC000035BEBFD80A201FFEB7F809138003F00151E92C7FC5BB3A3B512
FCA422267DA528>114 D<B500F0EBFFFCA4D803FEC7EA1F806D15006C151E806C5DA26E
137C017F14786E13F8013F5CECF001011F5CECF803010F5CA2ECFC0701075CECFE0F0103
91C7FC6E5A6D131E15BE6D13BC15FC6E5AA36E5AA26E5AA26E5AA26E5AA2140F92C8FC5C
141E0008133E007F133C147C38FF807814F8EB81F0EB83E06C485A387C1F80D83FFFC9FC
EA1FFCEA07F02E377EA533>121 D E end
TeXDict begin

1 0 bop 0 693 a Fs(GNU)33 b(Readline)h(Library)p 0 743
1950 17 v 1011 791 a Fr(Edition)17 b(2.1,)c(for)i Fq(Readline)f
(Library)g Fr(V)l(ersion)i(2.1.)1718 845 y(Marc)o(h)e(1996)0
2467 y Fp(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)0 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 0 2570 1950 9 v eop
2 1 bop 0 320 a Fr(This)15 b(do)q(cumen)o(t)f(describ)q(es)i(the)e(GNU)
g(Readline)j(Library)l(,)d(a)g(utilit)o(y)h(whic)o(h)g(aids)g(in)g(the)
f(consistency)h(of)f(user)0 382 y(in)o(terface)h(across)g(discrete)h
(programs)e(that)g(need)j(to)d(pro)o(vide)i(a)f(command)g(line)i(in)o
(terface.)0 519 y(Published)g(b)o(y)f(the)f(F)l(ree)g(Soft)o(w)o(are)f
(F)l(oundation)0 582 y(675)g(Massac)o(h)o(usetts)g(Av)o(en)o(ue,)0
644 y(Cam)o(bridge,)h(MA)g(02139)f(USA)0 781 y(P)o(ermission)f(is)g
(gran)o(ted)f(to)f(mak)o(e)h(and)h(distribute)h(v)o(erbatim)e(copies)h
(of)f(this)h(man)o(ual)g(pro)o(vided)g(the)f(cop)o(yrigh)o(t)0
843 y(notice)k(and)f(this)h(p)q(ermission)h(notice)e(are)g(preserv)o
(ed)h(on)f(all)h(copies.)0 980 y(P)o(ermission)f(is)f(gran)o(ted)f(to)h
(cop)o(y)g(and)g(distribute)h(mo)q(di\014ed)h(v)o(ersions)e(of)f(this)i
(man)o(ual)f(under)h(the)f(conditions)0 1043 y(for)e(v)o(erbatim)g(cop)
o(ying,)h(pro)o(vided)h(that)d(the)i(en)o(tire)g(resulting)h(deriv)o
(ed)f(w)o(ork)f(is)h(distributed)h(under)f(the)g(terms)0
1105 y(of)i(a)g(p)q(ermission)h(notice)g(iden)o(tical)h(to)e(this)g
(one.)0 1242 y(P)o(ermission)20 b(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)f(in)o(to)h
(another)f(language,)0 1304 y(under)c(the)f(ab)q(o)o(v)o(e)g
(conditions)h(for)e(mo)q(di\014ed)j(v)o(ersions,)e(except)g(that)g
(this)g(p)q(ermission)i(notice)e(ma)o(y)g(b)q(e)h(stated)0
1366 y(in)h(a)f(translation)g(appro)o(v)o(ed)g(b)o(y)g(the)g(F)l
(oundation.)0 2661 y(Cop)o(yrigh)o(t)226 2660 y(c)214
2661 y Fo(\015)g Fr(1989,)f(1991)g(F)l(ree)h(Soft)o(w)o(are)f(F)l
(oundation,)h(Inc.)p eop
1 2 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1227
b(1)0 183 y Fn(1)41 b(Command)16 b(Line)f(Editing)62
408 y Fr(This)h(c)o(hapter)f(describ)q(es)i(the)e(basic)h(features)f
(of)g(the)g Fm(GNU)g Fr(command)g(line)i(editing)f(in)o(terface.)0
701 y Fp(1.1)33 b(In)n(tro)r(duction)17 b(to)e(Line)h(Editing)62
845 y Fr(The)g(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.)62
990 y(The)k(text)e Fq(C-K)h Fr(is)h(read)f(as)f(`Con)o(trol-K')h(and)g
(describ)q(es)i(the)e(c)o(haracter)f(pro)q(duced)j(when)e(the)g
Fq(K)g Fr(k)o(ey)g(is)0 1052 y(pressed)d(while)g(the)g(Con)o(trol)e(k)o
(ey)h(is)h(depressed.)62 1197 y(The)h(text)f Fq(M-K)g
Fr(is)i(read)e(as)g(`Meta-K')g(and)h(describ)q(es)h(the)f(c)o(haracter)
f(pro)q(duced)h(when)h(the)e(meta)g(k)o(ey)h(\(if)0 1259
y(y)o(ou)f(ha)o(v)o(e)f(one\))h(is)g(depressed,)h(and)f(the)g
Fq(K)f Fr(k)o(ey)h(is)h(pressed.)22 b(If)16 b(y)o(ou)g(do)g(not)f(ha)o
(v)o(e)g(a)h(meta)f(k)o(ey)l(,)h(the)g(iden)o(tical)0
1321 y(k)o(eystrok)o(e)j(can)g(b)q(e)i(generated)e(b)o(y)h(t)o(yping)f
Fq(ESC)h Fl(\014rst)p Fr(,)g(and)f(then)h(t)o(yping)g
Fq(K)p Fr(.)33 b(Either)20 b(pro)q(cess)g(is)g(kno)o(wn)f(as)0
1383 y Fl(metafying)g Fr(the)c Fq(K)g Fr(k)o(ey)l(.)62
1528 y(The)h(text)e Fq(M-C-K)g Fr(is)i(read)f(as)f(`Meta-Con)o(trol-k')
g(and)h(describ)q(es)h(the)g(c)o(haracter)e(pro)q(duced)i(b)o(y)f
Fl(metafying)0 1590 y Fq(C-K)p Fr(.)62 1735 y(In)i(addition,)h(sev)o
(eral)e(k)o(eys)g(ha)o(v)o(e)g(their)h(o)o(wn)f(names.)23
b(Sp)q(eci\014cally)m(,)c Fq(DEL)p Fr(,)d Fq(ESC)p Fr(,)f
Fq(LFD)p Fr(,)h Fq(SPC)p Fr(,)g Fq(RET)p Fr(,)g(and)g
Fq(TAB)0 1797 y Fr(all)e(stand)f(for)f(themselv)o(es)i(when)f(seen)h
(in)g(this)f(text,)g(or)g(in)g(an)g(init)i(\014le)f(\(see)f(Section)h
(1.3)e([Readline)j(Init)f(File],)0 1859 y(page)h(5\).)0
2152 y Fp(1.2)33 b(Readline)16 b(In)n(teraction)62 2296
y Fr(Often)g(during)h(an)f(in)o(teractiv)o(e)g(session)h(y)o(ou)e(t)o
(yp)q(e)h(in)h(a)f(long)g(line)h(of)f(text,)f(only)h(to)g(notice)g
(that)f(the)h(\014rst)0 2359 y(w)o(ord)d(on)i(the)f(line)i(is)e(missp)q
(elled.)23 b(The)14 b(Readline)i(library)f(giv)o(es)g(y)o(ou)e(a)h(set)
g(of)g(commands)g(for)f(manipulating)0 2421 y(the)18
b(text)g(as)g(y)o(ou)g(t)o(yp)q(e)g(it)h(in,)g(allo)o(wing)g(y)o(ou)f
(to)g(just)g(\014x)g(y)o(our)g(t)o(yp)q(o,)g(and)h(not)f(forcing)g(y)o
(ou)g(to)g(ret)o(yp)q(e)g(the)0 2483 y(ma)s(jorit)o(y)d(of)h(the)g
(line.)25 b(Using)17 b(these)g(editing)h(commands,)e(y)o(ou)g(mo)o(v)o
(e)f(the)i(cursor)f(to)g(the)g(place)h(that)f(needs)0
2545 y(correction,)g(and)h(delete)g(or)f(insert)g(the)h(text)e(of)h
(the)g(corrections.)23 b(Then,)17 b(when)g(y)o(ou)f(are)g(satis\014ed)g
(with)h(the)0 2608 y(line,)h(y)o(ou)e(simply)i(press)f
Fq(RETURN)p Fr(.)23 b(Y)l(ou)17 b(do)f(not)g(ha)o(v)o(e)g(to)g(b)q(e)i
(at)e(the)g(end)h(of)f(the)h(line)h(to)e(press)h Fq(RETURN)p
Fr(;)f(the)0 2670 y(en)o(tire)g(line)h(is)e(accepted)h(regardless)f(of)
g(the)g(lo)q(cation)h(of)f(the)h(cursor)e(within)j(the)e(line.)p
eop
2 3 bop 0 -58 a Fr(2)1472 b(GNU)15 b(Readline)i(Library)0
183 y Fk(1.2.1)30 b(Readline)15 b(Bare)g(Essen)n(tials)62
320 y Fr(In)f(order)f(to)f(en)o(ter)h(c)o(haracters)g(in)o(to)g(the)g
(line,)i(simply)f(t)o(yp)q(e)f(them.)19 b(The)14 b(t)o(yp)q(ed)f(c)o
(haracter)f(app)q(ears)i(where)0 382 y(the)h(cursor)h(w)o(as,)e(and)h
(then)h(the)g(cursor)f(mo)o(v)o(es)f(one)i(space)g(to)e(the)i(righ)o
(t.)k(If)c(y)o(ou)f(mist)o(yp)q(e)h(a)f(c)o(haracter,)f(y)o(ou)0
445 y(can)h(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.)62
582 y(Sometimes)f(y)o(ou)e(ma)o(y)h(miss)g(t)o(yping)g(a)g(c)o
(haracter)g(that)f(y)o(ou)h(w)o(an)o(ted)f(to)g(t)o(yp)q(e,)h(and)h
(not)e(notice)i(y)o(our)f(error)0 644 y(un)o(til)k(y)o(ou)e(ha)o(v)o(e)
g(t)o(yp)q(ed)h(sev)o(eral)g(other)f(c)o(haracters.)23
b(In)18 b(that)d(case,)i(y)o(ou)f(can)h(t)o(yp)q(e)g
Fq(C-B)f Fr(to)g(mo)o(v)o(e)g(the)g(cursor)0 706 y(to)f(the)h(left,)g
(and)g(then)g(correct)f(y)o(our)h(mistak)o(e.)21 b(Afterw)o(ards,)14
b(y)o(ou)i(can)g(mo)o(v)o(e)f(the)h(cursor)f(to)g(the)h(righ)o(t)g
(with)0 769 y Fq(C-F)p Fr(.)62 906 y(When)i(y)o(ou)f(add)g(text)g(in)h
(the)f(middle)i(of)e(a)g(line,)i(y)o(ou)e(will)i(notice)e(that)g(c)o
(haracters)f(to)h(the)g(righ)o(t)g(of)g(the)0 968 y(cursor)h(are)h
(`pushed)g(o)o(v)o(er')e(to)h(mak)o(e)g(ro)q(om)g(for)g(the)h(text)f
(that)g(y)o(ou)g(ha)o(v)o(e)h(inserted.)31 b(Lik)o(ewise,)20
b(when)f(y)o(ou)0 1030 y(delete)f(text)f(b)q(ehind)i(the)f(cursor,)f(c)
o(haracters)f(to)h(the)g(righ)o(t)g(of)g(the)h(cursor)f(are)g(`pulled)i
(bac)o(k')d(to)h(\014ll)i(in)f(the)0 1092 y(blank)g(space)f(created)g
(b)o(y)g(the)h(remo)o(v)m(al)f(of)f(the)i(text.)25 b(A)17
b(list)h(of)e(the)h(basic)h(bare)f(essen)o(tials)h(for)e(editing)j(the)
0 1155 y(text)c(of)f(an)i(input)g(line)h(follo)o(ws.)0
1303 y Fq(C-B)168 b Fr(Mo)o(v)o(e)14 b(bac)o(k)h(one)h(c)o(haracter.)0
1390 y Fq(C-F)168 b Fr(Mo)o(v)o(e)14 b(forw)o(ard)g(one)h(c)o
(haracter.)0 1476 y Fq(DEL)168 b Fr(Delete)16 b(the)f(c)o(haracter)g
(to)f(the)h(left)h(of)f(the)g(cursor.)0 1562 y Fq(C-D)168
b Fr(Delete)16 b(the)f(c)o(haracter)g(underneath)h(the)f(cursor.)0
1648 y(Prin)o(ting)h(c)o(haracters)240 1710 y(Insert)f(the)h(c)o
(haracter)e(in)o(to)h(the)h(line)h(at)d(the)h(cursor.)0
1796 y Fq(C-_)168 b Fr(Undo)15 b(the)h(last)f(thing)h(that)e(y)o(ou)h
(did.)21 b(Y)l(ou)15 b(can)h(undo)f(all)h(the)g(w)o(a)o(y)e(bac)o(k)h
(to)f(an)i(empt)o(y)e(line.)0 2001 y Fk(1.2.2)30 b(Readline)15
b(Mo)n(v)n(emen)n(t)h(Commands)62 2138 y Fr(The)c(ab)q(o)o(v)o(e)g
(table)g(describ)q(es)i(the)e(most)f(basic)h(p)q(ossible)i(k)o(eystrok)
o(es)d(that)g(y)o(ou)g(need)i(in)g(order)f(to)f(do)h(editing)0
2201 y(of)g(the)h(input)h(line.)21 b(F)l(or)12 b(y)o(our)g(con)o(v)o
(enience,)i(man)o(y)f(other)f(commands)h(ha)o(v)o(e)f(b)q(een)i(added)f
(in)h(addition)g(to)e Fq(C-B)p Fr(,)0 2263 y Fq(C-F)p
Fr(,)i Fq(C-D)p Fr(,)h(and)g Fq(DEL)p Fr(.)20 b(Here)15
b(are)g(some)g(commands)g(for)f(mo)o(ving)h(more)g(rapidly)i(ab)q(out)e
(the)g(line.)0 2412 y Fq(C-A)168 b Fr(Mo)o(v)o(e)14 b(to)h(the)g(start)
f(of)h(the)g(line.)0 2498 y Fq(C-E)168 b Fr(Mo)o(v)o(e)14
b(to)h(the)g(end)h(of)f(the)g(line.)0 2584 y Fq(M-F)168
b Fr(Mo)o(v)o(e)14 b(forw)o(ard)g(a)h(w)o(ord.)0 2670
y Fq(M-B)168 b Fr(Mo)o(v)o(e)14 b(bac)o(kw)o(ard)h(a)g(w)o(ord.)p
eop
3 4 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1227
b(3)0 183 y Fq(C-L)168 b Fr(Clear)15 b(the)h(screen,)f(reprin)o(ting)h
(the)f(curren)o(t)g(line)i(at)e(the)g(top.)62 350 y(Notice)22
b(ho)o(w)e Fq(C-F)h Fr(mo)o(v)o(es)f(forw)o(ard)g(a)g(c)o(haracter,)i
(while)g Fq(M-F)f Fr(mo)o(v)o(es)f(forw)o(ard)g(a)h(w)o(ord.)36
b(It)21 b(is)h(a)f(lo)q(ose)0 412 y(con)o(v)o(en)o(tion)15
b(that)g(con)o(trol)g(k)o(eystrok)o(es)f(op)q(erate)h(on)g(c)o
(haracters)f(while)j(meta)e(k)o(eystrok)o(es)f(op)q(erate)h(on)g(w)o
(ords.)0 696 y Fk(1.2.3)30 b(Readline)15 b(Killing)g(Commands)62
841 y Fl(Killing)25 b Fr(text)18 b(means)g(to)f(delete)i(the)g(text)e
(from)h(the)g(line,)i(but)e(to)g(sa)o(v)o(e)f(it)i(a)o(w)o(a)o(y)d(for)
i(later)g(use,)h(usually)0 903 y(b)o(y)c Fl(y)o(anking)k
Fr(\(re-inserting\))c(it)g(bac)o(k)g(in)o(to)g(the)g(line.)21
b(If)16 b(the)f(description)h(for)e(a)h(command)f(sa)o(ys)h(that)f(it)h
(`kills')0 966 y(text,)f(then)i(y)o(ou)f(can)g(b)q(e)h(sure)f(that)g(y)
o(ou)g(can)g(get)g(the)g(text)g(bac)o(k)g(in)h(a)f(di\013eren)o(t)g
(\(or)f(the)i(same\))e(place)i(later.)62 1111 y(When)g(y)o(ou)f(use)g
(a)g(kill)i(command,)e(the)h(text)e(is)i(sa)o(v)o(ed)f(in)h(a)f
Fl(kill-ring)p Fr(.)22 b(An)o(y)16 b(n)o(um)o(b)q(er)f(of)g(consecutiv)
o(e)h(kills)0 1173 y(sa)o(v)o(e)g(all)i(of)e(the)h(killed)i(text)d
(together,)g(so)g(that)g(when)h(y)o(ou)f(y)o(ank)h(it)g(bac)o(k,)f(y)o
(ou)h(get)f(it)h(all.)25 b(The)17 b(kill)h(ring)f(is)0
1236 y(not)e(line)i(sp)q(eci\014c;)g(the)f(text)f(that)g(y)o(ou)g
(killed)j(on)d(a)h(previously)g(t)o(yp)q(ed)g(line)h(is)f(a)o(v)m
(ailable)i(to)d(b)q(e)h(y)o(ank)o(ed)f(bac)o(k)0 1298
y(later,)g(when)h(y)o(ou)e(are)h(t)o(yping)h(another)e(line.)62
1443 y(Here)i(is)f(the)h(list)g(of)e(commands)h(for)g(killing)j(text.)0
1610 y Fq(C-K)168 b Fr(Kill)17 b(the)f(text)e(from)h(the)g(curren)o(t)g
(cursor)g(p)q(osition)h(to)f(the)g(end)h(of)f(the)g(line.)0
1714 y Fq(M-D)168 b Fr(Kill)17 b(from)d(the)h(cursor)g(to)f(the)h(end)g
(of)g(the)g(curren)o(t)f(w)o(ord,)g(or)g(if)i(b)q(et)o(w)o(een)f(w)o
(ords,)f(to)g(the)h(end)g(of)240 1776 y(the)g(next)h(w)o(ord.)0
1880 y Fq(M-DEL)120 b Fr(Kill)16 b(from)d(the)i(cursor)e(the)h(start)f
(of)h(the)g(previous)h(w)o(ord,)e(or)g(if)i(b)q(et)o(w)o(een)f(w)o
(ords,)f(to)h(the)g(start)e(of)240 1942 y(the)j(previous)h(w)o(ord.)0
2046 y Fq(C-W)168 b Fr(Kill)18 b(from)e(the)g(cursor)g(to)f(the)h
(previous)h(whitespace.)24 b(This)17 b(is)f(di\013eren)o(t)h(than)f
Fq(M-DEL)f Fr(b)q(ecause)240 2109 y(the)g(w)o(ord)g(b)q(oundaries)h
(di\013er.)62 2275 y(And,)e(here)g(is)h(ho)o(w)e(to)g
Fl(y)o(ank)j Fr(the)e(text)f(bac)o(k)g(in)o(to)h(the)f(line.)22
b(Y)l(anking)14 b(means)g(to)f(cop)o(y)g(the)h(most-recen)o(tly-)0
2337 y(killed)j(text)e(from)g(the)g(kill)i(bu\013er.)0
2504 y Fq(C-Y)168 b Fr(Y)l(ank)15 b(the)h(most)e(recen)o(tly)i(killed)h
(text)e(bac)o(k)g(in)o(to)g(the)h(bu\013er)f(at)f(the)i(cursor.)0
2608 y Fq(M-Y)168 b Fr(Rotate)13 b(the)h(kill-ring,)i(and)e(y)o(ank)g
(the)g(new)g(top.)19 b(Y)l(ou)14 b(can)g(only)g(do)g(this)g(if)g(the)g
(prior)g(command)240 2670 y(is)i Fq(C-Y)e Fr(or)h Fq(M-Y)p
Fr(.)p eop
4 5 bop 0 -58 a Fr(4)1472 b(GNU)15 b(Readline)i(Library)0
183 y Fk(1.2.4)30 b(Readline)15 b(Argumen)n(ts)62 345
y Fr(Y)l(ou)k(can)g(pass)f(n)o(umeric)i(argumen)o(ts)d(to)h(Readline)j
(commands.)30 b(Sometimes)19 b(the)f(argumen)o(t)g(acts)g(as)g(a)0
407 y(rep)q(eat)f(coun)o(t,)f(other)g(times)g(it)h(is)g(the)g
Fl(sign)f Fr(of)g(the)h(argumen)o(t)f(that)f(is)i(signi\014can)o(t.)25
b(If)16 b(y)o(ou)h(pass)f(a)g(negativ)o(e)0 470 y(argumen)o(t)g(to)g(a)
h(command)g(whic)o(h)h(normally)f(acts)g(in)h(a)e(forw)o(ard)g
(direction,)i(that)f(command)f(will)j(act)d(in)i(a)0
532 y(bac)o(kw)o(ard)13 b(direction.)20 b(F)l(or)13 b(example,)i(to)d
(kill)k(text)d(bac)o(k)g(to)g(the)h(start)e(of)h(the)h(line,)h(y)o(ou)e
(migh)o(t)g(t)o(yp)q(e)h Fq(M--)h(C-k)o Fr(.)62 694 y(The)k(general)g
(w)o(a)o(y)f(to)g(pass)g(n)o(umeric)i(argumen)o(ts)e(to)g(a)g(command)h
(is)g(to)f(t)o(yp)q(e)g(meta)g(digits)i(b)q(efore)f(the)0
756 y(command.)36 b(If)21 b(the)g(\014rst)f(`digit')h(y)o(ou)g(t)o(yp)q
(e)f(is)i(a)e(min)o(us)h(sign)g(\()p Fq(-)p Fr(\),)g(then)g(the)g(sign)
g(of)g(the)f(argumen)o(t)g(will)0 818 y(b)q(e)i(negativ)o(e.)40
b(Once)22 b(y)o(ou)f(ha)o(v)o(e)h(t)o(yp)q(ed)g(one)f(meta)g(digit)i
(to)e(get)g(the)h(argumen)o(t)f(started,)h(y)o(ou)f(can)h(t)o(yp)q(e)0
881 y(the)c(remainder)h(of)f(the)g(digits,)h(and)f(then)h(the)f
(command.)29 b(F)l(or)17 b(example,)i(to)f(giv)o(e)g(the)g
Fq(C-D)g Fr(command)g(an)0 943 y(argumen)o(t)c(of)h(10,)f(y)o(ou)h
(could)h(t)o(yp)q(e)g(`)p Fq(M-1)e(0)h(C-d)p Fr('.)0
1375 y Fk(1.2.5)30 b(Searc)n(hing)15 b(for)g(Commands)h(in)f(the)g
(History)62 1537 y Fr(Readline)j(pro)o(vides)d(commands)g(for)g(searc)o
(hing)h(through)e(the)i(command)f(history)g(for)g(lines)h(con)o
(taining)g(a)0 1599 y(sp)q(eci\014ed)h(string.)j(There)c(are)f(t)o(w)o
(o)e(searc)o(h)i(mo)q(des:)20 b Fl(incremen)o(tal)f Fr(and)c
Fl(non-incremen)o(tal)p Fr(.)62 1761 y(Incremen)o(tal)i(searc)o(hes)e
(b)q(egin)i(b)q(efore)f(the)g(user)f(has)h(\014nished)h(t)o(yping)f
(the)g(searc)o(h)f(string.)21 b(As)15 b(eac)o(h)h(c)o(har-)0
1823 y(acter)f(of)h(the)g(searc)o(h)f(string)h(is)g(t)o(yp)q(ed,)g
(readline)h(displa)o(ys)g(the)f(next)g(en)o(try)f(from)g(the)h(history)
g(matc)o(hing)g(the)0 1885 y(string)g(t)o(yp)q(ed)g(so)f(far.)20
b(An)c(incremen)o(tal)h(searc)o(h)e(requires)i(only)f(as)f(man)o(y)g(c)
o(haracters)g(as)h(needed)h(to)e(\014nd)h(the)0 1948
y(desired)g(history)f(en)o(try)l(.)20 b(The)15 b(Escap)q(e)h(c)o
(haracter)e(is)h(used)h(to)e(terminate)h(an)g(incremen)o(tal)h(searc)o
(h.)k(Con)o(trol-J)0 2010 y(will)c(also)f(terminate)g(the)g(searc)o(h.)
k(Con)o(trol-G)14 b(will)j(ab)q(ort)d(an)h(incremen)o(tal)g(searc)o(h)g
(and)g(restore)f(the)h(original)0 2072 y(line.)30 b(When)18
b(the)h(searc)o(h)e(is)i(terminated,)g(the)f(history)g(en)o(try)f(con)o
(taining)i(the)f(searc)o(h)g(string)g(b)q(ecomes)h(the)0
2134 y(curren)o(t)g(line.)35 b(T)l(o)20 b(\014nd)g(other)f(matc)o(hing)
h(en)o(tries)g(in)g(the)g(history)g(list,)h(t)o(yp)q(e)e(Con)o(trol-S)h
(or)f(Con)o(trol-R)g(as)0 2197 y(appropriate.)k(This)17
b(will)h(searc)o(h)e(bac)o(kw)o(ard)g(or)f(forw)o(ard)g(in)j(the)e
(history)g(for)g(the)g(next)h(en)o(try)f(matc)o(hing)g(the)0
2259 y(searc)o(h)c(string)h(t)o(yp)q(ed)f(so)g(far.)19
b(An)o(y)12 b(other)g(k)o(ey)g(sequence)i(b)q(ound)f(to)f(a)g(readline)
i(command)e(will)i(terminate)f(the)0 2321 y(searc)o(h)j(and)h(execute)g
(that)f(command.)24 b(F)l(or)16 b(instance,)h(a)g Fq(newline)e
Fr(will)j(terminate)f(the)g(searc)o(h)f(and)h(accept)0
2384 y(the)e(line,)i(thereb)o(y)e(executing)h(the)g(command)f(from)f
(the)h(history)h(list.)62 2545 y(Non-incremen)o(tal)k(searc)o(hes)f
(read)f(the)h(en)o(tire)g(searc)o(h)g(string)f(b)q(efore)h(starting)f
(to)g(searc)o(h)h(for)f(matc)o(hing)0 2608 y(history)g(lines.)29
b(The)18 b(searc)o(h)g(string)g(ma)o(y)f(b)q(e)h(t)o(yp)q(ed)g(b)o(y)g
(the)g(user)g(or)f(part)g(of)h(the)g(con)o(ten)o(ts)f(of)g(the)h
(curren)o(t)0 2670 y(line.)p eop
5 6 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1227
b(5)0 183 y Fp(1.3)33 b(Readline)16 b(Init)g(File)62
324 y Fr(Although)h(the)f(Readline)j(library)e(comes)f(with)g(a)g(set)g
(of)g Fq(emacs)p Fr(-lik)o(e)h(k)o(eybindings)h(installed)g(b)o(y)e
(default,)0 387 y(it)e(is)g(p)q(ossible)i(that)d(y)o(ou)g(w)o(ould)h
(lik)o(e)h(to)e(use)h(a)f(di\013eren)o(t)h(set)g(of)f(k)o(eybindings.)
21 b(Y)l(ou)14 b(can)g(customize)g(programs)0 449 y(that)j(use)h
(Readline)i(b)o(y)e(putting)h(commands)e(in)i(an)f Fl(inputrc)j
Fr(\014le)e(in)g(y)o(our)e(home)h(directory)l(.)28 b(The)19
b(name)e(of)0 511 y(this)e(\014le)h(is)g(tak)o(en)e(from)h(the)g(v)m
(alue)h(of)e(the)h(en)o(vironmen)o(t)h(v)m(ariable)g
Fq(INPUTRC)p Fr(.)j(If)c(that)f(v)m(ariable)j(is)e(unset,)g(the)0
573 y(default)h(is)f(`)p Fq(~/.inputrc)p Fr('.)62 714
y(When)k(a)g(program)e(whic)o(h)j(uses)f(the)g(Readline)i(library)e
(starts)f(up,)h(the)g(init)h(\014le)g(is)f(read,)g(and)g(the)g(k)o(ey)0
777 y(bindings)e(are)e(set.)62 918 y(In)j(addition,)h(the)f
Fq(C-x)c(C-r)k Fr(command)f(re-reads)g(this)h(init)h(\014le,)g(th)o(us)
e(incorp)q(orating)h(an)o(y)f(c)o(hanges)h(that)0 980
y(y)o(ou)d(migh)o(t)g(ha)o(v)o(e)g(made)g(to)f(it.)0
1224 y Fk(1.3.1)30 b(Readline)15 b(Init)g(File)g(Syn)n(tax)62
1365 y Fr(There)h(are)f(only)h(a)f(few)g(basic)h(constructs)f(allo)o(w)
o(ed)h(in)g(the)g(Readline)i(init)e(\014le.)22 b(Blank)16
b(lines)h(are)e(ignored.)0 1427 y(Lines)f(b)q(eginning)h(with)e(a)f(`)p
Fq(#)p Fr(')g(are)g(commen)o(ts.)19 b(Lines)14 b(b)q(eginning)h(with)e
(a)f(`)p Fq($)p Fr(')g(indicate)i(conditional)g(constructs)0
1490 y(\(see)i(Section)h(1.3.2)e([Conditional)i(Init)g(Constructs],)e
(page)i(8\).)22 b(Other)16 b(lines)i(denote)f(v)m(ariable)h(settings)e
(and)0 1552 y(k)o(ey)f(bindings.)0 1710 y(V)l(ariable)h(Settings)240
1772 y(Y)l(ou)j(can)g(c)o(hange)g(the)g(state)f(of)g(a)g(few)h(v)m
(ariables)h(in)g(Readline)h(b)o(y)d(using)i(the)f Fq(set)f
Fr(command)240 1834 y(within)e(the)f(init)h(\014le.)k(Here)15
b(is)g(ho)o(w)g(y)o(ou)f(w)o(ould)h(sp)q(ecify)h(that)e(y)o(ou)g(wish)i
(to)e(use)h Fq(vi)f Fr(line)j(editing)240 1896 y(commands:)360
1965 y Fq(set)23 b(editing-mode)g(vi)240 2044 y Fr(Righ)o(t)14
b(no)o(w,)f(there)h(are)f(only)h(a)f(few)h(v)m(ariables)g(whic)o(h)h
(can)f(b)q(e)g(set;)f(so)g(few,)h(in)g(fact,)f(that)g(w)o(e)g(just)240
2106 y(list)j(them)f(here:)240 2201 y Fq(bell-style)480
2263 y Fr(Con)o(trols)h(what)f(happ)q(ens)j(when)f(Readline)h(w)o(an)o
(ts)e(to)f(ring)i(the)f(terminal)h(b)q(ell.)26 b(If)480
2326 y(set)17 b(to)f(`)p Fq(none)p Fr(',)g(Readline)j(nev)o(er)f(rings)
f(the)g(b)q(ell.)28 b(If)17 b(set)g(to)f(`)p Fq(visible)p
Fr(',)g(Readline)480 2388 y(uses)21 b(a)g(visible)j(b)q(ell)f(if)e(one)
h(is)f(a)o(v)m(ailable.)40 b(If)21 b(set)g(to)g(`)p Fq(audible)p
Fr(')e(\(the)i(default\),)480 2450 y(Readline)d(attempts)c(to)g(ring)i
(the)f(terminal's)h(b)q(ell.)240 2545 y Fq(comment-begin)480
2608 y Fr(The)d(string)h(to)e(insert)i(at)e(the)i(b)q(eginning)h(of)e
(the)g(line)i(when)f(the)f Fq(insert-comment)480 2670
y Fr(command)i(is)h(executed.)21 b(The)15 b(default)h(v)m(alue)g(is)g
Fq("#")p Fr(.)p eop
6 7 bop 0 -58 a Fr(6)1472 b(GNU)15 b(Readline)i(Library)240
183 y Fq(completion-query-items)480 246 y Fr(The)12 b(n)o(um)o(b)q(er)g
(of)f(p)q(ossible)j(completions)e(that)f(determines)i(when)f(the)g
(user)g(is)g(ask)o(ed)480 308 y(whether)k(he)h(w)o(an)o(ts)d(to)i(see)g
(the)g(list)h(of)e(p)q(ossibiliti)q(es.)25 b(If)16 b(the)g(n)o(um)o(b)q
(er)h(of)e(p)q(ossible)480 370 y(completions)i(is)f(greater)f(than)h
(this)h(v)m(alue,)f(Readline)j(will)e(ask)f(the)g(user)g(whether)480
432 y(or)k(not)h(he)h(wishes)f(to)g(view)g(them;)j(otherwise,)e(they)f
(are)g(simply)h(listed.)39 b(The)480 495 y(default)16
b(limit)g(is)g Fq(100)p Fr(.)240 592 y Fq(convert-meta)480
654 y Fr(If)21 b(set)f(to)g(`)p Fq(on)p Fr(',)g(Readline)j(will)f(con)o
(v)o(ert)e(c)o(haracters)f(with)i(the)g(eigth)f(bit)h(set)g(to)480
716 y(an)c(ASCI)q(I)g(k)o(ey)g(sequence)h(b)o(y)e(stripping)i(the)f
(eigth)g(bit)g(and)g(prep)q(ending)i(an)d Fq(ESC)480
779 y Fr(c)o(haracter,)h(con)o(v)o(erting)g(them)g(to)f(a)h
(meta-pre\014xed)h(k)o(ey)f(sequence.)27 b(The)17 b(default)480
841 y(v)m(alue)f(is)g(`)p Fq(on)p Fr('.)240 938 y Fq
(disable-completion)480 1000 y Fr(If)e(set)f(to)g(`)p
Fq(On)p Fr(',)f(readline)j(will)h(inhibit)f(w)o(ord)e(completion.)20
b(Completion)15 b(c)o(haracters)480 1063 y(will)h(b)q(e)g(inserted)g
(in)o(to)e(the)h(line)i(as)d(if)h(they)g(had)g(b)q(een)h(mapp)q(ed)g
(to)e Fq(self-insert)p Fr(.)480 1125 y(The)h(default)h(is)g(`)p
Fq(off)p Fr('.)240 1222 y Fq(editing-mode)480 1285 y
Fr(The)d Fq(editing-mode)e Fr(v)m(ariable)j(con)o(trols)e(whic)o(h)h
(editing)h(mo)q(de)f(y)o(ou)f(are)g(using.)20 b(By)480
1347 y(default,)f(Readline)h(starts)c(up)i(in)h(Emacs)e(editing)i(mo)q
(de,)f(where)g(the)g(k)o(eystrok)o(es)480 1409 y(are)g(most)f(similar)i
(to)e(Emacs.)27 b(This)19 b(v)m(ariable)g(can)f(b)q(e)h(set)e(to)g
(either)i(`)p Fq(emacs)p Fr(')d(or)480 1471 y(`)p Fq(vi)p
Fr('.)240 1569 y Fq(enable-keypad)480 1631 y Fr(When)g(set)g(to)f(`)p
Fq(on)p Fr(',)g(readline)j(will)f(try)e(to)h(enable)h(the)f
(application)h(k)o(eypad)f(when)480 1693 y(it)f(is)g(called.)22
b(Some)15 b(systems)f(need)i(this)f(to)f(enable)i(the)f(arro)o(w)f(k)o
(eys.)19 b(The)c(default)480 1755 y(is)h(`)p Fq(off)p
Fr('.)240 1853 y Fq(expand-tilde)480 1915 y Fr(If)i(set)f(to)f(`)p
Fq(on)p Fr(',)h(tilde)h(expansion)h(is)e(p)q(erformed)h(when)g
(Readline)h(attempts)e(w)o(ord)480 1977 y(completion.)k(The)15
b(default)h(is)g(`)p Fq(off)p Fr('.)240 2075 y Fq
(horizontal-scroll-mode)480 2137 y Fr(This)j(v)m(ariable)h(can)e(b)q(e)
i(set)e(to)g(either)h(`)p Fq(on)p Fr(')e(or)h(`)p Fq(off)p
Fr('.)28 b(Setting)19 b(it)g(to)f(`)p Fq(on)p Fr(')f(means)480
2199 y(that)f(the)h(text)f(of)h(the)f(lines)j(that)d(y)o(ou)g(edit)i
(will)g(scroll)g(horizon)o(tally)f(on)g(a)g(single)480
2261 y(screen)h(line)h(when)f(they)f(are)g(longer)h(than)f(the)g(width)
h(of)f(the)g(screen,)h(instead)g(of)480 2324 y(wrapping)e(on)o(to)e(a)h
(new)g(screen)h(line.)21 b(By)16 b(default,)f(this)h(v)m(ariable)g(is)g
(set)f(to)g(`)p Fq(off)p Fr('.)240 2421 y Fq(keymap)96
b Fr(Sets)13 b(Readline's)i(idea)e(of)g(the)g(curren)o(t)f(k)o(eymap)h
(for)f(k)o(ey)h(binding)i(commands.)k(Ac-)480 2483 y(ceptable)d
Fq(keymap)e Fr(names)h(are)g Fq(emacs)p Fr(,)f Fq(emacs-standard)p
Fr(,)f Fq(emacs-meta)p Fr(,)g Fq(emacs-)480 2545 y(ctlx)p
Fr(,)18 b Fq(vi)p Fr(,)h Fq(vi-command)p Fr(,)e(and)i
Fq(vi-insert)p Fr(.)28 b Fq(vi)18 b Fr(is)h(equiv)m(alen)o(t)h(to)e
Fq(vi-command)p Fr(;)480 2608 y Fq(emacs)d Fr(is)i(equiv)m(alen)o(t)h
(to)d Fq(emacs-standard)p Fr(.)20 b(The)d(default)f(v)m(alue)i(is)e
Fq(emacs)p Fr(.)22 b(The)480 2670 y(v)m(alue)16 b(of)f(the)g
Fq(editing-mode)f Fr(v)m(ariable)j(also)e(a\013ects)f(the)h(default)h
(k)o(eymap.)p eop
7 8 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1227
b(7)240 183 y Fq(mark-directories)480 246 y Fr(If)22
b(set)g(to)g(`)p Fq(on)p Fr(',)g(completed)h(directory)f(names)h(ha)o
(v)o(e)e(a)h(slash)h(app)q(ended.)42 b(The)480 308 y(default)16
b(is)f(`)p Fq(on)p Fr('.)240 388 y Fq(mark-modified-lines)480
450 y Fr(This)f(v)m(ariable,)h(when)e(set)g(to)g(`)p
Fq(on)p Fr(',)f(sa)o(ys)h(to)g(displa)o(y)h(an)f(asterisk)g(\(`)p
Fq(*)p Fr('\))f(at)h(the)g(start)480 512 y(of)f(history)h(lines)h(whic)
o(h)f(ha)o(v)o(e)f(b)q(een)i(mo)q(di\014ed.)21 b(This)13
b(v)m(ariable)h(is)f(`)p Fq(off)p Fr(')e(b)o(y)i(default.)240
593 y Fq(input-meta)480 655 y Fr(If)21 b(set)g(to)g(`)p
Fq(on)p Fr(',)g(Readline)i(will)g(enable)g(eigh)o(t-bit)f(input)g(\(it)
f(will)i(not)d(strip)i(the)480 717 y(eigh)o(th)e(bit)f(from)f(the)i(c)o
(haracters)e(it)h(reads\),)h(regardless)f(of)f(what)h(the)g(terminal)
480 779 y(claims)d(it)g(can)f(supp)q(ort.)21 b(The)15
b(default)h(v)m(alue)h(is)e(`)p Fq(off)p Fr('.)20 b(The)15
b(name)g Fq(meta-flag)f Fr(is)480 842 y(a)h(synon)o(ym)g(for)f(this)i
(v)m(ariable.)240 922 y Fq(output-meta)480 984 y Fr(If)11
b(set)f(to)g(`)p Fq(on)p Fr(',)g(Readline)j(will)g(displa)o(y)e(c)o
(haracters)f(with)h(the)g(eigh)o(th)g(bit)g(set)g(directly)480
1046 y(rather)k(than)g(as)f(a)h(meta-pre\014xed)h(escap)q(e)g
(sequence.)21 b(The)16 b(default)f(is)h(`)p Fq(off)p
Fr('.)240 1126 y Fq(show-all-if-ambiguous)480 1189 y
Fr(This)f(alters)f(the)h(default)g(b)q(eha)o(vior)g(of)f(the)h
(completion)g(functions.)21 b(If)14 b(set)h(to)e(`)p
Fq(on)p Fr(',)480 1251 y(w)o(ords)18 b(whic)o(h)i(ha)o(v)o(e)f(more)f
(than)h(one)g(p)q(ossible)i(completion)f(cause)f(the)g(matc)o(hes)480
1313 y(to)e(b)q(e)h(listed)h(immediately)g(instead)f(of)f(ringing)i
(the)e(b)q(ell.)29 b(The)18 b(default)g(v)m(alue)g(is)480
1375 y(`)p Fq(off)p Fr('.)240 1456 y Fq(visible-stats)480
1518 y Fr(If)c(set)g(to)f(`)p Fq(on)p Fr(',)f(a)i(c)o(haracter)f
(denoting)h(a)g(\014le's)g(t)o(yp)q(e)g(is)g(app)q(ended)i(to)d(the)h
(\014lename)480 1580 y(when)i(listing)g(p)q(ossible)h(completions.)k
(The)16 b(default)f(is)h(`)p Fq(off)p Fr('.)0 1660 y(Key)g(Bindings)240
1722 y(The)k(syn)o(tax)f(for)g(con)o(trolling)i(k)o(ey)e(bindings)j(in)
e(the)g(init)h(\014le)g(is)f(simple.)35 b(First)19 b(y)o(ou)g(ha)o(v)o
(e)h(to)240 1785 y(kno)o(w)13 b(the)h(name)g(of)f(the)h(command)g(that)
f(y)o(ou)g(w)o(an)o(t)g(to)g(c)o(hange.)20 b(The)14 b(follo)o(wing)g
(pages)g(con)o(tain)240 1847 y(tables)i(of)f(the)h(command)g(name,)f
(the)h(default)g(k)o(eybinding,)i(and)e(a)f(short)g(description)i(of)f
(what)240 1909 y(the)f(command)g(do)q(es.)240 1980 y(Once)h(y)o(ou)e
(kno)o(w)g(the)h(name)g(of)f(the)h(command,)f(simply)i(place)g(the)f
(name)f(of)h(the)f(k)o(ey)h(y)o(ou)f(wish)240 2043 y(to)g(bind)j(the)e
(command)g(to,)f(a)g(colon,)i(and)f(then)g(the)g(name)g(of)g(the)g
(command)g(on)g(a)f(line)j(in)f(the)240 2105 y(init)h(\014le.)22
b(The)16 b(name)g(of)f(the)h(k)o(ey)f(can)h(b)q(e)g(expressed)h(in)f
(di\013eren)o(t)g(w)o(a)o(ys,)f(dep)q(ending)i(on)f(whic)o(h)240
2167 y(is)g(most)e(comfortable)h(for)g(y)o(ou.)240 2247
y Fl(k)o(eyname)s Fr(:)k Fl(function-name)g Fr(or)c Fl(macro)480
2310 y(k)o(eyname)j Fr(is)d(the)h(name)f(of)g(a)g(k)o(ey)g(sp)q(elled)i
(out)e(in)h(English.)21 b(F)l(or)15 b(example:)600 2370
y Fq(Control-u:)22 b(universal-argument)600 2422 y(Meta-Rubout:)g
(backward-kill-word)600 2474 y(Control-o:)g(">)i(output")480
2545 y Fr(In)12 b(the)g(ab)q(o)o(v)o(e)f(example,)h(`)p
Fq(C-u)p Fr(')f(is)h(b)q(ound)g(to)f(the)h(function)g
Fq(universal-argument)p Fr(,)480 2608 y(and)h(`)p Fq(C-o)p
Fr(')f(is)h(b)q(ound)h(to)f(run)g(the)g(macro)f(expressed)i(on)f(the)g
(righ)o(t)g(hand)g(side)h(\(that)480 2670 y(is,)h(to)g(insert)h(the)f
(text)g(`)p Fq(>)f(output)p Fr(')g(in)o(to)h(the)h(line\).)p
eop
8 9 bop 0 -58 a Fr(8)1472 b(GNU)15 b(Readline)i(Library)240
183 y Fq(")p Fl(k)o(eyseq)q Fq(")p Fr(:)j Fl(function-name)e
Fr(or)d Fl(macro)480 246 y(k)o(eyseq)j Fr(di\013ers)f(from)f
Fl(k)o(eyname)k Fr(ab)q(o)o(v)o(e)c(in)i(that)e(strings)h(denoting)h
(an)f(en)o(tire)g(k)o(ey)480 308 y(sequence)i(can)f(b)q(e)h(sp)q
(eci\014ed,)i(b)o(y)d(placing)h(the)f(k)o(ey)g(sequence)h(in)g(double)h
(quotes.)480 370 y(Some)e(GNU)g(Emacs)f(st)o(yle)h(k)o(ey)g(escap)q(es)
g(can)g(b)q(e)h(used,)g(as)e(in)i(the)f(follo)o(wing)h(ex-)480
432 y(ample,)c(but)h(the)f(sp)q(ecial)i(c)o(haracter)e(names)g(are)g
(not)f(recognized.)600 499 y Fq("\\C-u":)23 b(universal-argument)600
551 y("\\C-x\\C-r":)f(re-read-init-file)600 603 y("\\e[11~":)h
("Function)f(Key)i(1")480 681 y Fr(In)13 b(the)g(ab)q(o)o(v)o(e)g
(example,)g(`)p Fq(C-u)p Fr(')f(is)h(b)q(ound)h(to)e(the)h(function)g
Fq(universal-argument)480 743 y Fr(\(just)g(as)f(it)i(w)o(as)e(in)i
(the)f(\014rst)g(example\),)h(`)p Fq(C-x)g(C-r)p Fr(')f(is)g(b)q(ound)i
(to)d(the)h(function)h Fq(re-)480 805 y(read-init-file)p
Fr(,)g(and)i(`)p Fq(ESC)e([)h(1)g(1)g(~)p Fr(')h(is)g(b)q(ound)h(to)f
(insert)g(the)g(text)f(`)p Fq(Function)480 867 y(Key)g(1)p
Fr('.)24 b(The)18 b(follo)o(wing)f(escap)q(e)h(sequences)g(are)f(a)o(v)
m(ailable)i(when)e(sp)q(ecifying)i(k)o(ey)480 930 y(sequences:)480
1022 y Fq(\\C-)168 b Fr(con)o(trol)15 b(pre\014x)480
1115 y Fq(\\M-)168 b Fr(meta)15 b(pre\014x)480 1208 y
Fq(\\e)192 b Fr(an)15 b(escap)q(e)h(c)o(haracter)480
1300 y Fq(\\\\)192 b Fr(bac)o(kslash)480 1393 y Fq(\\")g(")480
1485 y(\\')g(')480 1578 y Fr(When)14 b(en)o(tering)h(the)f(text)f(of)h
(a)f(macro,)g(single)j(or)d(double)i(quotes)f(should)h(b)q(e)f(used)480
1640 y(to)g(indicate)j(a)e(macro)f(de\014nition.)22 b(Unquoted)15
b(text)g(is)g(assumed)g(to)g(b)q(e)g(a)g(function)480
1703 y(name.)21 b(Bac)o(kslash)16 b(will)h(quote)f(an)o(y)f(c)o
(haracter)g(in)h(the)g(macro)f(text,)g(including)j(`)p
Fq(")p Fr(')480 1765 y(and)12 b(`)p Fq(')p Fr('.)18 b(F)l(or)11
b(example,)i(the)f(follo)o(wing)g(binding)i(will)f(mak)o(e)e(`)p
Fq(C-x)k(\\)p Fr(')c(insert)h(a)g(single)480 1827 y(`)p
Fq(\\)p Fr(')i(in)o(to)h(the)h(line:)600 1894 y Fq("\\C-x\\\\":)23
b("\\\\")0 2126 y Fk(1.3.2)30 b(Conditional)15 b(Init)g(Constructs)62
2266 y Fr(Readline)j(implemen)o(ts)e(a)f(facilit)o(y)h(similar)g(in)g
(spirit)g(to)f(the)g(conditional)i(compilation)f(features)f(of)g(the)g
(C)0 2328 y(prepro)q(cessor)f(whic)o(h)h(allo)o(ws)f(k)o(ey)g(bindings)
h(and)f(v)m(ariable)i(settings)e(to)f(b)q(e)h(p)q(erformed)h(as)e(the)h
(result)g(of)g(tests.)0 2391 y(There)h(are)g(three)h(parser)e(directiv)
o(es)j(used.)0 2545 y Fq($if)168 b Fr(The)14 b Fq($if)e
Fr(construct)h(allo)o(ws)h(bindings)h(to)e(b)q(e)h(made)f(based)h(on)f
(the)h(editing)g(mo)q(de,)g(the)f(terminal)240 2608 y(b)q(eing)k(used,)
e(or)g(the)g(application)i(using)f(Readline.)22 b(The)16
b(text)f(of)g(the)g(test)g(extends)g(to)g(the)g(end)240
2670 y(of)g(the)g(line;)i(no)e(c)o(haracters)f(are)h(required)h(to)f
(isolate)g(it.)p eop
9 10 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1227
b(9)240 183 y Fq(mode)144 b Fr(The)19 b Fq(mode=)f Fr(form)g(of)h(the)g
Fq($if)f Fr(directiv)o(e)i(is)f(used)h(to)e(test)g(whether)h(Readline)i
(is)480 246 y(in)h Fq(emacs)f Fr(or)f Fq(vi)h Fr(mo)q(de.)38
b(This)22 b(ma)o(y)f(b)q(e)h(used)g(in)g(conjunction)g(with)f(the)h(`)p
Fq(set)480 308 y(keymap)p Fr(')d(command,)i(for)e(instance,)j(to)d(set)
h(bindings)i(in)f(the)f Fq(emacs-standard)480 370 y Fr(and)15
b Fq(emacs-ctlx)f Fr(k)o(eymaps)h(only)h(if)f(Readline)j(is)e(starting)
e(out)h(in)h Fq(emacs)f Fr(mo)q(de.)240 457 y Fq(term)144
b Fr(The)21 b Fq(term=)f Fr(form)g(ma)o(y)h(b)q(e)g(used)h(to)e
(include)j(terminal-sp)q(eci\014c)h(k)o(ey)c(bindings,)480
519 y(p)q(erhaps)15 b(to)f(bind)j(the)d(k)o(ey)h(sequences)h(output)e
(b)o(y)h(the)g(terminal's)g(function)h(k)o(eys.)480 582
y(The)f(w)o(ord)g(on)f(the)i(righ)o(t)e(side)i(of)f(the)g(`)p
Fq(=)p Fr(')f(is)h(tested)g(against)g(the)g(full)h(name)f(of)g(the)480
644 y(terminal)k(and)g(the)g(p)q(ortion)g(of)f(the)h(terminal)g(name)g
(b)q(efore)g(the)g(\014rst)f(`)p Fq(-)p Fr('.)29 b(This)480
706 y(allo)o(ws)15 b Fq(sun)g Fr(to)g(matc)o(h)f(b)q(oth)i
Fq(sun)e Fr(and)i Fq(sun-cmd)p Fr(,)e(for)g(instance.)240
793 y Fq(application)480 856 y Fr(The)k Fl(application)i
Fr(construct)e(is)g(used)h(to)e(include)k(application-sp)q(eci\014c)g
(settings.)480 918 y(Eac)o(h)d(program)g(using)h(the)f(Readline)j
(library)e(sets)f(the)h Fl(application)h(name)p Fr(,)f(and)480
980 y(y)o(ou)c(can)h(test)f(for)g(it.)21 b(This)16 b(could)g(b)q(e)h
(used)f(to)e(bind)j(k)o(ey)f(sequences)g(to)f(functions)480
1043 y(useful)h(for)e(a)h(sp)q(eci\014c)i(program.)h(F)l(or)d
(instance,)g(the)g(follo)o(wing)h(command)e(adds)h(a)480
1105 y(k)o(ey)g(sequence)h(that)f(quotes)g(the)g(curren)o(t)g(or)g
(previous)h(w)o(ord)e(in)i(Bash:)600 1169 y Fq($if)23
b(Bash)600 1221 y(#)h(Quote)f(the)g(current)g(or)h(previous)f(word)600
1273 y("\\C-xq":)g("\\eb\\"\\ef\\"")600 1325 y($endif)0
1412 y($endif)96 b Fr(This)16 b(command,)e(as)h(y)o(ou)g(sa)o(w)g(in)h
(the)f(previous)h(example,)f(terminates)h(an)f Fq($if)f
Fr(command.)0 1499 y Fq($else)120 b Fr(Commands)15 b(in)h(this)f(branc)
o(h)h(of)e(the)i Fq($if)e Fr(directiv)o(e)j(are)e(executed)h(if)g(the)f
(test)g(fails.)0 1707 y Fk(1.3.3)30 b(Sample)15 b(Init)g(File)62
1844 y Fr(Here)20 b(is)f(an)g(example)h(of)f(an)g(inputrc)h(\014le.)33
b(This)20 b(illustrates)g(k)o(ey)f(binding,)j(v)m(ariable)e(assignmen)o
(t,)g(and)0 1906 y(conditional)d(syn)o(tax.)p eop
10 11 bop 0 -58 a Fr(10)1449 b(GNU)15 b(Readline)i(Library)120
235 y Fq(#)24 b(This)f(file)g(controls)g(the)h(behaviour)e(of)i(line)f
(input)g(editing)g(for)120 287 y(#)h(programs)e(that)i(use)f(the)h(Gnu)
f(Readline)g(library.)47 b(Existing)22 b(programs)120
339 y(#)i(include)f(FTP,)g(Bash,)g(and)h(Gdb.)120 391
y(#)120 443 y(#)g(You)f(can)h(re-read)f(the)g(inputrc)g(file)g(with)h
(C-x)f(C-r.)120 495 y(#)h(Lines)f(beginning)g(with)g('#')g(are)h
(comments.)120 546 y(#)120 598 y(#)g(Set)f(various)g(bindings)g(for)g
(emacs)g(mode.)120 702 y(set)g(editing-mode)g(emacs)120
806 y($if)g(mode=emacs)120 910 y(Meta-Control-h:)46 b
(backward-kill-word)21 b(Text)i(after)h(the)f(function)g(name)g(is)h
(ignored)120 1013 y(#)120 1065 y(#)g(Arrow)f(keys)g(in)h(keypad)f(mode)
120 1117 y(#)120 1169 y(#"\\M-OD":)190 b(backward-char)120
1221 y(#"\\M-OC":)g(forward-char)120 1273 y(#"\\M-OA":)g
(previous-history)120 1325 y(#"\\M-OB":)g(next-history)120
1377 y(#)120 1429 y(#)24 b(Arrow)f(keys)g(in)h(ANSI)f(mode)120
1480 y(#)120 1532 y("\\M-[D":)190 b(backward-char)120
1584 y("\\M-[C":)g(forward-char)120 1636 y("\\M-[A":)g
(previous-history)120 1688 y("\\M-[B":)g(next-history)120
1740 y(#)120 1792 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(keypad)g(mode)
120 1844 y(#)120 1896 y(#"\\M-\\C-OD":)165 b(backward-char)120
1947 y(#"\\M-\\C-OC":)g(forward-char)120 1999 y(#"\\M-\\C-OA":)g
(previous-history)120 2051 y(#"\\M-\\C-OB":)g(next-history)120
2103 y(#)120 2155 y(#)24 b(Arrow)f(keys)g(in)h(8)g(bit)f(ANSI)g(mode)
120 2207 y(#)120 2259 y(#"\\M-\\C-[D":)165 b(backward-char)120
2311 y(#"\\M-\\C-[C":)g(forward-char)120 2363 y(#"\\M-\\C-[A":)g
(previous-history)120 2414 y(#"\\M-\\C-[B":)g(next-history)120
2518 y(C-q:)23 b(quoted-insert)120 2622 y($endif)p eop
11 12 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1205
b(11)120 235 y Fq(#)24 b(An)f(old-style)g(binding.)47
b(This)23 b(happens)g(to)g(be)h(the)f(default.)120 287
y(TAB:)g(complete)120 391 y(#)h(Macros)f(that)g(are)h(convenient)e(for)
h(shell)h(interaction)120 443 y($if)f(Bash)120 495 y(#)h(edit)f(the)g
(path)120 546 y("\\C-xp":)g("PATH=${PATH}\\e\\C-e\\C-a\\)o(ef\\C-f")120
598 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)120 650 y(#)h(and)f(move)g(to)h(just)f
(after)h(the)f(open)g(quote)120 702 y("\\C-x\\"":)g("\\"\\"\\C-b")120
754 y(#)h(insert)f(a)g(backslash)g(\(testing)g(backslash)g(escapes)f
(in)i(sequences)f(and)g(macros\))120 806 y("\\C-x\\\\":)g("\\\\")120
858 y(#)h(Quote)f(the)g(current)g(or)h(previous)f(word)120
910 y("\\C-xq":)g("\\eb\\"\\ef\\"")120 962 y(#)h(Add)f(a)h(binding)f
(to)g(refresh)g(the)h(line,)f(which)g(is)h(unbound)120
1013 y("\\C-xr":)f(redraw-current-line)120 1065 y(#)h(Edit)f(variable)g
(on)g(current)g(line.)120 1117 y("\\M-\\C-v":)f
("\\C-a\\C-k$\\C-y\\M-\\C-e\\C-a\\C-y=)o(")120 1169 y($endif)120
1273 y(#)i(use)f(a)h(visible)f(bell)g(if)h(one)f(is)h(available)120
1325 y(set)f(bell-style)g(visible)120 1429 y(#)h(don't)f(strip)g
(characters)g(to)g(7)h(bits)f(when)h(reading)120 1480
y(set)f(input-meta)g(on)120 1584 y(#)h(allow)f(iso-latin1)f(characters)
h(to)g(be)h(inserted)f(rather)g(than)g(converted)g(to)120
1636 y(#)h(prefix-meta)e(sequences)120 1688 y(set)h(convert-meta)g(off)
120 1792 y(#)h(display)f(characters)f(with)h(the)h(eighth)f(bit)g(set)h
(directly)f(rather)g(than)120 1844 y(#)h(as)f(meta-prefixed)f
(characters)120 1896 y(set)h(output-meta)g(on)120 1999
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)120 2051 y(#)h(user)f(if)h(he)f(wants)g
(to)h(see)f(all)h(of)f(them)120 2103 y(set)g(completion-query-items)e
(150)120 2207 y(#)j(For)f(FTP)120 2259 y($if)g(Ftp)120
2311 y("\\C-xg":)g("get)g(\\M-?")120 2363 y("\\C-xt":)g("put)g(\\M-?")
120 2414 y("\\M-.":)g(yank-last-arg)120 2466 y($endif)p
eop
12 13 bop 0 -58 a Fr(12)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fp(1.4)33 b(Bindable)16 b(Readline)h(Commands)62
322 y Fr(This)f(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.)0
545 y Fk(1.4.1)30 b(Commands)15 b(F)-5 b(or)15 b(Mo)n(ving)0
698 y Fq(beginning-of-line)e(\(C-a\))240 760 y Fr(Mo)o(v)o(e)h(to)h
(the)g(start)f(of)h(the)g(curren)o(t)g(line.)0 851 y
Fq(end-of-line)f(\(C-e\))240 913 y Fr(Mo)o(v)o(e)g(to)h(the)g(end)h(of)
f(the)g(line.)0 1003 y Fq(forward-char)f(\(C-f\))240
1066 y Fr(Mo)o(v)o(e)g(forw)o(ard)g(a)h(c)o(haracter.)0
1156 y Fq(backward-char)e(\(C-b\))240 1219 y Fr(Mo)o(v)o(e)h(bac)o(k)h
(a)g(c)o(haracter.)0 1309 y Fq(forward-word)f(\(M-f\))240
1371 y Fr(Mo)o(v)o(e)g(forw)o(ard)g(to)h(the)g(end)h(of)f(the)g(next)g
(w)o(ord.)k(W)l(ords)c(are)g(comp)q(osed)h(of)e(letters)i(and)f
(digits.)0 1462 y Fq(backward-word)e(\(M-b\))240 1524
y Fr(Mo)o(v)o(e)j(bac)o(k)g(to)g(the)h(start)f(of)g(this,)h(or)g(the)f
(previous,)i(w)o(ord.)24 b(W)l(ords)16 b(are)g(comp)q(osed)i(of)e
(letters)240 1587 y(and)f(digits.)0 1677 y Fq(clear-screen)f(\(C-l\))
240 1739 y Fr(Clear)h(the)g(screen)g(and)g(redra)o(w)f(the)h(curren)o
(t)g(line,)h(lea)o(ving)g(the)f(curren)o(t)f(line)j(at)d(the)h(top)f
(of)h(the)240 1802 y(screen.)0 1892 y Fq(redraw-current-line)e(\(\))240
1955 y Fr(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.)0 2177 y Fk(1.4.2)30
b(Commands)15 b(F)-5 b(or)15 b(Manipulating)g(The)g(History)0
2330 y Fq(accept-line)f(\(Newline,)g(Return\))240 2393
y Fr(Accept)g(the)f(line)i(regardless)e(of)g(where)g(the)g(cursor)g
(is.)20 b(If)13 b(this)h(line)h(is)e(non-empt)o(y)l(,)h(add)f(it)g(to)g
(the)240 2455 y(history)k(list.)25 b(If)17 b(this)g(line)i(w)o(as)c(a)i
(history)g(line,)h(then)f(restore)f(the)h(history)f(line)j(to)d(its)h
(original)240 2517 y(state.)0 2608 y Fq(previous-history)c(\(C-p\))240
2670 y Fr(Mo)o(v)o(e)h(`up')h(through)g(the)g(history)g(list.)p
eop
13 14 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1205
b(13)0 183 y Fq(next-history)14 b(\(C-n\))240 246 y Fr(Mo)o(v)o(e)g
(`do)o(wn')g(through)h(the)h(history)f(list.)0 331 y
Fq(beginning-of-history)d(\(M-<\))240 393 y Fr(Mo)o(v)o(e)i(to)h(the)g
(\014rst)g(line)i(in)f(the)f(history)l(.)0 478 y Fq(end-of-history)e
(\(M->\))240 540 y Fr(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(y)o(ou)e(are)g(en)o(tering.)0
625 y Fq(reverse-search-history)d(\(C-r\))240 688 y Fr(Searc)o(h)18
b(bac)o(kw)o(ard)f(starting)g(at)g(the)g(curren)o(t)h(line)h(and)f(mo)o
(ving)f(`up')h(through)f(the)h(history)f(as)240 750 y(necessary)l(.)j
(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)0 835 y
Fq(forward-search-history)c(\(C-s\))240 897 y Fr(Searc)o(h)j(forw)o
(ard)e(starting)h(at)g(the)g(curren)o(t)h(line)h(and)f(mo)o(ving)f(`do)
o(wn')g(through)g(the)g(the)h(history)240 960 y(as)g(necessary)l(.)20
b(This)c(is)g(an)f(incremen)o(tal)h(searc)o(h.)0 1045
y Fq(non-incremental-reverse-se)o(arch-hi)o(story)c(\(M-p\))240
1107 y Fr(Searc)o(h)18 b(bac)o(kw)o(ard)f(starting)g(at)g(the)g(curren)
o(t)h(line)h(and)f(mo)o(ving)f(`up')h(through)f(the)h(history)f(as)240
1169 y(necessary)e(using)h(a)f(non-incremen)o(tal)i(searc)o(h)e(for)g
(a)f(string)i(supplied)h(b)o(y)e(the)h(user.)0 1254 y
Fq(non-incremental-forward-se)o(arch-hi)o(story)c(\(M-n\))240
1317 y Fr(Searc)o(h)j(forw)o(ard)e(starting)h(at)g(the)g(curren)o(t)h
(line)h(and)f(mo)o(ving)f(`do)o(wn')g(through)g(the)g(the)h(history)240
1379 y(as)g(necessary)g(using)h(a)f(non-incremen)o(tal)i(searc)o(h)e
(for)f(a)h(string)g(supplied)j(b)o(y)d(the)g(user.)0
1464 y Fq(history-search-forward)d(\(\))240 1526 y Fr(Searc)o(h)h(forw)
o(ard)f(through)h(the)g(history)g(for)g(the)g(string)g(of)g(c)o
(haracters)f(b)q(et)o(w)o(een)i(the)f(start)f(of)h(the)240
1589 y(curren)o(t)19 b(line)h(and)f(the)g(curren)o(t)f(cursor)h(p)q
(osition)g(\(the)g(`p)q(oin)o(t'\).)30 b(This)19 b(is)g(a)f
(non-incremen)o(tal)240 1651 y(searc)o(h.)i(By)15 b(default,)g(this)h
(command)f(is)h(un)o(b)q(ound.)0 1736 y Fq(history-search-backward)c
(\(\))240 1798 y Fr(Searc)o(h)21 b(bac)o(kw)o(ard)f(through)g(the)h
(history)f(for)g(the)h(string)f(of)h(c)o(haracters)f(b)q(et)o(w)o(een)g
(the)h(start)240 1860 y(of)c(the)h(curren)o(t)g(line)h(and)f(the)f(p)q
(oin)o(t.)28 b(This)18 b(is)h(a)e(non-incremen)o(tal)i(searc)o(h.)27
b(By)18 b(default,)h(this)240 1923 y(command)c(is)h(un)o(b)q(ound.)0
2008 y Fq(yank-nth-arg)e(\(M-C-y\))240 2070 y Fr(Insert)19
b(the)g(\014rst)f(argumen)o(t)g(to)g(the)h(previous)g(command)g
(\(usually)g(the)g(second)g(w)o(ord)f(on)h(the)240 2132
y(previous)e(line\).)23 b(With)16 b(an)g(argumen)o(t)f
Fl(n)p Fr(,)h(insert)h(the)f Fl(n)p Fr(th)g(w)o(ord)f(from)g(the)h
(previous)h(command)240 2195 y(\(the)d(w)o(ords)g(in)h(the)g(previous)g
(command)f(b)q(egin)i(with)f(w)o(ord)f(0\).)19 b(A)14
b(negativ)o(e)h(argumen)o(t)f(inserts)240 2257 y(the)h
Fl(n)p Fr(th)h(w)o(ord)e(from)h(the)g(end)h(of)e(the)i(previous)g
(command.)0 2342 y Fq(yank-last-arg)d(\(M-.,)i(M-_\))240
2404 y Fr(Insert)i(last)g(argumen)o(t)g(to)f(the)h(previous)h(command)f
(\(the)g(last)g(w)o(ord)f(of)h(the)g(previous)h(history)240
2467 y(en)o(try\).)h(With)d(an)f(argumen)o(t,)f(b)q(eha)o(v)o(e)h
(exactly)h(lik)o(e)g Fq(yank-nth-arg)p Fr(.)0 2670 y
Fk(1.4.3)30 b(Commands)15 b(F)-5 b(or)15 b(Changing)g(T)-5
b(ext)p eop
14 15 bop 0 -58 a Fr(14)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fq(delete-char)d(\(C-d\))240 246 y Fr(Delete)f(the)f(c)o
(haracter)f(under)i(the)f(cursor.)19 b(If)12 b(the)g(cursor)g(is)g(at)g
(the)g(b)q(eginning)i(of)e(the)g(line,)i(there)240 308
y(are)k(no)h(c)o(haracters)e(in)j(the)e(line,)j(and)d(the)h(last)f(c)o
(haracter)g(t)o(yp)q(ed)h(w)o(as)f(not)g Fq(C-d)p Fr(,)g(then)h(return)
240 370 y Fq(EOF)p Fr(.)0 460 y Fq(backward-delete-char)12
b(\(Rubout\))240 522 y Fr(Delete)g(the)f(c)o(haracter)f(b)q(ehind)j
(the)e(cursor.)18 b(A)11 b(n)o(umeric)h(arg)e(sa)o(ys)g(to)g(kill)j
(the)e(c)o(haracters)f(instead)240 584 y(of)15 b(deleting)h(them.)0
674 y Fq(quoted-insert)d(\(C-q,)i(C-v\))240 736 y Fr(Add)i(the)f(next)h
(c)o(haracter)f(that)f(y)o(ou)h(t)o(yp)q(e)h(to)f(the)g(line)i(v)o
(erbatim.)24 b(This)17 b(is)g(ho)o(w)e(to)h(insert)h(k)o(ey)240
799 y(sequences)f(lik)o(e)h Fq(C-Q)p Fr(,)d(for)h(example.)0
888 y Fq(tab-insert)f(\(M-TAB\))240 951 y Fr(Insert)h(a)g(tab)g(c)o
(haracter.)0 1040 y Fq(self-insert)f(\(a,)g(b,)h(A,)g(1,)g(!,)g(...\))
240 1103 y Fr(Insert)g(y)o(ourself.)0 1192 y Fq(transpose-chars)e
(\(C-t\))240 1255 y Fr(Drag)h(the)h(c)o(haracter)g(b)q(efore)g(the)h
(cursor)f(forw)o(ard)f(o)o(v)o(er)g(the)h(c)o(haracter)g(at)f(the)i
(cursor,)e(mo)o(ving)240 1317 y(the)k(cursor)h(forw)o(ard)e(as)h(w)o
(ell.)30 b(If)19 b(the)f(insertion)i(p)q(oin)o(t)f(is)g(at)e(the)i(end)
g(of)f(the)g(line,)j(then)e(this)240 1379 y(transp)q(oses)c(the)g(last)
g(t)o(w)o(o)f(c)o(haracters)h(of)f(the)i(line.)21 b(Negativ)o(e)15
b(argumen)o(tss)f(don't)h(w)o(ork.)0 1469 y Fq(transpose-words)e
(\(M-t\))240 1531 y Fr(Drag)f(the)h(w)o(ord)f(b)q(ehind)i(the)f(cursor)
g(past)f(the)h(w)o(ord)f(in)h(fron)o(t)f(of)h(the)f(cursor)h(mo)o(ving)
f(the)h(cursor)240 1594 y(o)o(v)o(er)h(that)h(w)o(ord)f(as)h(w)o(ell.)0
1683 y Fq(upcase-word)f(\(M-u\))240 1746 y Fr(Upp)q(ercase)h(the)e
(curren)o(t)h(\(or)f(follo)o(wing\))h(w)o(ord.)k(With)c(a)f(negativ)o
(e)h(argumen)o(t,)f(do)g(the)h(previous)240 1808 y(w)o(ord,)g(but)h(do)
h(not)e(mo)o(v)o(e)h(the)g(cursor.)0 1898 y Fq(downcase-word)e(\(M-l\))
240 1960 y Fr(Lo)o(w)o(ercase)g(the)i(curren)o(t)f(\(or)f(follo)o
(wing\))h(w)o(ord.)19 b(With)14 b(a)g(negativ)o(e)g(argumen)o(t,)f(do)h
(the)g(previous)240 2022 y(w)o(ord,)g(but)h(do)h(not)e(mo)o(v)o(e)h
(the)g(cursor.)0 2112 y Fq(capitalize-word)e(\(M-c\))240
2174 y Fr(Capitalize)j(the)e(curren)o(t)g(\(or)f(follo)o(wing\))i(w)o
(ord.)j(With)d(a)f(negativ)o(e)g(argumen)o(t,)f(do)h(the)g(previous)240
2236 y(w)o(ord,)g(but)h(do)h(not)e(mo)o(v)o(e)h(the)g(cursor.)0
2456 y Fk(1.4.4)30 b(Killing)15 b(And)h(Y)-5 b(anking)0
2608 y Fq(kill-line)14 b(\(C-k\))240 2670 y Fr(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.)p eop
15 16 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1205
b(15)0 183 y Fq(backward-kill-line)13 b(\(C-x)h(Rubout\))240
246 y Fr(Kill)j(bac)o(kw)o(ard)e(to)f(the)i(b)q(eginning)h(of)e(the)g
(line.)0 332 y Fq(unix-line-discard)e(\(C-u\))240 394
y Fr(Kill)j(bac)o(kw)o(ard)d(from)f(the)i(cursor)f(to)g(the)h(b)q
(eginning)i(of)d(the)g(curren)o(t)h(line.)21 b(Sa)o(v)o(e)13
b(the)h(killed)h(text)240 456 y(on)g(the)g(kill-ring.)0
543 y Fq(kill-whole-line)e(\(\))240 605 y Fr(Kill)18
b(all)f(c)o(haracters)e(on)h(the)g(curren)o(t)f(line,)j(no)e(matter)e
(where)i(the)g(cursor)g(is.)22 b(By)16 b(default,)h(this)240
667 y(is)f(un)o(b)q(ound.)0 753 y Fq(kill-word)e(\(M-d\))240
816 y Fr(Kill)j(from)d(the)h(cursor)g(to)f(the)h(end)g(of)g(the)g
(curren)o(t)f(w)o(ord,)g(or)g(if)i(b)q(et)o(w)o(een)f(w)o(ords,)f(to)g
(the)h(end)g(of)240 878 y(the)g(next)h(w)o(ord.)j(W)l(ord)c(b)q
(oundaries)h(are)f(the)g(same)g(as)g Fq(forward-word)p
Fr(.)0 964 y Fq(backward-kill-word)e(\(M-DEL\))240 1027
y Fr(Kill)k(the)f(w)o(ord)e(b)q(ehind)j(the)f(cursor.)j(W)l(ord)c(b)q
(oundaries)i(are)d(the)i(same)f(as)f Fq(backward-word)p
Fr(.)0 1113 y Fq(unix-word-rubout)f(\(C-w\))240 1175
y Fr(Kill)i(the)e(w)o(ord)f(b)q(ehind)j(the)f(cursor,)e(using)i(white)f
(space)h(as)e(a)h(w)o(ord)f(b)q(oundary)l(.)20 b(The)13
b(killed)i(text)240 1237 y(is)h(sa)o(v)o(ed)e(on)i(the)f(kill-ring.)0
1324 y Fq(delete-horizontal-space)d(\(\))240 1386 y Fr(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.)0 1472 y Fq(kill-region)e(\(\))
240 1535 y Fr(Kill)23 b(the)e(text)g(b)q(et)o(w)o(een)g(the)g(p)q(oin)o
(t)g(and)g(the)g Fl(mark)j Fr(\(sa)o(v)o(ed)c(cursor)g(p)q(osition.)38
b(This)22 b(text)e(is)240 1597 y(referred)15 b(to)g(as)g(the)g
Fl(region)p Fr(.)20 b(By)15 b(default,)h(this)g(command)f(is)g(un)o(b)q
(ound.)0 1683 y Fq(copy-region-as-kill)e(\(\))240 1745
y Fr(Cop)o(y)f(the)h(text)f(in)i(the)f(region)g(to)f(the)g(kill)j
(bu\013er,)e(so)f(y)o(ou)h(can)f(y)o(ank)h(it)g(righ)o(t)f(a)o(w)o(a)o
(y)l(.)18 b(By)13 b(default,)240 1808 y(this)j(command)f(is)g(un)o(b)q
(ound.)0 1894 y Fq(copy-backward-word)e(\(\))240 1956
y Fr(Cop)o(y)i(the)g(w)o(ord)f(b)q(efore)i(p)q(oin)o(t)g(to)e(the)h
(kill)j(bu\013er.)h(By)d(default,)f(this)h(command)f(is)h(un)o(b)q
(ound.)0 2043 y Fq(copy-forward-word)d(\(\))240 2105
y Fr(Cop)o(y)f(the)h(w)o(ord)f(follo)o(wing)h(p)q(oin)o(t)g(to)f(the)h
(kill)h(bu\013er.)19 b(By)13 b(default,)g(this)h(command)e(is)h(un)o(b)
q(ound.)0 2191 y Fq(yank)i(\(C-y\))240 2253 y Fr(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.)0 2340 y Fq(yank-pop)f(\(M-y\))240
2402 y Fr(Rotate)f(the)h(kill-ring,)i(and)e(y)o(ank)g(the)g(new)g(top.)
19 b(Y)l(ou)14 b(can)g(only)g(do)g(this)g(if)g(the)g(prior)g(command)
240 2464 y(is)i(y)o(ank)f(or)f(y)o(ank-p)q(op.)0 2670
y Fk(1.4.5)30 b(Sp)r(ecifying)15 b(Numeric)h(Argumen)n(ts)p
eop
16 17 bop 0 -58 a Fr(16)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fq(digit-argument)c(\(M-0,)i(M-1,)f(...)h(M--\))240
246 y Fr(Add)j(this)g(digit)h(to)e(the)h(argumen)o(t)e(already)i(accum)
o(ulating,)h(or)e(start)g(a)g(new)h(argumen)o(t.)26 b
Fq(M--)240 308 y Fr(starts)14 b(a)h(negativ)o(e)g(argumen)o(t.)0
403 y Fq(universal-argument)e(\(\))240 465 y Fr(This)f(is)h(another)e
(w)o(a)o(y)g(to)g(sp)q(ecify)i(an)f(argumen)o(t.)18 b(If)12
b(this)g(command)g(is)g(follo)o(w)o(ed)g(b)o(y)g(one)g(or)f(more)240
527 y(digits,)19 b(optionally)g(with)f(a)g(leading)h(min)o(us)f(sign,)h
(those)e(digits)i(de\014ne)g(the)f(argumen)o(t.)27 b(If)18
b(the)240 590 y(command)12 b(is)h(follo)o(w)o(ed)g(b)o(y)f(digits,)i
(executing)f Fq(universal-argument)d Fr(again)j(ends)g(the)f(n)o
(umeric)240 652 y(argumen)o(t,)i(but)h(is)g(otherwise)g(ignored.)20
b(As)15 b(a)f(sp)q(ecial)j(case,)d(if)h(this)g(command)g(is)g
(immediately)240 714 y(follo)o(w)o(ed)e(b)o(y)f(a)h(c)o(haracter)e
(that)h(is)h(neither)h(a)e(digit)i(or)e(min)o(us)h(sign,)g(the)g
(argumen)o(t)f(coun)o(t)g(for)g(the)240 776 y(next)i(command)g(is)h(m)o
(ultiplied)i(b)o(y)d(four.)19 b(The)c(argumen)o(t)e(coun)o(t)h(is)h
(initially)i(one,)d(so)g(executing)240 839 y(this)k(function)g(the)f
(\014rst)g(time)g(mak)o(es)g(the)g(argumen)o(t)g(coun)o(t)g(four,)g(a)g
(second)h(time)f(mak)o(es)g(the)240 901 y(argumen)o(t)d(coun)o(t)h
(sixteen,)h(and)f(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(.)0 1143 y Fk(1.4.6)30 b(Letting)14
b(Readline)h(T)n(yp)r(e)h(F)-5 b(or)14 b(Y)-5 b(ou)0
1301 y Fq(complete)14 b(\(TAB\))240 1363 y Fr(A)o(ttempt)i(to)h(do)g
(completion)i(on)e(the)g(text)g(b)q(efore)h(the)f(cursor.)26
b(This)18 b(is)g(application-sp)q(eci\014c.)240 1425
y(Generally)l(,)h(if)f(y)o(ou)f(are)h(t)o(yping)g(a)f(\014lename)i
(argumen)o(t,)e(y)o(ou)g(can)h(do)f(\014lename)i(completion;)g(if)240
1487 y(y)o(ou)f(are)f(t)o(yping)i(a)e(command,)i(y)o(ou)e(can)i(do)f
(command)g(completion,)h(if)g(y)o(ou)e(are)h(t)o(yping)g(in)h(a)240
1550 y(sym)o(b)q(ol)e(to)f(GDB,)g(y)o(ou)g(can)h(do)g(sym)o(b)q(ol)g
(name)g(completion,)h(if)f(y)o(ou)f(are)h(t)o(yping)g(in)g(a)g(v)m
(ariable)240 1612 y(to)e(Bash,)f(y)o(ou)h(can)h(do)f(v)m(ariable)h
(name)g(completion,)g(and)f(so)g(on.)0 1707 y Fq(possible-completions)d
(\(M-?\))240 1769 y Fr(List)k(the)f(p)q(ossible)i(completions)f(of)f
(the)g(text)g(b)q(efore)h(the)f(cursor.)0 1864 y Fq(insert-completions)
e(\(M-*\))240 1926 y Fr(Insert)22 b(all)h(completions)g(of)f(the)g
(text)f(b)q(efore)h(p)q(oin)o(t)h(that)e(w)o(ould)h(ha)o(v)o(e)g(b)q
(een)h(generated)f(b)o(y)240 1989 y Fq(possible-completions)p
Fr(.)0 2231 y Fk(1.4.7)30 b(Keyb)r(oard)15 b(Macros)0
2388 y Fq(start-kbd-macro)e(\(C-x)i(\(\))240 2451 y Fr(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.)0 2545 y Fq(end-kbd-macro)e(\(C-x)i(\)\))240
2608 y Fr(Stop)f(sa)o(ving)h(the)g(c)o(haracters)f(t)o(yp)q(ed)h(in)o
(to)f(the)h(curren)o(t)f(k)o(eyb)q(oard)h(macro)f(and)h(sa)o(v)o(e)f
(the)g(de\014ni-)240 2670 y(tion.)p eop
17 18 bop 0 -58 a Fr(Chapter)15 b(1:)k(Command)c(Line)i(Editing)1205
b(17)0 183 y Fq(call-last-kbd-macro)13 b(\(C-x)h(e\))240
246 y Fr(Re-execute)20 b(the)f(last)f(k)o(eyb)q(oard)g(macro)g
(de\014ned,)i(b)o(y)f(making)f(the)h(c)o(haracters)f(in)h(the)g(macro)
240 308 y(app)q(ear)c(as)g(if)h(t)o(yp)q(ed)f(at)g(the)g(k)o(eyb)q
(oard.)0 546 y Fk(1.4.8)30 b(Some)15 b(Miscellaneous)h(Commands)0
703 y Fq(re-read-init-file)d(\(C-x)h(C-r\))240 765 y
Fr(Read)23 b(in)h(the)e(con)o(ten)o(ts)g(of)h(the)f(inputrc)i(\014le,)h
(and)e(incorp)q(orate)g(an)o(y)f(bindings)i(or)f(v)m(ariable)240
827 y(assignmen)o(ts)15 b(found)h(there.)0 921 y Fq(abort)e(\(C-g\))240
984 y Fr(Ab)q(ort)f(the)h(curren)o(t)f(editing)i(command)e(and)h(ring)g
(the)f(terminal's)h(b)q(ell)h(\(sub)s(ject)f(to)e(the)i(setting)240
1046 y(of)h Fq(bell-style)p Fr(\).)0 1140 y Fq(do-uppercase-version)d
(\(M-a,)j(M-b,)f(M-)p Fl(x)p Fq(,)h Fj(:)8 b(:)g(:)n
Fq(\))240 1202 y Fr(If)16 b(the)f(meta\014ed)g(c)o(haracter)g
Fl(x)k Fr(is)c(lo)o(w)o(ercase,)g(run)h(the)f(command)g(that)g(is)h(b)q
(ound)g(to)f(the)g(corre-)240 1264 y(sp)q(onding)h(upp)q(ercase)h(c)o
(haracter.)0 1358 y Fq(prefix-meta)d(\(ESC\))240 1421
y Fr(Mak)o(e)g(the)g(next)h(c)o(haracter)f(that)g(y)o(ou)g(t)o(yp)q(e)h
(b)q(e)g(meta\014ed.)20 b(This)15 b(is)g(for)f(p)q(eople)i(without)e(a)
h(meta)240 1483 y(k)o(ey)l(.)20 b(T)o(yping)c(`)p Fq(ESC)e(f)p
Fr(')h(is)g(equiv)m(alen)o(t)i(to)e(t)o(yping)g(`)p Fq(M-f)p
Fr('.)0 1577 y Fq(undo)g(\(C-_,)f(C-x)h(C-u\))240 1639
y Fr(Incremen)o(tal)h(undo,)f(separately)h(remem)o(b)q(ered)g(for)e
(eac)o(h)h(line.)0 1733 y Fq(revert-line)f(\(M-r\))240
1796 y Fr(Undo)20 b(all)h(c)o(hanges)f(made)g(to)f(this)i(line.)35
b(This)21 b(is)f(lik)o(e)h(t)o(yping)f(the)g Fq(undo)g
Fr(command)g(enough)240 1858 y(times)15 b(to)g(get)g(bac)o(k)g(to)f
(the)i(b)q(eginning.)0 1952 y Fq(tilde-expand)e(\(M-~\))240
2014 y Fr(P)o(erform)g(tilde)j(expansion)f(on)f(the)g(curren)o(t)g(w)o
(ord.)0 2108 y Fq(set-mark)f(\(C-@\))240 2171 y Fr(Set)i(the)g(mark)f
(to)g(the)h(curren)o(t)g(p)q(oin)o(t.)23 b(If)16 b(a)f(n)o(umeric)i
(argumen)o(t)e(is)i(supplied,)h(the)e(mark)f(is)h(set)240
2233 y(to)f(that)f(p)q(osition.)0 2327 y Fq(exchange-point-and-mark)e
(\(C-x)j(C-x\))240 2389 y Fr(Sw)o(ap)e(the)g(p)q(oin)o(t)h(with)f(the)g
(mark.)19 b(The)13 b(curren)o(t)g(cursor)g(p)q(osition)h(is)g(set)f(to)
f(the)i(sa)o(v)o(ed)e(p)q(osition,)240 2451 y(and)j(the)h(old)f(cursor)
g(p)q(osition)i(is)e(sa)o(v)o(ed)g(as)g(the)g(mark.)0
2545 y Fq(character-search)e(\(C-]\))240 2608 y Fr(A)19
b(c)o(haracter)e(is)j(read)e(and)h(p)q(oin)o(t)g(is)g(mo)o(v)o(ed)f(to)
g(the)g(next)h(o)q(ccurrence)h(of)e(that)g(c)o(haracter.)29
b(A)240 2670 y(negativ)o(e)15 b(coun)o(t)g(searc)o(hes)g(for)g
(previous)h(o)q(ccurrences.)p eop
18 19 bop 0 -58 a Fr(18)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fq(character-search-backward)12 b(\(M-C-]\))240
246 y Fr(A)i(c)o(haracter)f(is)h(read)g(and)f(p)q(oin)o(t)i(is)f(mo)o
(v)o(ed)f(to)g(the)h(previous)g(o)q(ccurrence)h(of)e(that)g(c)o
(haracter.)19 b(A)240 308 y(negativ)o(e)c(coun)o(t)g(searc)o(hes)g(for)
g(subsequen)o(t)h(o)q(ccurrences.)0 395 y Fq(insert-comment)d(\(M-#\))
240 457 y Fr(The)19 b(v)m(alue)g(of)f(the)g Fq(comment-begin)f
Fr(v)m(ariable)i(is)g(inserted)g(at)f(the)g(b)q(eginning)j(of)d(the)g
(curren)o(t)240 519 y(line,)e(and)g(the)f(line)i(is)f(accepted)g(as)e
(if)i(a)f(newline)i(had)e(b)q(een)i(t)o(yp)q(ed.)0 607
y Fq(dump-functions)c(\(\))240 669 y Fr(Prin)o(t)18 b(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.)28 b(If)18 b(a)240 731 y(n)o(umeric)i(argumen)o(t)d
(is)i(supplied,)j(the)d(output)f(is)h(formatted)f(in)h(suc)o(h)g(a)f(w)
o(a)o(y)g(that)g(it)h(can)f(b)q(e)240 793 y(made)d(part)g(of)g(an)g
Fl(inputrc)k Fr(\014le.)i(This)15 b(command)g(is)h(un)o(b)q(ound)h(b)o
(y)e(default.)0 881 y Fq(dump-variables)e(\(\))240 943
y Fr(Prin)o(t)j(all)h(of)f(the)h(settable)f(v)m(ariables)i(and)e(their)
h(v)m(alues)g(to)f(the)g(readline)i(output)e(stream.)23
b(If)16 b(a)240 1005 y(n)o(umeric)k(argumen)o(t)d(is)i(supplied,)j(the)
d(output)f(is)h(formatted)f(in)h(suc)o(h)g(a)f(w)o(a)o(y)g(that)g(it)h
(can)f(b)q(e)240 1067 y(made)d(part)g(of)g(an)g Fl(inputrc)k
Fr(\014le.)i(This)15 b(command)g(is)h(un)o(b)q(ound)h(b)o(y)e(default.)
0 1155 y Fq(dump-macros)f(\(\))240 1217 y Fr(Prin)o(t)h(all)g(of)g(the)
f(readline)j(k)o(ey)d(sequences)i(b)q(ound)g(to)e(macros)g(and)h(the)f
(strings)h(they)g(ouput.)20 b(If)240 1279 y(a)c(n)o(umeric)h(argumen)o
(t)e(is)i(supplied,)h(the)e(output)g(is)g(formatted)f(in)i(suc)o(h)g(a)
e(w)o(a)o(y)g(that)h(it)g(can)g(b)q(e)240 1341 y(made)f(part)g(of)g(an)
g Fl(inputrc)k Fr(\014le.)i(This)15 b(command)g(is)h(un)o(b)q(ound)h(b)
o(y)e(default.)0 1566 y Fp(1.5)33 b(Readline)16 b(vi)g(Mo)r(de)62
1703 y Fr(While)d(the)f(Readline)i(library)e(do)q(es)g(not)g(ha)o(v)o
(e)f(a)g(full)i(set)f(of)f Fq(vi)g Fr(editing)i(functions,)g(it)f(do)q
(es)g(con)o(tain)g(enough)0 1765 y(to)f(allo)o(w)i(simple)g(editing)g
(of)f(the)g(line.)20 b(The)13 b(Readline)h Fq(vi)d Fr(mo)q(de)i(b)q
(eha)o(v)o(es)f(as)g(sp)q(eci\014ed)i(in)e(the)h Fm(POSIX)f
Fr(1003.2)0 1827 y(standard.)62 1964 y(In)17 b(order)e(to)g(switc)o(h)h
(in)o(teractiv)o(ely)h(b)q(et)o(w)o(een)f Fq(emacs)f
Fr(and)h Fq(vi)f Fr(editing)i(mo)q(des,)f(use)g(the)g(command)f(M-C-j)0
2026 y(\(toggle-editing-mo)q(de\).)21 b(The)15 b(Readline)j(default)e
(is)f Fq(emacs)g Fr(mo)q(de.)62 2163 y(When)k(y)o(ou)f(en)o(ter)g(a)g
(line)i(in)g Fq(vi)e Fr(mo)q(de,)h(y)o(ou)f(are)g(already)g(placed)i
(in)f(`insertion')g(mo)q(de,)g(as)f(if)h(y)o(ou)f(had)0
2226 y(t)o(yp)q(ed)e(an)f(`)p Fq(i)p Fr('.)20 b(Pressing)c
Fq(ESC)f Fr(switc)o(hes)h(y)o(ou)f(in)o(to)h(`command')f(mo)q(de,)g
(where)h(y)o(ou)f(can)h(edit)g(the)g(text)f(of)g(the)0
2288 y(line)j(with)e(the)h(standard)e Fq(vi)h Fr(mo)o(v)o(emen)o(t)f(k)
o(eys,)h(mo)o(v)o(e)g(to)f(previous)i(history)f(lines)i(with)f(`)p
Fq(k)p Fr(')e(and)h(subsequen)o(t)0 2350 y(lines)h(with)e(`)p
Fq(j)p Fr(',)f(and)i(so)e(forth.)p eop
19 20 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(19)0 183 y Fn(2)41 b(Programming)16 b(with)f(GNU)h
(Readline)62 394 y Fr(This)j(c)o(hapter)f(describ)q(es)i(the)e(in)o
(terface)g(b)q(et)o(w)o(een)h(the)f(GNU)g(Readline)j(Library)d(and)h
(other)f(programs.)0 456 y(If)h(y)o(ou)g(are)f(a)h(programmer,)f(and)i
(y)o(ou)e(wish)i(to)e(include)j(the)e(features)g(found)g(in)h(GNU)f
(Readline)i(suc)o(h)e(as)0 518 y(completion,)f(line)h(editing,)f(and)f
(in)o(teractiv)o(e)h(history)f(manipulation)h(in)g(y)o(our)f(o)o(wn)f
(programs,)g(this)h(section)0 581 y(is)f(for)e(y)o(ou.)0
848 y Fp(2.1)33 b(Basic)14 b(Beha)n(vior)62 989 y Fr(Man)o(y)c
(programs)g(pro)o(vide)h(a)g(command)f(line)j(in)o(terface,)e(suc)o(h)g
(as)g Fq(mail)p Fr(,)f Fq(ftp)p Fr(,)h(and)g Fq(sh)p
Fr(.)18 b(F)l(or)10 b(suc)o(h)i(programs,)0 1052 y(the)17
b(default)h(b)q(eha)o(viour)g(of)e(Readline)k(is)e(su\016cien)o(t.)26
b(This)18 b(section)f(describ)q(es)i(ho)o(w)e(to)f(use)i(Readline)h(in)
f(the)0 1114 y(simplest)e(w)o(a)o(y)e(p)q(ossible,)j(p)q(erhaps)f(to)e
(replace)j(calls)f(in)g(y)o(our)f(co)q(de)g(to)g Fq(gets\(\))f
Fr(or)h Fq(fgets)f(\(\))p Fr(.)62 1256 y(The)g(function)g
Fq(readline)g(\(\))f Fr(prin)o(ts)h(a)f(prompt)g(and)h(then)g(reads)f
(and)g(returns)h(a)f(single)i(line)g(of)e(text)g(from)0
1318 y(the)g(user.)19 b(The)13 b(line)i Fq(readline)d
Fr(returns)g(is)i(allo)q(cated)g(with)f Fq(malloc)h(\(\))p
Fr(;)f(y)o(ou)g(should)h Fq(free)g(\(\))f Fr(the)g(line)h(when)0
1380 y(y)o(ou)h(are)g(done)g(with)h(it.)k(The)15 b(declaration)h(for)f
Fq(readline)f Fr(in)i(ANSI)g(C)f(is)120 1512 y Fq(char)23
b(*readline)g(\(char)g(*)p Fl(prompt)q Fq(\);)0 1653
y Fr(So,)15 b(one)g(migh)o(t)g(sa)o(y)120 1785 y Fq(char)23
b(*line)g(=)h(readline)f(\("Enter)g(a)h(line:)f("\);)0
1927 y Fr(in)17 b(order)g(to)f(read)g(a)g(line)j(of)d(text)g(from)g
(the)g(user.)24 b(The)17 b(line)h(returned)f(has)g(the)f(\014nal)i
(newline)g(remo)o(v)o(ed,)e(so)0 1989 y(only)g(the)f(text)g(remains.)62
2131 y(If)g Fq(readline)f Fr(encoun)o(ters)h(an)f Fq(EOF)h
Fr(while)h(reading)f(the)g(line,)h(and)f(the)g(line)h(is)f(empt)o(y)g
(at)f(that)g(p)q(oin)o(t,)h(then)0 2193 y Fq(\(char)f(*\)NULL)h
Fr(is)h(returned.)k(Otherwise,)15 b(the)h(line)h(is)e(ended)i(just)d
(as)h(if)h(a)f(newline)i(had)e(b)q(een)i(t)o(yp)q(ed.)62
2335 y(If)g(y)o(ou)g(w)o(an)o(t)f(the)h(user)g(to)f(b)q(e)i(able)f(to)g
(get)f(at)g(the)h(line)i(later,)e(\(with)g Fq(C-P)f Fr(for)g
(example\),)i(y)o(ou)e(m)o(ust)h(call)0 2397 y Fq(add_history)d(\(\))h
Fr(to)f(sa)o(v)o(e)h(the)g(line)i(a)o(w)o(a)o(y)c(in)j(a)f
Fl(history)k Fr(list)d(of)f(suc)o(h)h(lines.)120 2528
y Fq(add_history)22 b(\(line\);)0 2670 y Fr(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.)p eop
20 21 bop 0 -58 a Fr(20)1449 b(GNU)15 b(Readline)i(Library)62
183 y(It)e(is)g(preferable)g(to)f(a)o(v)o(oid)g(sa)o(ving)h(empt)o(y)f
(lines)i(on)f(the)f(history)h(list,)g(since)g(users)g(rarely)g(ha)o(v)o
(e)f(a)g(burning)0 246 y(need)i(to)e(reuse)h(a)f(blank)i(line.)21
b(Here)15 b(is)g(a)g(function)g(whic)o(h)h(usefully)g(replaces)g(the)f
(standard)f Fq(gets)h(\(\))f Fr(library)0 308 y(function,)i(and)f(has)g
(the)g(adv)m(an)o(tage)g(of)g(no)g(static)g(bu\013er)g(to)g(o)o(v)o
(er\015o)o(w:)120 445 y Fq(/*)24 b(A)f(static)g(variable)g(for)h
(holding)e(the)i(line.)f(*/)120 497 y(static)g(char)g(*line_read)g(=)h
(\(char)f(*\)NULL;)120 601 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(*/)120
653 y(char)f(*)120 705 y(rl_gets)g(\(\))120 757 y({)168
809 y(/*)g(If)h(the)f(buffer)g(has)h(already)f(been)g(allocated,)g
(return)g(the)g(memory)239 861 y(to)h(the)f(free)h(pool.)f(*/)168
912 y(if)g(\(line_read\))215 964 y({)263 1016 y(free)g(\(line_read\);)
263 1068 y(line_read)g(=)h(\(char)f(*\)NULL;)215 1120
y(})168 1224 y(/*)g(Get)h(a)f(line)h(from)f(the)h(user.)f(*/)168
1276 y(line_read)f(=)i(readline)f(\(""\);)168 1379 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
(*/)168 1431 y(if)g(\(line_read)g(&&)g(*line_read\))215
1483 y(add_history)g(\(line_read\);)168 1587 y(return)g(\(line_read\);)
120 1639 y(})62 1787 y Fr(This)15 b(function)g(giv)o(es)f(the)g(user)g
(the)g(default)h(b)q(eha)o(viour)g(of)e Fq(TAB)h Fr(completion:)20
b(completion)15 b(on)f(\014le)h(names.)0 1849 y(If)h(y)o(ou)f(do)h(not)
f(w)o(an)o(t)g(Readline)j(to)d(complete)i(on)e(\014lenames,)i(y)o(ou)e
(can)h(c)o(hange)g(the)g(binding)i(of)d(the)h Fq(TAB)f
Fr(k)o(ey)0 1912 y(with)h Fq(rl_bind_key)d(\(\))p Fr(.)120
2049 y Fq(int)23 b(rl_bind_key)g(\(int)g Fl(k)o(ey)p
Fq(,)h(int)f(\(*)p Fl(function)p Fq(\)\(\)\);)62 2197
y(rl_bind_key)14 b(\(\))f Fr(tak)o(es)g(t)o(w)o(o)f(argumen)o(ts:)19
b Fl(k)o(ey)e Fr(is)d(the)g(c)o(haracter)f(that)g(y)o(ou)g(w)o(an)o(t)f
(to)h(bind,)i(and)f Fl(function)0 2260 y Fr(is)g(the)g(address)g(of)f
(the)h(function)g(to)f(call)i(when)f Fl(k)o(ey)j Fr(is)d(pressed.)20
b(Binding)c Fq(TAB)d Fr(to)g Fq(rl_insert)h(\(\))f Fr(mak)o(es)g
Fq(TAB)0 2322 y Fr(insert)i(itself.)20 b Fq(rl_bind_key)14
b(\(\))g Fr(returns)g(non-zero)h(if)g Fl(k)o(ey)j Fr(is)d(not)f(a)g(v)m
(alid)i(ASCI)q(I)f(c)o(haracter)f(co)q(de)h(\(b)q(et)o(w)o(een)0
2384 y(0)g(and)g(255\).)62 2532 y(Th)o(us,)g(to)g(disable)h(the)g
(default)f Fq(TAB)g Fr(b)q(eha)o(vior,)h(the)f(follo)o(wing)h
(su\016ces:)120 2670 y Fq(rl_bind_key)22 b(\('\\t',)h(rl_insert\);)p
eop
21 22 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(21)62 183 y(This)12 b(co)q(de)f(should)h(b)q(e)f
(executed)h(once)f(at)f(the)h(start)f(of)g(y)o(our)g(program;)h(y)o(ou)
g(migh)o(t)f(write)h(a)g(function)g(called)0 246 y Fq
(initialize_readline)i(\(\))j Fr(whic)o(h)h(p)q(erforms)f(this)h(and)f
(other)g(desired)i(initializations,)h(suc)o(h)e(as)f(installing)0
308 y(custom)f(completers)g(\(see)h(Section)g(2.5)e([Custom)g
(Completers],)h(page)g(34\).)0 562 y Fp(2.2)33 b(Custom)14
b(F)-6 b(unctions)62 702 y Fr(Readline)18 b(pro)o(vides)f(man)o(y)e
(functions)i(for)e(manipulating)j(the)e(text)f(of)g(the)h(line,)i(but)e
(it)g(isn't)g(p)q(ossible)i(to)0 765 y(an)o(ticipate)i(the)g(needs)g
(of)f(all)h(programs.)31 b(This)20 b(section)g(describ)q(es)h(the)f(v)m
(arious)g(functions)g(and)g(v)m(ariables)0 827 y(de\014ned)c(within)f
(the)g(Readline)i(library)e(whic)o(h)g(allo)o(w)g(a)f(user)g(program)f
(to)h(add)h(customized)g(functionalit)o(y)h(to)0 889
y(Readline.)0 1127 y Fk(2.2.1)30 b(The)15 b(F)-5 b(unction)14
b(T)n(yp)r(e)62 1267 y Fr(F)l(or)j(readabilt)o(y)l(,)h(w)o(e)f(declare)
i(a)e(new)g(t)o(yp)q(e)h(of)f(ob)s(ject,)f(called)j Fl(F)l(unction)p
Fr(.)28 b(A)17 b Fq(Function)f Fr(is)i(a)f(C)g(function)0
1329 y(whic)o(h)f(returns)f(an)g Fq(int)p Fr(.)20 b(The)15
b(t)o(yp)q(e)g(declaration)h(for)f Fq(Function)f Fr(is:)0
1470 y Fq(typedef)g(int)h(Function)f(\(\);)62 1610 y
Fr(The)i(reason)f(for)g(declaring)i(this)f(new)g(t)o(yp)q(e)f(is)h(to)f
(mak)o(e)g(it)h(easier)g(to)f(write)g(co)q(de)h(describing)i(p)q(oin)o
(ters)e(to)0 1672 y(C)g(functions.)25 b(Let)17 b(us)f(sa)o(y)g(w)o(e)g
(had)h(a)f(v)m(ariable)i(called)g Fl(func)i Fr(whic)o(h)d(w)o(as)f(a)g
(p)q(oin)o(ter)h(to)f(a)g(function.)25 b(Instead)0 1735
y(of)15 b(the)g(classic)h(C)f(declaration)62 1875 y Fq(int)g
(\(*\)\(\)func;)0 2015 y Fr(w)o(e)g(ma)o(y)f(write)62
2156 y Fq(Function)g(*func;)0 2296 y Fr(Similarly)l(,)j(there)e(are)120
2426 y Fq(typedef)23 b(void)g(VFunction)g(\(\);)120 2478
y(typedef)g(char)g(*CPFunction)g(\(\);)g Fr(and)120 2530
y Fq(typedef)g(char)g(**CPPFunction)f(\(\);)0 2670 y
Fr(for)12 b(functions)h(returning)g(no)g(v)m(alue,)g
Fq(pointer)i(to)g(char)p Fr(,)d(and)g Fq(pointer)i(to)h(pointer)g(to)f
(char)p Fr(,)e(resp)q(ectiv)o(ely)l(.)p eop
22 23 bop 0 -58 a Fr(22)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fk(2.2.2)30 b(W)-5 b(riting)15 b(a)g(New)g(F)-5
b(unction)62 325 y Fr(In)22 b(order)f(to)g(write)g(new)h(functions)g
(for)f(Readline,)j(y)o(ou)d(need)h(to)f(kno)o(w)g(the)g(calling)i(con)o
(v)o(en)o(tions)f(for)0 387 y(k)o(eyb)q(oard-in)o(v)o(ok)o(ed)17
b(functions,)g(and)f(the)h(names)f(of)g(the)h(v)m(ariables)h(that)d
(describ)q(e)j(the)f(curren)o(t)f(state)g(of)g(the)0
449 y(line)h(read)e(so)g(far.)62 591 y(The)h(calling)h(sequence)f(for)f
(a)f(command)i Fq(foo)e Fr(lo)q(oks)i(lik)o(e)120 722
y Fq(foo)23 b(\(int)h(count,)f(int)g(key\))0 864 y Fr(where)f
Fl(coun)o(t)g Fr(is)g(the)f(n)o(umeric)i(argumen)o(t)d(\(or)h(1)g(if)h
(defaulted\))g(and)f Fl(k)o(ey)26 b Fr(is)21 b(the)h(k)o(ey)f(that)g
(in)o(v)o(ok)o(ed)h(this)0 926 y(function.)62 1068 y(It)f(is)h
(completely)g(up)f(to)f(the)h(function)h(as)f(to)f(what)g(should)i(b)q
(e)g(done)f(with)g(the)g(n)o(umeric)h(argumen)o(t.)0
1130 y(Some)c(functions)g(use)g(it)g(as)f(a)h(rep)q(eat)g(coun)o(t,)f
(some)h(as)f(a)g(\015ag,)h(and)g(others)f(to)g(c)o(ho)q(ose)h
(alternate)f(b)q(eha)o(vior)0 1192 y(\(refreshing)12
b(the)g(curren)o(t)g(line)h(as)f(opp)q(osed)g(to)f(refreshing)i(the)f
(screen,)g(for)g(example\).)19 b(Some)12 b(c)o(ho)q(ose)f(to)h(ignore)0
1255 y(it.)24 b(In)17 b(general,)g(if)g(a)g(function)g(uses)g(the)g(n)o
(umeric)g(argumen)o(t)f(as)g(a)g(rep)q(eat)h(coun)o(t,)f(it)h(should)h
(b)q(e)f(able)g(to)f(do)0 1317 y(something)f(useful)g(with)g(b)q(oth)f
(negativ)o(e)h(and)f(p)q(ositiv)o(e)i(argumen)o(ts.)i(A)o(t)c(the)h(v)o
(ery)f(least,)g(it)h(should)g(b)q(e)g(a)o(w)o(are)0 1379
y(that)f(it)i(can)f(b)q(e)h(passed)g(a)e(negativ)o(e)i(argumen)o(t.)0
1645 y Fp(2.3)33 b(Readline)16 b(V)-6 b(ariables)62 1787
y Fr(These)16 b(v)m(ariables)g(are)f(a)o(v)m(ailable)i(to)e(function)h
(writers.)1736 1963 y(V)l(ariable)-1899 b Fi(char)20
b(*)f Fh(rl)p 211 1963 18 3 v 21 w(line)p 320 1963 V
23 w(bu\013er)120 2025 y Fr(This)f(is)g(the)f(line)i(gathered)e(so)g
(far.)25 b(Y)l(ou)18 b(are)f(w)o(elcome)g(to)g(mo)q(dify)h(the)f(con)o
(ten)o(ts)g(of)f(the)i(line,)120 2087 y(but)d(see)h(Section)g(2.4.5)d
([Allo)o(wing)k(Undoing],)e(page)g(28.)1736 2263 y(V)l(ariable)-1899
b Fi(int)20 b Fh(rl)p 140 2263 V 21 w(p)r(oin)n(t)120
2325 y Fr(The)15 b(o\013set)g(of)f(the)i(curren)o(t)f(cursor)g(p)q
(osition)h(in)g Fq(rl_line_buffer)d Fr(\(the)i Fl(p)q(oin)o(t)q
Fr(\).)1736 2501 y(V)l(ariable)-1899 b Fi(int)20 b Fh(rl)p
140 2501 V 21 w(end)120 2563 y Fr(The)d(n)o(um)o(b)q(er)f(of)g(c)o
(haracters)g(presen)o(t)g(in)h Fq(rl_line_buffer)p Fr(.)k(When)c
Fq(rl_point)e Fr(is)i(at)f(the)g(end)120 2626 y(of)f(the)g(line,)i
Fq(rl_point)d Fr(and)h Fq(rl_end)f Fr(are)h(equal.)p
eop
23 24 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(23)1736 183 y(V)l(ariable)-1899 b Fi(int)20
b Fh(rl)p 140 183 18 3 v 21 w(mark)120 246 y Fr(The)h(mark)e(\(sa)o(v)o
(ed)h(p)q(osition\))h(in)g(the)f(curren)o(t)h(line.)37
b(If)20 b(set,)h(the)g(mark)e(and)i(p)q(oin)o(t)g(de\014ne)g(a)120
308 y Fl(region)p Fr(.)1736 473 y(V)l(ariable)-1899 b
Fi(int)20 b Fh(rl)p 140 473 V 21 w(done)120 536 y Fr(Setting)13
b(this)h(to)f(a)f(non-zero)i(v)m(alue)g(causes)f(Readline)j(to)c
(return)h(the)h(curren)o(t)f(line)h(immediately)l(.)1736
701 y(V)l(ariable)-1899 b Fi(int)20 b Fh(rl)p 140 701
V 21 w(p)r(ending)p 361 701 V 20 w(input)120 764 y Fr(Setting)15
b(this)f(to)g(a)g(v)m(alue)i(mak)o(es)d(it)i(the)f(next)h(k)o(eystrok)o
(e)e(read.)19 b(This)c(is)g(a)f(w)o(a)o(y)f(to)h(stu\013)g(a)g(single)
120 826 y(c)o(haracter)g(in)o(to)i(the)f(input)h(stream.)1736
991 y(V)l(ariable)-1899 b Fi(char)20 b(*)f Fh(rl)p 211
991 V 21 w(prompt)120 1054 y Fr(The)c(prompt)e(Readline)k(uses.)j(This)
15 b(is)f(set)h(from)e(the)h(argumen)o(t)g(to)g Fq(readline)g(\(\))p
Fr(,)f(and)i(should)120 1116 y(not)g(b)q(e)h(assigned)f(to)g(directly)l
(.)1736 1282 y(V)l(ariable)-1899 b Fi(char)20 b(*)f Fh(rl)p
211 1282 V 21 w(library)p 400 1282 V 22 w(v)n(ersion)120
1344 y Fr(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(.)1736 1509 y(V)l(ariable)-1899
b Fi(char)20 b(*)f Fh(rl)p 211 1509 V 21 w(terminal)p
443 1509 V 21 w(name)120 1572 y Fr(The)c(terminal)h(t)o(yp)q(e,)f(used)
h(for)f(initialization.)1736 1737 y(V)l(ariable)-1899
b Fi(char)20 b(*)f Fh(rl)p 211 1737 V 21 w(readline)p
430 1737 V 22 w(name)120 1800 y Fr(This)f(v)m(ariable)h(is)f(set)f(to)g
(a)g(unique)i(name)f(b)o(y)f(eac)o(h)h(application)h(using)f(Readline.)
29 b(The)18 b(v)m(alue)120 1862 y(allo)o(ws)f(conditional)h(parsing)f
(of)f(the)g(inputrc)i(\014le)f(\(see)g(Section)g(1.3.2)e([Conditional)j
(Init)f(Con-)120 1924 y(structs],)d(page)h(8\).)1736
2090 y(V)l(ariable)-1899 b Fi(FILE)20 b(*)f Fh(rl)p 211
2090 V 21 w(instream)120 2152 y Fr(The)c(stdio)h(stream)e(from)h(whic)o
(h)h(Readline)h(reads)e(input.)1736 2318 y(V)l(ariable)-1899
b Fi(FILE)20 b(*)f Fh(rl)p 211 2318 V 21 w(outstream)120
2380 y Fr(The)c(stdio)h(stream)e(to)h(whic)o(h)h(Readline)h(p)q
(erforms)e(output.)1736 2545 y(V)l(ariable)-1899 b Fi(Function)20
b(*)g Fh(rl)p 316 2545 V 21 w(startup)p 520 2545 V 20
w(ho)r(ok)120 2608 y Fr(If)13 b(non-zero,)h(this)f(is)h(the)f(address)g
(of)g(a)f(function)i(to)f(call)h(just)f(b)q(efore)g Fq(readline)f
Fr(prin)o(ts)h(the)g(\014rst)120 2670 y(prompt.)p eop
24 25 bop 0 -58 a Fr(24)1449 b(GNU)15 b(Readline)i(Library)1736
183 y(V)l(ariable)-1899 b Fi(Function)20 b(*)g Fh(rl)p
316 183 18 3 v 21 w(ev)n(en)n(t)p 469 183 V 22 w(ho)r(ok)120
246 y Fr(If)13 b(non-zero,)f(this)h(is)g(the)g(address)f(of)g(a)g
(function)h(to)f(call)i(p)q(erio)q(dically)h(when)e(readline)h(is)f(w)o
(aiting)120 308 y(for)i(terminal)h(input.)1736 471 y(V)l(ariable)-1899
b Fi(Function)20 b(*)g Fh(rl)p 316 471 V 21 w(getc)p
439 471 V 21 w(function)120 533 y Fr(If)c(non-zero,)h
Fq(readline)d Fr(will)k(call)f(indirectly)i(through)c(this)i(p)q(oin)o
(ter)g(to)e(get)h(a)f(c)o(haracter)h(from)120 595 y(the)k(input)h
(stream.)33 b(By)20 b(default,)i(it)e(is)g(set)g(to)g
Fq(rl_getc)p Fr(,)f(the)h(default)h Fq(readline)e Fr(c)o(haracter)120
657 y(input)d(function)g(\(see)f(Section)h(2.4.8)e([Utilit)o(y)i(F)l
(unctions],)f(page)g(31\).)1736 820 y(V)l(ariable)-1899
b Fi(VFunction)20 b(*)g Fh(rl)p 342 820 V 21 w(redispla)n(y)p
586 820 V 22 w(function)120 883 y Fr(If)f(non-zero,)h
Fq(readline)e Fr(will)i(call)g(indirectly)i(through)c(this)i(p)q(oin)o
(ter)f(to)f(up)q(date)i(the)f(displa)o(y)120 945 y(with)d(the)g(curren)
o(t)f(con)o(ten)o(ts)g(of)h(the)f(editing)i(bu\013er.)22
b(By)15 b(default,)h(it)g(is)h(set)e(to)g Fq(rl_redisplay)p
Fr(,)120 1007 y(the)g(default)h Fq(readline)e Fr(redispla)o(y)i
(function)g(\(see)g(Section)g(2.4.6)d([Redispla)o(y],)j(page)f(29\).)
1736 1170 y(V)l(ariable)-1899 b Fi(Keymap)20 b Fh(rl)p
218 1170 V 21 w(executing)p 476 1170 V 22 w(k)n(eymap)120
1232 y Fr(This)15 b(v)m(ariable)h(is)f(set)g(to)f(the)g(k)o(eymap)h
(\(see)f(Section)i(2.4.2)d([Keymaps],)h(page)g(25\))g(in)h(whic)o(h)h
(the)120 1294 y(curren)o(tly)g(executing)g(readline)h(function)f(w)o
(as)e(found.)1736 1457 y(V)l(ariable)-1899 b Fi(Keymap)20
b Fh(rl)p 218 1457 V 21 w(binding)p 426 1457 V 22 w(k)n(eymap)120
1520 y Fr(This)15 b(v)m(ariable)h(is)f(set)g(to)f(the)g(k)o(eymap)h
(\(see)f(Section)i(2.4.2)d([Keymaps],)h(page)g(25\))g(in)h(whic)o(h)h
(the)120 1582 y(last)f(k)o(ey)g(binding)i(o)q(ccurred.)0
1809 y Fp(2.4)33 b(Readline)16 b(Con)n(v)n(enience)g(F)-6
b(unctions)0 2019 y Fk(2.4.1)30 b(Naming)15 b(a)g(F)-5
b(unction)62 2157 y Fr(The)19 b(user)f(can)g(dynamically)i(c)o(hange)e
(the)g(bindings)i(of)e(k)o(eys)f(while)j(using)f(Readline.)30
b(This)19 b(is)g(done)f(b)o(y)0 2219 y(represen)o(ting)f(the)g
(function)h(with)f(a)g(descriptiv)o(e)h(name.)25 b(The)17
b(user)g(is)g(able)h(to)e(t)o(yp)q(e)h(the)g(descriptiv)o(e)h(name)0
2281 y(when)e(referring)f(to)g(the)g(function.)21 b(Th)o(us,)14
b(in)j(an)e(init)h(\014le,)g(one)f(migh)o(t)g(\014nd)120
2408 y Fq(Meta-Rubout:)46 b(backward-kill-word)62 2545
y Fr(This)21 b(binds)f(the)g(k)o(eystrok)o(e)f Fq(META-RUBOUT)f
Fr(to)h(the)h(function)g Fl(descriptiv)o(ely)26 b Fr(named)20
b Fq(backward-kill-)0 2608 y(word)p Fr(.)j(Y)l(ou,)16
b(as)g(the)g(programmer,)f(should)i(bind)h(the)e(functions)i(y)o(ou)d
(write)i(to)e(descriptiv)o(e)j(names)e(as)g(w)o(ell.)0
2670 y(Readline)i(pro)o(vides)d(a)g(function)h(for)f(doing)g(that:)p
eop
25 26 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(25)1725 183 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 183 18 3 v 21 w(add)p 253 183 V 20 w(defun)i
Fg(\()p Fq(char)14 b(*name,)g(Function)g(*function,)g(int)h(key)p
Fg(\))120 246 y Fr(Add)20 b Fl(name)i Fr(to)d(the)h(list)g(of)f(named)h
(functions.)33 b(Mak)o(e)19 b Fl(function)i Fr(b)q(e)f(the)f(function)i
(that)d(gets)120 308 y(called.)j(If)16 b Fl(k)o(ey)j
Fr(is)d(not)e(-1,)h(then)h(bind)g(it)g(to)e Fl(function)i
Fr(using)g Fq(rl_bind_key)e(\(\))p Fr(.)62 471 y(Using)i(this)g
(function)g(alone)g(is)g(su\016cien)o(t)h(for)d(most)h(applications.)22
b(It)16 b(is)g(the)f(recommended)i(w)o(a)o(y)d(to)h(add)0
533 y(a)i(few)h(functions)g(to)f(the)h(default)g(functions)h(that)e
(Readline)j(has)d(built)i(in.)28 b(If)18 b(y)o(ou)g(need)g(to)f(do)h
(something)0 595 y(other)c(than)h(adding)h(a)e(function)i(to)e
(Readline,)j(y)o(ou)d(ma)o(y)g(need)i(to)e(use)h(the)g(underlying)h
(functions)g(describ)q(ed)0 658 y(b)q(elo)o(w.)0 869
y Fk(2.4.2)30 b(Selecting)15 b(a)g(Keymap)62 1006 y Fr(Key)k(bindings)i
(tak)o(e)c(place)j(on)e(a)g Fl(k)o(eymap)p Fr(.)30 b(The)18
b(k)o(eymap)h(is)g(the)f(asso)q(ciation)h(b)q(et)o(w)o(een)g(the)f(k)o
(eys)h(that)0 1069 y(the)g(user)g(t)o(yp)q(es)g(and)g(the)g(functions)g
(that)f(get)h(run.)30 b(Y)l(ou)20 b(can)e(mak)o(e)h(y)o(our)f(o)o(wn)g
(k)o(eymaps,)h(cop)o(y)g(existing)0 1131 y(k)o(eymaps,)14
b(and)i(tell)g(Readline)i(whic)o(h)e(k)o(eymap)f(to)f(use.)1725
1294 y(F)l(unction)-1899 b Fi(Keymap)20 b Fh(rl)p 218
1294 V 21 w(mak)n(e)p 370 1294 V 20 w(bare)p 500 1294
V 20 w(k)n(eymap)j Fg(\(\))120 1356 y Fr(Returns)14 b(a)f(new,)g(empt)o
(y)g(k)o(eymap.)19 b(The)14 b(space)f(for)g(the)h(k)o(eymap)f(is)g
(allo)q(cated)i(with)e Fq(malloc)i(\(\))p Fr(;)120 1419
y(y)o(ou)g(should)h Fq(free)f(\(\))g Fr(it)g(when)h(y)o(ou)f(are)f
(done.)1725 1582 y(F)l(unction)-1899 b Fi(Keymap)20 b
Fh(rl)p 218 1582 V 21 w(cop)n(y)p 353 1582 V 21 w(k)n(eymap)j
Fg(\()p Fq(Keymap)14 b(map)p Fg(\))120 1644 y Fr(Return)i(a)f(new)g(k)o
(eymap)g(whic)o(h)h(is)g(a)f(cop)o(y)g(of)g Fl(map)p
Fr(.)1725 1807 y(F)l(unction)-1899 b Fi(Keymap)20 b Fh(rl)p
218 1807 V 21 w(mak)n(e)p 370 1807 V 20 w(k)n(eymap)j
Fg(\(\))120 1869 y Fr(Return)c(a)f(new)h(k)o(eymap)f(with)h(the)f(prin)
o(ting)i(c)o(haracters)d(b)q(ound)j(to)e(rl)p 1407 1869
14 2 v 16 w(insert,)i(the)e(lo)o(w)o(ercase)120 1932
y(Meta)13 b(c)o(haracters)g(b)q(ound)h(to)f(run)h(their)g(equiv)m(alen)
o(ts,)i(and)d(the)h(Meta)f(digits)h(b)q(ound)h(to)e(pro)q(duce)120
1994 y(n)o(umeric)j(argumen)o(ts.)1725 2157 y(F)l(unction)-1899
b Fi(void)20 b Fh(rl)p 166 2157 18 3 v 21 w(discard)p
366 2157 V 21 w(k)n(eymap)i Fg(\()p Fq(Keymap)14 b(keymap)p
Fg(\))120 2219 y Fr(F)l(ree)h(the)h(storage)d(asso)q(ciated)j(with)f
Fl(k)o(eymap)p Fr(.)62 2382 y(Readline)20 b(has)d(sev)o(eral)h(in)o
(ternal)g(k)o(eymaps.)26 b(These)18 b(functions)g(allo)o(w)g(y)o(ou)f
(to)g(c)o(hange)g(whic)o(h)h(k)o(eymap)f(is)0 2445 y(activ)o(e.)1725
2608 y(F)l(unction)-1899 b Fi(Keymap)20 b Fh(rl)p 218
2608 V 21 w(get)p 316 2608 V 21 w(k)n(eymap)i Fg(\(\))120
2670 y Fr(Returns)16 b(the)f(curren)o(tly)h(activ)o(e)f(k)o(eymap.)p
eop
26 27 bop 0 -58 a Fr(26)1449 b(GNU)15 b(Readline)i(Library)1725
183 y(F)l(unction)-1899 b Fi(void)20 b Fh(rl)p 166 183
18 3 v 21 w(set)p 258 183 V 21 w(k)n(eymap)i Fg(\()p
Fq(Keymap)14 b(keymap)p Fg(\))120 246 y Fr(Mak)o(es)g
Fl(k)o(eymap)j Fr(the)e(curren)o(tly)h(activ)o(e)f(k)o(eymap.)1725
420 y(F)l(unction)-1899 b Fi(Keymap)20 b Fh(rl)p 218
420 V 21 w(get)p 316 420 V 21 w(k)n(eymap)p 530 420 V
20 w(b)n(y)p 610 420 V 21 w(name)i Fg(\()p Fq(char)14
b(*name)p Fg(\))120 482 y Fr(Return)19 b(the)g(k)o(eymap)f(matc)o(hing)
g Fl(name)p Fr(.)30 b Fl(name)21 b Fr(is)e(one)g(whic)o(h)g(w)o(ould)g
(b)q(e)g(supplied)i(in)e(a)f Fq(set)120 544 y(keymap)c
Fr(inputrc)j(line)f(\(see)g(Section)g(1.3)e([Readline)j(Init)f(File],)g
(page)f(5\).)1725 719 y(F)l(unction)-1899 b Fi(char)20
b(*)f Fh(rl)p 211 719 V 21 w(get)p 309 719 V 21 w(k)n(eymap)p
523 719 V 20 w(name)i Fg(\()p Fq(Keymap)14 b(keymap)p
Fg(\))120 781 y Fr(Return)19 b(the)g(name)f(matc)o(hing)h
Fl(k)o(eymap)p Fr(.)29 b Fl(name)21 b Fr(is)e(one)g(whic)o(h)g(w)o
(ould)g(b)q(e)g(supplied)i(in)e(a)f Fq(set)120 843 y(keymap)c
Fr(inputrc)j(line)f(\(see)g(Section)g(1.3)e([Readline)j(Init)f(File],)g
(page)f(5\).)0 1088 y Fk(2.4.3)30 b(Binding)15 b(Keys)62
1229 y Fr(Y)l(ou)h(asso)q(ciate)f(k)o(eys)f(with)i(functions)g(through)
e(the)i(k)o(eymap.)j(Readline)f(has)c(sev)o(eral)i(in)o(ternal)g(k)o
(eymaps:)0 1291 y Fq(emacs_standard_keymap)p Fr(,)i Fq
(emacs_meta_keymap)p Fr(,)g Fq(emacs_ctlx_keymap)p Fr(,)h
Fq(vi_movement_keymap)p Fr(,)f(and)0 1354 y Fq(vi_insertion_keymap)p
Fr(.)h Fq(emacs_standard_keymap)13 b Fr(is)k(the)f(default,)g(and)g
(the)g(examples)h(in)f(this)h(man)o(ual)0 1416 y(assume)e(that.)62
1557 y(These)h(functions)g(manage)e(k)o(ey)i(bindings.)1725
1731 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 1731
V 21 w(bind)p 272 1731 V 21 w(k)n(ey)k Fg(\()p Fq(int)14
b(key,)h(Function)f(*function)p Fg(\))120 1794 y Fr(Binds)i
Fl(k)o(ey)j Fr(to)14 b Fl(function)i Fr(in)g(the)f(curren)o(tly)h
(activ)o(e)f(k)o(eymap.)k(Returns)d(non-zero)f(in)h(the)f(case)g(of)120
1856 y(an)g(in)o(v)m(alid)j Fl(k)o(ey)p Fr(.)1725 2030
y(F)l(unction)-1899 b Fi(int)19 b Fh(rl)p 139 2030 V
21 w(bind)p 271 2030 V 21 w(k)n(ey)p 376 2030 V 21 w(in)p
444 2030 V 22 w(map)i Fg(\()p Fq(int)14 b(key,)h(Function)f(*function,)
g(Keymap)g(map)p Fg(\))120 2093 y Fr(Bind)i Fl(k)o(ey)j
Fr(to)c Fl(function)h Fr(in)g Fl(map)p Fr(.)k(Returns)15
b(non-zero)h(in)g(the)f(case)g(of)g(an)g(in)o(v)m(alid)j
Fl(k)o(ey)p Fr(.)1725 2267 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 2267 V 21 w(un)n(bind)p 334 2267 V 21 w(k)n(ey)k
Fg(\()p Fq(int)14 b(key)p Fg(\))120 2329 y Fr(Bind)h
Fl(k)o(ey)i Fr(to)c(the)h(n)o(ull)h(function)f(in)g(the)g(curren)o(tly)
g(activ)o(e)g(k)o(eymap.)19 b(Returns)14 b(non-zero)g(in)g(case)120
2391 y(of)h(error.)1725 2566 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 2566 V 21 w(un)n(bind)p 334 2566 V 21 w(k)n(ey)p
439 2566 V 21 w(in)p 507 2566 V 22 w(map)h Fg(\()p Fq(int)14
b(key,)h(Keymap)f(map)p Fg(\))120 2628 y Fr(Bind)i Fl(k)o(ey)j
Fr(to)c(the)g(n)o(ull)i(function)f(in)g Fl(map)p Fr(.)k(Returns)15
b(non-zero)h(in)g(case)f(of)g(error.)p eop
27 28 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(27)1725 183 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 183 18 3 v 21 w(generic)p 338 183 V 21
w(bind)j Fg(\()p Fq(int)15 b(type,)f(char)h(*keyseq,)f(char)h(*data,)f
(Keymap)208 246 y(map)p Fg(\))120 308 y Fr(Bind)j(the)f(k)o(ey)g
(sequence)h(represen)o(ted)f(b)o(y)g(the)g(string)g Fl(k)o(eyseq)g
Fr(to)g(the)f(arbitrary)h(p)q(oin)o(ter)g Fl(data)p Fr(.)120
370 y Fl(t)o(yp)q(e)j Fr(sa)o(ys)c(what)g(kind)i(of)f(data)f(is)i(p)q
(oin)o(ted)g(to)e(b)o(y)h Fl(data)p Fr(;)f(this)i(can)f(b)q(e)g(a)g
(function)h(\()p Fq(ISFUNC)p Fr(\),)d(a)120 432 y(macro)i(\()p
Fq(ISMACR)p Fr(\),)f(or)i(a)f(k)o(eymap)g(\()p Fq(ISKMAP)p
Fr(\).)23 b(This)18 b(mak)o(es)e(new)h(k)o(eymaps)f(as)h(necessary)l(.)
25 b(The)120 495 y(initial)17 b(k)o(eymap)e(in)h(whic)o(h)g(to)f(do)g
(bindings)i(is)f Fl(map)p Fr(.)1725 683 y(F)l(unction)-1899
b Fi(int)20 b Fh(rl)p 140 683 V 21 w(parse)p 294 683
V 19 w(and)p 405 683 V 21 w(bind)j Fg(\()p Fq(char)14
b(*line)p Fg(\))120 745 y Fr(P)o(arse)i Fl(line)21 b
Fr(as)16 b(if)h(it)g(had)f(b)q(een)i(read)f(from)e(the)i
Fq(inputrc)f Fr(\014le)h(and)g(p)q(erform)f(an)o(y)h(k)o(ey)f(bindings)
120 808 y(and)f(v)m(ariable)i(assignmen)o(ts)e(found)h(\(see)f(Section)
h(1.3)e([Readline)j(Init)f(File],)g(page)f(5\).)1725
996 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 996
V 21 w(read)p 271 996 V 20 w(init)p 375 996 V 22 w(\014le)k
Fg(\()p Fq(char)14 b(*filename)p Fg(\))120 1059 y Fr(Read)19
b(k)o(eybindings)i(and)e(v)m(ariable)h(assignmen)o(ts)f(from)f
Fl(\014lename)k Fr(\(see)d(Section)g(1.3)f([Readline)120
1121 y(Init)e(File],)g(page)f(5\).)0 1409 y Fk(2.4.4)30
b(Asso)r(ciating)15 b(F)-5 b(unction)15 b(Names)g(and)g(Bindings)62
1554 y Fr(These)22 b(functions)g(allo)o(w)g(y)o(ou)f(to)f(\014nd)i(out)
f(what)g(k)o(eys)g(in)o(v)o(ok)o(e)h(named)f(functions)h(and)g(the)f
(functions)0 1617 y(in)o(v)o(ok)o(ed)15 b(b)o(y)h(a)e(particular)i(k)o
(ey)f(sequence.)1725 1805 y(F)l(unction)-1899 b Fi(Function)20
b(*)g Fh(rl)p 316 1805 V 21 w(named)p 504 1805 V 19 w(function)j
Fg(\()p Fq(char)14 b(*name)p Fg(\))120 1868 y Fr(Return)i(the)f
(function)h(with)g(name)f Fl(name)p Fr(.)1725 2056 y(F)l(unction)-1899
b Fi(Function)20 b(*)g Fh(rl)p 316 2056 V 21 w(function)p
542 2056 V 21 w(of)p 610 2056 V 19 w(k)n(eyseq)k Fg(\()p
Fq(char)15 b(*keyseq,)f(Keymap)g(map,)h(int)208 2118
y(*type)p Fg(\))120 2181 y Fr(Return)i(the)f(function)h(in)o(v)o(ok)o
(ed)g(b)o(y)f Fl(k)o(eyseq)i Fr(in)f(k)o(eymap)f Fl(map)p
Fr(.)23 b(If)16 b Fl(map)i Fr(is)f(NULL,)g(the)f(curren)o(t)120
2243 y(k)o(eymap)g(is)i(used.)25 b(If)17 b Fl(t)o(yp)q(e)i
Fr(is)e(not)g(NULL,)g(the)g(t)o(yp)q(e)g(of)f(the)h(ob)s(ject)f(is)h
(returned)g(in)h(it)f(\(one)f(of)120 2305 y Fq(ISFUNC)p
Fr(,)e Fq(ISKMAP)p Fr(,)g(or)h Fq(ISMACR)p Fr(\).)1725
2494 y(F)l(unction)-1899 b Fi(char)20 b(**)f Fh(rl)p
237 2494 V 21 w(in)n(v)n(oking)p 466 2494 V 23 w(k)n(eyseqs)k
Fg(\()p Fq(Function)14 b(*function)p Fg(\))120 2556 y
Fr(Return)19 b(an)e(arra)o(y)g(of)h(strings)f(represen)o(ting)i(the)f
(k)o(ey)g(sequences)h(used)f(to)f(in)o(v)o(ok)o(e)h Fl(function)h
Fr(in)120 2618 y(the)c(curren)o(t)g(k)o(eymap.)p eop
28 29 bop 0 -58 a Fr(28)1449 b(GNU)15 b(Readline)i(Library)1725
183 y(F)l(unction)-1899 b Fi(char)20 b(**)f Fh(rl)p 237
183 18 3 v 21 w(in)n(v)n(oking)p 466 183 V 23 w(k)n(eyseqs)p
675 183 V 21 w(in)p 743 183 V 22 w(map)i Fg(\()p Fq(Function)14
b(*function,)f(Keymap)208 246 y(map)p Fg(\))120 308 y
Fr(Return)19 b(an)e(arra)o(y)g(of)h(strings)f(represen)o(ting)i(the)f
(k)o(ey)g(sequences)h(used)f(to)f(in)o(v)o(ok)o(e)h Fl(function)h
Fr(in)120 370 y(the)c(k)o(eymap)g Fl(map)p Fr(.)1725
563 y(F)l(unction)-1899 b Fi(void)20 b Fh(rl)p 166 563
V 21 w(function)p 392 563 V 21 w(dump)r(er)g Fg(\()p
Fq(int)15 b(readable)p Fg(\))120 625 y Fr(Prin)o(t)i(the)g(readline)h
(function)g(names)f(and)g(the)g(k)o(ey)g(sequences)h(curren)o(tly)g(b)q
(ound)f(to)g(them)g(to)120 687 y Fq(rl_outstream)p Fr(.)j(If)c
Fl(readable)j Fr(is)d(non-zero,)g(the)g(list)g(is)g(formatted)f(in)i
(suc)o(h)f(a)f(w)o(a)o(y)g(that)g(it)h(can)120 750 y(b)q(e)g(made)f
(part)g(of)f(an)i Fq(inputrc)e Fr(\014le)i(and)f(re-read.)1725
942 y(F)l(unction)-1899 b Fi(void)20 b Fh(rl)p 166 942
V 21 w(list)p 262 942 V 22 w(funmap)p 475 942 V 18 w(names)h
Fg(\(\))120 1005 y Fr(Prin)o(t)15 b(the)g(names)h(of)e(all)j(bindable)g
(Readline)g(functions)f(to)f Fq(rl_outstream)p Fr(.)0
1305 y Fk(2.4.5)30 b(Allo)n(wing)16 b(Undoing)62 1452
y Fr(Supp)q(orting)f(the)f(undo)g(command)g(is)g(a)g(painless)h(thing,)
f(and)g(mak)o(es)f(y)o(our)h(functions)g(m)o(uc)o(h)g(more)f(useful.)0
1515 y(It)i(is)g(certainly)g(easy)f(to)g(try)g(something)h(if)g(y)o(ou)
f(kno)o(w)g(y)o(ou)g(can)h(undo)g(it.)20 b(I)15 b(could)g(use)g(an)f
(undo)h(function)h(for)0 1577 y(the)f(sto)q(c)o(k)g(mark)o(et.)62
1724 y(If)h(y)o(our)f(function)i(simply)g(inserts)f(text)f(once,)h(or)f
(deletes)h(text)f(once,)h(and)g(uses)g Fq(rl_insert_text)d(\(\))i
Fr(or)0 1786 y Fq(rl_delete_text)e(\(\))i Fr(to)g(do)g(it,)g(then)g
(undoing)i(is)e(already)h(done)f(for)g(y)o(ou)g(automatically)l(.)62
1934 y(If)h(y)o(ou)f(do)g(m)o(ultiple)i(insertions)f(or)f(m)o(ultiple)i
(deletions,)f(or)f(an)o(y)g(com)o(bination)h(of)f(these)g(op)q
(erations,)g(y)o(ou)0 1996 y(should)j(group)e(them)g(together)g(in)o
(to)g(one)h(op)q(eration.)24 b(This)17 b(is)g(done)g(with)g
Fq(rl_begin_undo_group)c(\(\))j Fr(and)0 2058 y Fq(rl_end_undo_group)d
(\(\))p Fr(.)62 2206 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:)120 2343 y Fq(enum)23 b(undo_code)g({)h
(UNDO_DELETE,)e(UNDO_INSERT,)g(UNDO_BEGIN,)g(UNDO_END)h(};)62
2490 y Fr(Notice)c(that)e Fq(UNDO_DELETE)f Fr(means)i(to)f(insert)i
(some)e(text,)h(and)g Fq(UNDO_INSERT)e Fr(means)i(to)f(delete)i(some)0
2552 y(text.)37 b(That)21 b(is,)i(the)e(undo)h(co)q(de)f(tells)i(undo)e
(what)g(to)f(undo,)j(not)e(ho)o(w)g(to)f(undo)i(it.)38
b Fq(UNDO_BEGIN)20 b Fr(and)0 2614 y Fq(UNDO_END)14 b
Fr(are)h(tags)f(added)i(b)o(y)f Fq(rl_begin_undo_group)e(\(\))i
Fr(and)g Fq(rl_end_undo_group)e(\(\))p Fr(.)p eop
29 30 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(29)1725 183 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 183 18 3 v 21 w(b)r(egin)p 297 183 V 20
w(undo)p 442 183 V 20 w(group)h Fg(\(\))120 246 y Fr(Begins)e(sa)o
(ving)e(undo)i(information)f(in)g(a)g(group)f(construct.)27
b(The)18 b(undo)h(information)f(usually)120 308 y(comes)j(from)f(calls)
h(to)g Fq(rl_insert_text)13 b(\(\))20 b Fr(and)h Fq(rl_delete_text)13
b(\(\))p Fr(,)22 b(but)f(could)g(b)q(e)h(the)120 370
y(result)16 b(of)e(calls)j(to)d Fq(rl_add_undo)g(\(\))p
Fr(.)1725 541 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p
140 541 V 21 w(end)p 251 541 V 20 w(undo)p 396 541 V
20 w(group)h Fg(\(\))120 603 y Fr(Closes)d(the)f(curren)o(t)g(undo)h
(group)f(started)g(with)h Fq(rl_begin_undo_group)12 b(\(\))p
Fr(.)26 b(There)18 b(should)120 665 y(b)q(e)e(one)f(call)i(to)d
Fq(rl_end_undo_group)f(\(\))i Fr(for)f(eac)o(h)i(call)g(to)f
Fq(rl_begin_undo_group)d(\(\))p Fr(.)1725 836 y(F)l(unction)-1899
b Fi(void)20 b Fh(rl)p 166 836 V 21 w(add)p 279 836 V
20 w(undo)i Fg(\()p Fq(enum)14 b(undo_code)g(what,)g(int)h(start,)g
(int)f(end,)h(char)208 898 y(*text)p Fg(\))120 960 y
Fr(Remem)o(b)q(er)20 b(ho)o(w)e(to)h(undo)g(an)g(ev)o(en)o(t)g
(\(according)g(to)g Fl(what)q Fr(\).)30 b(The)19 b(a\013ected)g(text)f
(runs)i(from)120 1023 y Fl(start)15 b Fr(to)g Fl(end)p
Fr(,)g(and)g(encompasses)h Fl(text)p Fr(.)1725 1193 y(F)l(unction)-1899
b Fi(void)20 b Fh(free)p 221 1193 V 20 w(undo)p 366 1193
V 20 w(list)k Fg(\(\))120 1256 y Fr(F)l(ree)15 b(the)h(existing)g(undo)
f(list.)1725 1426 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p
140 1426 V 21 w(do)p 222 1426 V 20 w(undo)i Fg(\(\))120
1488 y Fr(Undo)14 b(the)f(\014rst)g(thing)h(on)g(the)f(undo)h(list.)20
b(Returns)14 b Fq(0)f Fr(if)h(there)g(w)o(as)e(nothing)i(to)f(undo,)h
(non-zero)120 1551 y(if)i(something)f(w)o(as)f(undone.)62
1721 y(Finally)l(,)j(if)f(y)o(ou)f(neither)i(insert)f(nor)f(delete)i
(text,)d(but)i(directly)h(mo)q(dify)f(the)f(existing)i(text)e(\(e.g.,)f
(c)o(hange)0 1784 y(its)g(case\),)f(call)i Fq(rl_modifying)e(\(\))g
Fr(once,)h(just)f(b)q(efore)h(y)o(ou)f(mo)q(dify)h(the)g(text.)19
b(Y)l(ou)14 b(m)o(ust)f(supply)h(the)g(indices)0 1846
y(of)h(the)g(text)g(range)g(that)f(y)o(ou)h(are)g(going)g(to)g(mo)q
(dify)l(.)1725 2017 y(F)l(unction)-1899 b Fi(int)20 b
Fh(rl)p 140 2017 V 21 w(mo)r(difying)h Fg(\()p Fq(int)15
b(start,)f(int)h(end)p Fg(\))120 2079 y Fr(T)l(ell)e(Readline)g(to)e
(sa)o(v)o(e)f(the)i(text)f(b)q(et)o(w)o(een)g Fl(start)g
Fr(and)h Fl(end)h Fr(as)e(a)g(single)i(undo)e(unit.)20
b(It)11 b(is)h(assumed)120 2141 y(that)i(y)o(ou)h(will)i(subsequen)o
(tly)g(mo)q(dify)e(that)g(text.)0 2375 y Fk(2.4.6)30
b(Redispla)n(y)1725 2545 y Fr(F)l(unction)-1899 b Fi(void)20
b Fh(rl)p 166 2545 V 21 w(redispla)n(y)k Fg(\(\))120
2608 y Fr(Change)d(what's)g(displa)o(y)o(ed)h(on)g(the)f(screen)h(to)f
(re\015ect)h(the)f(curren)o(t)g(con)o(ten)o(ts)g(of)g
Fq(rl_line_)120 2670 y(buffer)p Fr(.)p eop
30 31 bop 0 -58 a Fr(30)1449 b(GNU)15 b(Readline)i(Library)1725
183 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 183
18 3 v 21 w(forced)p 315 183 V 20 w(up)r(date)p 509 183
V 20 w(displa)n(y)k Fg(\(\))120 246 y Fr(F)l(orce)12
b(the)g(line)h(to)f(b)q(e)g(up)q(dated)h(and)f(redispla)o(y)o(ed,)i
(whether)e(or)f(not)h(Readline)i(thinks)e(the)g(screen)120
308 y(displa)o(y)k(is)g(correct.)1725 462 y(F)l(unction)-1899
b Fi(int)20 b Fh(rl)p 140 462 V 21 w(on)p 222 462 V 20
w(new)p 341 462 V 21 w(line)k Fg(\(\))120 524 y Fr(T)l(ell)c(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\))e(line,)k(usually)f(after)120
587 y(ouputting)c(a)e(newline.)1725 741 y(F)l(unction)-1899
b Fi(int)20 b Fh(rl)p 140 741 V 21 w(reset)p 282 741
V 20 w(line)p 390 741 V 23 w(state)j Fg(\(\))120 803
y Fr(Reset)14 b(the)f(displa)o(y)h(state)f(to)f(a)h(clean)h(state)f
(and)g(redispla)o(y)i(the)e(curren)o(t)g(line)i(starting)e(on)g(a)g
(new)120 866 y(line.)1725 1020 y(F)l(unction)-1899 b
Fi(int)20 b Fh(rl)p 140 1020 V 21 w(message)g Fg(\()p
Fq(va_alist)p Fg(\))120 1082 y Fr(The)f(argumen)o(ts)e(are)h(a)g
(string)g(as)g(w)o(ould)h(b)q(e)g(supplied)i(to)d Fq(printf)p
Fr(.)28 b(The)19 b(resulting)g(string)f(is)120 1145 y(displa)o(y)o(ed)h
(in)f(the)g Fl(ec)o(ho)f(area)p Fr(.)27 b(The)18 b(ec)o(ho)f(area)g(is)
h(also)g(used)g(to)f(displa)o(y)h(n)o(umeric)h(argumen)o(ts)120
1207 y(and)c(searc)o(h)g(strings.)1725 1361 y(F)l(unction)-1899
b Fi(int)20 b Fh(rl)p 140 1361 V 21 w(clear)p 279 1361
V 21 w(message)h Fg(\(\))120 1424 y Fr(Clear)15 b(the)h(message)e(in)i
(the)g(ec)o(ho)f(area.)0 1616 y Fk(2.4.7)30 b(Mo)r(difying)15
b(T)-5 b(ext)1725 1771 y Fr(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 1771 V 21 w(insert)p 303 1771 V 21 w(text)k
Fg(\()p Fq(char)14 b(*text)p Fg(\))120 1833 y Fr(Insert)h
Fl(text)h Fr(in)o(to)f(the)h(line)g(at)f(the)g(curren)o(t)g(cursor)g(p)
q(osition.)1725 1988 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 1988 V 21 w(delete)p 308 1988 V 22 w(text)k
Fg(\()p Fq(int)14 b(start,)h(int)f(end)p Fg(\))120 2050
y Fr(Delete)i(the)f(text)g(b)q(et)o(w)o(een)g Fl(start)g
Fr(and)h Fl(end)h Fr(in)f(the)g(curren)o(t)f(line.)1725
2204 y(F)l(unction)-1899 b Fi(char)20 b(*)f Fh(rl)p 211
2204 V 21 w(cop)n(y)p 346 2204 V 21 w(text)24 b Fg(\()p
Fq(int)14 b(start,)h(int)g(end)p Fg(\))120 2266 y Fr(Return)h(a)f(cop)o
(y)g(of)g(the)g(text)f(b)q(et)o(w)o(een)i Fl(start)f
Fr(and)g Fl(end)j Fr(in)e(the)f(curren)o(t)g(line.)1725
2421 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 2421
V 21 w(kill)p 236 2421 V 23 w(text)k Fg(\()p Fq(int)14
b(start,)h(int)g(end)p Fg(\))120 2483 y Fr(Cop)o(y)k(the)g(text)f(b)q
(et)o(w)o(een)i Fl(start)e Fr(and)i Fl(end)h Fr(in)f(the)f(curren)o(t)g
(line)i(to)d(the)h(kill)i(ring,)f(app)q(ending)120 2545
y(or)e(prep)q(ending)j(to)d(the)h(last)f(kill)j(if)e(the)g(last)f
(command)h(w)o(as)e(a)i(kill)h(command.)30 b(The)19 b(text)f(is)120
2608 y(deleted.)j(If)13 b Fl(start)g Fr(is)h(less)f(than)h
Fl(end)p Fr(,)f(the)h(text)e(is)i(app)q(ended,)h(otherwise)e(prep)q
(ended.)21 b(If)14 b(the)f(last)120 2670 y(command)i(w)o(as)f(not)h(a)g
(kill,)i(a)e(new)g(kill)i(ring)f(slot)f(is)g(used.)p
eop
31 32 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(31)0 183 y Fk(2.4.8)30 b(Utilit)n(y)16
b(F)-5 b(unctions)1725 345 y Fr(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 345 18 3 v 21 w(read)p 271 345 V 20 w(k)n(ey)k
Fg(\(\))120 407 y Fr(Return)14 b(the)g(next)g(c)o(haracter)f(a)o(v)m
(ailable.)21 b(This)15 b(handles)g(input)g(inserted)f(in)o(to)g(the)g
(input)h(stream)120 469 y(via)h Fl(p)q(ending)i(input)h
Fr(\(see)d(Section)h(2.3)e([Readline)j(V)l(ariables],)f(page)f(22\))f
(and)i Fq(rl_stuff_char)120 532 y(\(\))p Fr(,)e(macros,)f(and)h(c)o
(haracters)f(read)h(from)g(the)g(k)o(eyb)q(oard.)1725
693 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 693
V 21 w(getc)j Fg(\()p Fq(FILE)14 b(*)p Fg(\))120 755
y Fr(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.)1725 917 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 917 V 21 w(stu\013)p 271 917 V 20 w(c)n(har)j
Fg(\()p Fq(int)15 b(c)p Fg(\))120 979 y Fr(Insert)g Fl(c)i
Fr(in)o(to)e(the)g(Readline)i(input)e(stream.)k(It)c(will)h(b)q(e)g
Fq(")p Fr(read)p Fq(")e Fr(b)q(efore)h(Readline)i(attempts)d(to)120
1041 y(read)h(c)o(haracters)g(from)f(the)h(terminal)h(with)g
Fq(rl_read_key)d(\(\))p Fr(.)1725 1203 y(F)l(unction)-1899
b Fi(rl_extend_line_buffer)22 b Fh(\(in)n(t)j Fq(len)p
Fg(\))120 1265 y Fr(Ensure)15 b(that)f Fq(rl_line_buffer)e
Fr(has)j(enough)g(space)g(to)e(hold)j Fl(len)f Fr(c)o(haracters,)f(p)q
(ossibly)i(reallo-)120 1327 y(cating)f(it)h(if)f(necessary)l(.)1725
1489 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 1489
V 21 w(initiali)q(z)q(e)26 b Fg(\(\))120 1551 y Fr(Initialize)18
b(or)d(re-initialize)j(Readline's)f(in)o(ternal)f(state.)1725
1713 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 1713
V 21 w(reset)p 282 1713 V 20 w(terminal)j Fg(\()p Fq(char)15
b(*terminal_name)p Fg(\))120 1775 y Fr(Reinitializ)q(e)f(Readline's)e
(idea)g(of)e(the)h(terminal)h(settings)f(using)g Fl(terminal)p
1404 1775 14 2 v 17 w(name)j Fr(as)c(the)h(terminal)120
1837 y(t)o(yp)q(e)k(\(e.g.,)f Fq(vt100)p Fr(\).)1725
1999 y(F)l(unction)-1899 b Fi(int)20 b Fh(alphab)r(etic)k
Fg(\()p Fq(int)14 b(c)p Fg(\))120 2061 y Fr(Return)i(1)f(if)g
Fl(c)j Fr(is)e(an)f(alphab)q(etic)i(c)o(haracter.)1725
2222 y(F)l(unction)-1899 b Fi(int)20 b Fh(n)n(umeric)i
Fg(\()p Fq(int)15 b(c)p Fg(\))120 2285 y Fr(Return)h(1)f(if)g
Fl(c)j Fr(is)e(a)f(n)o(umeric)h(c)o(haracter.)1725 2446
y(F)l(unction)-1899 b Fi(int)20 b Fh(ding)i Fg(\(\))120
2508 y Fr(Ring)16 b(the)f(terminal)h(b)q(ell,)h(ob)q(eying)f(the)g
(setting)f(of)g Fq(bell-style)p Fr(.)62 2670 y(The)h(follo)o(wing)g
(are)f(implemen)o(ted)h(as)f(macros,)f(de\014ned)j(in)f
Fq(chartypes.h)p Fr(.)p eop
32 33 bop 0 -58 a Fr(32)1449 b(GNU)15 b(Readline)i(Library)1725
183 y(F)l(unction)-1899 b Fi(int)20 b Fh(upp)r(ercase)p
351 183 18 3 v 19 w(p)j Fg(\()p Fq(int)14 b(c)p Fg(\))120
246 y Fr(Return)i(1)f(if)g Fl(c)j Fr(is)e(an)f(upp)q(ercase)i(alphab)q
(etic)f(c)o(haracter.)1725 409 y(F)l(unction)-1899 b
Fi(int)20 b Fh(lo)n(w)n(ercase)p 334 409 V 22 w(p)i Fg(\()p
Fq(int)15 b(c)p Fg(\))120 471 y Fr(Return)h(1)f(if)g
Fl(c)j Fr(is)e(a)f(lo)o(w)o(ercase)g(alphab)q(etic)i(c)o(haracter.)1725
634 y(F)l(unction)-1899 b Fi(int)20 b Fh(digit)p 214
634 V 22 w(p)i Fg(\()p Fq(int)15 b(c)p Fg(\))120 696
y Fr(Return)h(1)f(if)g Fl(c)j Fr(is)e(a)f(n)o(umeric)h(c)o(haracter.)
1725 859 y(F)l(unction)-1899 b Fi(int)20 b Fh(to)p 152
859 V 20 w(upp)r(er)i Fg(\()p Fq(int)14 b(c)p Fg(\))120
922 y Fr(If)h Fl(c)i Fr(is)f(a)e(lo)o(w)o(ercase)g(alphab)q(etic)j(c)o
(haracter,)c(return)i(the)g(corresp)q(onding)g(upp)q(ercase)h(c)o
(haracter.)1725 1085 y(F)l(unction)-1899 b Fi(int)20
b Fh(to)p 152 1085 V 20 w(lo)n(w)n(er)k Fg(\()p Fq(int)15
b(c)p Fg(\))120 1147 y Fr(If)e Fl(c)i Fr(is)e(an)f(upp)q(ercase)h
(alphab)q(etic)h(c)o(haracter,)e(return)g(the)h(corresp)q(onding)g(lo)o
(w)o(ercase)f(c)o(haracter.)1725 1310 y(F)l(unction)-1899
b Fi(int)20 b Fh(digit)p 214 1310 V 22 w(v)m(alue)j Fg(\()p
Fq(int)15 b(c)p Fg(\))120 1372 y Fr(If)g Fl(c)k Fr(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.)0
1584 y Fk(2.4.9)30 b(Alternate)15 b(In)n(terface)62 1721
y Fr(An)k(alternate)e(in)o(terface)h(is)h(a)o(v)m(ailable)h(to)d(plain)
i Fq(readline\(\))p Fr(.)27 b(Some)18 b(applications)h(need)g(to)e(in)o
(terlea)o(v)o(e)0 1783 y(k)o(eyb)q(oard)d(I/O)h(with)f(\014le,)h
(device,)h(or)d(windo)o(w)i(system)e(I/O,)i(t)o(ypically)g(b)o(y)f
(using)h(a)f(main)h(lo)q(op)g(to)e Fq(select\(\))0 1846
y Fr(on)k(v)m(arious)h(\014le)g(descriptors.)26 b(T)l(o)17
b(accomo)q(date)g(this)h(need,)g(readline)h(can)e(also)h(b)q(e)f(in)o
(v)o(ok)o(ed)h(as)f(a)g(`callbac)o(k')0 1908 y(function)f(from)e(an)i
(ev)o(en)o(t)f(lo)q(op.)20 b(There)15 b(are)g(functions)h(a)o(v)m
(ailable)h(to)e(mak)o(e)f(this)i(easy)l(.)1725 2071 y(F)l(unction)-1899
b Fi(void)20 b Fh(rl)p 166 2071 V 21 w(callbac)n(k)p
383 2071 V 23 w(handler)p 595 2071 V 21 w(install)25
b Fg(\()p Fq(char)14 b(*prompt,)g(Vfunction)208 2133
y(*lhandler)p Fg(\))120 2196 y Fr(Set)h(up)g(the)f(terminal)i(for)d
(readline)k(I/O)e(and)f(displa)o(y)i(the)f(initial)h(expanded)g(v)m
(alue)g(of)e Fl(prompt)p Fr(.)120 2258 y(Sa)o(v)o(e)h(the)f(v)m(alue)j
(of)d Fl(lhandler)20 b Fr(to)14 b(use)h(as)g(a)g(callbac)o(k)h(when)f
(a)f(complete)i(line)h(of)d(input)i(has)f(b)q(een)120
2320 y(en)o(tered.)1725 2483 y(F)l(unction)-1899 b Fi(void)20
b Fh(rl)p 166 2483 V 21 w(callbac)n(k)p 383 2483 V 23
w(read)p 516 2483 V 20 w(c)n(har)j Fg(\(\))120 2545 y
Fr(Whenev)o(er)d(an)f(application)i(determines)g(that)e(k)o(eyb)q(oard)
g(input)i(is)f(a)o(v)m(ailable,)i(it)d(should)i(call)120
2608 y Fq(rl_callback_read_char\(\))p Fr(,)11 b(whic)o(h)j(will)i(read)
e(the)g(next)g(c)o(haracter)f(from)g(the)h(curren)o(t)g(input)120
2670 y(source.)24 b(If)17 b(that)f(c)o(haracter)g(completes)i(the)f
(line,)h Fq(rl_callback_read_char)c Fr(will)k(in)o(v)o(ok)o(e)f(the)p
eop
33 34 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(33)120 183 y Fl(lhandler)19 b Fr(function)d(sa)o(v)o
(ed)e(b)o(y)g Fq(rl_callback_handler_install)d Fr(to)j(pro)q(cess)h
(the)f(line.)21 b Fq(EOF)14 b Fr(is)120 246 y(indicated)j(b)o(y)e
(calling)i Fl(lhandler)j Fr(with)c(a)f Fq(NULL)f Fr(line.)1725
413 y(F)l(unction)-1899 b Fi(void)20 b Fh(rl)p 166 413
18 3 v 21 w(callbac)n(k)p 383 413 V 23 w(handler)p 595
413 V 21 w(remo)n(v)n(e)i Fg(\(\))120 476 y Fr(Restore)12
b(the)g(terminal)h(to)e(its)i(initial)h(state)d(and)h(remo)o(v)o(e)g
(the)g(line)i(handler.)20 b(This)12 b(ma)o(y)g(b)q(e)g(called)120
538 y(from)i(within)j(a)e(callbac)o(k)h(as)f(w)o(ell)h(as)f(indep)q
(enden)o(tly)l(.)0 763 y Fk(2.4.10)29 b(An)16 b(Example)62
902 y Fr(Here)d(is)g(a)f(function)h(whic)o(h)g(c)o(hanges)g(lo)o(w)o
(ercase)f(c)o(haracters)f(to)h(their)h(upp)q(ercase)g(equiv)m(alen)o
(ts,)h(and)f(upp)q(er-)0 964 y(case)j(c)o(haracters)g(to)g(lo)o(w)o
(ercase.)23 b(If)16 b(this)h(function)g(w)o(as)f(b)q(ound)h(to)f(`)p
Fq(M-c)p Fr(',)f(then)h(t)o(yping)h(`)p Fq(M-c)p Fr(')e(w)o(ould)i(c)o
(hange)0 1026 y(the)g(case)f(of)g(the)h(c)o(haracter)f(under)h(p)q(oin)
o(t.)25 b(T)o(yping)17 b(`)p Fq(M-1)d(0)h(M-c)p Fr(')h(w)o(ould)h(c)o
(hange)f(the)h(case)f(of)h(the)f(follo)o(wing)0 1089
y(10)f(c)o(haracters,)f(lea)o(ving)i(the)f(cursor)g(on)g(the)g(last)g
(c)o(haracter)g(c)o(hanged.)120 1217 y Fq(/*)24 b(Invert)f(the)g(case)g
(of)h(the)f(COUNT)h(following)e(characters.)h(*/)120
1269 y(int)120 1321 y(invert_case_line)f(\(count,)h(key\))239
1373 y(int)h(count,)f(key;)120 1425 y({)168 1477 y(register)f(int)i
(start,)f(end,)g(i;)168 1580 y(start)g(=)h(rl_point;)168
1684 y(if)f(\(rl_point)g(>=)h(rl_end\))215 1736 y(return)f(\(0\);)168
1840 y(if)g(\(count)g(<)h(0\))215 1892 y({)263 1944 y(direction)f(=)h
(-1;)263 1995 y(count)f(=)h(-count;)215 2047 y(})168
2099 y(else)215 2151 y(direction)f(=)h(1;)168 2255 y(/*)f(Find)h(the)f
(end)h(of)f(the)h(range)f(to)g(modify.)g(*/)168 2307
y(end)g(=)h(start)f(+)h(\(count)f(*)h(direction\);)168
2411 y(/*)f(Force)g(it)h(to)g(be)f(within)g(range.)g(*/)168
2462 y(if)g(\(end)h(>)f(rl_end\))215 2514 y(end)h(=)g(rl_end;)168
2566 y(else)f(if)h(\(end)f(<)h(0\))215 2618 y(end)g(=)g(0;)p
eop
34 35 bop 0 -58 a Fr(34)1449 b(GNU)15 b(Readline)i(Library)168
183 y Fq(if)23 b(\(start)g(==)h(end\))215 235 y(return)f(\(0\);)168
339 y(if)g(\(start)g(>)h(end\))215 391 y({)263 443 y(int)g(temp)f(=)h
(start;)263 495 y(start)f(=)h(end;)263 546 y(end)g(=)f(temp;)215
598 y(})168 702 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)239 754 y(the)g(undo)f
(information.)f(*/)168 806 y(rl_modifying)g(\(start,)h(end\);)168
910 y(for)g(\(i)h(=)f(start;)h(i)f(!=)h(end;)f(i++\))215
962 y({)263 1013 y(if)h(\(uppercase_p)e(\(rl_line_buffer[i]\)\))311
1065 y(rl_line_buffer[i])f(=)j(to_lower)f(\(rl_line_buffer[i]\);)263
1117 y(else)g(if)h(\(lowercase_p)e(\(rl_line_buffer[i]\)\))311
1169 y(rl_line_buffer[i])f(=)j(to_upper)f(\(rl_line_buffer[i]\);)215
1221 y(})168 1273 y(/*)g(Move)h(point)f(to)g(on)h(top)f(of)h(the)f
(last)h(character)e(changed.)h(*/)168 1325 y(rl_point)f(=)i
(\(direction)f(==)g(1\))h(?)g(end)f(-)h(1)g(:)f(start;)168
1377 y(return)g(\(0\);)120 1429 y(})0 1670 y Fp(2.5)33
b(Custom)14 b(Completers)62 1809 y Fr(T)o(ypically)l(,)g(a)c(program)g
(that)h(reads)g(commands)g(from)f(the)h(user)h(has)e(a)h(w)o(a)o(y)f
(of)h(disam)o(biguating)h(commands)0 1871 y(and)k(data.)k(If)c(y)o(our)
f(program)g(is)h(one)g(of)f(these,)h(then)g(it)g(can)g(pro)o(vide)g
(completion)g(for)g(commands,)f(data,)f(or)0 1933 y(b)q(oth.)28
b(The)18 b(follo)o(wing)h(sections)f(describ)q(e)h(ho)o(w)f(y)o(our)f
(program)g(and)h(Readline)i(co)q(op)q(erate)e(to)f(pro)o(vide)i(this)0
1995 y(service.)0 2220 y Fk(2.5.1)30 b(Ho)n(w)15 b(Completing)g(W)-5
b(orks)62 2359 y Fr(In)16 b(order)f(to)g(complete)h(some)f(text,)f(the)
h(full)i(list)f(of)f(p)q(ossible)i(completions)f(m)o(ust)f(b)q(e)h(a)o
(v)m(ailable.)21 b(That)15 b(is,)0 2421 y(it)k(is)f(not)g(p)q(ossible)i
(to)e(accurately)h(expand)g(a)f(partial)h(w)o(ord)e(without)i(kno)o
(wing)f(all)h(of)f(the)h(p)q(ossible)h(w)o(ords)0 2483
y(whic)o(h)c(mak)o(e)f(sense)h(in)g(that)e(con)o(text.)20
b(The)15 b(Readline)j(library)e(pro)o(vides)f(the)h(user)f(in)o
(terface)h(to)e(completion,)0 2545 y(and)h(t)o(w)o(o)f(of)h(the)h(most)
e(common)h(completion)h(functions:)21 b(\014lename)c(and)e(username.)20
b(F)l(or)15 b(completing)h(other)0 2608 y(t)o(yp)q(es)h(of)f(text,)g(y)
o(ou)h(m)o(ust)f(write)h(y)o(our)f(o)o(wn)g(completion)i(function.)25
b(This)18 b(section)f(describ)q(es)h(exactly)g(what)0
2670 y(suc)o(h)e(functions)f(m)o(ust)g(do,)g(and)g(pro)o(vides)h(an)f
(example.)p eop
35 36 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(35)62 183 y(There)16 b(are)f(three)g(ma)s(jor)f
(functions)i(used)f(to)g(p)q(erform)g(completion:)25
320 y(1.)29 b(The)15 b(user-in)o(terface)g(function)g
Fq(rl_complete)e(\(\))p Fr(.)20 b(This)15 b(function)g(is)g(called)h
(with)e(the)h(same)f(argumen)o(ts)90 383 y(as)j(other)g(Readline)j
(functions)f(in)o(tended)g(for)e(in)o(teractiv)o(e)h(use:)25
b Fl(coun)o(t)18 b Fr(and)g Fl(in)o(v)o(oking)p 1633
383 14 2 v 17 w(k)o(ey)p Fr(.)27 b(It)18 b(isolates)90
445 y(the)j(w)o(ord)g(to)f(b)q(e)i(completed)h(and)e(calls)h
Fq(completion_matches)13 b(\(\))21 b Fr(to)f(generate)h(a)g(list)h(of)f
(p)q(ossible)90 507 y(completions.)h(It)16 b(then)g(either)h(lists)f
(the)g(p)q(ossible)h(completions,)g(inserts)f(the)g(p)q(ossible)h
(completions,)f(or)90 569 y(actually)g(p)q(erforms)f(the)g(completion,)
h(dep)q(ending)i(on)d(whic)o(h)h(b)q(eha)o(vior)f(is)h(desired.)25
644 y(2.)29 b(The)18 b(in)o(ternal)h(function)g Fq(completion_matches)
13 b(\(\))18 b Fr(uses)g(y)o(our)f Fl(generator)k Fr(function)e(to)e
(generate)h(the)90 706 y(list)h(of)e(p)q(ossible)j(matc)o(hes,)e(and)g
(then)g(returns)g(the)g(arra)o(y)f(of)h(these)g(matc)o(hes.)28
b(Y)l(ou)18 b(should)h(place)g(the)90 769 y(address)c(of)g(y)o(our)g
(generator)f(function)i(in)g Fq(rl_completion_entry_functi)o(on)p
Fr(.)25 843 y(3.)29 b(The)16 b(generator)g(function)h(is)f(called)i
(rep)q(eatedly)g(from)d Fq(completion_matches)e(\(\))p
Fr(,)i(returning)i(a)f(string)90 906 y(eac)o(h)j(time.)31
b(The)19 b(argumen)o(ts)f(to)g(the)h(generator)e(function)j(are)e
Fl(text)i Fr(and)f Fl(state)p Fr(.)29 b Fl(text)19 b
Fr(is)h(the)f(partial)90 968 y(w)o(ord)13 b(to)g(b)q(e)h(completed.)21
b Fl(state)15 b Fr(is)f(zero)g(the)g(\014rst)f(time)h(the)g(function)g
(is)g(called,)i(allo)o(wing)e(the)g(generator)90 1030
y(to)19 b(p)q(erform)f(an)o(y)h(necessary)h(initialization,)i(and)e(a)f
(p)q(ositiv)o(e)h(non-zero)f(in)o(teger)h(for)e(eac)o(h)h(subsequen)o
(t)90 1092 y(call.)35 b(When)21 b(the)f(generator)f(function)i(returns)
f Fq(\(char)14 b(*\)NULL)19 b Fr(this)i(signals)f Fq
(completion_matches)90 1155 y(\(\))c Fr(that)g(there)h(are)f(no)h(more)
f(p)q(ossibilitie)q(s)j(left.)25 b(Usually)18 b(the)e(generator)g
(function)i(computes)e(the)h(list)90 1217 y(of)j(p)q(ossible)i
(completions)f(when)g Fl(state)h Fr(is)f(zero,)g(and)f(returns)g(them)h
(one)f(at)g(a)g(time)g(on)g(subsequen)o(t)90 1279 y(calls.)g(Eac)o(h)14
b(string)f(the)h(generator)e(function)j(returns)e(as)g(a)g(matc)o(h)g
(m)o(ust)g(b)q(e)h(allo)q(cated)h(with)e Fq(malloc\(\))p
Fr(;)90 1341 y(Readline)18 b(frees)d(the)g(strings)g(when)h(it)f(has)g
(\014nished)i(with)f(them.)1725 1503 y(F)l(unction)-1899
b Fi(int)20 b Fh(rl)p 140 1503 18 3 v 21 w(complete)j
Fg(\()p Fq(int)14 b(ignore,)g(int)h(invoking_key)p Fg(\))120
1566 y Fr(Complete)j(the)f(w)o(ord)f(at)h(or)g(b)q(efore)g(p)q(oin)o
(t.)27 b(Y)l(ou)17 b(ha)o(v)o(e)g(supplied)i(the)f(function)g(that)e
(do)q(es)i(the)120 1628 y(initial)d(simple)f(matc)o(hing)f(selection)h
(algorithm)f(\(see)f Fq(completion_matches)h(\(\))p Fr(\).)18
b(The)13 b(default)120 1690 y(is)j(to)e(do)h(\014lename)i(completion.)
1736 1852 y(V)l(ariable)-1899 b Fi(Function)20 b(*)g
Fh(rl)p 316 1852 V 21 w(completion)p 611 1852 V 21 w(en)n(try)p
764 1852 V 21 w(function)120 1914 y Fr(This)e(is)g(a)f(p)q(oin)o(ter)h
(to)f(the)g(generator)g(function)h(for)f Fq(completion_matches)12
b(\(\))p Fr(.)27 b(If)17 b(the)h(v)m(alue)120 1977 y(of)j
Fq(rl_completion_entry_funct)o(ion)d Fr(is)k Fq(\(Function)14
b(*\)NULL)20 b Fr(then)i(the)f(default)h(\014lename)120
2039 y(generator)14 b(function,)i Fq(filename_completion_functi)o(on)c
(\(\))p Fr(,)j(is)g(used.)0 2247 y Fk(2.5.2)30 b(Completion)15
b(F)-5 b(unctions)62 2384 y Fr(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.)
1725 2545 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140
2545 V 21 w(complete)p 385 2545 V 21 w(in)n(ternal)k
Fg(\()p Fq(int)15 b(what_to_do)p Fg(\))120 2608 y Fr(Complete)d(the)g
(w)o(ord)f(at)g(or)g(b)q(efore)h(p)q(oin)o(t.)19 b Fl(what)p
979 2608 14 2 v 16 w(to)p 1036 2608 V 16 w(do)14 b Fr(sa)o(ys)d(what)g
(to)g(do)g(with)h(the)g(completion.)120 2670 y(A)g(v)m(alue)h(of)f(`)p
Fq(?)p Fr(')f(means)h(list)h(the)f(p)q(ossible)i(completions.)20
b(`)p Fq(TAB)p Fr(')11 b(means)h(do)g(standard)f(completion.)p
eop
36 37 bop 0 -58 a Fr(36)1449 b(GNU)15 b(Readline)i(Library)120
183 y(`)p Fq(*)p Fr(')c(means)h(insert)h(all)g(of)f(the)g(p)q(ossible)i
(completions.)21 b(`)p Fq(!)p Fr(')13 b(means)h(to)g(displa)o(y)h(all)g
(of)f(the)g(p)q(ossible)120 246 y(completions,)i(if)g(there)f(is)h
(more)e(than)h(one,)g(as)g(w)o(ell)h(as)f(p)q(erforming)h(partial)f
(completion.)1725 441 y(F)l(unction)-1899 b Fi(int)20
b Fh(rl)p 140 441 18 3 v 21 w(complete)j Fg(\()p Fq(int)14
b(ignore,)g(int)h(invoking_key)p Fg(\))120 503 y Fr(Complete)23
b(the)g(w)o(ord)e(at)h(or)g(b)q(efore)h(p)q(oin)o(t.)43
b(Y)l(ou)23 b(ha)o(v)o(e)f(supplied)j(the)d(function)i(that)e(do)q(es)
120 565 y(the)16 b(initial)j(simple)f(matc)o(hing)e(selection)i
(algorithm)e(\(see)g Fq(completion_matches)d(\(\))j Fr(and)g
Fq(rl_)120 627 y(completion_entry_function)p Fr(\))o(.)25
b(The)18 b(default)g(is)g(to)f(do)h(\014lename)h(completion.)29
b(This)18 b(calls)120 690 y Fq(rl_complete_internal)12
b(\(\))j Fr(with)h(an)f(argumen)o(t)f(dep)q(ending)k(on)d
Fl(in)o(v)o(oking)p 1496 690 14 2 v 17 w(k)o(ey)p Fr(.)1725
885 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p 140 885
18 3 v 21 w(p)r(ossible)p 358 885 V 20 w(completions)j
Fg(\()p Fq(int)15 b(count,)f(int)h(invoking_key)p Fg(\)\))120
947 y Fr(List)23 b(the)f(p)q(ossible)j(completions.)42
b(See)23 b(description)h(of)e Fq(rl_complete)14 b(\(\))p
Fr(.)41 b(This)23 b(calls)g Fq(rl_)120 1009 y(complete_internal)13
b(\(\))i Fr(with)g(an)g(argumen)o(t)g(of)g(`)p Fq(?)p
Fr('.)1725 1204 y(F)l(unction)-1899 b Fi(int)20 b Fh(rl)p
140 1204 V 21 w(insert)p 303 1204 V 21 w(completions)j
Fg(\()p Fq(int)14 b(count,)g(int)h(invoking_key)p Fg(\)\))120
1267 y Fr(Insert)20 b(the)f(list)i(of)e(p)q(ossible)i(completions)f(in)
o(to)g(the)f(line,)j(deleting)f(the)f(partially-completed)120
1329 y(w)o(ord.)h(See)c(description)g(of)e Fq(rl_complete)f(\(\))p
Fr(.)21 b(This)c(calls)g Fq(rl_complete_internal)12 b(\(\))k
Fr(with)120 1391 y(an)f(argumen)o(t)g(of)f(`)p Fq(*)p
Fr('.)1725 1586 y(F)l(unction)-1899 b Fi(char)20 b(**)f
Fh(completion)p 472 1586 V 21 w(matc)n(hes)j Fg(\()p
Fq(char)15 b(*text,)f(CPFunction)208 1648 y(*entry_func)p
Fg(\))120 1711 y Fr(Returns)22 b(an)g(arra)o(y)e(of)h
Fq(\(char)15 b(*\))21 b Fr(whic)o(h)i(is)f(a)f(list)i(of)e(completions)
i(for)e Fl(text)p Fr(.)39 b(If)22 b(there)f(are)120 1773
y(no)d(completions,)i(returns)e Fq(\(char)c(**\)NULL)p
Fr(.)28 b(The)19 b(\014rst)e(en)o(try)h(in)h(the)g(returned)f(arra)o(y)
f(is)i(the)120 1835 y(substitution)c(for)e Fl(text)p
Fr(.)19 b(The)c(remaining)g(en)o(tries)f(are)g(the)g(p)q(ossible)i
(completions.)k(The)15 b(arra)o(y)d(is)120 1897 y(terminated)j(with)h
(a)f Fq(NULL)f Fr(p)q(oin)o(ter.)120 2045 y Fl(en)o(try)p
227 2045 14 2 v 16 w(func)h Fr(is)d(a)g(function)h(of)e(t)o(w)o(o)g
(args,)g(and)h(returns)g(a)f Fq(\(char)k(*\))p Fr(.)j(The)12
b(\014rst)f(argumen)o(t)g(is)i Fl(text)p Fr(.)120 2108
y(The)i(second)f(is)h(a)f(state)g(argumen)o(t;)f(it)i(is)g(zero)f(on)g
(the)h(\014rst)f(call,)h(and)f(non-zero)h(on)f(subsequen)o(t)120
2170 y(calls.)21 b Fl(en)o(try)p 346 2170 V 16 w(func)c
Fr(returns)e(a)f Fq(NULL)g Fr(p)q(oin)o(ter)h(to)f(the)g(caller)i(when)
f(there)f(are)g(no)h(more)f(matc)o(hes.)1725 2365 y(F)l(unction)-1899
b Fi(char)20 b(*)f Fh(\014lename)p 380 2365 18 3 v 20
w(completion)p 674 2365 V 21 w(function)k Fg(\()p Fq(char)15
b(*text,)f(int)h(state)p Fg(\))120 2427 y Fr(A)e(generator)f(function)h
(for)f(\014lename)i(completion)g(in)f(the)g(general)g(case.)19
b(Note)13 b(that)f(completion)120 2490 y(in)18 b(Bash)f(is)h(a)f
(little)h(di\013eren)o(t)f(b)q(ecause)h(of)f(all)h(the)f(pathnames)g
(that)g(m)o(ust)f(b)q(e)i(follo)o(w)o(ed)f(when)120 2552
y(lo)q(oking)23 b(up)f(completions)h(for)e(a)g(command.)39
b(The)22 b(Bash)g(source)g(is)g(a)f(useful)i(reference)g(for)120
2614 y(writing)16 b(custom)f(completion)h(functions.)p
eop
37 38 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(37)1725 183 y(F)l(unction)-1899 b Fi(char)20
b(*)f Fh(username)p 412 183 18 3 v 19 w(completion)p
705 183 V 21 w(function)k Fg(\()p Fq(char)14 b(*text,)g(int)h(state)p
Fg(\))120 246 y Fr(A)i(completion)h(generator)e(for)g(usernames.)24
b Fl(text)18 b Fr(con)o(tains)e(a)h(partial)g(username)g(preceded)h(b)o
(y)120 308 y(a)f(random)g(c)o(haracter)f(\(usually)j(`)p
Fq(~)p Fr('\).)24 b(As)18 b(with)f(all)h(completion)h(generators,)d
Fl(state)j Fr(is)f(zero)f(on)120 370 y(the)e(\014rst)g(call)h(and)g
(non-zero)f(for)g(subsequen)o(t)h(calls.)0 618 y Fk(2.5.3)30
b(Completion)15 b(V)-5 b(ariables)1736 793 y Fr(V)l(ariable)-1899
b Fi(Function)20 b(*)g Fh(rl)p 316 793 V 21 w(completion)p
611 793 V 21 w(en)n(try)p 764 793 V 21 w(function)120
856 y Fr(A)d(p)q(oin)o(ter)h(to)f(the)g(generator)f(function)i(for)f
Fq(completion_matches)c(\(\))p Fr(.)25 b Fq(NULL)17 b
Fr(means)g(to)g(use)120 918 y Fq(filename_entry_function)12
b(\(\))p Fr(,)j(the)g(default)h(\014lename)g(completer.)1736
1093 y(V)l(ariable)-1899 b Fi(CPPFunction)21 b(*)e Fh(rl)p
394 1093 V 21 w(attempted)p 674 1093 V 20 w(completion)p
968 1093 V 21 w(function)120 1156 y Fr(A)g(p)q(oin)o(ter)h(to)f(an)g
(alternativ)o(e)h(function)g(to)f(create)g(matc)o(hes.)32
b(The)20 b(function)g(is)g(called)h(with)120 1218 y Fl(text)p
Fr(,)e Fl(start)p Fr(,)g(and)g Fl(end)p Fr(.)32 b Fl(start)19
b Fr(and)g Fl(end)j Fr(are)c(indices)j(in)f Fq(rl_line_buffer)d
Fr(sa)o(ying)i(what)g(the)120 1280 y(b)q(oundaries)c(of)e
Fl(text)h Fr(are.)19 b(If)13 b(this)h(function)g(exists)g(and)g
(returns)f Fq(NULL)p Fr(,)g(or)g(if)h(this)f(v)m(ariable)i(is)f(set)120
1342 y(to)h Fq(NULL)p Fr(,)f(then)i Fq(rl_complete)e(\(\))h
Fr(will)i(call)g(the)e(v)m(alue)i(of)e Fq(rl_completion_entry_funct)o
(ion)120 1405 y Fr(to)g(generate)f(matc)o(hes,)h(otherwise)g(the)h
(arra)o(y)e(of)g(strings)h(returned)h(will)h(b)q(e)f(used.)1736
1580 y(V)l(ariable)-1899 b Fi(CPFunction)21 b(*)e Fh(rl)p
368 1580 V 21 w(\014lename)p 597 1580 V 20 w(quoting)p
806 1580 V 21 w(function)120 1642 y Fr(A)e(p)q(oin)o(ter)h(to)f(a)g
(function)h(that)e(will)j(quote)e(a)g(\014lename)h(in)h(an)e
(application-)i(sp)q(eci\014c)g(fashion.)120 1705 y(This)f(is)g(called)
i(if)e(\014lename)h(completion)f(is)h(b)q(eing)f(attempted)g(and)f(one)
h(of)f(the)h(c)o(haracters)f(in)120 1767 y Fq
(rl_filename_quote_characte)o(rs)g Fr(app)q(ears)k(in)g(a)f(completed)h
(\014lename.)37 b(The)20 b(function)h(is)120 1829 y(called)14
b(with)f Fl(text)p Fr(,)g Fl(matc)o(h)p 579 1829 14 2
v 15 w(t)o(yp)q(e)p Fr(,)g(and)g Fl(quote)p 903 1829
V 16 w(p)q(oin)o(ter)p Fr(.)20 b(The)13 b Fl(text)g Fr(is)g(the)g
(\014lename)h(to)e(b)q(e)h(quoted.)120 1891 y(The)21
b Fl(matc)o(h)p 345 1891 V 16 w(t)o(yp)q(e)j Fr(is)e(either)f
Fq(SINGLE_MATCH)p Fr(,)g(if)h(there)f(is)h(only)f(one)h(completion)g
(matc)o(h,)f(or)120 1954 y Fq(MULT_MATCH)p Fr(.)d(Some)13
b(functions)g(use)h(this)f(to)f(decide)j(whether)e(or)f(not)h(to)f
(insert)i(a)e(closing)i(quote)120 2016 y(c)o(haracter.)36
b(The)21 b Fl(quote)p 565 2016 V 16 w(p)q(oin)o(ter)k
Fr(is)c(a)g(p)q(oin)o(ter)g(to)f(an)o(y)h(op)q(ening)h(quote)f(c)o
(haracter)f(the)h(user)120 2078 y(t)o(yp)q(ed.)f(Some)15
b(functions)h(c)o(ho)q(ose)g(to)e(reset)h(this)h(c)o(haracter.)1736
2254 y(V)l(ariable)-1899 b Fi(CPFunction)21 b(*)e Fh(rl)p
368 2254 18 3 v 21 w(\014lename)p 597 2254 V 20 w(dequoting)p
864 2254 V 21 w(function)120 2316 y Fr(A)f(p)q(oin)o(ter)g(to)f(a)g
(function)h(that)f(will)i(remo)o(v)o(e)e(application-sp)q(eci\014c)k
(quoting)d(c)o(haracters)f(from)120 2378 y(a)h(\014lename)i(b)q(efore)f
(completion)h(is)f(attempted,)g(so)f(those)h(c)o(haracters)f(do)g(not)h
(in)o(terfere)g(with)120 2440 y(matc)o(hing)13 b(the)g(text)f(against)g
(names)h(in)g(the)g(\014lesystem.)20 b(It)13 b(is)g(called)h(with)f
Fl(text)p Fr(,)g(the)f(text)h(of)f(the)120 2503 y(w)o(ord)i(to)g(b)q(e)
h(dequoted,)g(and)g Fl(quote)p 757 2503 14 2 v 16 w(c)o(har)p
Fr(,)f(whic)o(h)i(is)f(the)g(quoting)g(c)o(haracter)f(that)f(delimits)k
(the)120 2565 y(\014lename)d(\(usually)g(`)p Fq(')p Fr(')e(or)g(`)p
Fq(")p Fr('\).)18 b(If)13 b Fl(quote)p 838 2565 V 16
w(c)o(har)j Fr(is)e(zero,)e(the)h(\014lename)h(w)o(as)e(not)h(in)h(an)f
(em)o(b)q(edded)120 2627 y(string.)p eop
38 39 bop 0 -58 a Fr(38)1449 b(GNU)15 b(Readline)i(Library)1736
183 y(V)l(ariable)-1899 b Fi(Function)20 b(*)g Fh(rl)p
316 183 18 3 v 21 w(c)n(har)p 444 183 V 20 w(is)p 502
183 V 22 w(quoted)p 695 183 V 20 w(p)120 246 y Fr(A)d(p)q(oin)o(ter)g
(to)f(a)g(function)i(to)e(call)h(that)f(determines)i(whether)f(or)f
(not)g(a)h(sp)q(eci\014c)h(c)o(haracter)e(in)120 308
y(the)c(line)i(bu\013er)e(is)h(quoted,)f(according)h(to)e(whatev)o(er)h
(quoting)g(mec)o(hanism)h(the)f(program)f(calling)120
370 y(readline)j(uses.)20 b(The)13 b(function)g(is)h(called)g(with)f(t)
o(w)o(o)f(argumen)o(ts:)17 b Fl(text)p Fr(,)c(the)g(text)f(of)g(the)h
(line,)i(and)120 432 y Fl(index)p Fr(,)j(the)e(index)i(of)e(the)g(c)o
(haracter)g(in)h(the)g(line.)25 b(It)16 b(is)h(used)g(to)f(decide)i
(whether)f(a)f(c)o(haracter)120 495 y(found)j(in)g Fq
(rl_completer_word_break_)o(charact)o(ers)c Fr(should)20
b(b)q(e)e(used)h(to)f(break)g(w)o(ords)g(for)120 557
y(the)d(completer.)1736 745 y(V)l(ariable)-1899 b Fi(int)20
b Fh(rl)p 140 745 V 21 w(completion)p 435 745 V 21 w(query)p
598 745 V 21 w(items)120 807 y Fr(Up)h(to)e(this)i(man)o(y)f(items)h
(will)h(b)q(e)f(displa)o(y)o(ed)h(in)f(resp)q(onse)g(to)f(a)g(p)q
(ossible-completions)j(call.)120 869 y(After)16 b(that,)f(w)o(e)g(ask)h
(the)g(user)g(if)g(she)g(is)h(sure)f(she)g(w)o(an)o(ts)f(to)g(see)h
(them)g(all.)23 b(The)16 b(default)h(v)m(alue)120 932
y(is)f(100.)1736 1120 y(V)l(ariable)-1899 b Fi(char)20
b(*)f Fh(rl)p 211 1120 V 21 w(basic)p 355 1120 V 21 w(w)n(ord)p
500 1120 V 21 w(break)p 661 1120 V 20 w(c)n(haracters)120
1182 y Fr(The)12 b(basic)g(list)h(of)e(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(the)h(completer)g
(routine.)120 1244 y(The)17 b(default)h(v)m(alue)g(of)e(this)i(v)m
(ariable)g(is)g(the)f(c)o(haracters)f(whic)o(h)h(break)g(w)o(ords)g
(for)f(completion)120 1306 y(in)g(Bash,)f(i.e.,)g Fq(")g
(\\t\\n\\"\\\\'`@$><=;|&{\(")p Fr(.)1736 1494 y(V)l(ariable)-1899
b Fi(char)20 b(*)f Fh(rl)p 211 1494 V 21 w(basic)p 355
1494 V 21 w(quote)p 515 1494 V 21 w(c)n(haracters)120
1557 y Fr(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.)1736 1745 y(V)l(ariable)-1899 b
Fi(char)20 b(*)f Fh(rl)p 211 1745 V 21 w(completer)p
480 1745 V 21 w(w)n(ord)p 625 1745 V 20 w(break)p 785
1745 V 20 w(c)n(haracters)120 1807 y Fr(The)f(list)h(of)e(c)o
(haracters)g(that)g(signal)i(a)f(break)f(b)q(et)o(w)o(een)h(w)o(ords)g
(for)f Fq(rl_complete_internal)120 1869 y(\(\))p Fr(.)j(The)15
b(default)h(list)g(is)f(the)h(v)m(alue)g(of)f Fq
(rl_basic_word_break_charac)o(ters)p Fr(.)1736 2057 y(V)l(ariable)-1899
b Fi(char)20 b(*)f Fh(rl)p 211 2057 V 21 w(completer)p
480 2057 V 21 w(quote)p 640 2057 V 21 w(c)n(haracters)120
2120 y Fr(List)j(of)e(c)o(haracters)g(whic)o(h)i(can)f(b)q(e)h(used)f
(to)f(quote)h(a)g(substring)g(of)f(the)h(line.)39 b(Completion)120
2182 y(o)q(ccurs)17 b(on)f(the)h(en)o(tire)g(substring,)g(and)f(within)
i(the)e(substring)h Fq(rl_completer_word_break_)120 2244
y(characters)i Fr(are)g(treated)h(as)f(an)o(y)h(other)g(c)o(haracter,)g
(unless)h(they)f(also)g(app)q(ear)g(within)i(this)120
2306 y(list.)1736 2494 y(V)l(ariable)-1899 b Fi(char)20
b(*)f Fh(rl)p 211 2494 V 21 w(\014lename)p 440 2494 V
20 w(quote)p 599 2494 V 21 w(c)n(haracters)120 2557 y
Fr(A)g(list)h(of)e(c)o(haracters)g(that)g(cause)h(a)g(\014lename)h(to)e
(b)q(e)i(quoted)e(b)o(y)h(the)g(completer)h(when)f(they)120
2619 y(app)q(ear)c(in)h(a)f(completed)h(\014lename.)21
b(The)16 b(default)g(is)f(empt)o(y)l(.)p eop
39 40 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(39)1736 183 y(V)l(ariable)-1899 b Fi(char)20
b(*)f Fh(rl)p 211 183 18 3 v 21 w(sp)r(ecial)p 398 183
V 22 w(pre\014xes)120 246 y Fr(The)d(list)h(of)e(c)o(haracters)g(that)g
(are)h(w)o(ord)f(break)h(c)o(haracters,)f(but)h(should)h(b)q(e)f(left)g
(in)h Fl(text)f Fr(when)120 308 y(it)f(is)g(passed)g(to)f(the)g
(completion)i(function.)k(Programs)14 b(can)g(use)h(this)g(to)f(help)i
(determine)g(what)120 370 y(kind)h(of)f(completing)i(to)e(do.)23
b(F)l(or)16 b(instance,)h(Bash)f(sets)g(this)h(v)m(ariable)h(to)e
Fq(")p Fr($)p Fq(@")f Fr(so)h(that)g(it)h(can)120 432
y(complete)f(shell)h(v)m(ariables)f(and)g(hostnames.)1736
587 y(V)l(ariable)-1899 b Fi(int)20 b Fh(rl)p 140 587
V 21 w(completion)p 435 587 V 21 w(app)r(end)p 640 587
V 19 w(c)n(haracter)120 650 y Fr(When)f(a)g(single)h(completion)g
(alternativ)o(e)f(matc)o(hes)g(at)f(the)h(end)g(of)g(the)g(command)f
(line,)k(this)120 712 y(c)o(haracter)12 b(is)i(app)q(ended)h(to)d(the)i
(inserted)g(completion)g(text.)19 b(The)13 b(default)h(is)f(a)g(space)h
(c)o(haracter)120 774 y(\(`)g('\).)21 b(Setting)c(this)f(to)f(the)h(n)o
(ull)h(c)o(haracter)e(\(`)p Fq(\\0)p Fr('\))f(prev)o(en)o(ts)i(an)o
(ything)g(b)q(eing)h(app)q(ended)g(auto-)120 836 y(matically)l(.)26
b(This)17 b(can)g(b)q(e)g(c)o(hanged)g(in)g(custom)g(completion)h
(functions)f(to)f(pro)o(vide)h(the)g(\\most)120 899 y(sensible)i(w)o
(ord)d(separator)g(c)o(haracter")g(according)h(to)f(an)h
(application-sp)q(eci\014)q(c)j(command)c(line)120 961
y(syn)o(tax)e(sp)q(eci\014cation.)1736 1116 y(V)l(ariable)-1899
b Fi(int)20 b Fh(rl)p 140 1116 V 21 w(ignore)p 316 1116
V 20 w(completion)p 610 1116 V 21 w(duplicates)120 1178
y Fr(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.)1736 1333 y(V)l(ariable)-1899
b Fi(int)20 b Fh(rl)p 140 1333 V 21 w(\014lename)p 369
1333 V 20 w(completion)p 663 1333 V 21 w(desired)120
1395 y Fr(Non-zero)e(means)g(that)f(the)g(results)i(of)e(the)h(matc)o
(hes)f(are)h(to)f(b)q(e)h(treated)f(as)h(\014lenames.)28
b(This)120 1458 y(is)16 b Fl(alw)o(a)o(ys)h Fr(zero)e(on)g(en)o(try)l
(,)g(and)h(can)g(only)g(b)q(e)g(c)o(hanged)f(within)i(a)e(completion)i
(en)o(try)e(generator)120 1520 y(function.)26 b(If)18
b(it)f(is)h(set)f(to)f(a)h(non-zero)g(v)m(alue,)i(directory)e(names)g
(ha)o(v)o(e)g(a)g(slash)g(app)q(ended)i(and)120 1582
y(Readline)i(attempts)c(to)g(quote)h(completed)i(\014lenames)f(if)f
(they)h(con)o(tain)f(an)o(y)g(em)o(b)q(edded)i(w)o(ord)120
1645 y(break)15 b(c)o(haracters.)1736 1800 y(V)l(ariable)-1899
b Fi(int)20 b Fh(rl)p 140 1800 V 21 w(\014lename)p 369
1800 V 20 w(quoting)p 578 1800 V 21 w(desired)120 1862
y Fr(Non-zero)c(means)g(that)g(the)g(results)h(of)e(the)i(matc)o(hes)e
(are)h(to)g(b)q(e)h(quoted)f(using)h(double)g(quotes)120
1924 y(\(or)d(an)h(application-sp)q(eci\014)q(c)j(quoting)d(mec)o
(hanism\))g(if)h(the)f(completed)h(\014lename)g(con)o(tains)f(an)o(y)
120 1986 y(c)o(haracters)i(in)h Fq(rl_filename_quote_chars)p
Fr(.)24 b(This)19 b(is)f Fl(alw)o(a)o(ys)h Fr(non-zero)f(on)f(en)o(try)
l(,)h(and)g(can)120 2049 y(only)d(b)q(e)g(c)o(hanged)f(within)i(a)e
(completion)h(en)o(try)f(generator)g(function.)20 b(The)14
b(quoting)h(is)g(e\013ected)120 2111 y(via)g(a)g(call)i(to)d(the)i
(function)g(p)q(oin)o(ted)g(to)e(b)o(y)h Fq
(rl_filename_quoting_function)p Fr(.)1736 2266 y(V)l(ariable)-1899
b Fi(int)20 b Fh(rl)p 140 2266 V 21 w(inhibit)p 324 2266
V 23 w(completion)120 2328 y Fr(If)15 b(this)g(v)m(ariable)h(is)f
(non-zero,)g(completion)h(is)f(inhibit)p Fq(<)p Fr(ed.)22
b(The)15 b(completion)h(c)o(haracter)e(will)i(b)q(e)120
2390 y(inserted)g(as)f(an)o(y)g(other)g(b)q(ound)h(to)e
Fq(self-insert)p Fr(.)1736 2545 y(V)l(ariable)-1899 b
Fi(Function)20 b(*)g Fh(rl)p 316 2545 V 21 w(ignore)p
492 2545 V 20 w(some)p 639 2545 V 19 w(completions)p
955 2545 V 21 w(function)120 2608 y Fr(This)e(function,)g(if)g
(de\014ned,)h(is)f(called)h(b)o(y)e(the)h(completer)g(when)g(real)f
(\014lename)i(completion)f(is)120 2670 y(done,)13 b(after)e(all)i(the)g
(matc)o(hing)f(names)g(ha)o(v)o(e)g(b)q(een)h(generated.)19
b(It)12 b(is)h(passed)f(a)g Fq(NULL)g Fr(terminated)p
eop
40 41 bop 0 -58 a Fr(40)1449 b(GNU)15 b(Readline)i(Library)120
183 y(arra)o(y)f(of)h(matc)o(hes.)26 b(The)17 b(\014rst)g(elemen)o(t)h
(\()p Fq(matches[0])p Fr(\))e(is)h(the)h(maximal)g(substring)f(common)
120 246 y(to)f(all)h(matc)o(hes.)22 b(This)17 b(function)g(can)f
(re-arrange)g(the)g(list)h(of)f(matc)o(hes)g(as)f(required,)j(but)e
(eac)o(h)120 308 y(elemen)o(t)g(deleted)g(from)f(the)g(arra)o(y)f(m)o
(ust)h(b)q(e)h(freed.)1736 470 y(V)l(ariable)-1899 b
Fi(Function)20 b(*)g Fh(rl)p 316 470 18 3 v 21 w(directory)p
564 470 V 21 w(completion)p 859 470 V 21 w(ho)r(ok)120
532 y Fr(This)15 b(function,)g(if)g(de\014ned,)h(is)f(allo)o(w)o(ed)g
(to)e(mo)q(dify)j(the)e(directory)h(p)q(ortion)g(of)f(\014lenames)h
(Read-)120 594 y(line)h(completes.)k(It)14 b(is)g(called)i(with)e(the)g
(address)g(of)g(a)g(string)g(\(the)g(curren)o(t)f(directory)i(name\))e
(as)120 656 y(an)f(argumen)o(t.)17 b(It)12 b(could)h(b)q(e)f(used)g(to)
f(expand)h(sym)o(b)q(olic)h(links)g(or)e(shell)i(v)m(ariables)g(in)f
(pathnames.)0 864 y Fk(2.5.4)30 b(A)15 b(Short)g(Completion)g(Example)
62 1001 y Fr(Here)20 b(is)h(a)e(small)i(application)g(demonstrating)f
(the)f(use)i(of)e(the)h(GNU)f(Readline)k(library)l(.)34
b(It)20 b(is)g(called)0 1063 y Fq(fileman)p Fr(,)14 b(and)i(the)f
(source)g(co)q(de)h(resides)g(in)h(`)p Fq(examples/fileman.c)p
Fr(')o(.)h(This)e(sample)f(application)i(pro)o(vides)0
1126 y(completion)f(of)f(command)g(names,)g(line)i(editing)f(features,)
f(and)g(access)g(to)g(the)g(history)g(list.)p eop
41 42 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(41)120 183 y Fq(/*)24 b(fileman.c)e(--)i(A)g(tiny)f
(application)f(which)h(demonstrates)g(how)g(to)h(use)f(the)192
235 y(GNU)g(Readline)g(library.)46 b(This)24 b(application)e
(interactively)g(allows)h(users)192 287 y(to)g(manipulate)g(files)g
(and)g(their)g(modes.)h(*/)120 391 y(#include)f(<stdio.h>)120
443 y(#include)g(<sys/types.h>)120 495 y(#include)g(<sys/file.h>)120
546 y(#include)g(<sys/stat.h>)120 598 y(#include)g(<sys/errno.h>)120
702 y(#include)g(<readline/readline.h>)120 754 y(#include)g
(<readline/history.h>)120 858 y(extern)g(char)g(*getwd)g(\(\);)120
910 y(extern)g(char)g(*xmalloc)g(\(\);)120 1013 y(/*)h(The)f(names)g
(of)h(functions)e(that)i(actually)f(do)g(the)h(manipulation.)e(*/)120
1065 y(int)h(com_list)g(\(\),)h(com_view)e(\(\),)i(com_rename)e(\(\),)i
(com_stat)f(\(\),)g(com_pwd)g(\(\);)120 1117 y(int)g(com_delete)g
(\(\),)g(com_help)g(\(\),)h(com_cd)f(\(\),)g(com_quit)g(\(\);)120
1221 y(/*)h(A)f(structure)g(which)g(contains)g(information)f(on)i(the)f
(commands)g(this)g(program)192 1273 y(can)g(understand.)f(*/)120
1377 y(typedef)h(struct)g({)168 1429 y(char)g(*name;)g(/*)h(User)f
(printable)g(name)g(of)h(the)f(function.)g(*/)168 1480
y(Function)f(*func;)i(/*)f(Function)g(to)g(call)h(to)f(do)h(the)f(job.)
h(*/)168 1532 y(char)f(*doc;)g(/*)h(Documentation)e(for)h(this)h
(function.)46 b(*/)120 1584 y(})24 b(COMMAND;)120 1688
y(COMMAND)f(commands[])f(=)i({)168 1740 y({)f("cd",)h(com_cd,)f
("Change)f(to)i(directory)f(DIR")g(},)168 1792 y({)g("delete",)g
(com_delete,)f("Delete)h(FILE")h(},)168 1844 y({)f("help",)g(com_help,)
g("Display)g(this)g(text")g(},)168 1896 y({)g("?",)h(com_help,)e
("Synonym)h(for)h(`help'")f(},)168 1947 y({)g("list",)g(com_list,)g
("List)g(files)g(in)h(DIR")f(},)168 1999 y({)g("ls",)h(com_list,)e
("Synonym)h(for)g(`list'")g(},)168 2051 y({)g("pwd",)g(com_pwd,)g
("Print)g(the)h(current)f(working)g(directory")f(},)168
2103 y({)h("quit",)g(com_quit,)g("Quit)g(using)g(Fileman")g(},)168
2155 y({)g("rename",)g(com_rename,)f("Rename)h(FILE)h(to)f(NEWNAME")g
(},)168 2207 y({)g("stat",)g(com_stat,)g("Print)g(out)g(statistics)g
(on)h(FILE")f(},)168 2259 y({)g("view",)g(com_view,)g("View)g(the)h
(contents)e(of)i(FILE")f(},)168 2311 y({)g(\(char)h(*\)NULL,)f
(\(Function)f(*\)NULL,)h(\(char)g(*\)NULL)g(})120 2363
y(};)120 2466 y(/*)h(Forward)e(declarations.)h(*/)120
2518 y(char)g(*stripwhite)g(\(\);)120 2570 y(COMMAND)g(*find_command)f
(\(\);)p eop
42 43 bop 0 -58 a Fr(42)1449 b(GNU)15 b(Readline)i(Library)120
183 y Fq(/*)24 b(The)f(name)g(of)h(this)f(program,)g(as)h(taken)f(from)
g(argv[0].)g(*/)120 235 y(char)g(*progname;)120 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(*/)120 391 y(int)g(done;)120 495 y(char)g(*)120
546 y(dupstr)g(\(s\))239 598 y(int)h(s;)120 650 y({)168
702 y(char)f(*r;)168 806 y(r)g(=)h(xmalloc)f(\(strlen)g(\(s\))g(+)h
(1\);)168 858 y(strcpy)f(\(r,)g(s\);)168 910 y(return)g(\(r\);)120
962 y(})120 1065 y(main)g(\(argc,)g(argv\))239 1117 y(int)h(argc;)239
1169 y(char)g(**argv;)120 1221 y({)168 1273 y(char)f(*line,)g(*s;)168
1377 y(progname)f(=)i(argv[0];)168 1480 y(initialize_readline)d(\(\);)i
(/*)h(Bind)f(our)h(completer.)e(*/)168 1584 y(/*)h(Loop)h(reading)f
(and)g(executing)g(lines)g(until)g(the)g(user)h(quits.)f(*/)168
1636 y(for)g(\()h(;)g(done)f(==)h(0;)f(\))215 1688 y({)263
1740 y(line)g(=)h(readline)f(\("FileMan:)f("\);)263 1844
y(if)i(\(!line\))311 1896 y(break;)263 1999 y(/*)g(Remove)f(leading)g
(and)g(trailing)g(whitespace)f(from)i(the)f(line.)335
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)335 2103 y(and)g(execute)g(it.)h(*/)263
2155 y(s)g(=)g(stripwhite)e(\(line\);)263 2259 y(if)i(\(*s\))311
2311 y({)359 2363 y(add_history)e(\(s\);)359 2414 y(execute_line)g
(\(s\);)311 2466 y(})263 2570 y(free)h(\(line\);)215
2622 y(})p eop
43 44 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(43)168 183 y Fq(exit)23 b(\(0\);)120
235 y(})120 339 y(/*)h(Execute)e(a)i(command)f(line.)g(*/)120
391 y(int)120 443 y(execute_line)f(\(line\))239 495 y(char)i(*line;)120
546 y({)168 598 y(register)e(int)i(i;)168 650 y(COMMAND)f(*command;)168
702 y(char)g(*word;)168 806 y(/*)g(Isolate)g(the)h(command)f(word.)g
(*/)168 858 y(i)g(=)h(0;)168 910 y(while)f(\(line[i])g(&&)g(whitespace)
g(\(line[i]\)\))215 962 y(i++;)168 1013 y(word)g(=)h(line)f(+)h(i;)168
1117 y(while)f(\(line[i])g(&&)g(!whitespace)g(\(line[i]\)\))215
1169 y(i++;)168 1273 y(if)g(\(line[i]\))215 1325 y(line[i++])g(=)h
('\\0';)168 1429 y(command)f(=)g(find_command)g(\(word\);)168
1532 y(if)g(\(!command\))215 1584 y({)263 1636 y(fprintf)g(\(stderr,)g
("\045s:)g(No)h(such)f(command)g(for)g(FileMan.\\n",)g(word\);)263
1688 y(return)g(\(-1\);)215 1740 y(})168 1844 y(/*)g(Get)h(argument)f
(to)g(command,)g(if)g(any.)h(*/)168 1896 y(while)f(\(whitespace)f
(\(line[i]\)\))215 1947 y(i++;)168 2051 y(word)h(=)h(line)f(+)h(i;)168
2155 y(/*)f(Call)h(the)f(function.)g(*/)168 2207 y(return)g
(\(\(*\(command->func\)\))e(\(word\)\);)120 2259 y(})120
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)192 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(*/)120 2466 y(COMMAND)g(*)120 2518 y(find_command)f(\(name\))
239 2570 y(char)i(*name;)120 2622 y({)p eop
44 45 bop 0 -58 a Fr(44)1449 b(GNU)15 b(Readline)i(Library)168
183 y Fq(register)22 b(int)i(i;)168 287 y(for)f(\(i)h(=)f(0;)h
(commands[i].name;)e(i++\))215 339 y(if)i(\(strcmp)f(\(name,)g
(commands[i].name\))f(==)h(0\))263 391 y(return)g(\(&commands[i]\);)168
495 y(return)g(\(\(COMMAND)f(*\)NULL\);)120 546 y(})120
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)192 702 y(into)g(STRING.)g(*/)120
754 y(char)g(*)120 806 y(stripwhite)f(\(string\))239
858 y(char)i(*string;)120 910 y({)168 962 y(register)e(char)i(*s,)f
(*t;)168 1065 y(for)g(\(s)h(=)f(string;)g(whitespace)g(\(*s\);)g(s++\))
215 1117 y(;)168 1221 y(if)g(\(*s)h(==)f(0\))215 1273
y(return)g(\(s\);)168 1377 y(t)g(=)h(s)g(+)g(strlen)f(\(s\))g(-)h(1;)
168 1429 y(while)f(\(t)g(>)h(s)g(&&)g(whitespace)e(\(*t\)\))215
1480 y(t--;)168 1532 y(*++t)h(=)h('\\0';)168 1636 y(return)f(s;)120
1688 y(})120 1792 y(/*)h(***********************)o(*******)o(********)o
(*******)o(*******)o(********)o(****)d(*/)120 1844 y(/*)1575
b(*/)120 1896 y(/*)429 b(Interface)23 b(to)g(Readline)g(Completion)381
b(*/)120 1947 y(/*)1575 b(*/)120 1999 y(/*)24 b
(***********************)o(*******)o(********)o(*******)o(*******)o
(********)o(****)d(*/)120 2103 y(char)i(*command_generator)f(\(\);)120
2155 y(char)h(**fileman_completion)e(\(\);)120 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)192 2311 y(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)192 2363 y(if)g(not.)g(*/)120 2414 y(initialize_readline)e
(\(\))120 2466 y({)168 2518 y(/*)i(Allow)g(conditional)g(parsing)g(of)g
(the)h(~/.inputrc)e(file.)h(*/)168 2570 y(rl_readline_name)e(=)j
("FileMan";)p eop
45 46 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(45)168 183 y Fq(/*)23 b(Tell)h(the)f(completer)g(that)g
(we)h(want)f(a)h(crack)f(first.)g(*/)168 235 y
(rl_attempted_completion_)o(functio)o(n)e(=)j(\(CPPFunction)e
(*\)fileman_completion;)120 287 y(})120 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)192 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)192 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)192
546 y(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,)192 598 y(or)f(NULL)g(if)h
(there)f(aren't)g(any.)h(*/)120 650 y(char)f(**)120 702
y(fileman_completion)e(\(text,)i(start,)g(end\))239 754
y(char)h(*text;)239 806 y(int)g(start,)f(end;)120 858
y({)168 910 y(char)g(**matches;)168 1013 y(matches)g(=)g(\(char)h
(**\)NULL;)168 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)239
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)239 1221 y(directory.)f(*/)168
1273 y(if)g(\(start)g(==)h(0\))215 1325 y(matches)f(=)h
(completion_matches)d(\(text,)j(command_generator\);)168
1429 y(return)f(\(matches\);)120 1480 y(})120 1584 y(/*)h(Generator)e
(function)h(for)g(command)g(completion.)47 b(STATE)23
b(lets)g(us)h(know)f(whether)192 1636 y(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)192
1688 y(start)f(at)g(the)h(top)f(of)h(the)f(list.)g(*/)120
1740 y(char)g(*)120 1792 y(command_generator)f(\(text,)h(state\))239
1844 y(char)h(*text;)239 1896 y(int)g(state;)120 1947
y({)168 1999 y(static)f(int)g(list_index,)g(len;)168
2051 y(char)g(*name;)168 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)239
2207 y(saving)f(the)h(length)f(of)g(TEXT)h(for)f(efficiency,)g(and)g
(initializing)f(the)i(index)239 2259 y(variable)f(to)h(0.)f(*/)168
2311 y(if)g(\(!state\))215 2363 y({)263 2414 y(list_index)g(=)g(0;)263
2466 y(len)h(=)f(strlen)g(\(text\);)215 2518 y(})168
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 eop
46 47 bop 0 -58 a Fr(46)1449 b(GNU)15 b(Readline)i(Library)168
183 y Fq(while)23 b(\(name)g(=)h(commands[list_index].name)o(\))215
235 y({)263 287 y(list_index++;)263 391 y(if)g(\(strncmp)f(\(name,)g
(text,)g(len\))g(==)h(0\))311 443 y(return)f(\(dupstr\(name\)\);)215
495 y(})168 598 y(/*)g(If)h(no)f(names)h(matched,)e(then)i(return)f
(NULL.)g(*/)168 650 y(return)g(\(\(char)g(*\)NULL\);)120
702 y(})120 806 y(/*)h(***********************)o(*******)o(********)o
(*******)o(*******)o(********)o(****)d(*/)120 858 y(/*)1575
b(*/)120 910 y(/*)549 b(FileMan)22 b(Commands)644 b(*/)120
962 y(/*)1575 b(*/)120 1013 y(/*)24 b(***********************)o
(*******)o(********)o(*******)o(*******)o(********)o(****)d(*/)120
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)192
1169 y(commands.)f(*/)120 1221 y(static)h(char)g(syscom[1024];)120
1325 y(/*)h(List)f(the)g(file\(s\))g(named)g(in)h(arg.)f(*/)120
1377 y(com_list)g(\(arg\))239 1429 y(char)h(*arg;)120
1480 y({)168 1532 y(if)f(\(!arg\))215 1584 y(arg)h(=)g("";)168
1688 y(sprintf)f(\(syscom,)f("ls)i(-FClg)f(\045s",)g(arg\);)168
1740 y(return)g(\(system)g(\(syscom\)\);)120 1792 y(})120
1896 y(com_view)g(\(arg\))239 1947 y(char)h(*arg;)120
1999 y({)168 2051 y(if)f(\(!valid_argument)f(\("view",)h(arg\)\))215
2103 y(return)g(1;)168 2207 y(sprintf)g(\(syscom,)f("more)i(\045s",)f
(arg\);)168 2259 y(return)g(\(system)g(\(syscom\)\);)120
2311 y(})120 2414 y(com_rename)f(\(arg\))239 2466 y(char)i(*arg;)120
2518 y({)168 2570 y(too_dangerous)e(\("rename"\);)168
2622 y(return)h(\(1\);)p eop
47 48 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(47)120 183 y Fq(})120 287 y(com_stat)23
b(\(arg\))239 339 y(char)h(*arg;)120 391 y({)168 443
y(struct)f(stat)g(finfo;)168 546 y(if)g(\(!valid_argument)f(\("stat",)h
(arg\)\))215 598 y(return)g(\(1\);)168 702 y(if)g(\(stat)g(\(arg,)h
(&finfo\))f(==)g(-1\))215 754 y({)263 806 y(perror)g(\(arg\);)263
858 y(return)g(\(1\);)215 910 y(})168 1013 y(printf)g(\("Statistics)f
(for)h(`\045s':\\n",)g(arg\);)168 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,)359 1169 y(finfo.st_nlink,)359 1221 y(\(finfo.st_nlink)e(==)j
(1\))g(?)f("")h(:)g("s",)359 1273 y(finfo.st_size,)359
1325 y(\(finfo.st_size)e(==)h(1\))h(?)f("")h(:)g("s"\);)168
1377 y(printf)f(\("Inode)g(Last)g(Change)g(at:)g(\045s",)h(ctime)f
(\(&finfo.st_ctime\)\);)168 1429 y(printf)g(\(")143 b(Last)23
b(access)g(at:)g(\045s",)h(ctime)f(\(&finfo.st_atime\)\);)168
1480 y(printf)g(\(")95 b(Last)23 b(modified)g(at:)g(\045s",)h(ctime)f
(\(&finfo.st_mtime\)\);)168 1532 y(return)g(\(0\);)120
1584 y(})120 1688 y(com_delete)f(\(arg\))239 1740 y(char)i(*arg;)120
1792 y({)168 1844 y(too_dangerous)e(\("delete"\);)168
1896 y(return)h(\(1\);)120 1947 y(})120 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)192
2103 y(not)f(present.)g(*/)120 2155 y(com_help)g(\(arg\))239
2207 y(char)h(*arg;)120 2259 y({)168 2311 y(register)e(int)i(i;)168
2363 y(int)f(printed)g(=)h(0;)168 2466 y(for)f(\(i)h(=)f(0;)h
(commands[i].name;)e(i++\))215 2518 y({)263 2570 y(if)i(\(!*arg)f(||)g
(\(strcmp)g(\(arg,)g(commands[i].name\))f(==)i(0\)\))311
2622 y({)p eop
48 49 bop 0 -58 a Fr(48)1449 b(GNU)15 b(Readline)i(Library)359
183 y Fq(printf)23 b(\("\045s\\t\\t\045s.\\n",)e(commands[i].name,)h
(commands[i].doc\);)359 235 y(printed++;)311 287 y(})215
339 y(})168 443 y(if)h(\(!printed\))215 495 y({)263 546
y(printf)g(\("No)h(commands)e(match)h(`\045s'.)48 b(Possibilties)22
b(are:\\n",)h(arg\);)263 650 y(for)h(\(i)f(=)h(0;)g(commands[i].name;)d
(i++\))311 702 y({)359 754 y(/*)i(Print)g(in)h(six)f(columns.)g(*/)359
806 y(if)g(\(printed)g(==)h(6\))406 858 y({)454 910 y(printed)f(=)h(0;)
454 962 y(printf)f(\("\\n"\);)406 1013 y(})359 1117 y(printf)g
(\("\045s\\t",)f(commands[i].name\);)359 1169 y(printed++;)311
1221 y(})263 1325 y(if)i(\(printed\))311 1377 y(printf)f(\("\\n"\);)215
1429 y(})168 1480 y(return)g(\(0\);)120 1532 y(})120
1636 y(/*)h(Change)f(to)g(the)h(directory)e(ARG.)i(*/)120
1688 y(com_cd)f(\(arg\))239 1740 y(char)h(*arg;)120 1792
y({)168 1844 y(if)f(\(chdir)g(\(arg\))h(==)f(-1\))215
1896 y({)263 1947 y(perror)g(\(arg\);)263 1999 y(return)g(1;)215
2051 y(})168 2155 y(com_pwd)g(\(""\);)168 2207 y(return)g(\(0\);)120
2259 y(})120 2363 y(/*)h(Print)f(out)g(the)h(current)f(working)f
(directory.)h(*/)120 2414 y(com_pwd)g(\(ignore\))239
2466 y(char)h(*ignore;)120 2518 y({)168 2570 y(char)f(dir[1024],)g(*s;)
p eop
49 50 bop 0 -58 a Fr(Chapter)15 b(2:)k(Programming)c(with)g(GNU)g
(Readline)994 b(49)168 183 y Fq(s)23 b(=)h(getwd)f(\(dir\);)168
235 y(if)g(\(s)h(==)f(0\))215 287 y({)263 339 y(printf)g(\("Error)g
(getting)g(pwd:)g(\045s\\n",)g(dir\);)263 391 y(return)g(1;)215
443 y(})168 546 y(printf)g(\("Current)f(directory)h(is)h(\045s\\n",)f
(dir\);)168 598 y(return)g(0;)120 650 y(})120 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(*/)120 806 y(com_quit)h(\(arg\))239
858 y(char)h(*arg;)120 910 y({)168 962 y(done)f(=)h(1;)168
1013 y(return)f(\(0\);)120 1065 y(})120 1169 y(/*)h(Function)e(which)i
(tells)f(you)g(that)g(you)h(can't)f(do)h(this.)f(*/)120
1221 y(too_dangerous)f(\(caller\))239 1273 y(char)i(*caller;)120
1325 y({)168 1377 y(fprintf)f(\(stderr,)382 1429 y("\045s:)h(Too)f
(dangerous)g(for)g(me)h(to)g(distribute.)46 b(Write)23
b(it)h(yourself.\\n",)382 1480 y(caller\);)120 1532 y(})120
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)192 1688 y(an)g(error)g(message)g(and)h
(return)f(zero.)g(*/)120 1740 y(int)120 1792 y(valid_argument)f
(\(caller,)h(arg\))239 1844 y(char)h(*caller,)e(*arg;)120
1896 y({)168 1947 y(if)h(\(!arg)g(||)h(!*arg\))215 1999
y({)263 2051 y(fprintf)f(\(stderr,)g("\045s:)g(Argument)g
(required.\\n",)f(caller\);)263 2103 y(return)h(\(0\);)215
2155 y(})168 2259 y(return)g(\(1\);)120 2311 y(})p eop
50 51 bop 0 -58 a Fr(50)1449 b(GNU)15 b(Readline)i(Library)p
eop
51 52 bop 0 -58 a Fr(Concept)15 b(Index)1616 b(51)0 183
y Fn(Concept)16 b(Index)0 430 y Fp(C)0 496 y Ff(command)e(editing)f
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(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)23 b Ff(2)0 604 y Fp(E)0 670 y Ff(editing)15 b(command)f(lines)d
Fe(.)6 b(.)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(.)22
b Ff(2)0 778 y Fp(I)0 845 y Ff(initiali)q(zati)q(on)16
b(\014le,)e(readline)d Fe(.)6 b(.)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(.)22
b Ff(5)0 903 y(in)o(teraction,)15 b(readline)5 b Fe(.)j(.)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(.)17 b Ff(1)0 1011
y Fp(K)0 1077 y Ff(kill)e(ring)5 b Fe(.)i(.)f(.)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(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)17 b Ff(3)1015 430 y(killin)q(g)f(text)t 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(.)h(.)f(.)g(.)g(.)g(.)17 b Ff(3)1015 579 y Fp(N)1015
646 y Ff(notation,)e(readline)7 b Fe(.)h(.)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(.)h(.)f(.)g(.)20 b Ff(2)1015 795
y Fp(R)1015 861 y Ff(readline,)15 b(function)8 b Fe(.)g(.)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(.)g(.)21 b Ff(19)1015
1011 y Fp(Y)1015 1077 y Ff(y)o(anking)15 b(text)7 b Fe(.)g(.)f(.)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(.)g(.)g(.)h(.)f
(.)20 b Ff(3)p eop
52 53 bop 0 -58 a Fr(52)1449 b(GNU)15 b(Readline)i(Library)p
eop
53 54 bop 0 -58 a Fr(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1337
b(53)0 183 y Fn(F)-7 b(unction)15 b(and)g(V)-7 b(ariable)14
b(Index)0 424 y Fp(\()0 490 y Fd(\(int)t Fe(.)5 b(.)h(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)g(.)g(.)17 b Ff(31)0 608 y Fp(A)0 674
y Fd(abort)11 b(\(C-g\))c Fe(.)t(.)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(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)20 b Ff(17)0
732 y Fd(accept-lin)o(e)10 b(\(Newline)o(,)g(Return\))5
b Fe(.)s(.)h(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)18 b Ff(12)0 790 y Fd(alphabetic)t Fe(.)s(.)7
b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)
g(.)g(.)g(.)18 b Ff(31)0 908 y Fp(B)0 974 y Fd(backward-c)o(ha)o(r)10
b(\(C-b\))c Fe(.)t(.)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(.)19
b Ff(12)0 1032 y Fd(backward-d)o(el)o(ete)o(-c)o(har)9
b(\(Rubout\))e Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)23 b Ff(14)0 1090 y Fd(backward-k)o(il)o(l-l)o(in)o
(e)10 b(\(C-x)h(Rubout\))d Fe(.)e(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(15)0 1148 y Fd(backward-k)o(il)o(l-w)o
(or)o(d)10 b(\(M-DEL\))5 b Fe(.)t(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(15)0
1207 y Fd(backward-w)o(or)o(d)10 b(\(M-b\))c Fe(.)t(.)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(.)19 b Ff(12)0 1265 y Fd(beginning-)o(of)o(-hi)o
(st)o(ory)9 b(\(M-<\))c Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(13)0
1323 y Fd(beginning-)o(of)o(-li)o(ne)9 b(\(C-a\))g 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(.)22 b Ff(12)0 1381 y(b)q(ell-st)o(yle)s Fe(.)9
b(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16 b Ff(5)0 1498 y Fp(C)0
1565 y Fd(call-last-)o(kb)o(d-m)o(ac)o(ro)9 b(\(C-x)j(e\))7
b Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)20 b Ff(17)0 1623 y Fd(capitalize)o(-w)o(ord)9
b(\(M-c\))s Fe(.)t(.)d(.)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(.)16
b Ff(14)0 1681 y Fd(character-)o(se)o(arc)o(h)10 b(\(C-]\))e
Fe(.)e(.)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(17)0 1739
y Fd(character-)o(se)o(arc)o(h-)o(bac)o(kwa)o(rd)9 b(\(M-C-]\))c
Fe(.)s(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18
b Ff(18)0 1797 y Fd(clear-scre)o(en)9 b(\(C-l\))e Fe(.)t(.)f(.)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(.)20 b Ff(12)0 1855
y(commen)o(t-b)q(egin)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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(5)0 1913
y Fd(complete)10 b(\(TAB\))t Fe(.)s(.)c(.)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(.)16 b Ff(16)0 1972 y(completion-query-i)
q(tems)d Fe(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23
b Ff(6)0 2030 y Fd(completion)p 201 2030 12 2 v 10 w(matches)6
b Fe(.)t(.)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(36)0 2088 y(con)o(v)o(ert-meta)t Fe(.)6 b(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)16
b Ff(6)0 2146 y Fd(copy-backw)o(ar)o(d-w)o(or)o(d)10
b(\(\))s Fe(.)5 b(.)h(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)16
b Ff(15)0 2204 y Fd(copy-forwa)o(rd)o(-wo)o(rd)9 b(\(\))t
Fe(.)d(.)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(.)17 b Ff(15)0
2262 y Fd(copy-regio)o(n-)o(as-)o(ki)o(ll)9 b(\(\))h
Fe(.)c(.)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(15)0 2379
y Fp(D)0 2446 y Fd(delete-cha)o(r)10 b(\(C-d\))e Fe(.)t(.)e(.)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(.)21 b Ff(14)0 2504
y Fd(delete-hor)o(iz)o(ont)o(al)o(-sp)o(ace)9 b(\(\))c
Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)18 b Ff(15)0 2562 y Fd(digit-argu)o(me)o(nt)9
b(\(M-0,)i(M-1,)h(...)f(M--\))5 b Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)g(.)g(.)g(.)18 b Ff(16)0 2620 y Fd(digit)p 102
2620 V 12 w(p)s 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)16
b Ff(32)0 2678 y Fd(digit)p 102 2678 V 12 w(value)7 b
Fe(.)t(.)f(.)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(.)g(.)g(.)g(.)20 b Ff(32)1015 424 y Fd(ding)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(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18 b Ff(31)1015
482 y(disable-compl)q(eti)q(on)9 b Fe(.)g(.)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(.)h(.)f(.)g(.)21 b Ff(6)1015 540 y
Fd(do-uppercas)o(e-)o(ver)o(sio)o(n)10 b(\(M-a,)g(M-b,)i(M-)p
Fe(x)p Fd(,)g Fc(:)6 b(:)g(:)g Fd(\))j Fe(.)c(.)h(.)g(.)g(.)g(.)22
b Ff(17)1015 598 y Fd(downcase-wo)o(rd)9 b(\(M-l\))d
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(.)g(.)g(.)19
b Ff(14)1015 656 y Fd(dump-functi)o(on)o(s)10 b(\(\))e
Fe(.)d(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
b Ff(18)1015 715 y Fd(dump-macros)9 b(\(\))t Fe(.)c(.)h(.)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(.)17 b
Ff(18)1015 773 y Fd(dump-variab)o(le)o(s)10 b(\(\))e
Fe(.)d(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
b Ff(18)1015 890 y Fp(E)1015 956 y Ff(editing-mo)q(de)t
Fe(.)9 b(.)d(.)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(.)17 b Ff(6)1015 1014 y(enable-k)o(eypad)d
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(.)g(.)g(.)24 b Ff(6)1015 1072 y Fd(end-kbd-mac)o(ro)9
b(\(C-x)j(\)\))7 b Fe(.)t(.)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(.)g(.)20
b Ff(16)1015 1131 y Fd(end-of-hist)o(or)o(y)10 b(\(M->\))t
Fe(.)t(.)d(.)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(13)1015
1189 y Fd(end-of-line)9 b(\(C-e\))f Fe(.)t(.)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(.)22 b Ff(12)1015 1247 y Fd(exchange-po)o(in)o
(t-a)o(nd-)o(ma)o(rk)9 b(\(C-x)j(C-x\))c Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)22 b Ff(17)1015 1305 y(expand-tilde)10
b Fe(.)f(.)d(.)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(.)22 b Ff(6)1015 1422 y Fp(F)1015
1488 y Fd(filename)p 1177 1488 V 12 w(completi)o(on)p
1388 1488 V 11 w(function)5 b Fe(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(36)1015
1547 y Fd(forward-cha)o(r)10 b(\(C-f\))d 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(.)h(.)f(.)g(.)g(.)20 b Ff(12)1015 1605 y Fd(forward-sea)o(rc)o
(h-h)o(ist)o(or)o(y)10 b(\(C-s\))f Fe(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)25 b Ff(13)1015
1663 y Fd(forward-wor)o(d)10 b(\(M-f\))d 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(.)h(.)f(.)g(.)g(.)20 b Ff(12)1015 1721 y Fd(free)p
1097 1721 V 13 w(undo)p 1190 1721 V 13 w(list)6 b Fe(.)t(.)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(.)19
b Ff(29)1015 1838 y Fp(H)1015 1904 y Fd(history-sea)o(rc)o(h-b)o(ack)o
(wa)o(rd)9 b(\(\))c Fe(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19 b Ff(13)1015
1963 y Fd(history-sea)o(rc)o(h-f)o(orw)o(ar)o(d)10 b(\(\))d
Fe(.)e(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(13)1015 2021 y(horizon)o(tal-scrol)q(l)q
(-mo)q(de)t Fe(.)9 b(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)17
b Ff(6)1015 2138 y Fp(I)1015 2204 y Ff(input-meta)s Fe(.)8
b(.)e(.)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(.)
h(.)f(.)g(.)g(.)g(.)g(.)16 b Ff(7)1015 2262 y Fd(insert-comm)o(en)o(t)
10 b(\(M-#\))t Fe(.)t(.)d(.)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(18)1015 2320 y Fd(insert-comp)o(le)o(tio)o(ns)9
b(\(M-*\))f Fe(.)t(.)e(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)21 b Ff(16)1015
2438 y Fp(K)1015 2504 y Ff(k)o(eymap)6 b Fe(.)h(.)f(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)19 b Ff(6)1015 2562 y Fd(kill-line)10 b(\(C-k\))f
Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)24
b Ff(14)1015 2620 y Fd(kill-region)9 b(\(\))t Fe(.)c(.)h(.)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(.)17
b Ff(15)1015 2678 y Fd(kill-whole-)o(li)o(ne)10 b(\(\))d
Fe(.)e(.)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(.)f(.)g(.)g(.)20
b Ff(15)p eop
54 55 bop 0 -58 a Fr(54)1449 b(GNU)15 b(Readline)i(Library)0
183 y Fd(kill-word)9 b(\(M-d\))g Fe(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(15)0 298 y Fp(L)0
364 y Fd(lowercase)p 182 364 12 2 v 11 w(p)7 b Fe(.)e(.)h(.)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(.)g(.)g(.)g(.)20
b Ff(32)0 479 y Fp(M)0 545 y Ff(mark-mo)q(di\014ed-lin)q(es)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(.)g(.)g(.)g(.)20
b Ff(7)0 603 y(meta-\015ag)10 b Fe(.)c(.)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(.)g(.)g(.)g(.)g(.)22
b Ff(7)0 718 y Fp(N)0 784 y Fd(next-histo)o(ry)9 b(\(C-n\))e
Fe(.)t(.)f(.)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(.)20
b Ff(13)0 842 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\))82 900 y 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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)18 b Ff(13)0 958 y Fd(non-increm)o(en)o(tal)o(-r)o
(eve)o(rse)o(-s)o(ear)o(ch)o(-hi)o(st)o(ory)9 b(\(M-p\))82
1017 y 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(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18
b Ff(13)0 1075 y Fd(numeric)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(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
b Ff(31)0 1189 y Fp(O)0 1256 y Ff(output-meta)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
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
21 b Ff(7)0 1370 y Fp(P)0 1436 y Fd(possible-c)o(om)o(ple)o(ti)o(ons)9
b(\(M-?\))c Fe(.)g(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)18 b Ff(16)0 1495 y Fd(prefix-met)o(a)10
b(\(ESC\))e Fe(.)t(.)e(.)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(.)
21 b Ff(17)0 1553 y Fd(previous-h)o(is)o(tor)o(y)10 b(\(C-p\))e
Fe(.)e(.)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(12)0 1667
y Fp(Q)0 1734 y Fd(quoted-ins)o(er)o(t)10 b(\(C-q,)h(C-v\))e
Fe(.)d(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(14)0 1848 y Fp(R)0
1914 y Fd(re-read-in)o(it)o(-fi)o(le)9 b(\(C-x)i(C-r\))c
Fe(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)f(.)g(.)g(.)20 b Ff(17)0 1973 y Fd(readline)8 b Fe(.)s(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)21 b Ff(19)0 2031 y Fd(redraw-cur)o(re)o(nt-)o(li)o(ne)9
b(\(\))h Fe(.)c(.)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(12)0
2089 y Fd(reverse-se)o(ar)o(ch-)o(hi)o(sto)o(ry)9 b(\(C-r\))h
Fe(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)24 b Ff(13)0 2147 y Fd(revert-lin)o(e)10 b(\(M-r\))e
Fe(.)t(.)e(.)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(.)21
b Ff(17)0 2205 y Fd(rl)p 42 2205 V 13 w(add)p 115 2205
V 13 w(defun)8 b Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(25)0 2263 y Fd(rl)p
42 2263 V 13 w(add)p 115 2263 V 13 w(undo)8 b Fe(.)e(.)g(.)g(.)h(.)f(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22
b Ff(29)0 2321 y Fd(rl)p 42 2321 V 13 w(attempted)p 235
2321 V 11 w(completion)p 445 2321 V 10 w(function)15
b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)17
b Ff(37)0 2379 y Fd(rl)p 42 2379 V 13 w(basic)p 155 2379
V 13 w(quote)p 268 2379 V 12 w(character)o(s)e Fe(.)6
b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)18 b Ff(38)0 2438 y Fd(rl)p 42 2438
V 13 w(basic)p 155 2438 V 13 w(word)p 248 2438 V 12 w(break)p
360 2438 V 12 w(characters)h Fe(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(38)0 2496 y Fd(rl)p
42 2496 V 13 w(begin)p 155 2496 V 13 w(undo)p 248 2496
V 12 w(group)9 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)23
b Ff(28)0 2554 y Fd(rl)p 42 2554 V 13 w(bind)p 135 2554
V 13 w(key)8 b Fe(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22 b Ff(26)0 2612 y Fd(rl)p
42 2612 V 13 w(bind)p 135 2612 V 13 w(key)p 208 2612
V 13 w(in)p 261 2612 V 13 w(map)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(.)19 b Ff(26)0 2670 y Fd(rl)p 42
2670 V 13 w(binding)p 195 2670 V 12 w(keymap)14 b Fe(.)6
b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
b Ff(24)1015 183 y Fd(rl)p 1057 183 V 14 w(callback)p
1231 183 V 11 w(handler)p 1382 183 V 11 w(install)9 b
Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)22 b Ff(32)1015 241 y Fd(rl)p 1057 241
V 14 w(callback)p 1231 241 V 11 w(handler)p 1382 241
V 11 w(remove)8 b Fe(.)e(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)23 b Ff(33)1015 299
y Fd(rl)p 1057 299 V 14 w(callback)p 1231 299 V 11 w(read)p
1322 299 V 12 w(char)8 b Fe(.)d(.)h(.)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(.)21
b Ff(32)1015 358 y Fd(rl)p 1057 358 V 14 w(char)p 1151
358 V 12 w(is)p 1203 358 V 14 w(quoted)p 1337 358 V 12
w(p)e 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(.)g(.)h(.)f(.)g(.)g(.)g(.)20
b Ff(37)1015 416 y Fd(rl)p 1057 416 V 14 w(clear)p 1171
416 V 12 w(message)s 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(.)h(.)f(.)16 b Ff(30)1015 474 y Fd(rl)p 1057
474 V 14 w(complete)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(.)
f(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(35,)13 b(36)1015 532
y Fd(rl)p 1057 532 V 14 w(complete)p 1231 532 V 11 w(internal)6
b Fe(.)s(.)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(.)20 b
Ff(35)1015 590 y Fd(rl)p 1057 590 V 14 w(completer)p
1250 590 V 10 w(quote)p 1361 590 V 13 w(character)o(s)e
Fe(.)6 b(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)22 b Ff(38)1015 648 y Fd(rl)p 1057 648 V 14 w(completer)p
1250 648 V 10 w(word)p 1341 648 V 13 w(break)p 1454 648
V 12 w(characters)14 b Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)18 b Ff(38)1015 706 y Fd(rl)p 1057 706 V 14 w(completio)o(n)p
1270 706 V 11 w(append)p 1401 706 V 12 w(character)e
Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
20 b Ff(39)1015 764 y Fd(rl)p 1057 764 V 14 w(completio)o(n)p
1270 764 V 11 w(entry)p 1381 764 V 12 w(function)14 b
Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)18
b Ff(35,)13 b(37)1015 823 y Fd(rl)p 1057 823 V 14 w(completio)o(n)p
1270 823 V 11 w(query)p 1381 823 V 12 w(items)j Fe(.)6
b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)f(.)g(.)18 b Ff(38)1015 881 y Fd(rl)p 1057
881 V 14 w(copy)p 1151 881 V 12 w(keymap)6 b Fe(.)t(.)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(.)19 b
Ff(25)1015 939 y Fd(rl)p 1057 939 V 14 w(copy)p 1151
939 V 12 w(text)8 b Fe(.)d(.)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(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)21 b Ff(30)1015 997 y
Fd(rl)p 1057 997 V 14 w(delete)p 1191 997 V 12 w(text)6
b Fe(.)t(.)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(.)19 b Ff(30)1015 1055 y Fd(rl)p 1057 1055 V 14
w(directory)p 1250 1055 V 10 w(completion)p 1461 1055
V 11 w(hook)i Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(40)1015 1113 y Fd(rl)p
1057 1113 V 14 w(discard)p 1211 1113 V 11 w(keymap)8
b Fe(.)e(.)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(.)24
b Ff(25)1015 1171 y Fd(rl)p 1057 1171 V 14 w(do)p 1111
1171 V 13 w(undo)9 b 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(29)1015
1229 y Fd(rl)p 1057 1229 V 14 w(done)17 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)19 b Ff(23)1015 1287 y Fd(rl)p 1057 1287 V 14
w(end)f Fe(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)20 b Ff(22)1015
1346 y Fd(rl)p 1057 1346 V 14 w(end)p 1131 1346 V 13
w(undo)p 1224 1346 V 12 w(group)5 b Fe(.)t(.)h(.)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(.)18 b Ff(29)1015 1404 y Fd(rl)p
1057 1404 V 14 w(event)p 1171 1404 V 12 w(hook)i Fe(.)6
b(.)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(.)
22 b Ff(24)1015 1462 y Fd(rl)p 1057 1462 V 14 w(executing)p
1250 1462 V 10 w(keymap)f 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(.)g(.)
g(.)23 b Ff(24)1015 1520 y Fd(rl)p 1057 1520 V 14 w(filename)p
1231 1520 V 11 w(completio)o(n)p 1441 1520 V 11 w(desired)17
b Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h
(.)20 b Ff(39)1015 1578 y Fd(rl)p 1057 1578 V 14 w(filename)p
1231 1578 V 11 w(dequoting)p 1421 1578 V 11 w(function)c
Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
20 b Ff(37)1015 1636 y Fd(rl)p 1057 1636 V 14 w(filename)p
1231 1636 V 11 w(quote)p 1342 1636 V 12 w(characters)f
Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)
g(.)g(.)23 b Ff(38)1015 1694 y Fd(rl)p 1057 1694 V 14
w(filename)p 1231 1694 V 11 w(quoting)p 1382 1694 V 11
w(desired)e Fe(.)7 b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)h(.)f(.)g(.)24 b Ff(39)1015 1752 y Fd(rl)p
1057 1752 V 14 w(filename)p 1231 1752 V 11 w(quoting)p
1382 1752 V 11 w(function)c Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)23 b Ff(37)1015 1810
y Fd(rl)p 1057 1810 V 14 w(forced)p 1191 1810 V 12 w(update)p
1323 1810 V 11 w(display)t Fe(.)t(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)17
b Ff(30)1015 1869 y Fd(rl)p 1057 1869 V 14 w(function)p
1231 1869 V 11 w(dumper)9 b Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)22 b Ff(28)1015 1927 y Fd(rl)p 1057 1927
V 14 w(function)p 1231 1927 V 11 w(of)p 1282 1927 V 13
w(keyseq)8 b Fe(.)t(.)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(.)21
b Ff(27)1015 1985 y Fd(rl)p 1057 1985 V 14 w(generic)p
1211 1985 V 11 w(bind)t Fe(.)5 b(.)h(.)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(.)18 b Ff(26)1015 2043 y Fd(rl)p
1057 2043 V 14 w(get)p 1131 2043 V 13 w(keymap)7 b Fe(.)t(.)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(.)20
b Ff(25)1015 2101 y Fd(rl)p 1057 2101 V 14 w(get)p 1131
2101 V 13 w(keymap)p 1264 2101 V 12 w(by)p 1316 2101
V 13 w(name)9 b Fe(.)d(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)24
b Ff(26)1015 2159 y Fd(rl)p 1057 2159 V 14 w(get)p 1131
2159 V 13 w(keymap)p 1264 2159 V 12 w(name)s Fe(.)t(.)7
b(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17
b Ff(26)1015 2217 y Fd(rl)p 1057 2217 V 14 w(getc)s Fe(.)5
b(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(31)1015 2275
y Fd(rl)p 1057 2275 V 14 w(getc)p 1151 2275 V 12 w(function)e
Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19
b Ff(24)1015 2334 y Fd(rl)p 1057 2334 V 14 w(ignore)p
1191 2334 V 12 w(completio)o(n)p 1402 2334 V 11 w(duplicate)o(s)d
Fe(.)6 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)19
b Ff(39)1015 2392 y Fd(rl)p 1057 2392 V 14 w(ignore)p
1191 2392 V 12 w(some)p 1283 2392 V 12 w(completion)o(s)p
1514 2392 V 11 w(function)13 b Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)17 b Ff(39)1015 2450 y Fd(rl)p 1057 2450 V
14 w(inhibit)p 1211 2450 V 11 w(completion)g 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(.)21 b Ff(39)1015 2508 y Fd(rl)p 1057 2508
V 14 w(initializ)o(e)t Fe(.)s(.)6 b(.)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(.)h(.)17 b Ff(31)1015 2566
y Fd(rl)p 1057 2566 V 14 w(insert)p 1191 2566 V 12 w(completio)o(ns)t
Fe(.)t(.)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(.)19 b Ff(36)1015
2624 y Fd(rl)p 1057 2624 V 14 w(insert)p 1191 2624 V
12 w(text)6 b Fe(.)t(.)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(.)19 b Ff(30)p eop
55 56 bop 0 -58 a Fr(F)l(unction)16 b(and)f(V)l(ariable)i(Index)1337
b(55)0 183 y Fd(rl)p 42 183 12 2 v 13 w(instream)19 b
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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)22 b Ff(23)0 241 y Fd(rl)p 42 241 V 13
w(invoking)p 215 241 V 11 w(keyseqs)8 b Fe(.)t(.)e(.)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(.)21 b Ff(27)0 299 y Fd(rl)p 42 299
V 13 w(invoking)p 215 299 V 11 w(keyseqs)p 366 299 V
12 w(in)p 418 299 V 13 w(map)t Fe(.)5 b(.)i(.)f(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)17
b Ff(27)0 358 y Fd(rl)p 42 358 V 13 w(kill)p 135 358
V 13 w(text)8 b Fe(.)d(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)
f(.)g(.)g(.)g(.)g(.)g(.)g(.)21 b Ff(30)0 416 y Fd(rl)p
42 416 V 13 w(library)p 195 416 V 12 w(version)g 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(.)g(.)24 b Ff(23)0
474 y Fd(rl)p 42 474 V 13 w(line)p 135 474 V 13 w(buffer)18
b Fe(.)6 b(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)21 b Ff(22)0 532 y Fd(rl)p 42 532 V 13 w(list)p 135
532 V 13 w(funmap)p 268 532 V 12 w(names)7 b Fe(.)f(.)g(.)g(.)g(.)g(.)g
(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)
g(.)g(.)g(.)g(.)g(.)22 b Ff(28)0 590 y Fd(rl)p 42 590
V 13 w(make)p 135 590 V 13 w(bare)p 228 590 V 13 w(keymap)8
b 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(.)23
b Ff(25)0 648 y Fd(rl)p 42 648 V 13 w(make)p 135 648
V 13 w(keymap)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(.)18 b Ff(25)0 706 y Fd(rl)p 42
706 V 13 w(mark)f 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(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18
b Ff(22)0 764 y Fd(rl)p 42 764 V 13 w(message)8 b Fe(.)t(.)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(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
21 b Ff(30)0 823 y Fd(rl)p 42 823 V 13 w(modifying)5
b Fe(.)s(.)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(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)18 b Ff(29)0 881 y Fd(rl)p 42 881 V 13
w(named)p 155 881 V 13 w(function)7 b Fe(.)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
(.)h(.)f(.)g(.)g(.)g(.)g(.)23 b Ff(27)0 939 y Fd(rl)p
42 939 V 13 w(on)p 95 939 V 14 w(new)p 169 939 V 13 w(line)8
b Fe(.)d(.)h(.)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(.)21 b Ff(30)0 997 y Fd(rl)p 42 997 V 13 w(outstream)c
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(.)20 b Ff(23)0 1055 y Fd(rl)p 42 1055 V 13 w(parse)p
155 1055 V 13 w(and)p 228 1055 V 13 w(bind)5 b Fe(.)t(.)h(.)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(.)17 b Ff(27)0
1113 y Fd(rl)p 42 1113 V 13 w(pending)p 195 1113 V 12
w(input)f 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)18 b Ff(23)0 1171 y Fd(rl)p 42 1171 V 13 w(point)d
Fe(.)6 b(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)17 b Ff(22)0 1229 y Fd(rl)p
42 1229 V 13 w(possible)p 215 1229 V 11 w(completions)7
b Fe(.)f(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b Ff(36)0 1287 y Fd(rl)p
42 1287 V 13 w(prompt)e 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(.)g(.)h(.)f(.)g(.)g(.)g(.)24 b Ff(23)0
1346 y Fd(rl)p 42 1346 V 13 w(read)p 135 1346 V 13 w(init)p
228 1346 V 13 w(file)5 b Fe(.)t(.)h(.)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(.)17 b Ff(27)0 1404 y Fd(rl)p 42 1404 V
13 w(read)p 135 1404 V 13 w(key)8 b Fe(.)e(.)g(.)g(.)h(.)f(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)22
b Ff(31)0 1462 y Fd(rl)p 42 1462 V 13 w(readline)p 215
1462 V 11 w(name)17 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(.)h(.)f(.)g(.)g(.)
g(.)g(.)g(.)g(.)18 b Ff(23)0 1520 y Fd(rl)p 42 1520 V
13 w(redisplay)5 b Fe(.)s(.)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(.)g(.)g(.)
g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)18 b Ff(29)0 1578 y Fd(rl)p
42 1578 V 13 w(redisplay)p 235 1578 V 11 w(function)f
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(.)20 b Ff(24)0
1636 y Fd(rl)p 42 1636 V 13 w(reset)p 155 1636 V 13 w(line)p
248 1636 V 12 w(state)9 b Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f
(.)g(.)23 b Ff(30)0 1694 y Fd(rl)p 42 1694 V 13 w(reset)p
155 1694 V 13 w(terminal)7 b Fe(.)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(.)h(.)f(.)
g(.)g(.)g(.)g(.)23 b Ff(31)0 1752 y Fd(rl)p 42 1752 V
13 w(set)p 115 1752 V 13 w(keymap)7 b Fe(.)t(.)f(.)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(.)20 b Ff(26)0
1810 y Fd(rl)p 42 1810 V 13 w(special)p 195 1810 V 12
w(prefixes)f 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(.)23
b Ff(38)0 1869 y Fd(rl)p 42 1869 V 13 w(startup)p 195
1869 V 12 w(hook)18 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(.)h(.)f(.)g(.)g(.)19 b Ff(23)0 1927 y Fd(rl)p 42 1927
V 13 w(stuff)p 155 1927 V 13 w(char)7 b Fe(.)t(.)f(.)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(.)20 b
Ff(31)0 1985 y Fd(rl)p 42 1985 V 13 w(terminal)p 215
1985 V 11 w(name)d 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(.)h(.)f(.)g(.)g(.)g(.)
g(.)g(.)g(.)18 b Ff(23)0 2043 y Fd(rl)p 42 2043 V 13
w(unbind)p 175 2043 V 12 w(key)7 b Fe(.)e(.)h(.)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(.)20 b Ff(26)1015
183 y Fd(rl)p 1057 183 V 14 w(unbind)p 1191 183 V 12
w(key)p 1263 183 V 13 w(in)p 1316 183 V 13 w(map)t Fe(.)t(.)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(.)17 b Ff(26)1015
291 y Fp(S)1015 358 y Fd(self-insert)9 b(\(a,)j(b,)g(A,)g(1,)g(!,)g
(...\))6 b Fe(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)h(.)19 b Ff(14)1015 416 y Fd(set-mark)10 b(\(C-@\))t
Fe(.)t(.)c(.)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(.)17 b Ff(17)1015 474 y(sho)o(w-all-if-am)o(bigu)q(ous)9
b Fe(.)g(.)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(.)g(.)g(.)22
b Ff(7)1015 532 y Fd(start-kbd-m)o(ac)o(ro)10 b(\(C-x)h(\(\))t
Fe(.)5 b(.)h(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)17 b Ff(16)1015 640
y Fp(T)1015 706 y Fd(tab-insert)9 b(\(M-TAB\))e 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(.)h(.)f(.)g(.)g(.)20 b Ff(14)1015 764 y
Fd(tilde-expan)o(d)10 b(\(M-~\))d 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
(.)h(.)f(.)g(.)g(.)20 b Ff(17)1015 823 y Fd(to)p 1057
823 V 14 w(lower)8 b 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)24 b
Ff(32)1015 881 y Fd(to)p 1057 881 V 14 w(upper)8 b 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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)24 b Ff(32)1015 939 y Fd(transpose-c)o(ha)o(rs)10
b(\(C-t\))s Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)16
b Ff(14)1015 997 y Fd(transpose-w)o(or)o(ds)10 b(\(M-t\))s
Fe(.)t(.)c(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)16 b Ff(14)1015
1105 y Fp(U)1015 1171 y Fd(undo)c(\(C-)p 1169 1171 V
13 w(,)g(C-x)g(C-u\))7 b Fe(.)t(.)f(.)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(.)20 b Ff(17)1015 1229 y Fd(universal-a)o(rg)o(ume)o(nt)9
b(\(\))s Fe(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)16
b Ff(16)1015 1287 y Fd(unix-line-d)o(is)o(car)o(d)10
b(\(C-u\))f Fe(.)t(.)d(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)22 b Ff(15)1015
1346 y Fd(unix-word-r)o(ub)o(out)9 b(\(C-w\))g Fe(.)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(.)24 b Ff(15)1015 1404 y Fd(upcase-word)9 b(\(M-u\))f
Fe(.)t(.)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(.)22
b Ff(14)1015 1462 y Fd(uppercase)p 1197 1462 V 11 w(p)7
b Fe(.)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(.)20 b Ff(32)1015 1520 y Fd(username)p
1177 1520 V 12 w(completi)o(on)p 1388 1520 V 11 w(function)5
b Fe(.)s(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)
g(.)g(.)g(.)18 b Ff(36)1015 1628 y Fp(V)1015 1694 y Ff(visible-stats)6
b Fe(.)j(.)d(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)h(.)18 b Ff(7)1015 1802 y Fp(Y)1015
1869 y Fd(yank)12 b(\(C-y\))d Fe(.)t(.)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(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)22
b Ff(15)1015 1927 y Fd(yank-last-a)o(rg)9 b(\(M-.,)i(M-)p
1436 1927 V 13 w(\))6 b Fe(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g
(.)g(.)g(.)h(.)f(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)19
b Ff(13)1015 1985 y Fd(yank-nth-ar)o(g)10 b(\(M-C-y\))t
Fe(.)s(.)d(.)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(13)1015
2043 y Fd(yank-pop)10 b(\(M-y\))t Fe(.)t(.)c(.)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(.)17 b Ff(15)p eop
56 57 bop 0 -58 a Fr(56)1449 b(GNU)15 b(Readline)i(Library)p
eop
-1 58 bop 1937 -58 a Fr(i)0 183 y Fn(T)-7 b(able)15 b(of)g(Con)n(ten)n
(ts)0 358 y Fp(1)67 b(Command)22 b(Line)i(Editing)18
b Fb(.)10 b(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)38 b Fp(1)149
435 y Fr(1.1)45 b(In)o(tro)q(duction)16 b(to)f(Line)h(Editing)d
Fa(.)8 b(.)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(.)27 b Fr(1)149 498 y(1.2)45 b(Readline)17 b(In)o(teraction)8
b Fa(.)g(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f
(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)22 b Fr(1)299
560 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(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)27
b Fr(2)299 622 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(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 b Fr(2)299 684
y(1.2.3)44 b(Readline)17 b(Killing)h(Commands)10 b Fa(.)e(.)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(.)25 b Fr(3)299 747 y(1.2.4)44
b(Readline)17 b(Argumen)o(ts)12 b 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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)27 b Fr(4)299 809
y(1.2.5)44 b(Searc)o(hing)16 b(for)e(Commands)h(in)h(the)f(History)e
Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
27 b Fr(4)149 871 y(1.3)45 b(Readline)17 b(Init)g(File)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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)28 b Fr(5)299
934 y(1.3.1)44 b(Readline)17 b(Init)f(File)h(Syn)o(tax)6
b Fa(.)h(.)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(.)21
b Fr(5)299 996 y(1.3.2)44 b(Conditional)16 b(Init)g(Constructs)t
Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)19 b
Fr(8)299 1058 y(1.3.3)44 b(Sample)16 b(Init)g(File)11
b Fa(.)e(.)e(.)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(.)25 b Fr(9)149 1120 y(1.4)45 b(Bindable)17
b(Readline)h(Commands)6 b Fa(.)h(.)g(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
(.)h(.)g(.)f(.)h(.)f(.)21 b Fr(12)299 1183 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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)28 b Fr(12)299 1245 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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)24
b Fr(12)299 1307 y(1.4.3)44 b(Commands)14 b(F)l(or)h(Changing)h(T)l
(ext)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(.)29 b Fr(13)299 1369
y(1.4.4)44 b(Killing)18 b(And)e(Y)l(anking)8 b Fa(.)g(.)g(.)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(.)23 b Fr(14)299
1432 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(.)f(.)h(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)27 b Fr(15)299 1494 y(1.4.6)44
b(Letting)15 b(Readline)j(T)o(yp)q(e)d(F)l(or)g(Y)l(ou)9
b Fa(.)f(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)25 b Fr(16)299 1556 y(1.4.7)44
b(Keyb)q(oard)15 b(Macros)5 b Fa(.)i(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)21 b Fr(16)299
1618 y(1.4.8)44 b(Some)15 b(Miscellaneous)i(Commands)6
b Fa(.)h(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)21 b Fr(17)149 1681 y(1.5)45
b(Readline)17 b(vi)f(Mo)q(de)d 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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)28 b Fr(18)0 1805 y Fp(2)67 b(Programming)23 b(with)g(GNU)f
(Readline)d Fb(.)10 b(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g
(.)g(.)41 b Fp(19)149 1883 y Fr(2.1)k(Basic)16 b(Beha)o(vior)7
b Fa(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)22
b Fr(19)149 1945 y(2.2)45 b(Custom)14 b(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(.)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(.)22 b Fr(21)299
2008 y(2.2.1)44 b(The)15 b(F)l(unction)h(T)o(yp)q(e)10
b Fa(.)e(.)g(.)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
(.)26 b Fr(21)299 2070 y(2.2.2)44 b(W)l(riting)16 b(a)e(New)i(F)l
(unction)5 b Fa(.)k(.)e(.)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(.)21
b Fr(22)149 2132 y(2.3)45 b(Readline)17 b(V)l(ariables)f
Fa(.)7 b(.)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(.)h(.)f(.)h(.)f(.)h(.)29 b Fr(22)149
2194 y(2.4)45 b(Readline)17 b(Con)o(v)o(enience)g(F)l(unctions)7
b Fa(.)h(.)g(.)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(.)22
b Fr(24)299 2257 y(2.4.1)44 b(Naming)15 b(a)g(F)l(unction)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(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
(.)27 b Fr(24)299 2319 y(2.4.2)44 b(Selecting)17 b(a)e(Keymap)6
b Fa(.)h(.)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
(.)21 b Fr(25)299 2381 y(2.4.3)44 b(Binding)17 b(Keys)t
Fa(.)8 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f
(.)h(.)f(.)h(.)f(.)h(.)f(.)20 b Fr(26)299 2444 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(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)23
b Fr(27)299 2506 y(2.4.5)44 b(Allo)o(wing)16 b(Undoing)f
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(.)f(.)h(.)f(.)h(.)f(.)h(.)f
(.)h(.)29 b Fr(28)299 2568 y(2.4.6)44 b(Redispla)o(y)10
b Fa(.)f(.)f(.)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(.)h(.)25 b Fr(29)299
2630 y(2.4.7)44 b(Mo)q(difying)16 b(T)l(ext)6 b Fa(.)i(.)f(.)h(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)21
b Fr(30)p eop
-2 59 bop 0 -58 a Fr(ii)1471 b(GNU)15 b(Readline)i(Library)299
42 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(.)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(.)28 b Fr(31)299 104 y(2.4.9)44 b(Alternate)15 b(In)o(terface)t
Fa(.)8 b(.)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(.)g(.)f(.)h(.)f(.)h(.)f
(.)h(.)19 b Fr(32)299 166 y(2.4.10)43 b(An)16 b(Example)f
Fa(.)7 b(.)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(.)h(.)29 b Fr(33)149 228 y(2.5)45 b(Custom)14
b(Completers)f Fa(.)7 b(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h
(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)27 b
Fr(34)299 291 y(2.5.1)44 b(Ho)o(w)14 b(Completing)i(W)l(orks)9
b Fa(.)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(.)25
b Fr(34)299 353 y(2.5.2)44 b(Completion)16 b(F)l(unctions)6
b Fa(.)i(.)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(.)21
b Fr(35)299 415 y(2.5.3)44 b(Completion)16 b(V)l(ariables)11
b Fa(.)e(.)e(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)
h(.)f(.)h(.)f(.)h(.)f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)26
b Fr(37)299 477 y(2.5.4)44 b(A)15 b(Short)g(Completion)h(Example)t
Fa(.)8 b(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)f(.)h(.)
f(.)h(.)g(.)f(.)h(.)f(.)h(.)f(.)h(.)19 b Fr(40)0 602
y Fp(Concept)j(Index)11 b Fb(.)g(.)f(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)
g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)34 b Fp(51)0
742 y(F)-6 b(unction)25 b(and)d(V)-6 b(ariable)24 b(Index)17
b Fb(.)10 b(.)g(.)g(.)g(.)g(.)f(.)h(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)f(.)h
(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)g(.)38 b Fp(53)p eop end
userdict /end-hook known{end-hook}if