File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / readline / doc / readline.dvi
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 01:01:01 2021 UTC (3 years, 3 months ago) by misho
Branches: readline, MAIN
CVS tags: v8_2p0, v8_1p0, HEAD
readline 8.1

    1: ÷ƒ’Ą;č TeX output 2020.10.30:1007‹’’’’ŸņŽ ƒ33 žšą‘GóKĀÖN ¼jcmbx12ėKGNU–ĘqReadline“LibraryŽŽ‘GŸ0‰±žøŸšŖ’Ļ€Śó6Kń`y
    2: ó3
    3: cmr10įEdition–¦f8.1,“for“ó7ßź<x
    4: ó3
    5: cmtt10āReadline“Library“įV‘’eersion“8.1.ŽŸ
’qiOctobMŽer‘¦f2020Ž õzó]ĀÖN ffcmbx12ė]Chet–ffRamey›ž¦f,“Case“W˜estern“ReservšŒĢe“Univ˜ersit˜yŽŸBrian–ffF›ž¦foŒĢx,“F˜ree“Soft•ŒĢw“are‘ffF˜oundationŽŸĢĢ‰±žøŽŒ‹*ŸņŽ ƒ33Ÿfh‘GįThis–€cman²!ual›€bdescribMŽes“the˜GNU‘€YReadline“Library“(v²!ersion˜8.1,‘‡ż29“OctobMŽer˜2020),‘‡ża“libraryŽ¤
33‘Gwhicš²!h–µŗaids“in“the“consistency“of“user‘µ»in˜terface“across“discrete“programs“whic˜h“pro˜vide“aŽ”‘Gcommand–¦fline“in²!terface.Ž¤33‘GCop•²!yrigh“t‘±ž«‚cŽŽŽ‘¦fó?!",š
    6: ó3
    7: cmsy10ź
ŽŽŽŽ‘@į1988{2020–¦fF›’eree“Soft•²!w“are–¦fF˜oundation,“Inc.Ž”‘.łœP•²!ermission›t#is‘t"gran“ted˜to›t"cop“y‘’e,‘±ddistribute˜and/or–t#moMŽdify˜this“doMŽcumen²!t˜under“theŽ¤
33‘.łœterms–
    8: ~of“the“GNU‘
    9: WF›’eree“DoMŽcumen²!tation“License,‘)­V˜ersion“1.3“or“anš²!y“later“v˜ersionŽ”‘.łœpublished–^õbš²!y“the“F‘’eree“Soft˜w˜are“F‘’eoundation;‘;<with“no“In˜v‘’dDarian˜t“Sections,‘ĶnoŽ”‘.łœF›’eron•²!t-Co“v“er–xfT˜exts,‘™and›xeno“Bac•²!k-Co“v“er˜T‘’eexts.‘ĪˆA‘xZcop“y–xfof˜the“license˜is“includedŽ”‘.łœin–¦fthe“section“enš²!titled“\GNU“F‘’eree“DoMŽcumen˜tation“License".ŽŽŒ‹’’’’ŻŸņ’Ą„TįiŽŽŽ ƒ33 ż ĢĶ‘GóTĀÖN G®cmbx12ėTT‘žaGable–z³of“Con–’uĀten“tsŽŽŸ*33‘Gė]1‘32Command–ffLine“Editing‘ēh‘32óe·įg£ffcmmi12ėe:Ž–Q‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž‘	Üßė]1ŽŽ©’‘!Gį1.1‘
   10: ó5In²!troMŽduction–¦fto“Line“Editing‘š‘é˜ó> b>
   11: ó3
   12: cmmi10é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘š7į1ŽŽ¤
33‘!G1.2‘
   13: ó5Readline‘¦fIn²!teraction‘Rd‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ō«į1ŽŽ”‘0G1.2.1‘
   14: ó5Readline–¦fBare“Essen²!tials‘.¶‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘°żį1ŽŽ”‘0G1.2.2‘
   15: ó5Readline›¦fMo•²!v“emen“t˜Commands‘B"‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Äiį2ŽŽ”‘0G1.2.3‘
   16: ó5Readline–¦fKilling“Commands1ž‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘³ęį2ŽŽ”‘0G1.2.4‘
   17: ó5Readline‘¦fArgumen²!ts‘³‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘5cį3ŽŽ”‘0G1.2.5‘
   18: ó5Searc²!hing–¦ffor“Commands“in“the“History‘i‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ėKį3ŽŽ”‘!G1.3‘
   19: ó5Readline–¦fInit“File‘§‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘)aį4ŽŽ”‘0G1.3.1‘
   20: ó5Readline–¦fInit“File“Syn²!tax‘ ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘¢]į4ŽŽ”‘0G1.3.2‘
   21: ó5Conditional–¦fInit“Constructs‘ü‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘~Xį12ŽŽ”‘0G1.3.3‘
   22: ó5Sample–¦fInit“File‘¾Ī‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Aį13ŽŽ”‘!G1.4‘
   23: ó5Bindable–¦fReadline“Commands‘ÆĀ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘2	į16ŽŽ”‘0G1.4.1‘
   24: ó5Commands–¦fF‘’eor“Mo²!ving‘>H‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ąį16ŽŽ”‘0G1.4.2‘
   25: ó5Commands–¦fF‘’eor“Manipulating“The“History‘iņ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ģ9į17ŽŽ”‘0G1.4.3‘
   26: ó5Commands–¦fF›’eor“Changing“T˜ext{’‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘żŚį18ŽŽ”‘0G1.4.4‘
   27: ó5Killing–¦fAnd“Y‘’eanking‘šĒ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘į20ŽŽ”‘0G1.4.5‘
   28: ó5SpMŽecifying–¦fNumeric“Argumen²!ts‘^V‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ąį21ŽŽ”‘0G1.4.6‘
   29: ó5Letting–¦fReadline“T²!ypMŽe“F›’eor“Y˜ou‘ŗŅ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘=į21ŽŽ”‘0G1.4.7‘
   30: ó5KeybMŽoard‘¦fMacrosdI‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ę‘į22ŽŽ”‘0G1.4.8‘
   31: ó5Some–¦fMiscellaneous“Commands‘ų&‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘znį22ŽŽ”‘!G1.5‘
   32: ó5Readline–¦fvi“MoMŽdeEĀ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Č
   33: į24ŽŽŸ33‘Gė]2‘32Programming–ffwith“GNU“Readline‘׍‘32ėe:Ž–Q‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž‘
   34: öOė]25ŽŽ¦‘!Gį2.1‘
   35: ó5Basic‘¦fBeha²!vior‘Ņ䍑é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘U,į25ŽŽ”‘!G2.2‘
   36: ó5Custom‘¦fF‘’eunctions‘F·‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Čžį26ŽŽ”‘0G2.2.1‘
   37: ó5Readline‘¦fT²!ypMŽedefs‘F‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘į27ŽŽ”‘0G2.2.2‘
   38: ó5W›’eriting–¦fa“New“F˜unction‘įĢ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘dį27ŽŽ”‘!G2.3‘
   39: ó5Readline‘¦fV‘’eariablesa‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ćJį28ŽŽ”‘!G2.4‘
   40: ó5Readline›¦fCon•²!v“enience˜F‘’eunctions‘ÆĄ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘2į33ŽŽ”‘0G2.4.1‘
   41: ó5Naming–¦fa“F‘’eunction‘—Ś‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘"į33ŽŽ”‘0G2.4.2‘
   42: ó5Selecting–¦fa“Keymap%ū‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ØCį34ŽŽ”‘0G2.4.3‘
   43: ó5Binding‘¦fKeys‘Ķn‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘O¶į35ŽŽ”‘0G2.4.4‘
   44: ó5AssoMŽciating–¦fF‘’eunction“Names“and“Bindings‘'ƍ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ŗ
   45: į36ŽŽ”‘0G2.4.5‘
   46: ó5Allo²!wing‘¦fUndoing‘G‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ÉWį37ŽŽ”‘0G2.4.6‘
   47: ó5Redispla²!y1ŗ‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘“į38ŽŽ”‘0G2.4.7‘
   48: ó5MoMŽdifying‘¦fT‘’eext‘č¬‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘jōį40ŽŽ”‘0G2.4.8‘
   49: ó5Character‘¦fInput‘£‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘%Ōį40ŽŽ”‘0G2.4.9‘
   50: ó5T‘’eerminal‘¦fManagemen²!t‘­‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘ōį41ŽŽ”‘0G2.4.10‘
   51: ó5Utilit²!y‘¦fF‘’eunctions‘Żš‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘`7į41ŽŽ”‘0G2.4.11‘
   52: ó5Miscellaneous‘¦fF‘’eunctions‘ĪR‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Pšį43ŽŽ”‘0G2.4.12‘
   53: ó5Alternate‘¦fIn²!terface‘T‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘š›į44ŽŽ”‘0G2.4.13‘
   54: ó5A–¦fReadline“Examples׍‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘öį45ŽŽŽŒ‹’’’žĒŸņ’½š©įiiŽŽŽ ƒ33 ż†ĢĶ‘0G2.4.14‘
   55: ó5Alternate–¦fIn²!terface“Example‘B#‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Äjį46ŽŽ¤
33‘!G2.5‘
   56: ó5Readline–¦fSignal“Handling‘/O‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘±—į48ŽŽ”‘!G2.6‘
   57: ó5Custom‘¦fCompleters‘?ą‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ā'į51ŽŽ”‘0G2.6.1‘
   58: ó5Ho²!w–¦fCompleting“W‘’eorksh&‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘źnį51ŽŽ”‘0G2.6.2‘
   59: ó5Completion‘¦fF‘’eunctions‘R¶‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Ōžį52ŽŽ”‘0G2.6.3‘
   60: ó5Completion‘¦fV‘’eariables‘*Ō‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘­į53ŽŽ”‘0G2.6.4‘
   61: ó5A–¦fShort“Completion“Example‘Ń:‘é˜é:Ž–ŻŪ‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž“‘é˜:Ž‘Sį58ŽŽŸ33‘Gė]Apps3endix‘ffAŽ‘wL‹GNU‘œČF‘ž¦free–œūDos3cumenŒĢtation“License‘ȓ‘32ėe:Ž‘Q‘32:Ž‘	@ė]67ŽŽ¤!’‘GConcept‘ffIndex‘#C‘32ėe:Ž–Q‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž‘»ė]75ŽŽ”‘GF›ž¦function–ffand“V˜ariable“Index‘;¤‘32ėe:Ž–Q‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž“‘32:Ž‘	1ė]76ŽŽŽŒ‹>Ÿņ’¾6eį1ŽŽŽ ƒ33 ż ĢĶ‘GėT1‘	øQCommand–z³Line“EditingŽŽŸn‘GįThis–¦fcš²!hapter“describMŽes“the“basic“features“of“the“ó<Œ-ų
   62: ó3
   63: cmcsc10ēgnu“įcommand“line“editing“in˜terface.ŽŸø䍍‘Gė]1.1‘™InŒĢtros3duction–f@to“Line“EditingŽŽŸ33‘GįThe–¦ffolloš²!wing“paragraphs“describMŽe“the“notation“used“to“represen˜t“k˜eystrok˜es.Ž¤„‘!GThe–Yśtext›Yłó=ßź<x
   64: ó3
   65: cmsltt10čC-k“įis“read˜as“`Con²!trol-K'‘YĖand“describMŽes“the˜c²!haracter“proMŽduced“when˜the“ākŽ©
33‘Gįkš²!ey–¦fis“pressed“while“the“Con˜trol“k˜ey“is“depressed.Ž”‘!GThe–Ōztext›Ō{čM-k“įis“read˜as“`Meta-K'‘Ōoand“describMŽes“the˜c²!haracter“proMŽduced“when˜the“MetaŽ¦‘Gk•²!ey›ų°(if‘ųÆy“ou˜ha“v“e˜one)–ųÆis˜depressed,‘
Band“the˜āk˜įk²!ey“is˜pressed.‘ŌŗThe“Meta˜k²!ey˜is“labMŽeled˜āALTŽ¦‘Gįon›Ž~man•²!y‘Ž}k“eybMŽoards.‘ÕåOn˜k“eybMŽoards‘Ž}with˜t“w“o‘Ž}k“eys˜labMŽeled˜āALT–Ž}į(usually˜to“either˜side“of˜theŽ¦‘Gspace–™Čbar),‘œOthe“āALT›™Éįon“the˜left“side˜is“generally“set˜to“w²!ork˜as“a˜Meta“k²!ey‘’e.‘Ł©The“āALT˜įk²!ey“onŽ¦‘Gthe–CĆrighš²!t“ma˜y“also“bMŽe“congured“to“w˜ork“as“a“Meta“k˜ey“or“ma˜y“bMŽe“congured“as“some“otherŽ¦‘GmošMŽdier,–¦fsuc²!h“as“a“Comp˜ose“kš²!ey“for“t˜yping“accen˜ted“c˜haracters.ŽŸ¦‘!GIf–ī"yš²!ou“do“not“ha˜v˜e“a“Meta“or“āALT“įk˜ey‘’e,‘üor“another“k˜ey“w˜orking“as“a“Meta“k˜ey‘’e,‘üthe“iden˜ticalŽ¦‘Gk•²!eystrok“e–jåcan›jębMŽe“generated˜bš²!y“t˜yping›jęāESC“ó9ż':
   66: ó3
   67: cmti10ärstį,‘vĢand˜then“t²!yping˜ākį.‘ŹEither“proMŽcess˜is“kno²!wnŽ¦‘Gas–¦fó:p®0J
   68: ó3
   69: cmsl10åmetafying‘–~įthe“āk“įk²!ey‘’e.Ž”‘!GThe–Łątext›ŁßčM-C-k“įis˜read“as˜`Meta-Con²!trol-k'“and˜describMŽes“the˜c²!haracter“proMŽduced˜b²!yŽ¦‘Gåmetafying‘–~čC-kį.Ž”‘!GIn›Tóaddition,‘€–sev•²!eral‘Tņk“eys˜ha“v“e˜their˜o“wn˜names.‘éƒSpMŽecically‘’e,–€–āDELį,“āESCį,‘€•āLFDį,“āSPCį,“āRETį,Ž¦‘Gand–$CāTAB“įall“stand›$Dfor“themselv²!es“when“seen“in“this˜text,‘Cŗor“in“an“init˜le“(see“Section“1.3Ž¦‘G[Readline–śInit“File],‘”vpage›ū4).‘ÖcIf“y•²!our˜k“eybMŽoard›ślac“ks˜a˜āLFD˜įk“ey‘’e,‘”vt“yping‘ūāC-j˜įwill˜proMŽduce˜theŽ¦‘Gdesired–¦fcš²!haracter.‘ŻŻThe“āRET“įk˜ey“ma˜y“bšMŽe“lab˜eled“āReturn“įor“āEnter“įon“some“k²!eyb˜oards.ŽŸø䍍‘Gė]1.2‘™Readline‘f@InŒĢteractionŽŽŸ33‘GįOften–é3during“an“in•²!teractiv“e›é3session‘é2y“ou˜t“ypMŽe˜in˜a˜long˜line˜of˜text,‘łåonly˜to˜notice˜that˜theŽ¦‘Grst–ćŅw²!ord“on›ćÓthe“line“is“misspMŽelled.‘–"The“Readline“library˜givš²!es“y˜ou“a“set‘ćÓof“commands“forŽ¦‘Gmanipulating–“”the›“ text“as“y•²!ou˜t“ypMŽe–“”it“in,‘—ballo•²!wing˜y“ou–“”to“just˜x“yš²!our“t˜ypMŽo,‘—band‘“ not“forcingŽ¦‘Gyš²!ou–`łto“ret˜ypMŽe“the‘`ųma‘›»jorit˜y“of“the“line.‘Ę¹Using‘`ųthese“editing“commands,‘nŪy˜ou“mo˜v˜e“the“cursorŽ¦‘Gto–the“place›that“needs“correction,‘;Zand“delete“or“insert˜the“text“of“the“corrections.‘CZThen,Ž¦‘Gwhen–ż£yš²!ou“are“satised“with‘ż¤the“line,‘cy˜ou‘ż¤simply“press“āRETį.‘„œY‘’eou“do“not“ha˜v˜e‘ż¤to“bMŽe“at“the“endŽ¦‘Gof–’Õthe“line“to›’Ōpress“āRETį;‘,the˜en²!tire“line“is“accepted“regardless“of“the˜loMŽcation“of“the“cursorŽ¦‘Gwithin–¦fthe“line.ŽŸø卍‘GógĀÖN 
#×cmbx12ėg1.2.1‘d(Readline–ķMBare“Essen–įtialsŽŽŸ³3‘GįIn–Üorder›Üto“en•²!ter˜c“haracters‘Üin“to˜the‘Üline,‘ézsimply˜t“ypšMŽe–Üthem.‘~ŚThe“t•²!yp˜ed‘Üc“haracter‘Üapp˜earsŽ¦‘Gwhere–ęNthe“cursor›ęOw²!as,‘öHand“then“the“cursor˜mo•²!v“es–ęNone“space“to˜the“righ•²!t.‘•If˜y“ou›ęNmist“ypMŽe˜aŽ¦‘Gc•²!haracter,›¦fy“ou˜can˜use˜y“our˜erase˜c“haracter˜to˜bac“k˜up˜and˜delete˜the˜mist“ypMŽed˜c“haracter.Ž”‘!GSometimes›³ly•²!ou‘³mma“y˜mist“ypMŽe‘³ma˜c“haracter,‘¶®and˜not–³mnotice˜the˜error“un•²!til˜y“ou‘³mha“v“e˜t“ypMŽedŽ¦‘Gsevš²!eral–wųother“c˜haracters.‘ĪcIn“that“case,‘By˜ou“can“t˜ypMŽe“čC-b“įto“mo˜v˜e“the“cursor‘włto“the“left,‘AandŽ¦‘Gthen–¦fcorrect“yš²!our“mistak˜e.‘ŻŻAfterw˜ards,“y˜ou“can“mo˜v˜e“the“cursor“to“the“righ˜t“with“čC-fį.Ž”‘!GWhen–é"y²!ou›é!add“text“in“the˜middle“of“a˜line,‘łŃy²!ou“will˜notice“that“c²!haracters“to˜the“righ²!tŽ¦‘Gof–q”the“cursor“are“`pushed‘q“o•²!v“er'–q”to“makš²!e“roMŽom“for“the“text“that“y˜ou‘q“ha˜v˜e“inserted.‘ĢBLik˜ewise,Ž¦‘Gwhen–‚ły²!ou›‚ųdelete“text“bMŽehind˜the“cursor,‘ŗc²!haracters˜to“the“righ²!t˜of“the“cursor˜are“`pulledŽŽŒ‹J卟ņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH2ŽŽŽ ƒ33 ż ĢĶ‘Gbacš²!k'–¹Õto“ll“in“the“blank“space“created“b˜y“the“remo˜v‘’dDal“of“the‘¹Ötext.‘A‘¹™list“of“the“bare“essen˜tialsŽ©
33‘Gfor–¦fediting“the“text“of“an“input“line“follo²!ws.ŽŸˆ‘GčC-b‘(‘õįMo•²!v“e›¦fbac“k˜one˜c“haracter.Ž¤kŹ‘GčC-f‘(‘õįMo•²!v“e›¦fforw“ard˜one˜c“haracter.Ž”‘GāDEL–¦fįor“āBackspaceŽ¦‘Kā:įDelete–¦fthe“c²!haracter“to“the“left“of“the“cursor.ŽŸkĖ‘GčC-d‘(‘õįDelete–¦fthe“c²!haracter“underneath“the“cursor.Ž”‘GPrin•²!ting‘¦fc“haractersŽŽ¦‘Kā:Insert–¦fthe“cš²!haracter“in˜to“the“line“at“the“cursor.Ž”‘GčC-_–¦fįor“čC-x“C-uŽ¦‘Kā:įUndo–jthe“last“editing“command.‘÷éY‘’eou“can‘iundo“all“the“w•²!a“y›jbac“k˜to˜an˜empt“yŽ¦‘Kā:line.Ž¤ˆ‘G(DepMŽending–Œron“yš²!our“conguration,‘‘£the‘ŒsāBackspace“įk˜ey“bMŽe“set“to“delete‘Œsthe“c˜haracter“to“theŽ¦‘Gleft–Z‘of“the“cursor“and“the‘Z’āDEL“įkš²!ey“set“to“delete“the“c˜haracter“underneath“the“cursor,‘‡œlik˜eŽ¦‘GčC-dį,–¦frather“than“the“c²!haracter“to“the“left“of“the“cursor.)ŽŸ8—‘Gėg1.2.2‘d(Readline›ķMMo•–įv“emen“t˜CommandsŽŽŸ³3‘GįThe›S©abMŽo•²!v“e–SØtable˜describMŽes“the˜most“basic˜k•²!eystrok“es‘SØthat˜y“ou˜need–SØin˜order“to˜do“editing˜ofŽ¦‘Gthe–öinput‘öline.‘ĢĪF‘’eor“yš²!our“con˜v˜enience,‘	ōman˜y“other“commands‘öha˜v˜e“bMŽeen“added‘öin“additionŽ¦‘Gto›2XčC-bį,–UUčC-fį,“čC-dį,‘UTand–2YāDELį.‘“Here˜are“some˜commands˜for“mo²!ving˜more˜rapidly“abMŽout˜theŽ¦‘Gline.Ž”‘GčC-a‘(‘õįMo•²!v“e–¦fto“the“start“of“the“line.ŽŸkĖ‘GčC-e‘(‘õįMo•²!v“e–¦fto“the“end“of“the“line.Ž¤kŹ‘GčM-f‘(‘õįMo•²!v“e›¦fforw“ard˜a˜w“ord,˜where˜a˜w“ord˜is˜compMŽosed˜of˜letters˜and˜digits.Ž”‘GčM-b‘(‘õįMo•²!v“e›¦fbac“kw“ard˜a˜w“ord.Ž”‘GčC-l‘(‘õįClear–¦fthe“screen,“reprinš²!ting“the“curren˜t“line“at“the“top.ŽŸˆ‘!GNotice–ōKhoš²!w‘ōLčC-f“įmo˜v˜es“forw˜ard“a‘ōLc˜haracter,‘źwhile“čM-f“įmo˜v˜es‘ōLforw˜ard“a“w˜ord.‘¢It“is‘ōLa“loMŽoseŽ¦‘Gcon•²!v“en“tion–—†that“conš²!trol“k˜eystrok˜es“opMŽerate“on‘—…c˜haracters“while“meta“k˜eystrok˜es“opMŽerate“onŽ¦‘Gw²!ords.ŽŸ8—‘Gėg1.2.3‘d(Readline–ķMKilling“CommandsŽŽŸ³3‘GåKilling‘ ąįtext–0Čmeans›0Ēto“delete“the“text˜from“the“line,‘HNbut“to˜sa•²!v“e–0Čit“a•²!w“a“y–0Čfor˜later“use,‘HNusuallyŽ¦‘Gb•²!y›<åy“anking‘,į(re-inserting)˜it˜bac“k‘<in“to˜the˜line.‘ŗe(`Cut'˜and˜`paste'‘<are˜more˜recen“t‘<jargon˜forŽ¦‘G`kill'–¦fand“`y²!ank'.)ŽŸkĖ‘!GIf–”°the“description›”Æfor“a“command“sa²!ys“that˜it“`kills'“text,‘¢”then“y²!ou“can“bMŽe˜sure“that“y²!ouŽ¦‘Gcan–¦fget“the“text“bacš²!k“in“a“dieren˜t“(or“the“same)“place“later.ŽŸkŹ‘!GWhen–Ź›y²!ou›Źœuse“a“kill˜command,‘öthe˜text“is“sa•²!v“ed˜in–Ź›a“åkill-ringį.‘”šAnš²!y“n˜um˜bMŽer‘Źœof“consecutiv˜eŽ¦‘Gkills›ø$sa•²!v“e–ø#all˜of˜the˜killed“text˜together,‘¼“so˜that˜when“y•²!ou˜y“ank˜it˜bac“k,‘¼“y“ou‘ø#get˜it˜all.‘TheŽ¦‘Gkill–āčring›āēis“not˜line“spMŽecic;‘(the“text“that˜y²!ou“killed˜on“a“previously˜t²!ypMŽed“line˜is“a²!v‘’dDailableŽ¦‘Gto–¦fbMŽe“y•²!ank“ed›¦fbac“k˜later,˜when˜y“ou˜are˜t“yping˜another˜line.ŽŽŒ‹\"Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH3ŽŽŽ ƒ33 ż ĢĶ‘!GHere–¦fis“the“list“of“commands“for“killing“text.Ž¤ų°‘GčC-k‘(‘õįKill–¦fthe“text“from“the“curren²!t“cursor“pMŽosition“to“the“end“of“the“line.Ž”‘GčM-d‘(‘õįKill–)šfrom“the›)™cursor“to“the“end“of“the˜currenš²!t“w˜ord,‘Bor,‘Bif“bMŽet˜w˜een“w˜ords,‘Bto“theŽ©
33‘Kā:end–¦fof“the“next“wš²!ord.‘ŻŻW‘’eord“bMŽoundaries“are“the“same“as“those“used“b˜y“čM-fį.Ž”‘GčM-DEL‘”įKill–«ofrom“the›«ncursor“the“start“of˜the“currenš²!t“w˜ord,–¬±or,“if‘«obMŽet˜w˜een‘«nw˜ords,“to‘«otheŽ¦‘Kā:start–of“the›previous“w²!ord.‘ĮįW‘’eord˜bMŽoundaries“are“the“same“as˜those“used“b²!yŽ¦‘Kā:čM-bį.Ž”‘GčC-w‘(‘õįKill–4Ufrom›4Vthe“cursor˜to“the˜previous“whitespace.‘‡«This˜is“dieren²!t˜than“čM-DELŽ¦‘Kā:įbšMŽecause–¦fthe“w²!ord“b˜oundaries“dier.Ž”‘!GHere–żįis“hoš²!w“to“åy˜ank‘§äįthe“text“bac˜k“in˜to“the“line.‘äNY‘’eanking‘żąmeans“to“cop˜y“the“most-Ž¦‘Grecen²!tly-killed–¦ftext“from“the“kill“buer.Ž”‘GčC-y‘(‘õįY‘’eank–¦fthe“most“recenš²!tly“killed“text“bac˜k“in˜to“the“buer“at“the“cursor.Ž”‘GčM-y‘(‘õįRotate–'!the“kill-ring,‘GPand“y²!ank“the“new“top.‘`Y‘’eou“can‘'"only“do“this“if“the“priorŽ¦‘Kā:command–¦fis“čC-y“įor“čM-yį.Ž¤Å}‘Gėg1.2.4‘d(Readline‘ķMArgumen–įtsŽŽŸ³3‘GįY‘’eou–±‰can›±ˆpass“n•²!umeric˜argumen“ts–±‰to“Readline˜commands.‘’ESometimes“the˜argumen²!t“actsŽ¦‘Gas–Ѥa“repMŽeat›Ń£coun²!t,‘sother“times“it“is˜the“äsign‘ØÆįof“the˜argumenš²!t“that“is“signican˜t.‘_–If“y˜ouŽ¦‘Gpass–a‘negativš²!e“argumen˜t“to“a‘command“whic˜h“normally“acts‘in“a“forw˜ard“direction,‘ģthatŽ¦‘Gcommand–=Üwill“act“in“a›=Ūbac•²!kw“ard–=Üdirection.‘¤?F‘’eor“example,‘c¹to“kill“text˜bac²!k“to“the“start“ofŽ¦‘Gthe–¦fline,“yš²!ou“migh˜t“t˜ypMŽe“`āM--“C-kį'.ŽŸņ‘!GThe›bOgeneral‘bPw•²!a“y˜to‘bPpass˜n“umeric‘bPargumen“ts˜to–bPa˜command“is˜to“t²!ypMŽe˜meta“digits˜bMŽeforeŽ¦‘Gthe–“command.‘RIf‘“Žthe“rst“`digit'“tš²!ypMŽed“is“a“min˜us“sign–“Ž(`ā-į'),‘øthen“the–“sign“of“the“argumen˜tŽ¦‘Gwill––ŠbMŽe‘–‰negativš²!e.‘®HOnce“y˜ou“ha˜v˜e‘–‰t˜ypMŽed“one“meta›–‰digit“to“get˜the“argumenš²!t“started,‘Ņ’y˜ouŽ¦‘Gcan–vņt²!ypMŽe›vńthe“remainder“of“the˜digits,‘€pand“then˜the“command.‘ĪF‘’eor˜example,‘€pto“giv²!e˜the“čC-dŽ¦‘Gįcommand–~Gan‘~Hargumenš²!t“of“10,‘“@y˜ou“could‘~Ht˜ypMŽe“`āM-1–¦f0“C-dį',‘“?whic˜h›~Hwill–~Gdelete“the˜next“tenŽ¦‘Gc²!haracters–¦fon“the“input“line.Ž”‘Gėg1.2.5‘d(Searc–įhing–ķMfor“Commands“in“the“HistoryŽŽŸ³3‘GįReadline–ŽĘpro²!vides›ŽĒcommands“for˜searc²!hing“through˜the“command˜history“for˜lines“con²!tainingŽ¦‘Ga–¦fspMŽecied“string.‘ŻŻThere“are“t•²!w“o›¦fsearc“h˜moMŽdes:‘ŻŻåincremen“tal‘øįand˜ånon-incremen“talį.ŽŸń‘!GIncremen•²!tal›øsearc“hes‘·b•MŽegin˜b“efore–·the˜user“has˜nished˜t²!yping“the˜searc²!h“string.‘­£As˜eac²!hŽ¦‘Gcš²!haracter–@|of“the“searc˜h“string“is“t˜ypMŽed,‘gReadline“displa˜ys“the“next“en˜try“from“the“historyŽ¦‘Gmatcš²!hing–ā+the“string“t˜ypMŽed‘ā*so“far.‘œtAn“incremen˜tal“searc˜h“requires“only‘ā*as“man˜y“c˜haracters“asŽ¦‘Gneeded–tõto›tōnd“the˜desired“history˜en²!try–’e.‘ĶbT“o˜searc•²!h‘tõbac“kw“ard˜in–tõthe˜history“for˜a“particularŽ¦‘Gstring,‘0t•²!ypMŽe›‰cčC-rį.‘Ō1T“yping˜čC-s˜įsearc“hes‘‰bforw“ard˜through˜the–‰bhistory‘’e.‘Ō2The“c•²!haracters˜presen“tŽ¦‘Gin–^the“v›’dDalue‘_of“the“āisearch-terminators“įv˜ariable“are“used‘_to“terminate“an“incremen²!talŽ¦‘Gsearc²!h.‘tIf–Ųsthat“v›’dDariable“has“not“bMŽeen“assigned“a“v˜alue,‘$öthe“āESC“įand“čC-J“įc²!haracters“willŽ¦‘Gterminate–Can“incremenš²!tal“searc˜h.‘	3učC-g“įwill“abMŽort“an“incremen˜tal‘Dsearc˜h“and“restore“theŽ¦‘Goriginal–xÓline.‘Ī¬When“the“searcš²!h“is“terminated,‘ńthe“history“en˜try“con˜taining“the“searc˜h“stringŽ¦‘GbMŽecomes–¦fthe“curren²!t“line.ŽŸņ‘!GT‘’eo–¹¾nd‘¹½other“matcš²!hing“en˜tries“in‘¹½the“history“list,‘¾“t˜ypMŽe“čC-r“įor‘¹½čC-s“įas“appropriate.‘äThisŽ¦‘Gwill›#“searc•²!h‘#”bac“kw“ard˜or˜forw“ard–#”in˜the˜history“for˜the˜next“en•²!try˜matc“hing˜the‘#”searc“h˜stringŽŽŒ‹h‘Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH4ŽŽŽ ƒ33 ż ĢĶ‘Gt•²!ypMŽed‘ˆ5so›ˆ4far.‘ƒIAn“y˜other‘ˆ5k“ey˜sequence–ˆ5bMŽound˜to“a˜Readline“command˜will“terminate˜theŽ¤
33‘Gsearcš²!h–and“execute“that–žcommand.‘«DF‘’eor“instance,‘,ųa–āRET“įwill“terminate‘žthe“searc˜h“and“acceptŽ”‘Gthe–…©line,‘Œ6thereb²!y“executing“the›…Ŗcommand“from“the˜history“list.‘ŅóA‘…”mo•²!v“emen“t˜command‘…©willŽ”‘Gterminate–¦fthe“searcš²!h,“mak˜e“the“last“line“found“the“curren˜t“line,“and“bMŽegin“editing.ŽŸō^‘!GReadline–.”rememš²!bMŽers“the‘.•last“incremen˜tal“searc˜h“string.‘vhIf“t˜w˜o“čC-rįs‘.•are“t˜ypMŽed“withoutŽ”‘Gan•²!y›ačin“terv“ening˜c“haracters‘aédening˜a˜new˜searc“h‘aéstring,‘Čan“y˜remem“bMŽered‘aésearc“h˜string˜isŽ”‘Gused.Ž©ō]‘!GNon-incremen•²!tal›–searc“hes˜read˜the˜en“tire˜searc“h‘—string˜bMŽefore˜starting˜to˜searc“h˜forŽ”‘Gmatcš²!hing–Ąhistory‘ælines.‘	FźThe“searc˜h“string‘æma˜y“bMŽe“t˜ypMŽed‘æb˜y“the“user›æor“bMŽe“part˜of“theŽ”‘Gcon•²!ten“ts–¦fof“the“curren²!t“line.ŽŸ”Ą‘Gė]1.3‘™Readline–f@Init“FileŽŽŸ33‘GįAlthough–AÉthe“Readline“library›AČcomes“with“a“set“of“Emacs-lik•²!e˜k“eybindings–AÉinstalled“b²!yŽ”‘Gdefault,‘it–ųKis“pMŽossible“to“use“a“dierenš²!t‘ųJset“of“k˜eybindings.‘£ŌAn˜y“user“can“customize“programsŽ”‘Gthat–TŖuse“Readline“bš²!y“putting“commands“in“an“åinputrc‘ž®įle,‘Ą;con˜v˜en˜tionally“in“his“homeŽ”‘Gdirectory‘’e.‘–(The–ĻEname“of“this“le“is“takš²!en“from“the“v‘’dDalue“of“the“en˜vironmen˜t“v‘’dDariable“āINPUTRCį.Ž”‘GIf–ž®that“v‘’dDariable“is“unset,‘ :the“default“is“ā~/.inputrcį.‘ŪJIf“that“le‘žÆdošMŽes“not“exist“or“cannot“b˜eŽ”‘Gread,–¦fthe“ultimate“default“is“ā/etc/inputrcį.Ž¦‘!GWhen–Ž\a›Ž[program“whic²!h˜uses“the˜Readline“library˜starts“up,‘“*the“init˜le“is˜read,‘“*and“theŽ”‘Gk²!ey–¦fbindings“are“set.ŽŸō^‘!GIn–8āaddition,‘NÉthe›8įāC-x‘¦fC-r“įcommand˜re-reads“this“init˜le,‘NÉth²!us“incorpMŽorating˜anš²!y“c˜hangesŽ”‘Gthat–¦fyš²!ou“migh˜t“ha˜v˜e“made“to“it.ŽŸĮ+‘Gėg1.3.1‘d(Readline–ķMInit“File“Syn–įtaxŽŽŸ³3‘GįThere–ķoare“only›ķna“few“basic“constructs“allo•²!w“ed–ķoin˜the“Readline“init“le.‘²÷Blank“lines“areŽ”‘Gignored.‘­zLines–ėšbšMŽeginning“with“a“`ā#į'“are‘ė›commen²!ts.‘­yLines“b˜eginning“with‘ė›a“`ā$į'“indicateŽ”‘Gconditional–ł0constructs“(see“Section“1.3.2“[Conditional‘ł1Init“Constructs],‘Māpage“12).‘Ö;OtherŽ”‘Glines–¦fdenote“v‘’dDariable“settings“and“k²!ey“bindings.ŽŸŌņ‘GV‘’eariable‘¦fSettingsŽ”‘Kā:Y‘’eou–Ś½can“mošMŽdify“the“run-time“b˜ehaš²!vior“of‘Ś¼Readline“b˜y“altering“the“v‘’dDalues“ofŽ”‘Kā:v‘’dDariables–din›eReadline“using“the“āset˜įcommand“within“the˜init“le.‘ŲThe“syn²!taxŽ”‘Kā:is‘¦fsimple:ŽŸɍ‘hŹāset–æŖčvariable“valueŽ©ȍ‘Kā:įHere,–XŽfor›E}example,“is˜ho•²!w‘E|to˜c“hange–E|from˜the“default˜Emacs-likš²!e“k˜ey‘E}binding“toŽ”‘Kā:use–¦fāvi“įline“editing“commands:Ž¦‘hŹāset–æŖediting-mode“viŽ¦‘Kā:įV‘’eariable–4Ynames›4Xand“v‘’dDalues,–WÕwhere˜appropriate,“are–4Yrecognized˜without“regardŽ”‘Kā:to–¦fcase.‘ŻŻUnrecognized“v‘’dDariable“names“are“ignored.ŽŸɍ‘Kā:BoMŽolean–©v‘’dDariables›Ø(those“that˜can“bMŽe“set˜to“on˜or“o‘Ś)“are˜set“to“on˜if“the˜v‘’dDalue“isŽ”‘Kā:n•²!ull›éJor‘éIempt“y‘’e,‘åon˜į(case-insensitiv“e),‘or˜1.‘žÓAn“y˜other˜v‘’dDalue–éIresults˜in“the˜v‘’dDariableŽ”‘Kā:bMŽeing–¦fset“to“o.Ž¦‘Kā:A–¦fgreat“deal“of“run-time“bMŽehaš²!vior“is“c˜hangeable“with“the“follo˜wing“v‘’dDariables.ŽŽŒ‹y	Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH5ŽŽŽ ƒ33 ż ĢĶ‘Kā:ābell-styleŽ¤
33’…³-įCon²!trols–Fwhat›FhappMŽens“when˜Readline“w•²!an“ts˜to–Fring˜the“termi-Ž”’…³-nal–xzbMŽell.‘TIf“set›xyto“`ānoneį',‘¬žReadline“nev²!er˜rings“the˜bMŽell.‘TIf˜set“toŽ”’…³-`āvisibleį',‘
   70: dReadline–öeuses›öda“visible˜bMŽell“if˜one“is˜a²!v‘’dDailable.‘ĶŁIf˜set“toŽ”’…³-`āaudibleį'›Ł(the–Śdefault),‘¶5Readline“attempts˜to˜ring“the˜terminal'sŽ”’…³-bMŽell.Ž©‘Kā:ābind-tty-special-charsŽ”’…³-įIf–5>set›5?to“`āonį'˜(the“default),‘XōReadline“attempts˜to“bind˜the“con²!trolŽ”’…³-cš²!haracters–{wtreated‘{vspMŽecially“b˜y“the‘{vk˜ernel's“terminal“driv˜er‘{vto“theirŽ”’…³-Readline‘¦fequiv‘’dDalen²!ts.Ž¦‘Kā:āblink-matching-parenŽ”’…³-įIf–Yåset›Yäto“`āonį',‘†ÄReadline˜attempts“to˜brie
y“mo•²!v“e˜the–Yåcursor˜to“anŽ”’…³-opMŽening–Āparenš²!thesis‘Įwhen“a“closing“paren˜thesis‘Įis“inserted.‘ņšTheŽ”’…³-default–¦fis“`āoffį'.ŽŸ‘Kā:ācolored-completion-prefixŽ”’…³-įIf–‡set“to“`āonį',›Wwhen‘‡listing“completions,˜Readline“displa²!ys“the“com-Ž”’…³-mon–¤prex›£of“the˜set“of˜pMŽossible“completions˜using“a˜dieren²!t“color.Ž”’…³-The–Ķcolor“denitions“are“tak²!en“from“the“v‘’dDalue“of“the“āLS_COLORSŽ”’…³-įen•²!vironmen“t–¦fv‘’dDariable.‘ŻŻThe“default“is“`āoffį'.Ž¦‘Kā:ācolored-statsŽ”’…³-įIf–0*set›0+to“`āonį',‘GŠReadline“displa²!ys˜pMŽossible“completions˜using“dieren²!tŽ”’…³-colors–“•to›“”indicate“their˜le“t²!ypMŽe.‘iThe˜color“denitions˜are“tak²!enŽ”’…³-from–õ;the›õ<v‘’dDalue“of“the“āLS_COLORS˜įen•²!vironmen“t–õ;v‘’dDariable.‘¢ĻThe“defaultŽ”’…³-is‘¦f`āoffį'.Ž¦‘Kā:ācomment-beginŽ”’…³-įThe–}3string›}4to“insert˜at“the˜bMŽeginning“of˜the“line˜when“theŽ”’…³-āinsert-comment–¦fįcommand“is“executed.‘ŻŻThe“default“v‘’dDalue“is“ā"#"į.Ž¦‘Kā:ācompletion-display-widthŽ”’…³-įThe›’n•²!um“bMŽer˜of–’screen˜columns˜used˜to“displa•²!y˜pMŽossible˜matc“hesŽ”’…³-when–{»pMŽerforming›{ŗcompletion.‘Ļ¤The“v‘’dDalue“is˜ignored“if“it“is˜less“thanŽ”’…³-0–%8or“greater“than›%9the“terminal“screen“width.‘²ĪA‘%v‘’dDalue˜of“0“will“causeŽ”’…³-matcš²!hes–¦fto“bMŽe“displa˜y˜ed“one“pMŽer“line.‘ŻŻThe“default“v‘’dDalue“is“-1.ŽŸ‘Kā:ācompletion-ignore-caseŽ”’…³-įIf–IÓset›IŌto“`āonį',‘\WReadline˜pMŽerforms“lename“matc²!hing˜and“completionŽ”’…³-in–¦fa“case-insensitiv²!e“fashion.‘ŻŻThe“default“v‘’dDalue“is“`āoffį'.Ž¦‘Kā:ācompletion-map-caseŽ”’…³-įIf–©ūset‘©śto“`āonį',›Üvand“åcompletion-ignore-case‘Gįis“enabled,˜Readline“treatsŽ”’…³-hš²!yphens–“e(`ā-į')“and“underscores“(`ā_į')“as“equiv‘’dDalen˜t“when“pMŽerformingŽ”’…³-case-insensitiv•²!e›ZŃlename‘ZŅmatc“hing˜and‘ZŅcompletion.‘	ūThe˜defaultŽ”’…³-v‘’dDalue–¦fis“`āoffį'.Ž¦‘Kā:ācompletion-prefix-display-lengthŽ”’…³-įThe–ĀŒlength›Ā‹in“c²!haracters˜of“the˜common“prex˜of“a˜list“of˜pMŽossibleŽ”’…³-completions–Sthat›Ris“displa•²!y“ed–Swithout“moMŽdication.‘ցWhen“set˜to“aŽŽŒ‹‡	Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH6ŽŽŽ ƒ33 ż ĢĶ’…³-v‘’dDalue–čgreater›éthan“zero,‘0hcommon˜prexes“longer˜than“this˜v‘’dDalue“areŽ¤
33’…³-replaced–¦fwith“an“ellipsis“when“displa²!ying“pMŽossible“completions.Ž©Ūo‘Kā:ācompletion-query-itemsŽ”’…³-įThe›%Šn•²!um“b•MŽer‘%Ļof˜p“ossible˜completions–%Ļthat˜determines˜when“the˜userŽ”’…³-is–
ask²!ed›whether“the˜list“of˜pšMŽossibilities“should“b˜e‘displa•²!y“ed.‘	AÓIfŽ”’…³-the›|1n•²!um“b•MŽer‘|2of˜p“ossible˜completions˜is–|2greater˜than˜or˜equal“to˜thisŽ”’…³-v‘’dDalue,‘^<Readline›Fwill–Eask“whether“or“not“the˜user“wishes“to“viewŽ”’…³-them;‘åóotherwise,‘Ū\they›ŠÅare–ŠÄsimply“listed.‘\łThis“v‘’dDariable“m²!ust˜bMŽe“setŽ”’…³-to–›Yan››Zin²!teger“v‘’dDalue˜greater“than˜or“equal˜to“0.‘¼øA‘›negativ²!e“v‘’dDalueŽ”’…³-means–¦fReadline“should“nev²!er“ask.‘ŻŻThe“default“limit“is“ā100į.ŽŸŪn‘Kā:āconvert-metaŽ”’…³-įIf–¦set“to›¦ž`āonį',‘ŁÅReadline“will˜con•²!v“ert›¦c“haracters˜with˜the‘¦žeigh“th˜bit˜setŽ”’…³-to–Ółan“ēasci>Ki“įkš²!ey“sequence“b˜y“stripping“the“eigh˜th“bit“and“prexingŽ”’…³-an–ķĪāESC“įc•²!haracter,‘¹con“v“erting–ķĪthem“to‘ķĶa“meta-prexed“k²!ey“sequence.Ž”’…³-The–N½default›N¾v‘’dDalue“is“`āonį',‘`Fbut“will“bMŽe˜set“to“`āoffį'˜if“the“loMŽcale˜is“oneŽ”’…³-that–¦fconš²!tains“eigh˜t-bit“c˜haracters.Ž¦‘Kā:ādisable-completionŽ”’…³-įIf–gset“to–g`āOnį',‘—?Readline“will–ginhibit“w²!ord“completion.‘čCompletionŽ”’…³-cš²!haracters–!Ÿwill“bMŽe‘!žinserted“in˜to“the“line“as“if‘!žthey“had“bšMŽeen“mapp˜edŽ”’…³-to–¦fāself-insertį.‘ŻŻThe“default“is“`āoffį'.Ž¦‘Kā:āecho-control-charactersŽ”’…³-įWhen–”īset›”ļto“`āonį',‘¢Óon˜opMŽerating“systems˜that“indicate˜they“suppMŽortŽ”’…³-it,‘Ņżreadline‘Źecš²!hoMŽes–Źa“c˜haracter›ŹcorrespMŽonding“to“a˜signal“generatedŽ”’…³-from–¦fthe“k²!eybMŽoard.‘ŻŻThe“default“is“`āonį'.Ž¦‘Kā:āediting-modeŽ”’…³-įThe–rÖāediting-mode“įv‘’dDariable“conš²!trols“whic˜h‘r×default“set“of“k˜ey“bind-Ž”’…³-ings›?is–>used.‘§&By“default,‘#Readline˜starts˜up“in˜Emacs“editing˜moMŽde,Ž”’…³-where›~«the‘~Ŗk•²!eystrok“es˜are–~Ŗmost˜similar˜to“Emacs.‘ŠŸThis“v‘’dDariable˜canŽ”’…³-bMŽe–¦fset“to“either“`āemacsį'“or“`āviį'.ŽŸŪn‘Kā:āemacs-mode-stringŽ”’…³-įIf–·the›¶åsho²!w-moMŽde-in-prompt‘I·įv‘’dDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž”’…³-pla•²!y“ed–ĆRimmediately›ĆQbMŽefore“the˜last“line“of˜the“primary˜prompt“whenŽ”’…³-emacs–™Tediting›™UmoMŽde“is˜activ²!e.‘„,The˜v‘’dDalue“is“expanded˜lik²!e“a˜k²!ey“bind-Ž”’…³-ing,‘,źso–Šthe›‹standard“set˜of“meta-˜and“con²!trol˜prexes“and˜bac²!kslashŽ”’…³-escapšMŽe–Ž?sequences“is“a²!v‘’dDailable.‘›&Use“the“`ā\1į'“and‘Ž@`ā\2į'“escap˜es“to“b˜eginŽ”’…³-and–„end›„sequences“of˜non-prinš²!ting“c˜haracters,‘»‰whic˜h“can‘„bMŽe“usedŽ”’…³-to–zÕem²!bMŽed›zŌa“terminal˜conš²!trol“sequence“in˜to›zŌthe“moMŽde˜string.‘[)TheŽ”’…³-default–¦fis“`ā@į'.Ž¦‘Kā:āenable-bracketed-pasteŽ”’…³-įWhen–ņ€set“to“`āOnį',‘{Readline“will“congure“the‘ņterminal“in“a“w•²!a“y‘ņ€thatŽ”’…³-will–g"enable“it“to“insert“eacš²!h“paste‘g#in˜to“the“editing“buer“as“a“singleŽ”’…³-string–ėąof“cš²!haracters,‘ż>instead“of“treating“eac˜h‘ėßc˜haracter“as“if“it“hadŽ”’…³-bšMŽeen–żread‘żfrom“the“k²!eyb˜oard.‘įæThis“can“prev•²!en“t‘żpasted‘żc“haractersŽ”’…³-from–¦fbMŽeing“in²!terpreted“as“editing“commands.‘ŻŻThe“default“is“`āOnį'.ŽŽŒ‹’õŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH7ŽŽŽ ƒ33 ż ĢĶ‘Kā:āenable-keypadŽ¤
33’…³-įWhen–Ģļset“to“`āonį',‘ųmReadline“will“try‘Ģīto“enable“the“application“k²!eypadŽ”’…³-when–1Ūit›1Üis“called.‘·Some“systems“need˜this“to˜enable“the˜arroš²!w“k˜eys.Ž”’…³-The–¦fdefault“is“`āoffį'.Ž©Ūo‘Kā:āenable-meta-keyŽ”’…³-įWhen–ĒJset›ĒIto“`āonį',‘‚Readline˜will“try“to˜enable“an²!y˜meta“moMŽdierŽ”’…³-k²!ey–Ÿthe› terminal“claims“to˜suppMŽort“when“it“is˜called.‘ū‰On“man²!yŽ”’…³-terminals,‘^=the–9ymeta“kš²!ey“is“used“to“send“eigh˜t-bit“c˜haracters.‘—TheŽ”’…³-default–¦fis“`āonį'.ŽŸŪn‘Kā:āexpand-tildeŽ”’…³-įIf–Pset“to›P`āonį',‘a[tilde“expansion“is“pMŽerformed˜when“Readline“attemptsŽ”’…³-w²!ord–¦fcompletion.‘ŻŻThe“default“is“`āoffį'.Ž¦‘Kā:āhistory-preserve-pointŽ”’…³-įIf–œset“to›`āonį',‘Zéthe“history“coMŽde“attempts“to“place˜the“pMŽoin²!t“(theŽ”’…³-curren²!t–;kcursor›;jpMŽosition)“at˜the“same“loMŽcation˜on“eac²!h˜history“lineŽ”’…³-retriev²!ed–^Éwith“āprevious-history“įor‘^Źānext-historyį.‘The“defaultŽ”’…³-is‘¦f`āoffį'.Ž¦‘Kā:āhistory-sizeŽ”’…³-įSet–°’the“maxim•²!um‘°žn“um“bMŽer–°’of“history“enš²!tries“sa˜v˜ed‘°žin“the“historyŽ”’…³-list.‘óIf–mset“to“zero,‘(oanš²!y“existing“history“en˜tries“are‘ndeleted“and“noŽ”’…³-new–Ļqenš²!tries“are–Ļpsa˜v˜ed.‘XžIf“set–Ļqto“a“v‘’dDalue‘Ļpless“than“zero,‘Ł³the“n˜um˜bMŽerŽ”’…³-of–Ŗ»history›Ŗ¼en²!tries“is˜not“limited.‘źŻBy˜default,‘«Ńthe“n•²!um“bMŽer˜of‘Ŗ»historyŽ”’…³-en²!tries–ōbis“not›ōalimited.‘ĒŃIf“an˜attempt“is“made“to˜set“åhistory-size‘‘iįtoŽ”’…³-a–’ņnon-nš²!umeric“v‘’dDalue,‘Vthe“maxim˜um“n˜um˜bMŽer“of‘’óhistory“en˜tries“willŽ”’…³-bMŽe–¦fset“to“500.Ž¦‘Kā:āhorizontal-scroll-modeŽ”’…³-įThis–NĖv‘’dDariable›NĢcan“bMŽe“set“to˜either“`āonį'“or“`āoffį'.‘×
Setting“it˜to“`āonį'Ž”’…³-means–$jthat“the“text“of“the‘$ilines“bMŽeing“edited“will“scroll“horizon²!tallyŽ”’…³-on–ĪĮa›ĪĀsingle“screen“line˜when“they“are“longer˜than“the“width˜of“theŽ”’…³-screen,‘V·instead–BĖof“wrapping“on²!to‘BĢa“new“screen“line.‘¼ŖThis“v‘’dDariable“isŽ”’…³-automatically–‚“set“to›‚’`āonį'“for“terminals“of˜heigh²!t“1.‘ŃģBy“default,‘‰½thisŽ”’…³-v‘’dDariable–¦fis“set“to“`āoffį'.ŽŸŪn‘Kā:āinput-metaŽ”’…³-įIf–¾Ģset›¾Ėto“`āonį',‘ÄåReadline˜will“enable˜eigh²!t-bit“input˜(it“will˜not“clearŽ”’…³-the–Ć"eighš²!th“bit“in‘Ć!the“c˜haracters“it“reads),‘
   71: Pregardless“of“what“theŽ”’…³-terminal–C-claims“it“can“suppMŽort.‘	“3The“default“v‘’dDalue“is“`āoffį',‘Ŗ^butŽ”’…³-Readline–Ū‚will“set“it“to“`āonį'‘Ūif“the“loMŽcale“conš²!tains“eigh˜t-bit“c˜haracters.Ž”’…³-The–¦fname“āmeta-flag“įis“a“synon²!ym“for“this“v‘’dDariable.Ž¦‘Kā:āisearch-terminatorsŽ”’…³-įThe–5Ństring›5Ņof“c²!haracters˜that“should“terminate˜an“incremen²!talŽ”’…³-searcš²!h–ś|without“subsequen˜tly“executing“the“c˜haracter“as“a“commandŽ”’…³-(see–Z±Section“1.2.5“[Searc²!hing],‘ĒĆpage“3).‘	śæIf“this“v‘’dDariable“has“notŽ”’…³-bMŽeen–Bggivš²!en“a“v‘’dDalue,‘igthe“c˜haracters‘BfāESC“įand“čC-J“įwill“terminate“anŽ”’…³-incremen•²!tal‘¦fsearc“h.ŽŽŒ‹ »Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH8ŽŽŽ ƒ33 ż ĢĶ‘Kā:ākeymap‘R÷įSets–æTReadline's“idea“of“the‘æUcurrenš²!t“k˜eymap“for“k˜ey“bindingŽ¤
33’…³-commands.‘‚ØBuilt-in–ŻTākeymap›ŻUįnames“are˜āemacsį,‘+āemacs-standardį,Ž”’…³-āemacs-metaį,–0āemacs-ctlxį,“āviį,‘0āvi-moveį,“āvi-commandį,“andŽ”’…³-āvi-insertį.‘
   72: 2āvi–aŲįis“equiv‘’dDalen²!t“to“āvi-command“į(āvi-move‘a×įis“also“aŽ”’…³-synon•²!ym);‘śaāemacs›‰įis‘‰
equiv‘’dDalen“t˜to‘‰
āemacs-standardį.‘…ŌApplicationsŽ”’…³-ma²!y–ŗadd›ŗadditional“names.‘čThe“default“v‘’dDalue˜is“āemacsį.‘čThe“v‘’dDalueŽ”’…³-of–¦fthe“āediting-mode“įv‘’dDariable“also“aects“the“default“k²!eymap.Ž©Ūo‘Kā:ākeyseq-timeoutŽ”’…³-įSpMŽecies–„the“duration“Readline“will“wš²!ait‘…for“a“c˜haracter“when“read-Ž”’…³-ing–—Ķan‘—Ģamš²!biguous“k˜ey“sequence›—Ģ(one“that˜can“form“a˜complete“k²!eyŽ”’…³-sequence–ż-using›ż.the“input˜read“so“far,‘ßor˜can“tak²!e˜additional“inputŽ”’…³-to–óKcomplete“a“longer“kš²!ey“sequence).‘ČIf“no“input“is“receiv˜ed“withinŽ”’…³-the–*įtimeout,‘‹’Readline›*ąwill“use“the“shorter“but˜complete“k²!ey“se-Ž”’…³-quence.‘«éReadline›‹uses–Šthis“v‘’dDalue“to˜determine“whether“or˜not“inputŽ”’…³-is–­«a²!v‘’dDailable›­Ŗon“the˜curren²!t“input˜source“(ārl_instream˜įb²!y“default).Ž”’…³-The–	˜v›’dDalue“is“spMŽecied“in“milliseconds,‘(ōso“a“v˜alue“of“1000“means“thatŽ”’…³-Readline–®Äwill›®Ćw²!ait“one˜second“for“additional˜input.‘‹RIf“this˜v‘’dDariable“isŽ”’…³-set–Yąto›Yßa“v‘’dDalue˜less“than˜or“equal“to˜zero,‘i.or˜to“a˜non-n²!umeric“v‘’dDalue,Ž”’…³-Readline–ƒūwill‘ƒśwš²!ait“un˜til“another“k˜ey›ƒśis“pressed“to“decide˜whicš²!h“k˜eyŽ”’…³-sequence–¦fto“complete.‘ŻŻThe“default“v‘’dDalue“is“ā500į.ŽŸŪn‘Kā:āmark-directoriesŽ”’…³-įIf––æset“to›–¾`āonį',‘ŅÕcompleted“directory“names“ha•²!v“e˜a––æslash“appMŽended.Ž”’…³-The–¦fdefault“is“`āonį'.Ž¦‘Kā:āmark-modified-linesŽ”’…³-įThis–N”v‘’dDariable,‘xŸwhen“set“to“`āonį',‘x causes“Readline“to“displa²!y“an“as-Ž”’…³-terisk–š(`ā*į')›™at“the“start˜of“history˜lines“whicš²!h“ha˜v˜e‘™bšMŽeen“mo˜died.Ž”’…³-This–¦fv‘’dDariable“is“`āoffį'“b²!y“default.Ž¦‘Kā:āmark-symlinked-directoriesŽ”’…³-įIf–$Ōset›$Óto“`āonį',‘mcompleted“names“whic²!h˜are“sym²!bMŽolic˜links“toŽ”’…³-directories›\Ėha•²!v“e˜a˜slash˜appMŽended‘\Ģ(sub‘›»ject˜to˜the˜v‘’dDalue˜ofŽ”’…³-āmark-directoriesį).‘ŻŻThe–¦fdefault“is“`āoffį'.Ž¦‘Kā:āmatch-hidden-filesŽ”’…³-įThis–«sv‘’dDariable,›Ż£when“set“to“`āonį',˜causes“Readline“to‘«rmatc²!h“les“whoseŽ”’…³-names–MĶbšMŽegin“with“a“`ā.į'“(hidden“les)“when“p˜erforming“lenameŽ”’…³-completion.‘ĪžIf–öĘset“to–öĒ`āoffį',‘JŻthe“leading–öĘ`ā.į'“mš²!ust“bMŽe‘öĒsupplied“b˜yŽ”’…³-the–Luser›Min“the“lename“to˜bMŽe“completed.‘9This“v‘’dDariable“is˜`āonį'“b²!yŽ”’…³-default.ŽŸŪn‘Kā:āmenu-complete-display-prefixŽ”’…³-įIf–ßset“to‘Ž`āonį',‘żmenš²!u“completion“displa˜ys“the“common‘Žprex“of“theŽ”’…³-list–ƒXof›ƒYpMŽossible“completions˜(whicš²!h“ma˜y‘ƒYbMŽe“empt˜y)‘ƒYbMŽefore“cyclingŽ”’…³-through–¦fthe“list.‘ŻŻThe“default“is“`āoffį'.Ž¦‘Kā:āoutput-metaŽ”’…³-įIf–Aset“to“`āonį',‘gŖReadline“will“displaš²!y“c˜haracters“with“the“eigh˜th“bitŽ”’…³-set–`!directly“rather“than“as“a‘`"meta-prexed“escapMŽe“sequence.‘TheŽŽŒ‹	­0Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’MH9ŽŽŽ ƒ33 ż ĢĶ’…³-default–kis“`āoffį',‘0Šbut“Readline“will“set“it“to‘j`āonį'“if“the“loMŽcale“con²!tainsŽ¤
33’…³-eigh•²!t-bit‘¦fc“haracters.Ž©¾-‘Kā:āpage-completionsŽ”’…³-įIf–ōset“to‘ó`āonį',‘,×Readline“uses“an“inš²!ternal“āmoreį-lik˜e‘ópager“to“displa˜yŽ”’…³-a–ć¹screenful“of“pMŽossible‘ćøcompletions“at“a“time.‘•ÕThis“v‘’dDariable“is“`āonį'Ž”’…³-b²!y‘¦fdefault.Ž¦‘Kā:āprint-completions-horizontallyŽ”’…³-įIf–ąset›ąto“`āonį',‘»Readline˜will“displa²!y“completions“with˜matc²!hes“sortedŽ”’…³-horizonš²!tally–8Ōin“alphabMŽetical“order,‘orather“than“do˜wn“the“screen.Ž”’…³-The–¦fdefault“is“`āoffį'.Ž¦‘Kā:ārevert-all-at-newlineŽ”’…³-įIf–Œźset“to“`āonį',‘’Readline“will“undo“all‘Œėc²!hanges“to“history“lines“bMŽeforeŽ”’…³-returning–qXwhen›qYāaccept-line“įis˜executed.‘Ģ-By˜default,‘{õhistory“linesŽ”’…³-ma²!y–¦bšMŽe“mo˜died“and“retain“individual‘„undo“lists“across“calls“toŽ”’…³-āreadlineį.‘ŻŻThe–¦fdefault“is“`āoffį'.ŽŸ¾,‘Kā:āshow-all-if-ambiguousŽ”’…³-įThis–™]alters“the“default“bMŽeha²!vior“of“the‘™\completion“functions.‘Ł…If“setŽ”’…³-to–L`āonį',‘^.wš²!ords“whic˜h‘L ha˜v˜e“more“than›L one“pMŽossible˜completion“causeŽ”’…³-the–­matc²!hes“to“bšMŽe“listed“immediately‘­instead“of“ringing“the“b˜ell.Ž”’…³-The–¦fdefault“v‘’dDalue“is“`āoffį'.Ž¦‘Kā:āshow-all-if-unmodifiedŽ”’…³-įThis–¤‰alters“the›¤Šdefault“bMŽeha²!vior“of“the“completion˜functions“in“aŽ”’…³-fashion–€similar“to“åsho•²!w-all-if-am“biguousį.‘«If–€set“to“`āonį',‘-®wš²!ords“whic˜hŽ”’…³-ha•²!v“e–²Ömore“than“one“pšMŽossible‘²×completion“without“an²!y“p˜ossible“par-Ž”’…³-tial–Ćcompletion›Ä(the“pMŽossible˜completions“don't“share˜a“commonŽ”’…³-prex)–¢cause›¢the“matc²!hes“to˜bMŽe“listed“immediately“instead˜of“ring-Ž”’…³-ing–¦fthe“bMŽell.‘ŻŻThe“default“v‘’dDalue“is“`āoffį'.Ž¦‘Kā:āshow-mode-in-promptŽ”’…³-įIf–źset›źto“`āonį',‘øadd˜a“string“to˜the“bMŽeginning“of“the˜prompt“indicatingŽ”’…³-the–ūūediting“moMŽde:‘‰emacs,›`vi“command,˜or“vi“insertion.‘Ž›The“moMŽdeŽ”’…³-strings–rare‘ruser-settable“(e.g.,‘å™åemacs-moMŽde-string‘šį).‘
   73: BYThe“defaultŽ”’…³-v‘’dDalue–¦fis“`āoffį'.Ž¦‘Kā:āskip-completed-textŽ”’…³-įIf–ńjset“to“`āonį',‘+this‘ńialters“the“default“completion“bMŽeha²!vior“when“in-Ž”’…³-serting–}=a‘}<single“matcš²!h“in˜to“the‘}<line.‘Š%It's“only“activ˜e‘}<when“pMŽerform-Ž”’…³-ing–'écompletion›'čin“the˜middle“of˜a“w²!ord.‘bdIf“enabled,‘HHreadline“doMŽesŽ”’…³-not–ą.insert›ą-c²!haracters“from˜the“completion˜that“matc•²!h˜c“haractersŽ”’…³-after–lpMŽoinš²!t“in“the‘lžw˜ord“bšMŽeing“completed,‘ž*so‘lžp˜ortions“of“the“w²!ordŽ”’…³-follo²!wing–Ķ’the›Ķžcursor“are˜not“duplicated.‘T¦F‘’eor“instance,‘×äif“this˜is“en-Ž”’…³-abled,‘*0attempting–Ü¢completion“when“the“cursor“is“after“the“`āeį'“inŽ”’…³-`āMakefileį'–‚will›‚result“in˜`āMakefileį'“rather˜than“`āMakefilefileį',Ž”’…³-assuming–<there“is“a“single“pMŽossible‘<completion.‘žĄThe“default“v‘’dDalueŽ”’…³-is‘¦f`āoffį'.ŽŽŒ‹
   74: ŗfŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®10ŽŽŽ ƒ33 ż ĢĶ‘Kā:āvi-cmd-mode-stringŽ¤
33’…³-įIf–·the›¶åsho²!w-moMŽde-in-prompt‘I·įv‘’dDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž”’…³-pla•²!y“ed–ĆRimmediately›ĆQbMŽefore“the˜last“line“of˜the“primary˜prompt“whenŽ”’…³-vi–Ž:editing“mošMŽde“is“activ²!e“and“in“command“mo˜de.‘…YThe“v‘’dDalue“is“ex-Ž”’…³-panded–:mlikš²!e“a‘:lk˜ey“binding,‘Pso“the“standard“set“of‘:lmeta-“and“con˜trolŽ”’…³-prexes–3Šand›3‰bac²!kslash“escapMŽe˜sequences“is˜a²!v‘’dDailable.‘…HUse˜the“`ā\1į'Ž”’…³-and–ąź`ā\2į'‘ąėescapšMŽes“to“b˜egin“and›ąėend“sequences“of˜non-prinš²!ting“c˜harac-Ž”’…³-ters,‘³“whicš²!h–±can“bMŽe“used“to“em˜bMŽed“a“terminal“con˜trol“sequence“in˜toŽ”’…³-the–¦fmoMŽde“string.‘ŻŻThe“default“is“`ā(cmd)į'.Ž©ĢĪ‘Kā:āvi-ins-mode-stringŽ”’…³-įIf–·the›¶åsho²!w-moMŽde-in-prompt‘I·įv‘’dDariable“is˜enabled,‘&Kthis“string˜is“dis-Ž”’…³-pla•²!y“ed–ĆRimmediately›ĆQbMŽefore“the˜last“line“of˜the“primary˜prompt“whenŽ”’…³-vi–5Œediting›5moMŽde“is˜activ²!e“and˜in“insertion“moMŽde.‘‹QThe“v‘’dDalue˜is“ex-Ž”’…³-panded–:mlikš²!e“a‘:lk˜ey“binding,‘Pso“the“standard“set“of‘:lmeta-“and“con˜trolŽ”’…³-prexes–3Šand›3‰bac²!kslash“escapMŽe˜sequences“is˜a²!v‘’dDailable.‘…HUse˜the“`ā\1į'Ž”’…³-and–ąź`ā\2į'‘ąėescapšMŽes“to“b˜egin“and›ąėend“sequences“of˜non-prinš²!ting“c˜harac-Ž”’…³-ters,‘³“whicš²!h–±can“bMŽe“used“to“em˜bMŽed“a“terminal“con˜trol“sequence“in˜toŽ”’…³-the–¦fmoMŽde“string.‘ŻŻThe“default“is“`ā(ins)į'.Ž¦‘Kā:āvisible-statsŽ”’…³-įIf–Ōvset“to“`āonį',‘ßśa“cš²!haracter“denoting‘Ōwa“le's“t˜ypšMŽe“is“app˜ended“to“theŽ”’…³-lename–¦fwhen“listing“pMŽossible“completions.‘ŻŻThe“default“is“`āoffį'.Ž¦‘GKey‘¦fBindingsŽ”‘Kā:The–synš²!tax“for“con˜trolling‘ k˜ey“bindings“in“the“init“le“is“simple.‘		First“y˜ouŽ”‘Kā:need–QÓto“nd›QŌthe“name“of“the˜command“that“yš²!ou“w˜an˜t“to‘QŌc˜hange.‘Į¬The“follo˜wingŽ”‘Kā:sections–Ocon²!tain›Otables“of˜the“command˜name,‘yLthe˜default“kš²!eybinding,‘yMif“an˜y‘’e,Ž”‘Kā:and–¦fa“short“description“of“what“the“command“doMŽes.ŽŸ€‘Kā:Once›P…y•²!ou‘P†kno“w˜the˜name–P†of˜the“command,‘{simply“place˜on“a˜line˜in“the˜initŽ”‘Kā:le–the›name“of“the˜kš²!ey“y˜ou“wish›to“bind“the“command˜to,›$'a“colon,˜and“thenŽ”‘Kā:the–Ü’name›Üžof“the˜command.‘§There˜can“bMŽe˜no“space˜bMŽet•²!w“een‘Ü’the˜k“ey‘Ü’name˜andŽ”‘Kā:the–ēcolon“{“that“will“bMŽe“inš²!terpreted“as“part“of“the“k˜ey“name.‘Ÿ’The“name“ofŽ”‘Kā:the–$Ūkš²!ey“can“bMŽe‘$Śexpressed“in“dieren˜t“w˜a˜ys,‘DxdepMŽending“on‘$Śwhat“y˜ou“nd“mostŽ”‘Kā:comfortable.ŽŸ€‘Kā:In–SŽaddition›Sßto“command“names,‘<readline˜alloš²!ws“k˜eys“to‘SßbšMŽe“b˜ound“to‘Sßa“stringŽ”‘Kā:that–¦fis“inserted“when“the“k²!ey“is“pressed“(a“åmacro‘ŒŠį).Ž¦‘Kā:åk²!eyname‘į:‘ŻŻåfunction-name‘Cmįor‘¦fåmacroŽŽ”’…³-kš²!eyname‘jįis–tcthe“name‘tdof“a“k˜ey“spMŽelled“out“in“English.‘Ķ2F‘’eor“example:ŽŸ€’¢›‚āControl-u:‘æŖuniversal-argumentŽ”’¢›‚Meta-Rubout:‘æŖbackward-kill-wordŽ”’¢›‚Control-o:–æŖ">“output"ŽŸ€’…³-įIn–\Ąthe‘\æexample“abšMŽo•²!v“e,‘
JSčC-u–\Ąįis“b˜ound“to‘\æthe“functionŽ”’…³-āuniversal-argumentį,‘|čM-DEL›
&įis–
%bMŽound“to˜the“functionŽ”’…³-ābackward-kill-wordį,‘	šand–iLčC-o›iKįis“bMŽound˜to“run˜the“macroŽ”’…³-expressed–~Jon“the›~Irigh²!t“hand“side“(that“is,‘ōBto“insert˜the“text“`ā>Ž”’…³-outputį'–¦fin²!to“the“line).ŽŽŒ‹ĘĻŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®11ŽŽŽ ƒ33 ż ĢĶ’…³-A‘nbn•²!um“bšMŽer–o[of“sym²!b˜olic“c²!haracter“names“are“recognized“whileŽ¤
33’…³-proMŽcessing–Ź3this“kš²!ey“binding“syn˜tax:‘%wåDELį,–&åESCį,“åESCAPEį,“åLFDį,Ž”’…³-åNEWLINEį,–¦fåRETį,“åRETURNį,“åRš²!UBOUTį,“åSP‘’eA˜CEį,“åSPCį,“and“åT‘’eABį.ŽŸ#׍‘Kā:ā"åk²!eyseq@ęā"į:‘ŻŻåfunction-name‘Cmįor‘¦fåmacroŽŽ”’…³-k•²!eyseq‘ś«įdiers‘¹Äfrom›¹Ååk“eyname‘VĖįabMŽo“v“e˜in˜that–¹Ästrings˜denoting“an˜en-Ž”’…³-tire–hkš²!ey“sequence“can“b•MŽe‘gsp“ecied,‘%éb˜y‘gplacing–hthe“k˜ey“sequence“inŽ”’…³-double–‰ōquotes.‘ŌbSome“ēgnu“įEmacs“stš²!yle“k˜ey“escapšMŽes“can“b˜e“used,‘¤asŽ”’…³-in–Ćthe›Āfollo²!wing“example,‘(Łbut˜the“spMŽecial˜c²!haracter“names˜are“notŽ”’…³-recognized.Ž©+…’¢›‚ā"\C-u":‘æŖuniversal-argumentŽ”’¢›‚"\C-x\C-r":‘æŖre-read-init-fileŽ”’¢›‚"\e[11~":–æŖ"Function“Key“1"Ž¦’…³-įIn–Ā×the“abšMŽo•²!v“e–Ā×example,‘ÉņčC-u“įis“again‘ĀŲb˜ound“to“the“functionŽ”’…³-āuniversal-argument–?ßį(just“as“it“w²!as“in“the“rst‘?Žexample),‘¦=`čC-xŽ”’…³-C-rį'–¤Öis“bMŽound“to“the“function“āre-read-init-fileį,‘„&and“`āESC–¦f[“1“1Ž”’…³-~į'–¦fis“bMŽound“to“insert“the“text“`āFunction“Key“1į'.Ž©#Ų‘Kā:The–’Äfolloš²!wing“ēgnu“įEmacs“st˜yle“escapMŽe‘’Åsequences“are“a˜v‘’dDailable“when“spMŽecifyingŽ”‘Kā:k²!ey‘¦fsequences:Ž¤#׍‘Kā:č\C-‘(‘õįcon²!trol‘¦fprexŽ”‘Kā:č\M-‘(‘õįmeta‘¦fprexŽ”‘Kā:č\e‘.QŸįan–¦fescapMŽe“c²!haracterŽ”‘Kā:č\\‘.QŸįbac²!kslashŽ¦‘Kā:č\ā"‘.QŸ"į,–¦fa“double“quotation“markŽ”‘Kā:č\'‘.QŸā'į,–¦fa“single“quote“or“apMŽostropheŽ”‘Kā:In–Qaddition“to›Qthe“ēgnu“įEmacs“st²!yle˜escapMŽe“sequences,‘b)a“second˜set“of“bac²!kslashŽŸ
33‘Kā:escapMŽes–¦fis“a²!v‘’dDailable:Ž”‘Kā:ā\a‘.QŸįalert‘¦f(bMŽell)Ž”‘Kā:ā\b‘.QŸįbac²!kspaceŽ¦‘Kā:ā\d‘.QŸįdeleteŽ”‘Kā:ā\f‘.QŸįform‘¦ffeedŽ”‘Kā:ā\n‘.QŸįnewlineŽ”‘Kā:ā\r‘.QŸįcarriage‘¦freturnŽ”‘Kā:ā\t‘.QŸįhorizon²!tal‘¦ftabŽ¦‘Kā:ā\v‘.QŸįv²!ertical‘¦ftabŽ”‘Kā:ā\čnnn‘"ŅKįthe–$«eighš²!t-bit“c˜haracter‘$Ŗwhose“v›’dDalue“is“the“oMŽctal“v˜alue‘$Ŗånnn“į(one“toŽ©
33’…³-three‘¦fdigits)Ž”‘Kā:ā\xčHH‘"ŅKįthe›˜eigh•²!t-bit‘˜c“haracter˜whose˜v‘’dDalue–˜is˜the˜hexadecimal“v‘’dDalue˜åHHŽ¦’…³-į(one–¦for“t•²!w“o–¦fhex“digits)ŽŽŒ‹Ō‹Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®12ŽŽŽ ƒ33 ż ĢĶ‘Kā:When–}Ėenš²!tering“the“text“of“a“macro,‘³£single“or“double“quotes“m˜ust“bMŽe“used“toŽ¤
33‘Kā:indicate–“Ša›“‰macro“denition.‘‚?Unquoted˜text“is“assumed“to˜bMŽe“a“function˜name.‘‚?InŽ”‘Kā:the‘Ämacro›Åb•MŽo“dy‘’e,‘Ē~the˜bac²!kslash‘Äescap“es˜describ“ed‘Äab“o•²!v“e˜are‘Äexpanded.‘€żBac“kslashŽ”‘Kā:will–Ķquote‘Ķanš²!y“other“c˜haracter›Ķin“the“macro˜text,‘Éincluding“`ā"į'˜and“`ā'į'.‘RF‘’eorŽ”‘Kā:example,‘4 the–folloš²!wing‘Žbinding“will“mak˜e›Ž`čC-x‘¦fā\į'“insert“a˜single“`ā\į'“in²!to˜the“line:ŽŸLĶ‘hŹā"\C-x\\":‘æŖ"\\"ŽŸ34‘Gėg1.3.2‘d(Conditional–ķMInit“ConstructsŽŽŸ³3‘GįReadline–iimplemenš²!ts“a“facilit˜y“similar“in‘ispirit“to“the“conditional“compilation“features“ofŽ”‘Gthe–ÆJC‘ÆHpreproMŽcessor‘ÆKwhicš²!h“allo˜ws‘ÆKk˜ey“bindings“and›ÆKv‘’dDariable“settings“to˜bšMŽe“p˜erformed‘ÆKas“theŽ”‘Gresult–¦fof“tests.‘ŻŻThere“are“four“parser“directiv²!es“used.ŽŸ€‘Gā$if‘(‘õįThe–ĆNā$if“įconstruct“allo²!ws“bindings“to“bšMŽe‘ĆOmade“based“on“the“editing“mo˜de,‘ŹˆtheŽ”‘Kā:terminal–[źbMŽeing›[éused,‘‰Jor“the“application˜using“Readline.‘žhThe˜text“of˜the“test,Ž”‘Kā:after–‹\an²!y›‹[comparison“opMŽerator,‘Äextends˜to“the“end˜of“the˜line;‘”_unless“otherwiseŽ”‘Kā:noted,–¦fno“c²!haracters“are“required“to“isolate“it.Ž©fg‘Kā:āmode‘"ŅKįThe–žŽāmode=›žßįform“of“the“ā$if“įdirectiv²!e˜is“used“to“test˜whether“Read-Ž”’…³-line–3½is“in‘3¼āemacs“įor“āvi“įmošMŽde.‘	…įThis“ma²!y“b˜e‘3¼used“in“conjunctionŽ”’…³-with–ŗ the“`āset‘¦fkeymapį'“command,–’for‘ŗ!instance,“to–ŗ set“bindings“inŽ”’…³-the–ĢĒāemacs-standard“įand›ĢĘāemacs-ctlx“įk²!eymaps“only“if˜Readline“isŽ”’…³-starting–¦fout“in“āemacs“įmoMŽde.Ž¦‘Kā:āterm‘"ŅKįThe–<āterm=“įform›<ma²!y“bMŽe“used“to“include˜terminal-spMŽecic“k²!ey“bind-Ž”’…³-ings,‘ƒpMŽerhaps–Vīto“bind›Vķthe“k²!ey˜sequences“output“b²!y˜the“terminal'sŽ”’…³-function–Ž€kš²!eys.‘›;The“w˜ord“on‘Žthe“righ˜t“side“of“the“`ā=į'‘Žis“tested“againstŽ”’…³-bšMŽoth–šPthe“full“name“of“the‘šOterminal“and“the“p˜ortion“of“the“terminalŽ”’…³-name–×bMŽefore›Öthe“rst˜`ā-į'.‘’/This“allo²!ws˜āsun“įto˜matc²!h“bMŽoth˜āsun“įandŽ”’…³-āsun-cmdį,–¦ffor“instance.ŽŸfh‘Kā:āversion‘“MįThe–^@āversion›^Aįtest“ma²!y˜bMŽe“used˜to“pMŽerform˜comparisons“againstŽ”’…³-spMŽecic–6Readline“vš²!ersions.‘īMThe“āversion“įexpands“to“the“curren˜tŽ”’…³-Readline–ŽŹv²!ersion.‘›TThe“set›ŽĖof“comparison“opMŽerators“includes˜`ā=į'“(andŽ”’…³-`ā==į'),–āĒ`ā!=į',›āČ`ā<=į',“`ā>=į',˜`ā<į',“and–Ö“`ā>į'.‘nĒThe“vš²!ersion“n˜um˜bMŽer“supplied“onŽ”’…³-the–ƒrigh²!t›‚side“of“the“opMŽerator˜consists“of“a“ma‘›»jor˜vš²!ersion“n˜um˜bMŽer,Ž”’…³-an–uµoptional›u“decimal“pMŽoin²!t,‘éˆand˜an“optional“minor˜v²!ersion“(e.g.,Ž”’…³-`ā7.1į').‘ĮāIf–Ruthe›Rtminor“v²!ersion“is˜omitted,‘c?it˜is“assumed“to˜bMŽe“`ā0į'.‘ĮāTheŽ”’…³-opšMŽerator–ģma²!y“b˜e“separated“from“the‘ėstring“āversion“įand“from“theŽ”’…³-v•²!ersion›§Æn“um“bMŽer‘§°argumen“t˜b“y˜whitespace.‘į¹The‘§°follo“wing˜exampleŽ”’…³-sets–¦fa“v‘’dDariable“if“the“Readline“vš²!ersion“bMŽeing“used“is“7.0“or“new˜er:ŽŸLĶ’¢›‚ā$if–æŖversion“>=“7.0Ž”’¢›‚set–æŖshow-mode-in-prompt“onŽ”’¢›‚$endifŽ¦‘Kā:applicationŽ”’…³-įThe–¢āåapplication“įconstruct›¢ćis“used“to“include˜application-spMŽecic“set-Ž”’…³-tings.‘£mEac²!h–÷program“using“the‘÷Readline“library“sets“the“åapplicationŽ”’…³-nameį,‘õwand–É<y²!ou“can›É;test“for“a˜particular“v‘’dDalue.‘”$This“could“bMŽe˜used“toŽ”’…³-bind–ńDk²!ey“sequences“to“functions“useful“for‘ńCa“spMŽecic“program.‘¾wF‘’eorŽŽŒ‹
Ż•Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®13ŽŽŽ ƒ33 ż ĢĶ’…³-instance,‘Šthe–÷‡folloš²!wing“command“adds‘÷ˆa“k˜ey“sequence‘÷ˆthat“quotesŽ¤
33’…³-the–¦fcurrenš²!t“or“previous“w˜ord“in“Bash:Ž©33’¢›‚ā$if‘æŖBashŽ”’¢›‚#–æŖQuote“the“current“or“previous“wordŽ”’¢›‚"\C-xq":‘æŖ"\eb\"\ef\""Ž”’¢›‚$endifŽŸ33‘Kā:variable‘Ó£įThe–łVåv‘’dDariable‘–]įconstruct“proš²!vides“simple‘łUequalit˜y“tests“for“ReadlineŽ”’…³-v–’dDariables›Īgand‘Īhv“alues.‘UįThe˜p•MŽermitted‘Īhcomparison˜op“erators‘Īhare˜`ā=į',Ž”’…³-`ā==į',‘Ū¢and–j—`ā!=į'.‘
   75: *oThe›j–v‘’dDariable“name˜m²!ust“bMŽe“separated˜from“theŽ”’…³-comparison–ü&opšMŽerator“b²!y‘ü'whitespace;‘4ęthe“op˜erator‘ü'ma²!y“b˜e“separatedŽ”’…³-from–pthe›qv‘’dDalue“on“the˜righš²!t“hand“side“b˜y‘qwhitespace.‘!üBoth“stringŽ”’…³-and›fb•MŽo“olean˜v‘’dDariables˜ma²!y˜b“e˜tested.‘nŽBo“olean˜v‘’dDariables˜m²!ust˜b“eŽ”’…³-tested–jEagainst“the“v‘’dDalues“åon“įand“åoį.‘
   76: )zThe“follo²!wing“example“isŽ”’…³-equiv‘’dDalen²!t–¦fto“the“āmode=emacs“įtest“describšMŽed“ab˜o•²!v“e:Ž¦’¢›‚ā$if–æŖediting-mode“==“emacsŽ”’¢›‚set–æŖshow-mode-in-prompt“onŽ”’¢›‚$endifŽ¤33‘G$endif‘R÷įThis–£™command,‘¤(as“seen“in“the›£˜previous“example,‘¤)terminates˜an“ā$if“įcommand.Ž”‘Gā$else‘”įCommands–¦fin“this“brancš²!h“of“the“ā$if“įdirectiv˜e“are“executed“if“the“test“fails.Ž”‘Gā$include‘Ó£įThis›:directiv•²!e‘:tak“es˜a˜single˜lename‘:as˜an˜argumen“t˜and‘:reads˜commandsŽ¤
33‘Kā:and–£Ėbindings‘£Źfrom“that“le.‘ÖF‘’eor“example,‘ć#the“folloš²!wing“directiv˜e‘£Źreads“fromŽ”‘Kā:ā/etc/inputrcį:Ž¦‘hŹā$include‘æŖ/etc/inputrcŽŸ‘Gėg1.3.3‘d(Sample–ķMInit“FileŽŽŸ³3‘GįHere–,ßis›,ąan“example“of˜an“åinputrc‘Öäįle.‘µ[This“illustrates“k•²!ey˜binding,‘E-v‘’dDariable˜assignmen“t,‘E-andŽ”‘Gconditional‘¦fsyn²!tax.ŽŽŒ‹ģ:Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®14ŽŽŽ ƒ33 ż®‘.łœā#–æŖThis“file“controls“the“behaviour“of“line“input“editing“forŽ¤
33‘.łœ#–æŖprograms“that“use“the“GNU“Readline“library.‘TExistingŽ”‘.łœ#–æŖprograms“include“FTP,“Bash,“and“GDB.Ž”‘.łœ#Ž”‘.łœ#–æŖYou“can“re-read“the“inputrc“file“with“C-x“C-r.Ž”‘.łœ#–æŖLines“beginning“with“'#'“are“comments.Ž”‘.łœ#Ž”‘.łœ#–æŖFirst,“include“any“system-wide“bindings“and“variableŽ”‘.łœ#–æŖassignments“from“/etc/InputrcŽ”‘.łœ$include‘æŖ/etc/InputrcŽ©ff‘.łœ#Ž”‘.łœ#–æŖSet“various“bindings“for“emacs“mode.Ž¦‘.łœset–æŖediting-mode“emacsŽ¦‘.łœ$if‘æŖmode=emacsŽ¦‘.łœMeta-Control-h:‘Tbackward-kill-word–æŖText“after“the“function“name“is“ignoredŸnļ„	 Ž¦‘.łœ#Ž”‘.łœ#–æŖArrow“keys“in“keypad“modeŽ”‘.łœ#Ž”‘.łœ#"\M-OD":‘-żPbackward-charŽ”‘.łœ#"\M-OC":‘-żPforward-charŽ”‘.łœ#"\M-OA":‘-żPprevious-historyŽ”‘.łœ#"\M-OB":‘-żPnext-historyŽ”‘.łœ#Ž”‘.łœ#–æŖArrow“keys“in“ANSI“modeŽ”‘.łœ#Ž”‘.łœ"\M-[D":‘-żPbackward-charŽ”‘.łœ"\M-[C":‘-żPforward-charŽ”‘.łœ"\M-[A":‘-żPprevious-historyŽ”‘.łœ"\M-[B":‘-żPnext-historyŽ”‘.łœ#Ž”‘.łœ#–æŖArrow“keys“in“8“bit“keypad“modeŽ”‘.łœ#Ž”‘.łœ#"\M-\C-OD":‘(=¦backward-charŽ”‘.łœ#"\M-\C-OC":‘(=¦forward-charŽ”‘.łœ#"\M-\C-OA":‘(=¦previous-historyŽ”‘.łœ#"\M-\C-OB":‘(=¦next-historyŽ”‘.łœ#Ž”‘.łœ#–æŖArrow“keys“in“8“bit“ANSI“modeŽ”‘.łœ#Ž”‘.łœ#"\M-\C-[D":‘(=¦backward-charŽ”‘.łœ#"\M-\C-[C":‘(=¦forward-charŽŽŒ‹󤍟ņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®15ŽŽŽ ƒ33 ż ĢĶ‘.łœā#"\M-\C-[A":‘(=¦previous-historyŽ©
33‘.łœ#"\M-\C-[B":‘(=¦next-historyŽ¤ff‘.łœC-q:‘æŖquoted-insertŽ”‘.łœ$endifŽ”‘.łœ#–æŖAn“old-style“binding.‘TThis“happens“to“be“the“default.Ž¦‘.łœTAB:‘æŖcompleteŽ”‘.łœ#–æŖMacros“that“are“convenient“for“shell“interactionŽ¦‘.łœ$if‘æŖBashŽ¦‘.łœ#–æŖedit“the“pathŽ¦‘.łœ"\C-xp":‘æŖ"PATH=${PATH}\e\C-e\C-a\ef\C-f"Ž¦‘.łœ#–æŖprepare“to“type“a“quoted“word“--Ž¦‘.łœ#–æŖinsert“open“and“close“double“quotesŽ¦‘.łœ#–æŖand“move“to“just“after“the“open“quoteŽ¦‘.łœ"\C-x\"":‘æŖ"\"\"\C-b"Ž¦‘.łœ#–æŖinsert“a“backslash“(testing“backslash“escapesŽ¦‘.łœ#–æŖin“sequences“and“macros)Ž¦‘.łœ"\C-x\\":‘æŖ"\\"Ž¦‘.łœ#–æŖQuote“the“current“or“previous“wordŽ¦‘.łœ"\C-xq":‘æŖ"\eb\"\ef\""Ž¦‘.łœ#–æŖAdd“a“binding“to“refresh“the“line,“which“is“unboundŽ¦‘.łœ"\C-xr":‘æŖredraw-current-lineŽ¦‘.łœ#–æŖEdit“variable“on“current“line.Ž¦‘.łœ"\M-\C-v":‘æŖ"\C-a\C-k$\C-y\M-\C-e\C-a\C-y="Ž¦‘.łœ$endifŽ”‘.łœ#–æŖuse“a“visible“bell“if“one“is“availableŽ¦‘.łœset–æŖbell-style“visibleŽ”‘.łœ#–æŖdon't“strip“characters“to“7“bits“when“readingŽ¦‘.łœset–æŖinput-meta“onŽ”‘.łœ#–æŖallow“iso-latin1“characters“to“be“inserted“ratherŽ¦‘.łœ#–æŖthan“converted“to“prefix-meta“sequencesŽ¦‘.łœset–æŖconvert-meta“offŽ”‘.łœ#–æŖdisplay“characters“with“the“eighth“bit“set“directlyŽ¦‘.łœ#–æŖrather“than“as“meta-prefixed“charactersŽ¦‘.łœset–æŖoutput-meta“onŽ”‘.łœ#–æŖif“there“are“150“or“more“possible“completions“for“a“word,Ž¦‘.łœ#–æŖask“whether“or“not“the“user“wants“to“see“all“of“themŽ¦‘.łœset–æŖcompletion-query-items“150ŽŽŒ‹łjŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®16ŽŽŽ ƒ33 ż ĢĶ‘.łœā#–æŖFor“FTPŽ¤
33‘.łœ$if‘æŖFtpŽ”‘.łœ"\C-xg":–æŖ"get“\M-?"Ž”‘.łœ"\C-xt":–æŖ"put“\M-?"Ž”‘.łœ"\M-.":‘æŖyank-last-argŽ”‘.łœ$endifŽŸ)›‘Gė]1.4‘™Bindable–f@Readline“CommandsŽŽŸ33‘GįThis–\section›[describMŽes“Readline“commands˜that“ma²!y“b•MŽe˜b“ound–\to“k²!ey˜sequences.‘¬ŚCommandŽ”‘Gnames–¦fwithout“an“accompanš²!ying“k˜ey“sequence“are“un˜bMŽound“b˜y“default.ŽŸNļ‘!GIn–%Xthe‘%Wfolloš²!wing“descriptions,‘?'åpMŽoin˜t‘bXįrefers›%Wto“the˜curren²!t“cursor“pMŽosition,‘?'and˜åmark‘Ļ\įrefersŽ”‘Gto–«Aa“cursor‘«BpMŽosition“sa•²!v“ed›«Ab“y˜the˜āset-mark‘«Bįcommand.‘ģnThe˜text˜bMŽet“w“een‘«Bthe˜pMŽoin“t˜andŽ”‘Gmark–¦fis“referred“to“as“the“åregionį.ŽŸ¼‘Gėg1.4.1‘d(Commands–ķMF‘žÄ£or“Mo–įvingŽŽŸĮ‘Gābeginning-of-line‘¦f(C-a)Ž”‘Kā:įMo•²!v“e–¦fto“the“start“of“the“curren²!t“line.ŽŸNš‘Gāend-of-line‘¦f(C-e)Ž”‘Kā:įMo•²!v“e–¦fto“the“end“of“the“line.Ž©Nļ‘Gāforward-char‘¦f(C-f)Ž”‘Kā:įMo•²!v“e›¦fforw“ard˜a˜c“haracter.Ž¦‘Gābackward-char‘¦f(C-b)Ž”‘Kā:įMo•²!v“e›¦fbac“k˜a˜c“haracter.ŽŸNš‘Gāforward-word‘¦f(M-f)Ž”‘Kā:įMo•²!v“e›¢kforw“ard˜to‘¢jthe˜end˜of˜the˜next˜w“ord.‘܉W‘’eords˜are˜compMŽosed‘¢jof˜letters˜andŽ”‘Kā:digits.Ž¦‘Gābackward-word‘¦f(M-b)Ž”‘Kā:įMo•²!v“e››bac“k˜to˜the˜start˜of˜the˜curren“t˜or˜previous˜w“ord.‘|W‘’eords˜are˜compMŽosedŽ”‘Kā:of–¦fletters“and“digits.Ž¦‘Gāprevious-screen-line‘¦f()Ž”‘Kā:įAš²!ttempt–Ō@to“mo˜v˜e“pMŽoin˜t“to“the“same‘Ō?ph˜ysical“screen“column“on“the“previousŽ”‘Kā:ph²!ysical›screen–line.‘¦ÄThis“will˜not“ha•²!v“e˜the–desired˜eect“if˜the“curren²!t˜ReadlineŽ”‘Kā:line–G–doMŽes“not‘G—takš²!e“up“more“than“one“ph˜ysical‘G—line“or“if“pMŽoin˜t“is‘G—not“greater“thanŽ”‘Kā:the–¦flength“of“the“prompt“plus“the“screen“width.ŽŸNš‘Gānext-screen-line‘¦f()Ž”‘Kā:įA•²!ttempt›öito‘öhmo“v“e˜pMŽoin“t–öhto˜the“same˜ph²!ysical“screen˜column“on˜the“next˜ph²!ysicalŽ”‘Kā:screen–ĶBline.‘•|This“will›ĶAnot“ha•²!v“e–ĶBthe“desired“eect“if“the˜curren²!t“Readline“line“doMŽesŽ”‘Kā:not–Eštakš²!e“up“more“than“one“ph˜ysical“line‘Eńor“if“the“length“of“the“curren˜t“ReadlineŽ”‘Kā:line–¦fis“not“greater“than“the“length“of“the“prompt“plus“the“screen“width.Ž¦‘Gāclear-display‘¦f(M-C-l)Ž”‘Kā:įClear–ō·the›ōøscreen“and,‘Lif˜pMŽossible,‘Kthe˜terminal's“scrollbac²!k˜buer,‘Lthen“redra²!wŽ”‘Kā:the–¦fcurrenš²!t“line,“lea˜ving“the“curren˜t“line“at“the“top“of“the“screen.ŽŽŒ‹’÷Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®17ŽŽŽ ƒ33 ż ĢĶ‘Gāclear-screen‘¦f(C-l)Ž¤
33‘Kā:įClear›"„the–"ƒscreen,‘A‹then“redra²!w˜the“curren•²!t˜line,‘AŠlea“ving˜the‘"ƒcurren“t˜line‘"ƒat˜theŽ”‘Kā:top–¦fof“the“screen.Ž©¼k‘Gāredraw-current-line‘¦f()Ž”‘Kā:įRefresh–¦fthe“currenš²!t“line.‘ŻŻBy“default,“this“is“un˜bMŽound.ŽŸ‰8‘Gėg1.4.2‘d(Commands–ķMF‘žÄ£or“Manipulating“The“HistoryŽŽŸ÷Ļ‘Gāaccept-line–¦f(Newline“or“Return)Ž”‘Kā:įAccept–:the“line“regardless“of›:where“the“cursor“is.‘˜äIf“this˜line“is“non-empt²!y‘’e,‘^žitŽ”‘Kā:ma²!y–Ō0bMŽe›Ō1added“to˜the“history“list˜for“future˜recall“with“āadd_history()į.‘g=If“thisŽ”‘Kā:line–¦fis“a“moMŽdied“history“line,“the“history“line“is“restored“to“its“original“state.Ž¦‘Gāprevious-history‘¦f(C-p)Ž”‘Kā:įMo•²!v“e›¦f`bac“k'˜through˜the˜history˜list,˜fetc“hing˜the˜previous˜command.Ž¦‘Gānext-history‘¦f(C-n)Ž”‘Kā:įMo•²!v“e›¦f`forw“ard'˜through˜the˜history˜list,˜fetc“hing˜the˜next˜command.Ž¦‘Gābeginning-of-history‘¦f(M-<)Ž”‘Kā:įMo•²!v“e–¦fto“the“rst“line“in“the“history‘’e.ŽŸ¼j‘Gāend-of-history‘¦f(M->)Ž”‘Kā:įMo•²!v“e–¦fto“the“end“of“the“input“history‘’e,“i.e.,“the“line“currenš²!tly“bMŽeing“en˜tered.Ž¦‘Gāreverse-search-history‘¦f(C-r)Ž”‘Kā:įSearc•²!h›½:bac“kw“ard˜starting‘½;at˜the˜curren“t˜line˜and˜mo“ving‘½;`up'˜through˜the˜his-Ž”‘Kā:tory–$˜as›$—necessary‘’e.‘²˜This“is˜an“incremenš²!tal“searc˜h.‘²˜This›$—command“sets˜the“regionŽ”‘Kā:to–¦fthe“matc²!hed“text“and“activ‘’dDates“the“mark.Ž¦‘Gāforward-search-history‘¦f(C-s)Ž”‘Kā:įSearc•²!h›>Dforw“ard˜starting˜at˜the˜curren“t‘>Cline˜and˜mo“ving˜`do“wn'˜through˜theŽ”‘Kā:history–•Īas“necessary‘’e.‘¬This“is“an‘•Ķincremenš²!tal“searc˜h.‘¬This‘•Ķcommand“sets“theŽ”‘Kā:region–¦fto“the“matc²!hed“text“and“activ‘’dDates“the“mark.Ž¦‘Gānon-incremental-reverse-search-history‘¦f(M-p)Ž”‘Kā:įSearc•²!h›½:bac“kw“ard˜starting‘½;at˜the˜curren“t˜line˜and˜mo“ving‘½;`up'˜through˜the˜his-Ž”‘Kā:tory–Ryas“necessary“using‘Rxa“non-incremenš²!tal“searc˜h“for“a“string‘Rxsupplied“b˜y“theŽ”‘Kā:user.‘ŻŻThe–¦fsearcš²!h“string“ma˜y“matc˜h“an˜ywhere“in“a“history“line.Ž¦‘Gānon-incremental-forward-search-history‘¦f(M-n)Ž”‘Kā:įSearc•²!h›>Dforw“ard˜starting˜at˜the˜curren“t‘>Cline˜and˜mo“ving˜`do“wn'˜through˜theŽ”‘Kā:history–3Ŗas›3©necessary“using“a˜non-incremenš²!tal“searc˜h“for›3©a“string“supplied˜b²!y“theŽ”‘Kā:user.‘ŻŻThe–¦fsearcš²!h“string“ma˜y“matc˜h“an˜ywhere“in“a“history“line.Ž¦‘Gāhistory-search-forward‘¦f()Ž”‘Kā:įSearc•²!h›śOforw“ard˜through–śPthe˜history˜for˜the˜string˜of“c•²!haracters˜bMŽet“w“een˜theŽ”‘Kā:start–QĖof›QĢthe“curren²!t“line˜and“the“pMŽoinš²!t.‘ą
The“searc˜h‘QĢstring“m˜ust“matc˜h‘QĢat“theŽ”‘Kā:bMŽeginning–č"of“a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ų‘thisŽ”‘Kā:command–¦fis“un²!bMŽound.Ž¦‘Gāhistory-search-backward‘¦f()Ž”‘Kā:įSearc•²!h›-»bac“kw“ard–-¼through˜the“history˜for“the˜string“of˜cš²!haracters“bMŽet˜w˜een‘-»theŽ”‘Kā:start–QĖof›QĢthe“curren²!t“line˜and“the“pMŽoinš²!t.‘ą
The“searc˜h‘QĢstring“m˜ust“matc˜h‘QĢat“theŽŽŒ‹
   77: Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®18ŽŽŽ ƒ33 ż ĢĶ‘Kā:bMŽeginning–č"of“a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ų‘thisŽ¤
33‘Kā:command–¦fis“un²!bMŽound.Ž©Ā‘Gāhistory-substring-search-forward‘¦f()Ž”‘Kā:įSearc•²!h›śOforw“ard˜through–śPthe˜history˜for˜the˜string˜of“c•²!haracters˜bMŽet“w“een˜theŽ”‘Kā:start–uęof›uēthe“curren²!t“line“and˜the“pMŽoinš²!t.‘Ķ³The“searc˜h“string“ma˜y‘uēmatc˜h“an˜ywhereŽ”‘Kā:in–č"a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ų‘this“commandŽ”‘Kā:is‘¦fun²!bMŽound.Ž¦‘Gāhistory-substring-search-backward‘¦f()Ž”‘Kā:įSearc•²!h›-»bac“kw“ard–-¼through˜the“history˜for“the˜string“of˜cš²!haracters“bMŽet˜w˜een‘-»theŽ”‘Kā:start–uęof›uēthe“curren²!t“line“and˜the“pMŽoinš²!t.‘Ķ³The“searc˜h“string“ma˜y‘uēmatc˜h“an˜ywhereŽ”‘Kā:in–č"a“history“line.‘£This“is“a“non-incremenš²!tal“searc˜h.‘£By“default,‘ų‘this“commandŽ”‘Kā:is‘¦fun²!bMŽound.ŽŸĀ‘‘Gāyank-nth-arg‘¦f(M-C-y)Ž”‘Kā:įInsert–sŠthe›sĻrst“argumen²!t˜to“the˜previous“command˜(usually“the˜second“w²!ordŽ”‘Kā:on–Ō|the›Ō}previous“line)˜at“pMŽoin²!t.‘h!With“an˜argumen²!t“ånį,‘ąinsert˜the“ånįth˜w²!ord“fromŽ”‘Kā:the–0previous“command“(the“wš²!ords“in‘0the“previous“command“bMŽegin“with“w˜ordŽ”‘Kā:0).‘-dA‘Ą negativ•²!e›Ąéargumen“t–Ąčinserts˜the“ånįth“w²!ord˜from“the˜end“of˜the“previousŽ”‘Kā:command.‘ĶOnce–öGthe“argumenš²!t‘öFån“įis“computed,‘
   78: >the“argumen˜t“is“extracted‘öFas“ifŽ”‘Kā:the–¦f`ā!čnį'“history“expansion“had“bšMŽeen“sp˜ecied.Ž¦‘Gāyank-last-arg–¦f(M-.“or“M-_)Ž”‘Kā:įInsert–5Elast›5Fargumen²!t“to“the˜previous“command“(the˜last“w²!ord“of˜the“previousŽ”‘Kā:history–"enš²!try).‘With“a‘#n˜umeric“argumen˜t,‘ ’bMŽeha˜v˜e“exactly‘#lik˜e“āyank-nth-argį.Ž”‘Kā:Successivš²!e–ś%calls‘ś&to“āyank-last-arg“įmo˜v˜e‘ś&bac˜k“through‘ś&the“history“list,‘™insertingŽ”‘Kā:the–µlast‘µwš²!ord“(or“the“w˜ord‘µspMŽecied“b˜y“the“argumen˜t›µto“the“rst“call)˜of“eac²!h“lineŽ”‘Kā:in–`æturn.‘źAnš²!y“n˜umeric‘`Ąargumen˜t“supplied“to‘`Ąthese“successiv˜e‘`Ącalls“determinesŽ”‘Kā:the–-Idirection›-Jto“mo•²!v“e˜through‘-Ithe˜history‘’e.‘r‡A‘-'negativ“e‘-Iargumen“t˜switc“hes‘-ItheŽ”‘Kā:direction–¼ņthrough›¼óthe“history“(bac²!k˜or“forw²!ard).‘The“history˜expansion“facilitiesŽ”‘Kā:are–Mźused“to›Mėextract“the“last“argumen²!t,‘_as“if“the“`ā!$į'“history˜expansion“had“bMŽeenŽ”‘Kā:spMŽecied.Ž¦‘Gāoperate-and-get-next‘¦f(C-o)Ž”‘Kā:įAccept–~tthe“curren²!t“line“for“return“to“the‘~ucalling“application“as“if“a“newline“hadŽ”‘Kā:bMŽeen–ČĄenš²!tered,‘õand“fetc˜h“the“next‘Čæline“relativ˜e“to“the“curren˜t“line‘Čæfrom“the“historyŽ”‘Kā:for–¶›editing.‘~A‘¶—nš²!umeric“argumen˜t,›ŗ©if“supplied,˜spMŽecies“the›¶œhistory“en²!try˜to“useŽ”‘Kā:instead–¦fof“the“curren²!t“line.ŽŸ]‘Gėg1.4.3‘d(Commands–ķMF›žÄ£or“Changing“T˜extŽŽŸzā‘Gčend-of-file–¦fā(usually“C-d)Ž”‘Kā:įThe–%”c²!haracter›% indicating“end-of-le“as“set,–?bfor˜example,“b²!y–%”āsttyį.‘²ńIf˜this“c²!harac-Ž”‘Kā:ter–×is“read“when“there“are“no“cš²!haracters“on“the“line,‘ŅĮand“pMŽoin˜t“is“at“the“bMŽeginningŽ”‘Kā:of–¦fthe“line,“Readline“in²!terprets“it“as“the“end“of“input“and“returns“ēeofį.Ž¦‘Gādelete-char‘¦f(C-d)Ž”‘Kā:įDelete–ž¾the“cš²!haracter“at“pMŽoin˜t.‘ęåIf‘ž½this“function“is“bMŽound“to“the“same“c˜haracterŽ”‘Kā:as–¦fthe“ttš²!y“ēeof“įc˜haracter,“as“čC-d“įcommonly“is,“see“abMŽo˜v˜e“for“the“eects.ŽŽŒ‹€Ÿņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®19ŽŽŽ ƒ33 ż ĢĶ‘Gābackward-delete-char‘¦f(Rubout)Ž¤
33‘Kā:įDelete–Ÿ§the“cš²!haracter‘ŸØbMŽehind“the“cursor.‘ŪA‘Ÿ¦n˜umeric“argumen˜t“means‘ŸØto“kill“theŽ”‘Kā:c²!haracters–¦finstead“of“deleting“them.Ž©:„‘Gāforward-backward-delete-char‘¦f()Ž”‘Kā:įDelete–˜‘the›˜’c²!haracter“under˜the“cursor,‘Õunless“the˜cursor“is“at˜the“end˜of“theŽ”‘Kā:line,‘×~in–Ķ­whicš²!h‘Ķ¬case“the“c˜haracter›Ķ¬bMŽehind“the˜cursor“is˜deleted.‘S±By“default,‘×~thisŽ”‘Kā:is–¦fnot“bMŽound“to“a“k²!ey‘’e.Ž¦‘Gāquoted-insert–¦f(C-q“or“C-v)Ž”‘Kā:įAdd–øthe‘¹next“cš²!haracter“t˜ypMŽed‘¹to“the“line“v˜erbatim.‘CŌThis‘¹is“ho˜w“to‘¹insert“k˜eyŽ”‘Kā:sequences–¦flik²!e“čC-qį,“for“example.ŽŸ:…‘Gātab-insert‘¦f(M-TAB)Ž”‘Kā:įInsert–¦fa“tab“c²!haracter.Ž¦‘Gāself-insert–¦f(a,“b,“A,“1,“!,“...Ž‘åe)Ž”‘Kā:įInsert‘¦fy²!ourself.Ž¦‘Gābracketed-paste-begin‘¦f()Ž”‘Kā:įThis–ū6function›ū7is“in²!tended˜to˜bšMŽe“b˜ound“to›ū7the“ā"įbrac•²!k“eted˜pasteā"˜įescapMŽe‘ū6sequenceŽ”‘Kā:sen•²!t›b“y‘some˜terminals,‘·Æand˜suc“h˜a–binding˜is“assigned˜b•²!y˜default.‘mĮIt˜allo“wsŽ”‘Kā:Readline–ēĢto›ēĖinsert“the˜pasted“text˜as“a˜single“unit˜without“treating˜eacš²!h“c˜har-Ž”‘Kā:acter–Ŗ‘as›Ŗ’if“it“had˜bMŽeen“read“from˜the“kš²!eybMŽoard.‘ź_The“c˜haracters‘Ŗ’are“insertedŽ”‘Kā:as–LPif›LOeac²!h“one˜w²!as“bMŽound“to˜āself-insert“įinstead˜of“executing˜an²!y“editingŽ”‘Kā:commands.ŽŸ¶Ü‘Kā:Brac•²!k“eted–U`paste›U_sets“the˜region“(the˜cš²!haracters“b•MŽet˜w˜een‘U_p“oin˜t–U`and‘U_the“mark)Ž”‘Kā:to–›¶the››µinserted“text.‘½ĢIt˜uses“the˜concept“of“an˜äactive‘Ģšmark‘-»į:‘Č|when˜the“markŽ”‘Kā:is–5activš²!e,‘XČReadline“redispla˜y“uses“the‘5terminal's“standout“moMŽde“to“denote“theŽ”‘Kā:region.Ž¦‘Gātranspose-chars‘¦f(C-t)Ž”‘Kā:įDrag–Õćthe“cš²!haracter“bMŽefore‘Õāthe“cursor“forw˜ard“o˜v˜er“the“c˜haracter‘Õāat“the“cursor,Ž”‘Kā:moš²!ving–C"the“cursor‘C!forw˜ard“as“w˜ell.‘“If“the“insertion‘C!pMŽoin˜t“is“at“the‘C!end“of“theŽ”‘Kā:line,‘ÕĶthen–”¦this“transpMŽoses“the“last“t•²!w“o‘”§c“haracters–”¦of“the“line.‘†óNegativš²!e“argumen˜tsŽ”‘Kā:ha•²!v“e–¦fno“eect.Ž¦‘Gātranspose-words‘¦f(M-t)Ž”‘Kā:įDrag–įÜthe“w²!ord‘įŻbšMŽefore“p˜oinš²!t“past“the“w˜ord‘įŻafter“p•MŽoin˜t,‘š¹mo˜ving‘įŻp“oin˜t–įÜpast“thatŽ”‘Kā:wš²!ord–gøas“w˜ell.‘ČłIf“the“insertion“pMŽoin˜t“is“at“the“end“of“the‘g¹line,‘tAthis“transpMŽoses“theŽ”‘Kā:last›¦ft•²!w“o˜w“ords˜on˜the˜line.ŽŸ:…‘Gāupcase-word‘¦f(M-u)Ž”‘Kā:įUppMŽercase–ÖÓthe‘ÖŅcurrenš²!t“(or“follo˜wing)“w˜ord.‘o#With“a‘ÖŅnegativ˜e“argumen˜t,‘āīuppMŽer-Ž”‘Kā:case–¦fthe“previous“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.Ž¦‘Gādowncase-word‘¦f(M-l)Ž”‘Kā:įLo•²!w“ercase›”ćthe‘”ācurren“t˜(or‘”āfollo“wing)˜w“ord.‘‚²With‘”āa˜negativ“e˜argumen“t,‘Ė–lo“w“ercaseŽ”‘Kā:the–¦fprevious“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.Ž¦‘Gācapitalize-word‘¦f(M-c)Ž”‘Kā:įCapitalize–6the›5curren²!t“(or˜folloš²!wing)“w˜ord.‘€#With‘5a“negativ˜e“argumen˜t,‘ÅrcapitalizeŽ”‘Kā:the–¦fprevious“wš²!ord,“but“do“not“mo˜v˜e“the“cursor.ŽŽŒ‹$lŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®20ŽŽŽ ƒ33 ż ĢĶ‘Gāoverwrite-mode‘¦f()Ž¤
33‘Kā:įT‘’eoggle›öo•²!v“erwrite˜mo•MŽde.‘Ķ	With˜an˜explicit˜p“ositiv•²!e‘ö n“umeric˜argumen“t,‘
   79: 
switc“hesŽ”‘Kā:to›™’o•²!v“erwrite–šmoMŽde.‘„fWith˜an“explicit˜non-pMŽositivš²!e“n˜umeric–™’argumen˜t,‘Ļ®switc˜hes“toŽ”‘Kā:insert–¬ŪmoMŽde.‘ń=This›¬Ücommand“aects“only˜āemacs“įmošMŽde;‘°āvi“įmo˜de‘¬Üdo˜es“o•²!v“erwriteŽ”‘Kā:dieren•²!tly‘’e.‘ŻŻEac“h–¦fcall“to“āreadline()“įstarts“in“insert“moMŽde.ŽŸŠ$‘Kā:In›Ičo•²!v“erwrite˜moMŽde,‘ņČc“haracters˜bMŽound˜to˜āself-insert‘Iéįreplace˜the˜text˜atŽ”‘Kā:pMŽoinš²!t–rather“than“pushing“the“text“to“the“righ˜t.‘‚Characters“bMŽound“toŽ”‘Kā:ābackward-delete-char–¦fįreplace“the“c²!haracter“bšMŽefore“p˜oin²!t“with“a“space.ŽŸŠ#‘Kā:By–¦fdefault,“this“command“is“un²!bMŽound.ŽŸ9ā‘Gėg1.4.4‘d(Killing–ķMAnd“Y‘žÄ£ankingŽŽŸP$‘Gākill-line‘¦f(C-k)Ž”‘Kā:įKill–Āįthe“text›Āāfrom“pMŽoin²!t“to“the“end“of˜the“line.‘3NWith“a˜negativš²!e“n˜umeric“argu-Ž”‘Kā:menš²!t,–¦fkill“bac˜kw˜ard“from“the“cursor“to“the“bMŽeginning“of“the“curren˜t“line.Ž©m‘Gābackward-kill-line–¦f(C-x“Rubout)Ž”‘Kā:įKill›ĢŌbac•²!kw“ard˜from˜the‘ĢÕcursor˜to˜the˜bMŽeginning˜of˜the˜curren“t˜line.‘Q(With˜aŽ”‘Kā:negativ•²!e›m£n“umeric˜argumen“t,‘ßrkill˜forw“ard˜from˜the˜cursor˜to˜the˜end˜of˜theŽ”‘Kā:curren²!t‘¦fline.ŽŸm‘Gāunix-line-discard‘¦f(C-u)Ž”‘Kā:įKill›¦fbac•²!kw“ard˜from˜the˜cursor˜to˜the˜bMŽeginning˜of˜the˜curren“t˜line.Ž¦‘Gākill-whole-line‘¦f()Ž”‘Kā:įKill–cjall“cš²!haracters‘cion“the“curren˜t“line,‘’Ŗno“matter“where“pMŽoin˜t“is.‘čBy“default,Ž”‘Kā:this–¦fis“un²!bMŽound.ŽŸm‘Gākill-word‘¦f(M-d)Ž”‘Kā:įKill–‡from“pMŽoin²!t›‡to“the“end“of“the˜currenš²!t“w˜ord,‘Por‘‡if“bMŽet˜w˜een“w˜ords,‘Qto“the“endŽ”‘Kā:of–¦fthe“next“w²!ord.‘ŻŻW‘’eord“bMŽoundaries“are“the“same“as“āforward-wordį.Ž¦‘Gābackward-kill-word‘¦f(M-DEL)Ž”‘Kā:įKill–wÖthe›w×w²!ord“b•MŽehind˜p“oin²!t.‘ĪXW‘’eord›wÖb“oundaries˜are–w×the˜same“as˜ābackward-wordį.ŽŸm‘Gāshell-transpose-words‘¦f(M-C-t)Ž”‘Kā:įDrag–įÜthe“w²!ord‘įŻbšMŽefore“p˜oinš²!t“past“the“w˜ord‘įŻafter“p•MŽoin˜t,‘š¹mo˜ving‘įŻp“oin˜t–įÜpast“thatŽ”‘Kā:wš²!ord–gøas“w˜ell.‘ČłIf“the“insertion“pMŽoin˜t“is“at“the“end“of“the‘g¹line,‘tAthis“transpMŽoses“theŽ”‘Kā:last›£t•²!w“o‘£w“ords˜on–£the˜line.‘ÜÅW‘’eord“bMŽoundaries˜are“the˜same“as˜āshell-forward-Ž”‘Kā:word–¦fįand“āshell-backward-wordį.Ž¦‘Gāunix-word-rubout‘¦f(C-w)Ž”‘Kā:įKill–ĶLthe“w²!ord“bšMŽehind“p˜oinš²!t,‘×using“white“space“as“a“w˜ord“bMŽoundary‘’e.‘RThe“killedŽ”‘Kā:text–¦fis“sa•²!v“ed–¦fon“the“kill-ring.ŽŸm‘Gāunix-filename-rubout‘¦f()Ž”‘Kā:įKill–]Üthe“w²!ord“bšMŽehind“p˜oinš²!t,‘‹ŗusing“white“space“and“the“slash“c˜haracter“as“theŽ”‘Kā:wš²!ord–¦fbMŽoundaries.‘ŻŻThe“killed“text“is“sa˜v˜ed“on“the“kill-ring.Ž¦‘Gādelete-horizontal-space‘¦f()Ž”‘Kā:įDelete–¦fall“spaces“and“tabs“around“pMŽoinš²!t.‘ŻŻBy“default,“this“is“un˜bMŽound.ŽŽŒ‹0ŌŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®21ŽŽŽ ƒ33 ż ĢĶ‘Gākill-region‘¦f()Ž¤
33‘Kā:įKill–¦fthe“text“in“the“currenš²!t“region.‘ŻŻBy“default,“this“command“is“un˜bMŽound.Ž©‚T‘Gācopy-region-as-kill‘¦f()Ž”‘Kā:įCop²!y–³the›²text“in˜the“region˜to“the˜kill“buer,‘0Eso˜it“can˜bMŽe“y•²!ank“ed˜righ“t‘³a“w“a“y‘’e.Ž”‘Kā:By–¦fdefault,“this“command“is“un²!bMŽound.ŽŸ‚U‘Gācopy-backward-word‘¦f()Ž”‘Kā:įCopš²!y–žthe“w˜ord“bšMŽefore“p˜oinš²!t“to“the“kill‘žbuer.‘Ä’The“w˜ord“bMŽoundaries“are“theŽ”‘Kā:same–¦fas“ābackward-wordį.‘ŻŻBy“default,“this“command“is“un²!bMŽound.Ž¦‘Gācopy-forward-word‘¦f()Ž”‘Kā:įCopš²!y–ŗ8the“w˜ord“follo˜wing‘ŗ9pMŽoin˜t“to“the“kill“buer.‘SThe‘ŗ9w˜ord“bMŽoundaries“are“theŽ”‘Kā:same–¦fas“āforward-wordį.‘ŻŻBy“default,“this“command“is“un²!bMŽound.Ž¦‘Gāyank‘¦f(C-y)Ž”‘Kā:įY‘’eank–¦fthe“top“of“the“kill“ring“inš²!to“the“buer“at“pMŽoin˜t.Ž¦‘Gāyank-pop‘¦f(M-y)Ž”‘Kā:įRotate–'!the“kill-ring,‘GPand“y²!ank“the“new“top.‘`Y‘’eou“can‘'"only“do“this“if“the“priorŽ”‘Kā:command–¦fis“āyank“įor“āyank-popį.ŽŸO"‘Gėg1.4.5‘d(Spiecifying–ķMNumeric“Argumen–įtsŽŽ©ŚĆ‘Gādigit-argument–¦f(čM-0ā,“čM-1ā,“...Ž‘‹ĖčM--ā)Ž”‘Kā:įAdd–:Lthis›:Kdigit“to“the˜argumenš²!t“already“accum˜ulating,‘Oźor“start“a‘:Knew“argumen˜t.Ž”‘Kā:čM--–¦fįstarts“a“negativš²!e“argumen˜t.ŽŸ‚U‘Gāuniversal-argument‘¦f()Ž”‘Kā:įThis–kis“another“w•²!a“y›jto–kspMŽecify“an“argumen²!t.‘«ßIf“this“command˜is“follo•²!w“ed›kb“y˜oneŽ”‘Kā:or–more›digits,‘““optionally“with˜a“leading“min²!us“sign,‘“³those“digits“dene˜the“ar-Ž”‘Kā:gumenš²!t.‘ŠŚIf‘[the–\command“is“follo˜w˜ed“b˜y“digits,‘‡*executing“āuniversal-argumentŽ”‘Kā:įagain–Ń«ends‘ŃŖthe“nš²!umeric“argumen˜t,‘Ü{but“is“otherwise›ŃŖignored.‘_«As“a˜spMŽecial“case,Ž”‘Kā:if–ńśthis›ńūcommand“is“immediately˜follo•²!w“ed›ńśb“y˜a˜c“haracter–ńūthat˜is˜neither“a˜digitŽ”‘Kā:nor–ōŻminš²!us“sign,‘H{the“argumen˜t“coun˜t“for“the“next‘ōŽcommand“is“m˜ultiplied“b˜yŽ”‘Kā:four.‘ŽļThe›6Įargumen•²!t‘6Ācoun“t˜is˜initially–6Āone,‘Z×so“executing˜this˜function“the˜rstŽ”‘Kā:time–omakš²!es‘othe“argumen˜t‘ocoun˜t“four,‘z&a›osecond“time˜mak²!es“the˜argumenš²!t“coun˜tŽ”‘Kā:sixteen,–¦fand“so“on.‘ŻŻBy“default,“this“is“not“bMŽound“to“a“k²!ey‘’e.ŽŸO!‘Gėg1.4.6‘d(Letting–ķMReadline“T–įypie“F›žÄ£or“Y˜ouŽŽ¦‘Gācomplete‘¦f(TAB)Ž”‘Kā:įA²!ttempt–¶čto›¶ēpMŽerform“completion˜on“the˜text“b•MŽefore˜p“oin²!t.‘Ž	The˜actual‘¶čcompletionŽ”‘Kā:pšMŽerformed–¦fis“application-sp˜ecic.‘ŻŻThe“default“is“lename“completion.ŽŸ‚U‘Gāpossible-completions‘¦f(M-?)Ž”‘Kā:įList–)Æthe›)®pMŽossible“completions˜of“the˜text“b•MŽefore˜p“oin•²!t.‘g·When˜displa“ying‘)Æcom-Ž”‘Kā:pletions,‘ōfReadline–äĢsets›äĶthe“n•²!um“bMŽer˜of–äĢcolumns“used˜for“displa²!y˜to“the˜v‘’dDalue“ofŽ”‘Kā:ācompletion-display-widthį,‘Uthe–aŒv›’dDalue“of“the“en•²!vironmen“t–aŒv˜ariable“āCOLUMNSį,Ž”‘Kā:or–¦fthe“screen“width,“in“that“order.ŽŸ‚T‘Gāinsert-completions‘¦f(M-*)Ž”‘Kā:įInsert–«µall“completions“of“the“text“bšMŽefore“p˜oinš²!t“that“w˜ould“ha˜v˜e“bMŽeen“generatedŽ”‘Kā:b²!y‘¦fāpossible-completionsį.ŽŽŒ‹<āŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®22ŽŽŽ ƒ33 ż ĢĶ‘Gāmenu-complete‘¦f()Ž¤
33‘Kā:įSimilar–ŪVto“ācompleteį,‘óbut“replaces“the“wš²!ord“to‘ŪWbMŽe“completed“with“a“single“matc˜hŽ”‘Kā:from–‹ęthe‘‹ēlist“of“pšMŽossible“completions.‘Ž^Rep˜eated“execution‘‹ēof“āmenu-completeŽ”‘Kā:įsteps–ÕÆthrough›Õ°the“list“of“pMŽossible˜completions,‘!inserting“eacš²!h“matc˜h‘Õ°in“turn.Ž”‘Kā:A²!t–jthe“end“of›jthe“list“of“completions,‘›šthe“bMŽell“is“rung˜(sub‘›»ject“to“the“settingŽ”‘Kā:of–Thābell-styleį)“and“the›Tioriginal“text“is“restored.‘ēćAn“argumen²!t˜of“ån“įmo•²!v“es‘ThånŽ”‘Kā:įpMŽositions–,Rforw²!ard›,Qin“the“list˜of“matcš²!hes;‘oGa“negativ˜e‘,Qargumen˜t“ma˜y“bMŽe‘,Qused“toŽ”‘Kā:mo•²!v“e›™Žbac“kw“ard˜through˜the˜list.‘·VThis˜command˜is˜in“tended˜to˜b•MŽe˜b“ound˜toŽ”‘Kā:āTABį,–¦fbut“is“unš²!bMŽound“b˜y“default.Ž©µ‡‘Gāmenu-complete-backward‘¦f()Ž”‘Kā:įIdenš²!tical–5ato“āmenu-completeį,‘Ybut‘5`mo˜v˜es“bac˜kw˜ard“through“the‘5`list“of“pMŽossibleŽ”‘Kā:completions,–¦fas“if“āmenu-complete“įhad“bMŽeen“givš²!en“a“negativ˜e“argumen˜t.ŽŸµˆ‘Gādelete-char-or-list‘¦f()Ž”‘Kā:įDeletes–«éthe›«čc²!haracter“under“the“cursor˜if“not“at˜the“bMŽeginning“or“end˜of“theŽ”‘Kā:line–öŲ(lik²!e›öŁādelete-charį).‘Ļ4If“at˜the“end“of˜the“line,‘ŠōbMŽeha•²!v“es˜iden“tically‘öŲtoŽ”‘Kā:āpossible-completionsį.‘ŻŻThis–¦fcommand“is“unš²!bMŽound“b˜y“default.ŽŸ‚T‘Gėg1.4.7‘d(Keybioard‘ķMMacrosŽŽŸt^‘Gāstart-kbd-macro–¦f(C-x“()Ž”‘Kā:įBegin–¦fsaš²!ving“the“c˜haracters“t˜ypMŽed“in˜to“the“curren˜t“k˜eybMŽoard“macro.Ž¦‘Gāend-kbd-macro–¦f(C-x“))Ž”‘Kā:įStop–G!saš²!ving“the“c˜haracters‘G"t˜ypMŽed“in˜to“the“curren˜t“k˜eybMŽoard“macro‘G"and“sa˜v˜e“theŽ”‘Kā:denition.Ž¦‘Gācall-last-kbd-macro–¦f(C-x“e)Ž”‘Kā:įRe-execute–9Bthe“last‘9Ckš²!eybMŽoard“macro“dened,‘]łb˜y“making“the‘9Cc˜haracters“in“theŽ”‘Kā:macro–¦fappšMŽear“as“if“t²!yp˜ed“at“the“k²!eyb˜oard.ŽŸµˆ‘Gāprint-last-kbd-macro‘¦f()Ž”‘Kā:įPrinš²!t–¦fthe“last“k˜ebMŽoard“macro“dened“in“a“format“suitable“for“the“åinputrc‘Pjįle.ŽŸ‚T‘Gėg1.4.8‘d(Some–ķMMiscellaneous“CommandsŽŽŸt^‘Gāre-read-init-file–¦f(C-x“C-r)Ž”‘Kā:įRead– kin“the› jcon•²!ten“ts– kof“the“åinputrc‘Joįle,‘ŌŠand“incorpMŽorate“an²!y˜bindings“or“v‘’dDariableŽ”‘Kā:assignmen²!ts–¦ffound“there.Ž¦‘Gāabort‘¦f(C-g)Ž”‘Kā:įAbMŽort–/the›/curren²!t“editing˜command“and˜ring“the˜terminal's“bMŽell˜(sub‘›»ject“to˜theŽ”‘Kā:setting–¦fof“ābell-styleį).ŽŸµˆ‘Gādo-lowercase-version–¦f(M-A,“M-B,“M-čxā,“...Ž‘åe)Ž”‘Kā:įIf–4©the“metaed›4Ŗc²!haracter“åx‘öįis“uppMŽer“case,‘X:run“the“command“that˜is“bMŽound“toŽ”‘Kā:the–öUcorrespMŽonding›öTmetaed“lo•²!w“er˜case‘öUc“haracter.‘Ķ©The˜bMŽeha“vior–öUis˜undened“ifŽ”‘Kā:åx‘gÅįis–¦falready“lo•²!w“er‘¦fcase.Ž¦‘Gāprefix-meta‘¦f(ESC)Ž”‘Kā:įMetafy–‚2the›‚1next“c•²!haracter˜t“ypMŽed.‘q@This–‚2is˜for“k²!eybMŽoards˜without“a˜meta“k²!ey‘’e.Ž”‘Kā:Tš²!yping–¦f`āESC“fį'“is“equiv‘’dDalen˜t“to“t˜yping“čM-fį.ŽŽŒ‹IŠŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®23ŽŽŽ ƒ33 ż ĢĶ‘Gāundo–¦f(C-_“or“C-x“C-u)Ž¤
33‘Kā:įIncremenš²!tal–¦fundo,“separately“remem˜bMŽered“for“eac˜h“line.Ž©¹‘Gārevert-line‘¦f(M-r)Ž”‘Kā:įUndo–śall“cš²!hanges“made“to“this“line.‘ŲåThis“is“lik˜e“executing“the“āundo“įcommandŽ”‘Kā:enough–¦ftimes“to“get“bac²!k“to“the“bMŽeginning.Ž¦‘Gātilde-expand‘¦f(M-~)Ž”‘Kā:įPš²!erform–¦ftilde“expansion“on“the“curren˜t“w˜ord.Ž¦‘Gāset-mark‘¦f(C-@)Ž”‘Kā:įSet–šthe“mark“to“the“pMŽoinš²!t.‘ŗŲIf“a‘šn˜umeric“argumen˜t“is“supplied,‘ythe“mark“is“setŽ”‘Kā:to–¦fthat“pMŽosition.Ž¦‘Gāexchange-point-and-mark–¦f(C-x“C-x)Ž”‘Kā:įSwš²!ap–¾Ņthe“pMŽoin˜t“with“the“mark.‘'"The“curren˜t“cursor“pMŽosition“is“set“to“the“sa˜v˜edŽ”‘Kā:pšMŽosition,–¦fand“the“old“cursor“p˜osition“is“sa•²!v“ed–¦fas“the“mark.Ž¦‘Gācharacter-search‘¦f(C-])Ž”‘Kā:įA‘ü&cš²!haracter–üQis‘üRread“and“pMŽoin˜t‘üRis“mo˜v˜ed“to›üRthe“next“oMŽccurrence“of˜that“c²!haracter.Ž”‘Kā:A–¦fnegativš²!e“coun˜t“searc˜hes“for“previous“oMŽccurrences.ŽŸø‘Gācharacter-search-backward‘¦f(M-C-])Ž”‘Kā:įA‘c"c²!haracter–c•is›c”read“and˜pMŽoinš²!t“is“mo˜v˜ed›c”to“the˜previous“oMŽccurrence˜of“thatŽ”‘Kā:c•²!haracter.‘ŻŻA›¦fnegativ“e˜coun“t˜searc“hes˜for˜subsequen“t˜oMŽccurrences.Ž¦‘Gāskip-csi-sequence‘¦f()Ž”‘Kā:įRead–G¬enough“cš²!haracters‘G­to“consume“a“m˜ulti-k˜ey“sequence“suc˜h‘G­as“those“denedŽ”‘Kā:for–z÷kš²!eys“lik˜e‘zųHome“and“End.‘[‘Suc˜h“sequences“bMŽegin“with‘zųa“Con˜trol“SequenceŽ”‘Kā:Indicator–fM(CSI),“usually–fLESC-[.‘’If“this–fMsequence“is“bMŽound‘fLto“ā"\įe[ā"į,‘–Fk²!eys“pro-Ž”‘Kā:ducing–։sucš²!h“sequences“will‘ֈha˜v˜e“no“eect“unless“explicitly“bMŽound‘ֈto“a“readlineŽ”‘Kā:command,‘ßŌinstead–ŌXof“inserting“straš²!y“c˜haracters“in˜to“the“editing‘ŌWbuer.‘g³This“isŽ”‘Kā:un•²!bMŽound›¦fb“y˜default,˜but˜usually˜bMŽound˜to˜ESC-[.Ž¦‘Gāinsert-comment‘¦f(M-#)Ž”‘Kā:įWithout–GŃa‘GŠnš²!umeric“argumen˜t,‘p*the“v‘’dDalue›GŠof“the˜ācomment-begin“įv‘’dDariable˜is“in-Ž”‘Kā:serted–Ģčat›Ģéthe“bMŽeginning“of“the˜currenš²!t“line.‘QdIf“a“n˜umeric“argumen˜t‘Ģéis“supplied,Ž”‘Kā:this–cųcommand“acts“as“a“toggle:‘Yif‘c÷the“c²!haracters“at“the“bMŽeginning“of“the“lineŽ”‘Kā:do–¬Ānot“matc²!h“the‘¬Ćv›’dDalue“of“ācomment-beginį,‘®Ythe“v˜alue“is‘¬Ćinserted,‘®Yotherwise“theŽ”‘Kā:c²!haracters–Ó6in“ācomment-begin“įare›Ó5deleted“from“the“bMŽeginning“of“the˜line.‘dMInŽ”‘Kā:either–¦fcase,“the“line“is“accepted“as“if“a“newline“had“bšMŽeen“t²!yp˜ed.Ž¦‘Gādump-functions‘¦f()Ž”‘Kā:įPrin²!t–,Qall›,Pof“the˜functions“and“their˜k²!ey“bindings“to˜the“Readline˜output“stream.Ž”‘Kā:If–Īļa“nš²!umeric“argumen˜t›Īšis“supplied,‘Łthe“output“is“formatted“in˜sucš²!h“a“w˜a˜y“thatŽ”‘Kā:it–¦fcan“bšMŽe“made“part“of“an“åinputrc‘Pjįle.‘ŻŻThis“command“is“un²!b˜ound“b²!y“default.Ž¦‘Gādump-variables‘¦f()Ž”‘Kā:įPrin²!t–ŽÉall“of“the‘ŽČsettable“v›’dDariables“and“their“v˜alues“to‘ŽČthe“Readline“output“stream.Ž”‘Kā:If–Īļa“nš²!umeric“argumen˜t›Īšis“supplied,‘Łthe“output“is“formatted“in˜sucš²!h“a“w˜a˜y“thatŽ”‘Kā:it–¦fcan“bšMŽe“made“part“of“an“åinputrc‘Pjįle.‘ŻŻThis“command“is“un²!b˜ound“b²!y“default.ŽŽŒ‹UŸņ‘GįChapter–¦f1:‘ŻŻCommand“Line“Editing’żÓ®24ŽŽŽ ƒ33 ż ĢĶ‘Gādump-macros‘¦f()Ž¤
33‘Kā:įPrinš²!t–
ˆall“of“the‘
‡Readline“k˜ey“sequences“bMŽound“to“macros‘
‡and“the“strings“theyŽ”‘Kā:output.‘rŠIf–-Ja“nš²!umeric“argumen˜t“is›-Ksupplied,‘Othe“output“is“formatted˜in“suc²!h“aŽ”‘Kā:w•²!a“y–šthat›šit“can“bMŽe˜made“part“of˜an“åinputrc‘Dįle.‘ŁĀThis“command“is˜unš²!bMŽound“b˜yŽ”‘Kā:default.Ž©33‘Gāemacs-editing-mode‘¦f(C-e)Ž”‘Kā:įWhen–¦fin“āvi“įcommand“mošMŽde,“this“causes“a“switc²!h“to“āemacs“įediting“mo˜de.Ž¦‘Gāvi-editing-mode‘¦f(M-C-j)Ž”‘Kā:įWhen–¦fin“āemacs“įediting“mošMŽde,“this“causes“a“switc²!h“to“āvi“įediting“mo˜de.ŽŸ‘Gė]1.5‘™Readline–f@vi“Mos3deŽŽ¦‘GįWhile–É`the“Readline›É_library“doMŽes“not“ha•²!v“e–É`a˜full“set“of“āvi˜įediting“functions,‘Ņit“doMŽes“con²!tainŽ”‘Genough–to›žallo²!w“simple˜editing“of“the˜line.‘.ƒThe˜Readline“āvi“įmo•MŽde˜b“eha•²!v“es–as˜spMŽecied“inŽ”‘Gthe–¦fēposix“įstandard.Ž©33‘!GIn–|Uorder›|Vto“switc•²!h˜in“teractiv“ely‘|UbMŽet“w“een˜āemacs–|Uįand˜āvi“įediting˜moMŽdes,‘„æuse˜the“commandŽ”‘GčM-C-j–iį(bšMŽound‘jto“emacs-editing-mo˜de“when“in‘jāvi“įmo˜de“and“to‘jvi-editing-mo˜de“in“āemacsŽ”‘GįmošMŽde).‘ŻŻThe–¦fReadline“default“is“āemacs“įmo˜de.Ž¦‘!GWhen–›‰yš²!ou“en˜ter“a“line“in“āvi“įmoMŽde,‘µy˜ou‘›Šare“already“placed“in“`insertion'“moMŽde,‘µas“if“y˜ouŽ”‘Ghad–ˆtš²!ypMŽed“an‘ˆ`āiį'.‘ÓĆPressing“āESC“įswitc˜hes‘ˆy˜ou“in˜to“`command'“moMŽde,‘Ž(where“y˜ou‘ˆcan“edit“theŽ”‘Gtext–of“the“line“with“the“standard“āvi“įmo•²!v“emen“t›k“eys,‘);mo“v“e˜to˜previous˜history˜lines˜withŽ”‘G`ākį'–¦fand“subsequen²!t“lines“with“`ājį',“and“so“forth.ŽŽŒ‹b\Ÿņ’ø¼Ėį25ŽŽŽ ƒ33 ż ĢĶ‘GėT2‘	øQProgramming–z³with“GNU“ReadlineŽŽŸ]‘GįThis–ü cš²!hapter‘üdescribMŽes“the“in˜terface‘übMŽet˜w˜een“the“ēgnu›üįReadline“Library“and˜other“programs.Ž¤
33‘GIf–}Éyš²!ou“are“a“programmer,‘…čand“y˜ou“wish“to“include“the“features“found“in“ēgnu“įReadline“suc˜hŽ”‘Gas–ż­completion,›lline“editing,˜and“in•²!teractiv“e–ż­history“manipulation“in“yš²!our“o˜wn“programs,‘lthisŽ”‘Gsection–¦fis“for“y²!ou.ŽŸ”󍍑Gė]2.1‘™Basic‘f@BehaŒĢviorŽŽŸ33‘GįMan•²!y›’programs‘’pro“vide˜a˜command‘’line˜in“terface,‘Ķsuc“h˜as˜āmailį,‘Ķāftpį,‘Ķand‘’āshį.‘ ōF‘’eor˜suc“hŽ”‘Gprograms,‘x³the–mFdefault“bMŽehaš²!viour“of“Readline“is“sucien˜t.‘ŹÓThis“section“describMŽes“ho˜w“to“useŽ”‘GReadline–!tin“the‘!usimplest“w•²!a“y›!tp•MŽossible,‘@8p“erhaps˜to˜replace‘!ucalls˜in˜y²!our˜co“de‘!uto˜āgets()˜įorŽ”‘Gāfgets()į.Ž©–€‘!GThe–čęfunction“āreadline()“įprin²!ts“a“prompt“åprompt‘%ēįand“then“reads“and“returns“a“singleŽ”‘Gline–ķØof“text“from“the“user.‘³¢If“åprompt‘*Øįis“āNULL“įor“the“emptš²!y“string,‘’xno“prompt“is“displa˜y˜ed.Ž”‘GThe–u}line›u|āreadline“įreturns“is˜alloMŽcated“with“āmalloc()į;‘Żthe˜caller“should“āfree()˜įthe“lineŽ”‘Gwhen–¦fit“has“nished“with“it.‘ŻŻThe“declaration“for“āreadline“įin“ANSI“C“isŽ¤–‘.łœāchar–æŖ*readline“(const“char“*čpromptā);Ž¦‘GįSo,–¦fone“mighš²!t“sa˜yŽ”‘.łœāchar–æŖ*line“=“readline“("Enter“a“line:“");Ž¦‘Gįin–¾—order“to›¾–read“a“line“of“text“from˜the“user.‘˜The“line“returned“has“the˜nal“newline“remo•²!v“ed,Ž©
33‘Gso–¦fonly“the“text“remains.Ž”‘!GIf–ÜĘāreadline“įencounš²!ters“an“āEOF“įwhile“reading“the“line,‘*^and“the“line“is“empt˜y“at“thatŽ¦‘GpMŽoin²!t,›^then–‡ā(char‘¦f*)NULL“įis“returned.‘ÓoOtherwise,˜the“line“is‘‡ended“just“as“if“a“newline“hadŽ¦‘Gb•MŽeen‘¦ft²!yp“ed.ŽŸ–€‘!GReadline–”ZpšMŽerforms“some“expansion“on“the“åprompt‘ŽZįb˜efore“it“is“displa•²!y“ed–”Zon“the“screen.‘†ŁSeeŽ¦‘Gthe–@Įdescription“of“ārl_expand_prompt“į(see“Section“2.4.6‘@Ā[Redispla²!y],‘Upage“38)“for“additionalŽ¦‘Gdetails,‘Ö
   80: espMŽecially–™Pif“åprompt‘ÖPįwill“conš²!tain“c˜haracters‘™Othat“do“not“consume“ph˜ysical“screenŽ¦‘Gspace–¦fwhen“displa•²!y“ed.Ž”‘!GIf–=Ayš²!ou“w˜an˜t›=Bthe“user“to“bMŽe˜able“to“get“at“the˜line“later,›RI(with“āC-p“įfor“example),˜yš²!ou“m˜ustŽ¦‘Gcall–¦fāadd_history()“įto“sa•²!v“e–¦fthe“line“a•²!w“a“y–¦fin“a“åhistory‘–~įlist“of“suc²!h“lines.Ž©–€‘.łœāadd_history‘æŖ(line);Ž”‘GįF›’eor–¦ffull“details“on“the“GNU“History“Library˜,“see“the“assoMŽciated“man²!ual.Ž¦‘!GIt–ƍis“preferable“to“a•²!v“oid‘ƌsa“ving›ƍempt“y˜lines˜on˜the˜history˜list,‘ŹÖsince˜users˜rarely˜ha“v“e˜aŽ¤
33‘Gburning–‘4need“to›‘5reuse“a“blank“line.‘ÖĶHere“is“a“function“whic²!h“usefully˜replaces“the“standardŽ”‘Gāgets()–¦fįlibrary“function,“and“has“the“adv‘’dDanš²!tage“of“no“static“buer“to“o˜v˜er
o˜w:ŽŸ–‘.łœā/*–æŖA“static“variable“for“holding“the“line.“*/Ž”‘.łœstatic–æŖchar“*line_read“=“(char“*)NULL;ŽŸff‘.łœ/*–æŖRead“a“string,“and“return“a“pointer“to“it.Ž”‘@8šReturns–æŖNULL“on“EOF.“*/Ž”‘.łœchar‘æŖ*Ž”‘.łœrl_gets‘æŖ()Ž”‘.łœ{ŽŽŒ‹iIŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—26ŽŽŽ ƒ33 ż ĢĶ‘:xšā/*–æŖIf“the“buffer“has“already“been“allocated,Ž¤
33‘K·īreturn–æŖthe“memory“to“the“free“pool.“*/Ž”‘:xšif‘æŖ(line_read)Ž”‘EųD{Ž”‘Qw˜free‘æŖ(line_read);Ž”‘Qw˜line_read–æŖ=“(char“*)NULL;Ž”‘EųD}Ž©ff‘:xš/*–æŖGet“a“line“from“the“user.“*/Ž”‘:xšline_read–æŖ=“readline“("");Ž¦‘:xš/*–æŖIf“the“line“has“any“text“in“it,Ž”‘K·īsave–æŖit“on“the“history.“*/Ž”‘:xšif–æŖ(line_read“&&“*line_read)Ž”‘EųDadd_history‘æŖ(line_read);Ž¦‘:xšreturn‘æŖ(line_read);Ž”‘.łœ}Ž©ļ֍‘!GįThis–`ˆfunction“givš²!es“the“user“the“default“bMŽeha˜viour“of“āTAB“įcompletion:‘ŗīcompletion“on“leŽ”‘Gnames.‘ōŽIf‘®yš²!ou–®do“not“w˜an˜t“Readline“to“complete“on–®lenames,‘Æūy˜ou“can–®c˜hange“the“bindingŽ”‘Gof–¦fthe“āTAB“įk²!ey“with“ārl_bind_key()į.ŽŸļՍ‘.łœāint–æŖrl_bind_key“(int“čkeyā,“rl_command_func_t“*čfunctionā);Ž¦‘!Grl_bind_key()–—įtakš²!es“t˜w˜o––argumen˜ts:‘ž?åk˜ey‘öÆįis“the–—c˜haracter“that“y˜ou“w˜an˜t‘–to“bind,‘£andŽ”‘Gåfunction–Ŗäįis“the“address“of‘Ŗåthe“function“to“call“when“åk²!ey‘šüįis“pressed.‘ėXBinding“āTAB“įto“ārl_Ž”‘Ginsert()–§wįmak²!es›§xāTAB“įinsert“itself.‘įārl_bind_key()“įreturns“non-zero˜if“åk²!ey‘—įis“not˜a“v‘’dDalidŽ”‘GASCIšMŽI–¦fc²!haracter“co˜de“(b˜et•²!w“een–¦f0“and“255).Ž¤ļՍ‘!GThš²!us,–¦fto“disable“the“default“āTAB“įbMŽeha˜vior,“the“follo˜wing“suces:Ž¦‘.łœārl_bind_key–æŖ('\t',“rl_insert);Ž”‘!GįThis–+cošMŽde“should‘+b˜e“executed“once“at‘+the“start“of“yš²!our“program;‘T,y˜ou“migh˜t‘+write“a“func-Ž¤
33‘Gtion–ļųcalled›ļ÷āinitialize_readline()“įwhic²!h˜pMŽerforms“this˜and“other˜desired“initializations,Ž”‘Gsuc²!h–¦fas“installing“custom“completers“(see“Section“2.6“[Custom“Completers],“page“51).ŽŸō‘Gė]2.2‘™Custom‘f@F‘ž¦functionsŽŽŸ33‘GįReadline–Eēproš²!vides“man˜y“functions“for‘Eęmanipulating“the“text“of“the“line,‘Y3but“it“isn't“pMŽossibleŽ”‘Gto–dcan²!ticipate“the›dbneeds“of“all“programs.‘ÓThis“section“describMŽes“the˜v‘’dDarious“functions“andŽ”‘Gv‘’dDariables–"dened“within“the‘"Readline“library“whicš²!h“allo˜w“a“user‘"program“to“add“customizedŽ”‘Gfunctionalit²!y–¦fto“Readline.ŽŸļՍ‘!GBefore–aŪdeclaring›aÜan²!y“functions“that“customize˜Readline's“bMŽeha²!vior,‘øor“using˜an²!y“func-Ž”‘Gtionalit•²!y›xQReadline‘xRpro“vides˜in–xRother˜coMŽde,‘ģĢan˜application˜writer“should˜include“the˜leŽ”‘Gā<readline/readline.h>–‡įin›†an²!y“le“that“uses˜Readline's“features.‘ū?Since“some“of˜the“de-Ž”‘Gnitions–¾„in›¾…āreadline.h“įuse“the“āstdio˜įlibrary‘’e,‘ċthe˜le“ā<stdio.h>“įshould“bMŽe˜included“bMŽeforeŽ”‘Gāreadline.hį.Ž¦‘!Gāreadline.h–¬2įdenes›¬3a“C‘¬1preproMŽcessor“v‘’dDariable˜that“should“bMŽe˜treated“as“an˜in²!teger,‘­„āRL_Ž”‘GREADLINE_VERSIONį,‘Ūwhic•²!h›Ø(ma“y˜b•MŽe˜used˜to˜conditionally˜compile˜application˜co“de˜dep“endingŽŽŒ‹uߍŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—27ŽŽŽ ƒ33 ż ĢĶ‘Gon–4üthe“installed›4żReadline“v²!ersion.‘‰ŸThe˜v‘’dDalue“is“a“hexadecimal“encoMŽding“of˜the“ma‘›»jor“andŽ¤
33‘Gminor–Pvš²!ersion“n˜um˜bMŽers›Oof“the“library‘’e,‘8Šof“the“form˜0xåMMmmį.‘<›åMM‘Jžįis˜the“t•²!w“o-digit‘Pma‘›»jorŽ”‘Gv•²!ersion›z.n“um“bMŽer;‘ˆėåmm‘z-įis˜the˜t“w“o-digit‘z-minor˜v“ersion˜n“um“bMŽer.‘ĻF‘’eor˜Readline˜4.2,‘ƒfor˜example,Ž”‘Gthe–¦fv‘’dDalue“of“āRL_READLINE_VERSION“įw²!ould“bMŽe“ā0x0402į.ŽŸ34‘Gėg2.2.1‘d(Readline‘ķMT–įypiedefsŽŽŸ³3‘GįF–’eor›¦freadabilit²!y“,˜w•²!e˜declare˜a˜n“um“bMŽer˜of˜new˜ob‘›»ject˜t“yp•MŽes,˜all˜p“oin²!ters˜to˜functions.Ž©fg‘!GThe–IÖreason›IÕfor“declaring˜these“new˜t²!ypMŽes“is˜to“mak²!e˜it“easier˜to“write˜coMŽde“describingŽ”‘GpMŽoinš²!ters–¦fto“C“functions“with“appropriately“protot˜ypMŽed“argumen˜ts“and“return“v‘’dDalues.ŽŸff‘!GF‘’eor›m½instance,‘Ÿ“sa•²!y‘m¾w“e˜w“an“t–m¾to˜declare˜a“v‘’dDariable˜åfunc‘Āįas˜a˜pMŽoin²!ter“to˜a“function˜whic²!hŽ”‘Gtak•²!es›©t“w“o‘Øāint˜įargumen“ts–Øand˜returns“an˜āint“į(this˜is“the˜t²!ypMŽe“of˜all“of˜the“Readline˜bindableŽ”‘Gfunctions).‘ŻŻInstead–¦fof“the“classic“C“declarationŽ¦‘!Gāint‘¦f(*func)();Ž¦‘Gįor–¦fthe“ANSI-C“st²!yle“declarationŽ¦‘!Gāint–¦f(*func)(int,“int);ŽŸff‘Gįw•²!e›¦fma“y˜writeŽ¦‘!Gārl_command_func_t‘¦f*func;Ž¦‘!GįThe–¦ffull“list“of“function“pMŽoinš²!ter“t˜ypMŽes“a˜v‘’dDailable“isŽŸ‘Gātypedef–¦fint“rl_command_func_t“(int,“int);Ž”‘Gtypedef–¦fchar“*rl_compentry_func_t“(const“char“*,“int);Ž”‘Gtypedef–¦fchar“**rl_completion_func_t“(const“char“*,“int,“int);Ž”‘Gtypedef–¦fchar“*rl_quote_func_t“(char“*,“int,“char“*);Ž”‘Gtypedef–¦fchar“*rl_dequote_func_t“(char“*,“int);Ž”‘Gtypedef–¦fint“rl_compignore_func_t“(char“**);Ž”‘Gtypedef–¦fvoid“rl_compdisp_func_t“(char“**,“int,“int);Ž”‘Gtypedef–¦fint“rl_hook_func_t“(void);Ž”‘Gtypedef–¦fint“rl_getc_func_t“(FILE“*);Ž”‘Gtypedef–¦fint“rl_linebuf_func_t“(char“*,“int);Ž”‘Gtypedef–¦fint“rl_intfunc_t“(int);Ž”‘G#define–¦frl_ivoidfunc_t“rl_hook_func_tŽ”‘Gtypedef–¦fint“rl_icpfunc_t“(char“*);Ž”‘Gtypedef–¦fint“rl_icppfunc_t“(char“**);Ž”‘Gtypedef–¦fvoid“rl_voidfunc_t“(void);Ž”‘Gtypedef–¦fvoid“rl_vintfunc_t“(int);Ž”‘Gtypedef–¦fvoid“rl_vcpfunc_t“(char“*);Ž”‘Gtypedef–¦fvoid“rl_vcppfunc_t“(char“**);ŽŸ™™‘Gėg2.2.2‘d(W›žÄ£riting–ķMa“New“F˜unctionŽŽŸ³3‘GįIn–»Öorder›»×to“write“new˜functions“for“Readline,‘Į3y²!ou“need“to˜kno²!w“the“calling˜con•²!v“en“tions‘»ÖforŽ”‘Gk•²!eybMŽoard-in“v“ok“ed–™Śfunctions,‘œ\and“the›™Łnames“of“the˜v‘’dDariables“that“describMŽe“the˜curren²!t“stateŽ”‘Gof–¦fthe“line“read“so“far.Ž¦‘!GThe–¦fcalling“sequence“for“a“command“āfoo“įloMŽoks“lik²!eŽ¦‘.łœāint–æŖfoo“(int“count,“int“key)ŽŽŒ‹Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—28ŽŽŽ ƒ33 ż ĢĶ‘Gwhere–Pgåcounš²!t‘fįis“the‘Pfn˜umeric“argumen˜t›Pf(or“1˜if“defaulted)˜and“åk²!ey‘@~įis“the˜k²!ey“that˜in•²!v“ok“edŽ¤
33‘Gthis‘¦ffunction.Ž©,£‘!GIt–Äis›Äcompletely“up˜to“the“function˜as“to“what˜should“bMŽe˜done“with“the˜nš²!umeric“argumen˜t.Ž”‘GSome–Ļ;functions“use“it“as“a“repMŽeat“coun²!t,›psome‘Ļ:as“a“
ag,˜and“others“to“c²!hoMŽose“alternateŽ”‘GbMŽehaš²!vior–4ń(refreshing‘4šthe“curren˜t›4šline“as˜oppMŽosed“to“refreshing˜the“screen,‘˜’for“example).Ž”‘GSome–żc²!hoMŽose“to›żignore“it.‘į±In˜general,‘©if“a˜function“uses“the“nš²!umeric“argumen˜t‘żas“a“repMŽeatŽ”‘Gcoun²!t,‘itit–Z7should“bMŽe›Z8able“to“do˜something“useful“with˜bMŽoth“negativ²!e“and˜pMŽositivš²!e“argumen˜ts.Ž”‘GAš²!t–¦fthe“v˜ery“least,“it“should“bMŽe“a˜w˜are“that“it“can“bMŽe“passed“a“negativ˜e“argumen˜t.Ž¦‘!GA‘‘command–Ķfunction“should“return“0“if“its“action“completes“successfully‘’e,‘Ėgand“a“v‘’dDalueŽ”‘Ggreater–ō±than›ō²zero“if“some“error˜oMŽccurs.‘ČæThis“is“the“con•²!v“en“tion˜obMŽey“ed›ō±b“y˜all˜of‘ō²the˜builtinŽ”‘GReadline–¦fbindable“command“functions.ŽŸv(‘Gė]2.3‘™Readline‘f@V‘ž¦fariablesŽŽŸ33‘GįThese–¦fv›’dDariables“are“a²!v˜ailable“to“function“writers.Ž©&’–3[V‘’eariable]ŽŽ‘Gó@ßź<x
   81: cmtt10ė@char–LÉ*“rl_line_bufferŽ”‘.łœįThis–¾is“the“line“gathered›¾so“far.‘$ŗY‘’eou“are“w²!elcome“to“moMŽdify˜the“con•²!ten“ts–¾of“the“line,Ž”‘.łœbut–Dqsee›DrSection“2.4.5˜[Allo²!wing“Undoing],‘kōpage˜37.‘·’The˜function“ārl_extend_line_Ž”‘.łœbuffer–¦fįis“a²!v‘’dDailable“to“increase“the“memory“alloMŽcated“to“ārl_line_bufferį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_pointŽ”‘.łœįThe–¦foset“of“the“curren²!t“cursor“pMŽosition“in“ārl_line_buffer“į(the“äp‘’p¹oint‘	źį).Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_endŽ”‘.łœįThe›Y6n•²!um“bMŽer˜of‘Y5c“haracters˜presen“t˜in˜ārl_line_bufferį.‘Ä"When˜ārl_point˜įis‘Y5at˜the˜endŽ”‘.łœof–¦fthe“line,“ārl_point“įand“ārl_end“įare“equal.ŽŸ&’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_markŽ”‘.łœįThe›n·åmark‘¼į(sa•²!v“ed˜pMŽosition)˜in˜the‘nøcurren“t˜line.‘6ŃIf˜set,‘ Ģthe˜mark˜and˜pMŽoin“t‘nødene˜aŽ”‘.łœär–’p¹e“gionį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_doneŽ”‘.łœįSetting–˜Ÿthis“to“a“non-zero“v‘’dDalue“causes‘˜žReadline“to“return“the“curren²!t“line“immediately‘’e.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_num_chars_to_readŽ”‘.łœįSetting–ōthis›ōto“a“pMŽositiv²!e˜v‘’dDalue“bMŽefore“calling˜āreadline()“įcauses“Readline˜to“returnŽ”‘.łœafter–Hßaccepting“that“man•²!y›HŽc“haracters,‘q}rather–Hßthan“reading“up˜to“a“c²!haracter“bMŽoundŽ”‘.łœto‘¦fāaccept-lineį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_pending_inputŽ”‘.łœįSetting–this“to“a“v‘’dDalue“makš²!es‘€it“the“next“k˜eystrok˜e“read.‘§åThis“is‘€a“w˜a˜y“to“stu“a“singleŽ”‘.łœc•²!haracter›¦fin“to˜the˜input˜stream.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_dispatchingŽ”‘.łœįSet–čWto›čVa“non-zero˜v‘’dDalue“if˜a“function“is˜bMŽeing“called˜from“a˜k²!ey“binding;‘'±zero“otherwise.Ž”‘.łœApplication–JOfunctions“can“test“this“to“disco•²!v“er–JOwhether“they“w²!ere“called“directly“orŽ”‘.łœbš²!y–¦fReadline's“dispatc˜hing“mec˜hanism.ŽŽŒ‹ŒāŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—29ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_erase_empty_lineŽ¤
33‘.łœįSetting–…«this›…¬to“a“non-zero˜v‘’dDalue“causes“Readline˜to“completely“erase˜the“curren²!tŽ”‘.łœline,›L[including–÷÷an²!y“prompt,˜anš²!y“time“a“newline“is“t˜ypMŽed‘÷ųas“the“only“c˜haracter“onŽ”‘.łœan–\
otherwise-emptš²!y“line.‘žÓThe“cursor“is“mo˜v˜ed“to“the‘\bMŽeginning“of“the“newly-blankŽ”‘.łœline.Ž©¹’–3[V‘’eariable]ŽŽ‘Gė@char–LÉ*“rl_promptŽ”‘.łœįThe–#=prompt“Readline“uses.‘²%This“is‘#>set“from“the“argumen²!t“to“āreadline()į,‘=yand“shouldŽ”‘.łœnot–:^bMŽe“assigned“to›:]directly‘’e.‘¹ŪThe“ārl_set_prompt()“įfunction˜(see“Section“2.4.6“[Redis-Ž”‘.łœplaš²!y],–¦fpage“38)“ma˜y“bšMŽe“used“to“mo˜dify“the“prompt“string“after“calling“āreadline()į.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@char–LÉ*“rl_display_promptŽ”‘.łœįThe›ĻŪstring‘ĻÜdispla•²!y“ed˜as–ĻÜthe˜prompt.‘Z=This˜is“usually˜iden²!tical“to˜årl‘Ä>‰x³HųŽ‘Ńtpromptį,‘Ś9but˜ma²!yŽ”‘.łœbšMŽe–[c²!hanged“temp˜orarily“b²!y“functions“that“use“the“prompt“string“as“a“message“area,Ž”‘.łœsucš²!h–¦fas“incremen˜tal“searc˜h.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_already_promptedŽ”‘.łœįIf–\Xan“application“wishes›\Wto“displa²!y“the“prompt“itself,‘‰Ōrather˜than“ha•²!v“e–\XReadline“doŽ”‘.łœit–ļ9the“rst“time“āreadline()“įis“called,‘mit“should“set“this“v›’dDariable“to“a“non-zero“v˜alueŽ”‘.łœafter–Ėdisplaš²!ying‘Źthe“prompt.‘šThe“prompt“m˜ust“also›ŹbMŽe“passed“as“the˜argumen²!t“toŽ”‘.łœāreadline()–÷	įso“the“redisplaš²!y“functions“can“upMŽdate‘÷the“displa˜y“propMŽerly‘’e.‘ĻĘThe“callingŽ”‘.łœapplication–¦fis“respMŽonsible“for“managing“the“v‘’dDalue;“Readline“nev²!er“sets“it.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_library_versionŽ”‘.łœįThe–¦fvš²!ersion“n˜um˜bMŽer“of“this“revision“of“the“library‘’e.ŽŸø’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_readline_versionŽ”‘.łœįAn–’in²!teger›“encoMŽding“the˜currenš²!t“v˜ersion›“of“the˜library‘’e.‘4bThe“encoMŽding˜is“of˜the“formŽ”‘.łœ0xåMMmmį,‘‘ąwhere–bČåMM‘’vįis‘bĒthe“t•²!w“o-digit–bČma‘›»jor“vš²!ersion“n˜um˜bMŽer,‘‘ąand“åmm‘bĒįis“the“t˜w˜o-Ž”‘.łœdigit–{¶minor‘{·vš²!ersion“n˜um˜bMŽer.‘]ĻF‘’eor“example,–±
   82: for‘{·Readline-4.2,“ārl_readline_versionŽ”‘.łœįw•²!ould›¦fha“v“e˜the˜v‘’dDalue˜0x0402.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_gnu_readline_pŽ”‘.łœįAlw•²!a“ys–¦fset“to“1,“denoting“that“this“is“ēgnu“įreadline“rather“than“some“em²!ulation.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_terminal_nameŽ”‘.łœįThe›_terminal–_t²!ypMŽe,‘mKused“for˜initialization.‘ĘIf˜not“set˜b²!y“the˜application,‘mJReadline˜setsŽ”‘.łœthis–¦fto“the“v›’dDalue“of“the“āTERM“įen•²!vironmen“t–¦fv˜ariable“the“rst“time“it“is“called.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_readline_nameŽ”‘.łœįThis–æƒv‘’dDariable“is“set“to“a“unique“name‘æ„bš²!y“eac˜h“application“using“Readline.‘)4The“v‘’dDalueŽ”‘.łœallo²!ws–]wconditional“parsing›]vof“the“inputrc“le“(see“Section˜1.3.2“[Conditional“Init“Con-Ž”‘.łœstructs],–¦fpage“12).Ž¦’–3[V‘’eariable]ŽŽ‘Gė@FILE–LÉ*“rl_instreamŽ”‘.łœįThe–ķ€stdio“stream“from“whic²!h“Readline“reads“input.‘³*If“āNULLį,‘?FReadline“defaults“toŽ”‘.łœåstdinį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@FILE–LÉ*“rl_outstreamŽ”‘.łœįThe–#Rstdio›#Qstream“to“whic²!h˜Readline“pMŽerforms“output.‘T If˜āNULLį,‘BReadline˜defaults“toŽ”‘.łœåstdoutį.ŽŽŒ‹™čŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—30ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_prefer_env_winsizeŽ¤
33‘.łœįIf–h non-zero,‘t”Readline“givš²!es“v‘’dDalues“found“in“the‘hāLINES“įand“āCOLUMNS“įen˜vironmen˜t“v‘’dDari-Ž”‘.łœables–éžgreater“precedence“than“v‘’dDalues“fetcš²!hed“from“the“k˜ernel“when“computing“theŽ”‘.łœscreen‘¦fdimensions.Ž©fg’–3[V‘’eariable]ŽŽ‘Gė@rl_command_func_t–LÉ*“rl_last_funcŽ”‘.łœįThe–-)address“of“the“last“command“function“Readline‘-*executed.‘r&Ma²!y“bMŽe“used“to“testŽ”‘.łœwhether–¦for“not“a“function“is“bMŽeing“executed“t²!wice“in“succession,“for“example.ŽŸfh’–3[V‘’eariable]ŽŽ‘Gė@rl_hook_func_t–LÉ*“rl_startup_hookŽ”‘.łœįIf–ŗnon-zero,‘>this“is›»the“address“of˜a“function˜to“call“just˜bMŽefore“āreadline˜įprin²!ts“theŽ”‘.łœrst‘¦fprompt.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_hook_func_t–LÉ*“rl_pre_input_hookŽ”‘.łœįIf–CÜnon-zero,‘k9this›CŪis“the“address˜of“a“function˜to“call“after˜the“rst“prompt˜has“bMŽeenŽ”‘.łœprinš²!ted–¦fand“just“bMŽefore“āreadline“įstarts“reading“input“c˜haracters.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_hook_func_t–LÉ*“rl_event_hookŽ”‘.łœįIf–ānon-zero,‘0ģthis“is“the‘āaddress“of“a“function“to“call“p•MŽerio“dically–āwhen“Readline“isŽ”‘.łœw²!aiting–€*for“terminal–€)input.‘ŃBy“default,‘‡Šthis›€*will“bMŽe˜called˜at˜most˜ten“times˜a˜secondŽ”‘.łœif–¦fthere“is“no“k²!eybMŽoard“input.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_getc_func_t–LÉ*“rl_getc_functionŽ”‘.łœįIf–§Wnon-zero,‘§“Readline“will“call“indirectly“through“this“pMŽoinš²!ter“to“get“a“c˜haracter“fromŽ”‘.łœthe–›input“stream.‘€EBy“default,‘ÅĆit“is‘œset“to“ārl_getcį,‘ÅÄthe“default“Readline“c²!haracter“inputŽ”‘.łœfunction–»Ķ(see“Section›»Ī2.4.8“[Character“Input],‘źøpage˜40).‘ŖIn“general,‘ź¹an“application“thatŽ”‘.łœsets›¦fårl‘Ä>‰x³HųŽ–Ńtgetc‘Ä>‰x³HųŽ“function˜įshould˜consider˜setting˜årl‘Ä>‰x³HųŽ“input‘Ä>‰x³HųŽ“a²!v‘’dDailable‘Ä>‰x³HųŽ“hoMŽok‘Pjįas˜w²!ell.ŽŸfh’–3[V‘’eariable]ŽŽ‘Gė@rl_hook_func_t–LÉ*“rl_signal_event_hookŽ”‘.łœįIf–>Ūnon-zero,‘Sthis“is‘>Üthe“address“of“a“function“to“call“if“a“read“system“call“is“in²!terruptedŽ”‘.łœwhen–¦fReadline“is“reading“terminal“input.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_hook_func_t–LÉ*“rl_input_available_hookŽ”‘.łœįIf–z÷non-zero,‘ƒ§Readline›zöwill“use“this“function's“return“v‘’dDalue“when˜it“needs“to“determineŽ”‘.łœwhether–ąor“not“there‘įis“aš²!v‘’dDailable“input“on“the“curren˜t“input“source.‘	8LThe“defaultŽ”‘.łœhoMŽok›
#c•²!hec“ks–
$ārl_instreamį;‘@:if˜an“application˜is“using˜a˜dieren²!t“input˜source,‘+Ėit˜shouldŽ”‘.łœset–īthe›ļhoMŽok“appropriately‘’e.‘óvReadline“queries“for“a²!v‘’dDailable˜input“when“implemen²!tingŽ”‘.łœin•²!tra-k“ey-sequence–cStimeouts“during“input“and“incremenš²!tal“searc˜hes.‘Ē‚This“ma˜y“use“anŽ”‘.łœapplication-sp•MŽecic›€„timeout‘€¦b“efore˜returning–€¦a˜v‘’dDalue;‘ā‘Readline˜uses“the˜v‘’dDalue“passed˜toŽ”‘.łœārl_set_keyboard_input_timeout()–ź9įor›ź:the“v‘’dDalue˜of“the˜user-settable“åk²!eyseq-timeoutŽ”‘.łœįv‘’dDariable.‘˜This›äuis–ätdesigned“for“use“b²!y“applications˜using“Readline's“callbacš²!k“in˜terfaceŽ”‘.łœ(see–‘RSection›‘S2.4.12“[Alternate˜In²!terface],–•‰page˜44),“whic•²!h‘‘Rma“y˜not–‘Ruse˜the“traditionalŽ”‘.łœāread(2)–ŽKįand“le“descriptor“inš²!terface,‘,Cor“other“applications“using“a“dieren˜t“inputŽ”‘.łœmecš²!hanism.‘LžIf–Ėqan“application“uses“an“input“mec˜hanism“or“hošMŽok“that“can“p˜oten²!tiallyŽ”‘.łœexceed–d’the“v‘’dDalue“of›d‘åk²!eyseq-timeoutį,‘”it“should“increase“the“timeout˜or“set“this“hoMŽokŽ”‘.łœappropriately–ąīev²!en›ąļwhen“not˜using“the˜callbacš²!k“in˜terface.‘wIn“general,‘ļ‘an“applicationŽ”‘.łœthat–¦fsets“årl‘Ä>‰x³HųŽ–Ńtgetc‘Ä>‰x³HųŽ“function–¦fįshould“consider“setting“årl‘Ä>‰x³HųŽ–Ńtinput‘Ä>‰x³HųŽ“aš²!v‘’dDailable‘Ä>‰x³HųŽ“hoMŽok‘Pjįas‘¦fw˜ell.ŽŽŒ‹§ Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—31ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@rl_voidfunc_t–LÉ*“rl_redisplay_functionŽ¤
33‘.łœįIf–S­non-zero,‘~’Readline“will“call“indirectly“through“this‘S®pšMŽoin²!ter“to“up˜date“the“displa²!yŽ”‘.łœwith–=Ōthe“curren•²!t›=Õcon“ten“ts–=Ōof“the“editing“buer.‘»By“default,‘R¾it“is˜set“to“ārl_redisplayį,Ž”‘.łœthe–¦fdefault“Readline“redisplaš²!y“function“(see“Section“2.4.6“[Redispla˜y],“page“38).Ž©Š`’–3[V‘’eariable]ŽŽ‘Gė@rl_vintfunc_t–LÉ*“rl_prep_term_functionŽ”‘.łœįIf–āĻnon-zero,‘	ķReadline“will›āĪcall“indirectly“through“this“pMŽoin²!ter“to˜initialize“the“terminal.Ž”‘.łœThe–ufunction“takš²!es“a‘u€single“argumen˜t,‘©Gan“āint“į
ag“that“sa˜ys“whether‘u€or“not“to“useŽ”‘.łœeigh•²!t-bit›Čc“haracters.‘5By˜default,‘5athis˜is˜set˜to˜ārl_prep_terminal‘Éį(see˜Section˜2.4.9Ž”‘.łœ[T‘’eerminal–¦fManagemen²!t],“page“41).ŽŸŠ_’–3[V‘’eariable]ŽŽ‘Gė@rl_voidfunc_t–LÉ*“rl_deprep_term_functionŽ”‘.łœįIf–eynon-zero,‘•>Readline›ezwill“call˜indirectly“through˜this“pMŽoin²!ter˜to“reset˜the“terminal.Ž”‘.łœThis–4function“should“undo‘4the“eects“of“ārl_prep_term_functionį.‘ˆYBy“default,‘XthisŽ”‘.łœis–¦fset“to“ārl_deprep_terminal“į(see“Section“2.4.9“[T‘’eerminal“Managemen²!t],“page“41).Ž¦’–3[V‘’eariable]ŽŽ‘Gė@Keymap‘LÉrl_executing_keymapŽ”‘.łœįThis–ROv‘’dDariable›RNis“set˜to“the˜k²!eymap“(see“Section˜2.4.2“[Keymaps],‘}Hpage“34)˜in“whic²!hŽ”‘.łœthe–¦fcurrenš²!tly“executing“readline“function“w˜as“found.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@Keymap‘LÉrl_binding_keymapŽ”‘.łœįThis–ROv‘’dDariable›RNis“set˜to“the˜k²!eymap“(see“Section˜2.4.2“[Keymaps],‘}Hpage“34)˜in“whic²!hŽ”‘.łœthe–¦flast“k²!ey“binding“oMŽccurred.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@char–LÉ*“rl_executing_macroŽ”‘.łœįThis–¦fv‘’dDariable“is“set“to“the“text“of“anš²!y“curren˜tly-executing“macro.ŽŸŠ_’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_executing_keyŽ”‘.łœįThe–¦fkš²!ey“that“caused“the“dispatc˜h“to“the“curren˜tly-executing“Readline“function.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@char–LÉ*“rl_executing_keyseqŽ”‘.łœįThe–Cłfull“kš²!ey‘Cśsequence“that“caused“the“dispatc˜h“to‘Cśthe“curren˜tly-executing“ReadlineŽ”‘.łœfunction.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_key_sequence_lengthŽ”‘.łœįThe›¦fn•²!um“bMŽer˜of˜c“haracters˜in˜årl‘Ä>‰x³HųŽ–Ńtexecuting‘Ä>‰x³HųŽ“k²!eyseqį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_readline_stateŽ”‘.łœįA‘#Øv›’dDariable‘#Ēwith–#Čbit“v˜alues›#Ēthat“encapsulate“the“curren²!t˜Readline“state.‘VA‘#Øbit˜is“setŽ”‘.łœwith–½the›¾āRL_SETSTATE“įmacro,‘Ē“and“unset˜with“the“āRL_UNSETSTATE˜įmacro.‘“ćUse“theŽ”‘.łœāRL_ISSTATE–zįmacro“to›ztest“whether“a“particular“state˜bit“is“set.‘X¬Curren²!t“state“bitsŽ”‘.łœinclude:ŽŸ©‘.łœāRL_STATE_NONEŽ”‘hŹįReadline–¦fhas“not“y²!et“bšMŽeen“called,“nor“has“it“b˜egun“to“initialize.ŽŸŹ‘.łœāRL_STATE_INITIALIZINGŽ”‘hŹįReadline–¦fis“initializing“its“in²!ternal“data“structures.ŽŸÉ‘.łœāRL_STATE_INITIALIZEDŽ”‘hŹįReadline–¦fhas“completed“its“initialization.ŽŽŒ‹ ·IŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—32ŽŽŽ ƒ33 ż ĢĶ‘.łœāRL_STATE_TERMPREPPEDŽ¤
33‘hŹįReadline–r[has“mošMŽdied“the“terminal“mo˜des“to“do“its“o²!wn“input“and“redis-Ž”‘hŹpla²!y‘’e.Ž©ij‘.łœāRL_STATE_READCMDŽ”‘hŹįReadline–¦fis“reading“a“command“from“the“k²!eybMŽoard.ŽŸii‘.łœāRL_STATE_METANEXTŽ”‘hŹįReadline–¦fis“reading“more“input“after“reading“the“meta-prex“c²!haracter.Ž¦‘.łœāRL_STATE_DISPATCHINGŽ”‘hŹįReadline–¦fis“dispatc²!hing“to“a“command.Ž¦‘.łœāRL_STATE_MOREINPUTŽ”‘hŹįReadline–¦fis“reading“more“input“while“executing“an“editing“command.ŽŸii‘.łœāRL_STATE_ISEARCHŽ”‘hŹįReadline–¦fis“pMŽerforming“an“incremenš²!tal“history“searc˜h.Ž¦‘.łœāRL_STATE_NSEARCHŽ”‘hŹįReadline–¦fis“pMŽerforming“a“non-incremenš²!tal“history“searc˜h.Ž¦‘.łœāRL_STATE_SEARCHŽ”‘hŹįReadline–péis‘pźsearcš²!hing“bac˜kw˜ard“or‘pźforw˜ard“through›pźthe“history“for˜a“string.ŽŸii‘.łœāRL_STATE_NUMERICARGŽ”‘hŹįReadline–¦fis“reading“a“nš²!umeric“argumen˜t.Ž¦‘.łœāRL_STATE_MACROINPUTŽ”‘hŹįReadline–ēis›ēcurren²!tly“getting˜its“input˜from“a˜previously-dened“k²!eybMŽoardŽ”‘hŹmacro.ŽŸii‘.łœāRL_STATE_MACRODEFŽ”‘hŹįReadline–¦fis“currenš²!tly“reading“c˜haracters“dening“a“k˜eybMŽoard“macro.Ž¦‘.łœāRL_STATE_OVERWRITEŽ”‘hŹįReadline–¦fis“in“o•²!v“erwrite‘¦fmoMŽde.Ž¦‘.łœāRL_STATE_COMPLETINGŽ”‘hŹįReadline–¦fis“pMŽerforming“w²!ord“completion.ŽŸii‘.łœāRL_STATE_SIGHANDLERŽ”‘hŹįReadline–¦fis“curren²!tly“executing“the“readline“signal“handler.Ž¦‘.łœāRL_STATE_UNDOINGŽ”‘hŹįReadline–¦fis“pMŽerforming“an“undo.Ž¦‘.łœāRL_STATE_INPUTPENDINGŽ”‘hŹįReadline–¦fhas“input“pMŽending“due“to“a“call“to“ārl_execute_next()į.ŽŸii‘.łœāRL_STATE_TTYCSAVEDŽ”‘hŹįReadline–¦fhas“sa•²!v“ed–¦fthe“v‘’dDalues“of“the“terminal's“spMŽecial“c²!haracters.Ž¦‘.łœāRL_STATE_CALLBACKŽ”‘hŹįReadline–+Žis›+curren²!tly“using˜the“alternate˜(callbacš²!k)“in˜terface‘+(see“Sec-Ž”‘hŹtion–¦f2.4.12“[Alternate“In²!terface],“page“44).ŽŽŒ‹!ƈŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—33ŽŽŽ ƒ33 ż ĢĶ‘.łœāRL_STATE_VIMOTIONŽ¤
33‘hŹįReadline–¦fis“reading“the“argumen²!t“to“a“vi-moMŽde“ā"įmotionā"“įcommand.Ž©Ąc‘.łœāRL_STATE_MULTIKEYŽ”‘hŹįReadline–¦fis“reading“a“m•²!ultiple-k“eystrok“e‘¦fcommand.ŽŸĄd‘.łœāRL_STATE_VICMDONCEŽ”‘hŹįReadline–²įhas›²āen²!tered“vi˜command“(mo•²!v“emen“t)–²įmoMŽde˜at“least˜one“timeŽ”‘hŹduring–¦fthe“curren²!t“call“to“āreadline()į.Ž¦‘.łœāRL_STATE_DONEŽ”‘hŹįReadline–T†has“read“a“k²!ey“sequence‘T…bšMŽound“to“āaccept-line“įand“is“ab˜out“toŽ”‘hŹreturn–¦fthe“line“to“the“caller.Ž©M”’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_explicit_argŽ”‘.łœįSet–©]to“a“non-zero‘©\v‘’dDalue“if“an“explicit“nš²!umeric“argumen˜t“w˜as‘©\spMŽecied“b˜y“the“user.Ž”‘.łœOnly–¦fv‘’dDalid“in“a“bindable“command“function.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_numeric_argŽ”‘.łœįSet–r,to“the“v‘’dDalue“of“anš²!y“n˜umeric‘r-argumen˜t“explicitly“spMŽecied“b˜y“the“user“bMŽeforeŽ”‘.łœexecuting–“the“curren²!t“Readline“function.‘°MOnly“v‘’dDalid“in“a“bindable“command“function.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_editing_modeŽ”‘.łœįSet–pto›oa“v‘’dDalue“denoting˜Readline's“curren²!t˜editing“moMŽde.‘§‹A‘Fv‘’dDalue“of“å1‘āØįmeans“ReadlineŽ”‘.łœis–¦fcurren²!tly“in“emacs“mošMŽde;“å0‘…Ÿįmeans“that“vi“mo˜de“is“activ²!e.ŽŸ Óɍ‘Gė]2.4‘™Readline›f@Con•ŒĢv“enience˜F‘ž¦functionsŽŽŸ‘Gėg2.4.1‘d(Naming–ķMa“F‘žÄ£unctionŽŽŸ³3‘GįThe–üåuser“can“dynamically‘üęcš²!hange“the“bindings“of“k˜eys“while‘üęusing“Readline.‘„]This“is“done“b˜yŽ”‘Grepresen²!ting–”"the›”#function“with˜a“descriptiv²!e“name.‘ÜThe˜user“is“able˜to“t²!ypMŽe˜the“descriptiv²!eŽ”‘Gname–¦fwhen“referring“to“the“function.‘ŻŻThš²!us,“in“an“init“le,“one“migh˜t“ndŽŸĄd‘.łœāMeta-Rubout:‘Tbackward-kill-wordŽŸĄc‘!GįThis–
   83: Mtbinds“the“k•²!eystrok“e–
   84: MtāMeta-Rubout‘
   85: Muįto“the“function“ädescriptively‘EuįnamedŽ”‘Gābackward-kill-wordį.‘4·Y‘’eou,‘
   86: •as–ĆYthe“programmer,‘
   87: –should“bind“the“functions‘ĆZy²!ou“write“toŽ”‘Gdescriptivš²!e–¦fnames“as“w˜ell.‘ŻŻReadline“pro˜vides“a“function“for“doing“that:Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_add_defun‘yšó;m#½R
   88: ó3
   89: cmss10ę(óAp®0J
   90: cmsl10ėAconst–łocŖŖhar“*name,‘śærl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘ło*function,Ž”‘DGin•ŖŖt‘k“eyę)Ž”‘.łœįAdd–<żåname‘Śįto“the›<žlist“of“named˜functions.‘”£Mak²!e“åfunction˜įbMŽe“the“function˜that“getsŽ”‘.łœcalled.‘ŻŻIf–¦fåk²!ey‘–~įis“not“-1,“then“bind“it“to“åfunction“įusing“ārl_bind_key()į.Ž¦‘!GUsing–žthis›žfunction“alone˜is“sucien²!t˜for“most“applications.‘ŪIt˜is“the˜recommended“w•²!a“yŽ”‘Gto–<Óadd›<Ņa“few˜functions“to“the˜default“functions˜that“Readline˜has“built“in.‘ŗ¬If˜y²!ou“need˜to“doŽ”‘Gsomething–{other“than“adding‘za“function“to“Readline,‘$Ąyš²!ou“ma˜y“need‘zto“use“the“underlyingŽ”‘Gfunctions–¦fdescribšMŽed“b˜elo²!w.ŽŽŒ‹"Ė„Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—34ŽŽŽ ƒ33 ż ĢĶ‘Gėg2.4.2‘d(Selecting–ķMa“KeymapŽŽŸ³3‘GįKey–¦abindings“takš²!e“place‘¦`on“a“åk˜eymapį.‘ŻĪThe“k˜eymap“is“the‘¦`assošMŽciation“b˜et•²!w“een–¦athe“k²!eysŽ¤
33‘Gthat–k8the“user›k9t²!ypMŽes“and“the“functions“that˜get“run.‘Ź#Y‘’eou“can“makš²!e“y˜our‘k9o˜wn“k˜eymaps,‘wcop˜yŽ”‘Gexisting–¦fkš²!eymaps,“and“tell“Readline“whic˜h“k˜eymap“to“use.Ž©¹š’“z[F‘’eunction]ŽŽ‘Gė@Keymap‘LÉrl_make_bare_keymap‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturns–ęEa‘ęDnew,‘²emptš²!y“k˜eymap.‘ŅThe›ęDspace“for“the˜k²!eymap“is“alloMŽcated˜with“āmalloc()į;Ž”‘.łœthe–¦fcaller“should“free“it“b²!y“calling“ārl_free_keymap()“įwhen“done.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@Keymap‘LÉrl_copy_keymap‘yšę(ėAKeymap‘mapę)Ž”‘.łœįReturn–¦fa“new“kš²!eymap“whic˜h“is“a“cop˜y“of“åmapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@Keymap‘LÉrl_make_keymap‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturn–Ŭa›Å«new“k²!eymap˜with“the˜prinš²!ting“c˜haracters‘Å«bMŽound“to“rl‘Ä>‰x³HųŽ‘Ńtinsert,‘Ķ|the“lo˜w˜ercaseŽ”‘.łœMeta–µŻcš²!haracters“bMŽound“to“run“their“equiv‘’dDalen˜ts,‘åłand“the“Meta“digits“bšMŽound“to“pro˜duceŽ”‘.łœn•²!umeric‘¦fargumen“ts.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_discard_keymap‘yšę(ėAKeymap‘kŖŖeymapę)Ž”‘.łœįF‘’eree–…óthe›…ņstorage“assoMŽciated“with˜the“data“in˜åk²!eymapį.‘ÓThe“caller“should˜free“åk²!eymapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_free_keymap‘yšę(ėAKeymap‘kŖŖeymapę)Ž”‘.łœįF‘’eree–³öall“storage›³õassoMŽciated“with“åk²!eymapį.‘ŒThis“calls“ārl_discard_keymap˜įto“free“sub-Ž”‘.łœordindate–¦fk²!eymaps“and“macros.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_empty_keymap‘yšę(ėAKeymap‘kŖŖeymapę)Ž”‘.łœįReturn–ÆÉnon-zero“if“there“are“no“kš²!eys“bMŽound“to“functions“in“åk˜eymapUį;‘“zzero“if“there“areŽ”‘.łœan•²!y›¦fk“eys˜bMŽound.Ž¦‘!GReadline–qhas“sev•²!eral‘qin“ternal›qk“eymaps.‘
   91: >These˜functions˜allo“w˜y“ou‘qto˜c“hange˜whic“hŽ”‘Gkš²!eymap–¦fis“activ˜e.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@Keymap‘LÉrl_get_keymap‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturns–¦fthe“currenš²!tly“activ˜e“k˜eymap.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_set_keymap‘yšę(ėAKeymap‘kŖŖeymapę)Ž”‘.łœįMak•²!es›¦fåk“eymap‘ūgįthe˜curren“tly˜activ“e˜k“eymap.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@Keymap‘LÉrl_get_keymap_by_name‘yšę(ėAconst–cŖŖhar“*nameę)Ž”‘.łœįReturn–ż>the“k•²!eymap›ż=matc“hing–ż>ånameį.‘ādåname‘šEįis“one“whic•²!h˜w“ould–ż>bMŽe“supplied“in˜a“āsetŽ”‘.łœkeymap–¦fįinputrc“line“(see“Section“1.3“[Readline“Init“File],“page“4).Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_get_keymap_name‘yšę(ėAKeymap‘kŖŖeymapę)Ž”‘.łœįReturn–ż>the“name‘ż=matcš²!hing“åk˜eymapį.‘ādåname‘šEįis“one“whic˜h‘ż=w˜ould“bMŽe“supplied“in‘ż=a“āsetŽ”‘.łœkeymap–¦fįinputrc“line“(see“Section“1.3“[Readline“Init“File],“page“4).Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_keymap_name‘yšę(ėAconst–cšŖŖhar“*name,“Keymap“k˜eymapę)Ž”‘.łœįSet–the“name›
of“åk²!eymapį.‘’ŌThis“name“will“then˜bMŽe“ā"įregisteredā"“įand“a²!v‘’dDailable˜for“useŽ”‘.łœin–0”a“āset‘¦fkeymap›0•įinputrc“directiv²!e“see“Section˜1.3“[Readline“Init“File],‘S page“4).‘|hTheŽ”‘.łœåname‘Gzįma²!y–Ŗrnot›ŖsbMŽe“one˜of“Readline's˜builtin“k•²!eymap˜names;‘žny“ou˜ma“y–Ŗrnot˜add“a˜dieren²!tŽ”‘.łœname–S'for“one“of“Readline's“builtin“kš²!eymaps.‘ä!Y‘’eou“ma˜y“replace“the“name“assoMŽciatedŽŽŒ‹#×FŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—35ŽŽŽ ƒ33 ż ĢĶ‘.łœwith–¼xa‘¼ygivš²!en“k˜eymap“b˜y›¼ycalling“this˜function“more“than˜once“with“the˜same“åk²!eymapŽ¤
33‘.łœįargumen•²!t.‘żY‘’eou›$ma“y˜assoMŽciate–%a˜registered˜åname‘£+įwith“a˜new˜k•²!eymap˜b“y‘%calling˜thisŽ”‘.łœfunction–Ģmore›Ģthan“once“with˜the“same“åname‘iįargumen²!t.‘NģThere˜is“no“w•²!a“y˜to‘Ģremo“v“eŽ”‘.łœa–:¤named›:£k²!eymap“once˜the“name˜has“bMŽeen˜registered.‘š–Readline˜will“mak²!e˜a“cop²!y˜ofŽ”‘.łœånameį.‘åĶThe–©return“v‘’dDalue›©is“greater“than“zero˜unless“åname‘Fįis“one˜of“Readline's“builtinŽ”‘.łœkš²!eymap–¦fnames“or“åk˜eymap‘ūgįis“one“of“Readline's“builtin“k˜eymaps.ŽŸ@Į‘Gėg2.4.3‘d(Binding‘ķMKeysŽŽŸ³3‘GįKey–Ūsequences›Śare“assoMŽciate˜with“functions˜through“the˜k²!eymap.‘2;Readline˜has“sev²!eral˜in-Ž”‘Gternal‘€²k²!eymaps:‘Ėāemacs_standard_keymapį,–ˆ<āemacs_meta_keymapį,“āemacs_ctlx_keymapį,“āvi_Ž”‘Gmovement_keymapį,‘qxand–§āvi_insertion_keymapį.‘	+£āemacs_standard_keymap“įis–Øthe“default,Ž”‘Gand–¦fthe“examples“in“this“man²!ual“assume“that.ŽŸsō‘!GSince–Qāreadline()“įinstalls›Qa“set“of“default˜k²!ey“bindings“the“rst˜time“it“is“called,‘b"there“isŽ”‘Galw•²!a“ys–ėķthe›ėīdanger“that“a“custom˜binding“installed“bMŽefore˜the“rst“call“to˜āreadline()“įwillŽ”‘GbMŽe›o•²!v“erridden.‘®An‘alternate˜mec“hanism˜is–to˜install“custom˜k²!ey“bindings˜in“an˜initializationŽ”‘Gfunction–uŠassigned“to“the“ārl_startup_hook“įv‘’dDariable“(see“Section“2.3“[Readline“V‘’eariables],Ž”‘Gpage‘¦f28).ŽŸsõ‘!GThese–¦ffunctions“manage“k²!ey“bindings.Ž©“µ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_key‘yšę(ėAin•ŖŖt›k“ey‘ž’’,˜rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t˜*functionę)Ž”‘.łœįBinds–ö½åkš²!ey‘ęÖįto“åfunction“įin‘ö¾the“curren˜tly“activ˜e‘ö¾k˜eymap.‘ĪćReturns“non-zero“in‘ö¾the“caseŽ”‘.łœof–¦fan“inš²!v‘’dDalid“åk˜eyį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_key_in_map‘yšę(ėAin•ŖŖt›k“ey‘ž’’,˜rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t˜*function,Ž”‘DGKeymap‘mapę)Ž”‘.łœįBind–¦fåkš²!ey‘–~įto“åfunction“įin“åmapį.‘ŻŻReturns“non-zero“in“the“case“of“an“in˜v‘’dDalid“åk˜eyį.ŽŸ“¶’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_key_if_unbound‘yšę(ėAin•ŖŖt›k“ey‘ž’’,˜rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“tŽ”‘DG*functionę)Ž”‘.łœįBinds–Iåk²!ey‘9-įto“åfunction“įif›Iit“is˜not“already“bMŽound˜in“the“curren•²!tly˜activ“e‘Ik“eymap.Ž”‘.łœReturns–¦fnon-zero“in“the“case“of“an“inš²!v‘’dDalid“åk˜ey‘–~įor“if“åk˜ey‘–~įis“already“bMŽound.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_key_if_unbound_in_map‘yšę(ėAin•ŖŖt›k“ey‘ž’’,˜rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“tŽ”‘DG*function,–Keymap“mapę)Ž”‘.łœįBinds–GÓåk²!ey‘7ėįto“åfunction“įif“it“is“not“already“bMŽound“in“åmapį.‘¾WReturns“non-zero“in“the“caseŽ”‘.łœof–¦fan“inš²!v‘’dDalid“åk˜ey‘–~įor“if“åk˜ey‘–~įis“already“bMŽound.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_unbind_key‘yšę(ėAin•ŖŖt‘k“eyę)Ž”‘.łœįBind–[råkš²!ey‘K‹įto“the‘[sn˜ull“function›[sin“the˜currenš²!tly“activ˜e–[sk˜eymap.‘żReturns“non-zero‘[rinŽ”‘.łœcase–¦fof“error.ŽŸ“¶’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_unbind_key_in_map‘yšę(ėAin•ŖŖt›k“ey‘ž’’,˜Keymap˜mapę)Ž”‘.łœįBind–¦fåkš²!ey‘–~įto“the“n˜ull“function“in“åmapį.‘ŻŻReturns“non-zero“in“case“of“error.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_unbind_function_in_map‘yšę(ėArl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘*function,Ž”‘DGKeymap‘mapę)Ž”‘.łœįUnš²!bind–¦fall“k˜eys“that“execute“åfunction“įin“åmapį.ŽŽŒ‹$äŅŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—36ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_unbind_command_in_map‘yšę(ėAconst–cŖŖhar“*command,“KeymapŽ¤
33‘DGmapę)Ž”‘.łœįUnš²!bind–¦fall“k˜eys“that“are“bMŽound“to“åcommand‘øįin“åmapį.Ž©ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_keyseq‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,“rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“tŽ”‘DG*functionę)Ž”‘.łœįBind–,Žthe“kš²!ey“sequence‘,represen˜ted“b˜y“the“string“åk˜eyseq‘mtįto‘,the“function“åfunctionį,Ž”‘.łœbMŽeginning–c®in›c­the“curren•²!t˜k“eymap.‘Ē This˜mak“es–c®new“k²!eymaps˜as“necessary‘’e.‘ĒŸThe“returnŽ”‘.łœv‘’dDalue–¦fis“non-zero“if“åkš²!eyseq‘ēLįis“in˜v‘’dDalid.ŽŸĢĪ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_keyseq_in_map‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,Ž”‘DGrl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t–*function,“Keymap“mapę)Ž”‘.łœįBind–Éthe‘Čkš²!ey“sequence“represen˜ted“b˜y‘Čthe“string“åk˜eyseq‘BÆįto‘Čthe“function“åfunctionį.‘¦žThisŽ”‘.łœmakš²!es–€&new“k˜eymaps“as“necessary‘’e.›ŃInitial‘€%bindings“are“pMŽerformed“in“åmapį.˜The“returnŽ”‘.łœv‘’dDalue–¦fis“non-zero“if“åkš²!eyseq‘ēLįis“in˜v‘’dDalid.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_key‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,“rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘*function,Ž”‘DGKeymap‘mapę)Ž”‘.łœįEquiv‘’dDalen²!t–¦fto“ārl_bind_keyseq_in_mapį.ŽŸĢĪ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_keyseq_if_unbound‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,Ž”‘DGrl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘*functionę)Ž”‘.łœįBinds–Cóåk²!eyseq‘„Ųįto“åfunction“įif›Cņit“is“not˜already“bMŽound˜in“the“curren•²!tly˜activ“e‘Cók“eymap.Ž”‘.łœReturns–¦fnon-zero“in“the“case“of“an“inš²!v‘’dDalid“åk˜eyseq‘ēLįor“if“åk˜eyseq‘ēLįis“already“bMŽound.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_bind_keyseq_if_unbound_in_map‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,Ž”‘DGrl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t–*function,“Keymap“mapę)Ž”‘.łœįBinds–×åk²!eyseq‘ųįto“åfunction›×įif“it“is˜not“already˜bMŽound“in˜åmapį.‘oćReturns“non-zero˜in“theŽ”‘.łœcase–¦fof“an“inš²!v‘’dDalid“åk˜eyseq‘ēLįor“if“åk˜eyseq‘ēLįis“already“bMŽound.ŽŸĢĪ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_generic_bind‘yšę(ėAin•ŖŖt›t“ypUVe,˜const˜c“har˜*k“eyseq,˜c“har˜*data,Ž”‘DGKeymap‘mapę)Ž”‘.łœįBind–>ļthe›>šk²!ey“sequence˜represenš²!ted“b˜y›>šthe“string˜åk²!eyseq‘Õįto˜the“arbitrary˜pMŽoin²!ter“ådataį.Ž”‘.łœåt•²!ypšMŽe‘•įsa“ys–jŽwhat‘jkind“of“data“is“p˜oinš²!ted‘jto“b˜y“ådataį;‘~this“can“bMŽe“a‘jfunction“(āISFUNCį),‘v†aŽ”‘.łœmacro–Š™(āISMACRį),‘(or“a›Š˜k²!eymap“(āISKMAPį).‘Ō™This˜makš²!es“new“k˜eymaps“as‘Š˜necessary‘’e.‘Ō™TheŽ”‘.łœinitial–¦fkš²!eymap“in“whic˜h“to“do“bindings“is“åmapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_parse_and_bind‘yšę(ėAcŖŖhar‘*lineę)Ž”‘.łœįP²!arse–‡yåline‘$€įas›‡xif“it“had“bMŽeen“read“from˜the“āinputrc“įle“and“pMŽerform˜anš²!y“k˜ey“bindingsŽ”‘.łœand–¦fv‘’dDariable“assignmen²!ts“found“(see“Section“1.3“[Readline“Init“File],“page“4).ŽŸĢĪ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_read_init_file‘yšę(ėAconst–cŖŖhar“*lenameę)Ž”‘.łœįRead–Č8kš²!eybindings“and‘Č9v‘’dDariable“assignmen˜ts“from“ålename‘e?į(see‘Č9Section“1.3“[ReadlineŽ”‘.łœInit–¦fFile],“page“4).ŽŸLĶ‘Gėg2.4.4‘d(Assoiciating–ķMF‘žÄ£unction“Names“and“BindingsŽŽŸ³3‘GįThese–ž›functions‘žšalloš²!w“y˜ou›žšto“nd˜out“what“k•²!eys˜in“v“ok“e–ž›named˜functions“and˜the“functionsŽ”‘Gin•²!v“ok“ed›MLb“y‘MMa˜particular˜k“ey˜sequence.‘Ą*Y‘’eou‘MMma“y˜also˜assoMŽciate–MMa˜new˜function˜name“with˜anŽ”‘Garbitrary‘¦ffunction.ŽŽŒ‹%ó{Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—37ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@rl_command_func_t–LÉ*“rl_named_function‘yšę(ėAconst–cŖŖhar“*nameę)Ž¤
33‘.łœįReturn–¦fthe“function“with“name“ånameį.Ž©ęg’“z[F‘’eunction]ŽŽ‘Gė@rl_command_func_t–LÉ*“rl_function_of_keyseq‘yšę(ėAconst‘cŖŖharŽ”‘DG*kšŖŖeyseq,–Keymap“map,“in˜t“*t˜ypUVeę)Ž”‘.łœįReturn–č³the›č²function“in•²!v“ok“ed‘č³b“y˜åk“eyseq‘)™įin‘č³k“eymap˜åmapį.‘¤ÄIf˜åmap‘=“įis–č³āNULLį,‘łEthe“curren²!tŽ”‘.łœkš²!eymap–q¤is‘q„used.‘?˜If“åt˜ypMŽe‘«įis“not–q„āNULLį,‘¤sthe“t˜ypMŽe–q¤of“the“ob‘›»ject›q„is“returned“in˜the“āintŽ”‘.łœįv‘’dDariable–ŒLit“pMŽoinš²!ts“to“(one“of“āISFUNCį,‘‘…āISKMAPį,‘‘„or“āISMACRį).‘Õ*It“tak˜es“a“ā"įtranslatedā"“įk˜eyŽ”‘.łœsequence–¦fand“should“not“bMŽe“used“if“the“k²!ey“sequence“can“include“NUL.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@rl_command_func_t–LÉ*“rl_function_of_keyseq_len‘yšę(ėAconst‘cŖŖharŽ”‘DG*kšŖŖeyseq,–size‘׉„F™œŽ‘G¼t“len,“Keymap“map,“in˜t“*t˜ypUVeę)Ž”‘.łœįReturn–†„the›†¦function“in•²!v“ok“ed˜b“y›†„åk“eyseq‘ĒŒįof˜length˜ålen‘†¦įin˜k“eymap›†¦åmapį.‘}ņEquiv‘’dDalen“t˜to‘†„ārl_Ž”‘.łœfunction_of_keyseq–Jōįwith›Jóthe“addition“of“the˜ålen“įparameter.‘æbIt“tak²!es˜a“ā"įtranslatedā"Ž”‘.łœįkš²!ey–¦fsequence“and“should“bMŽe“used“if“the“k˜ey“sequence“can“include“NUL.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ**“rl_invoking_keyseqs‘yšę(ėArl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘*functionę)Ž”‘.łœįReturn–æėan›æźarra²!y“of˜strings“represen²!ting“the˜k²!ey“sequences“used˜to“in•²!v“ok“e˜åfunction‘æėįinŽ”‘.łœthe–¦fcurrenš²!t“k˜eymap.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ**“rl_invoking_keyseqs_in_map‘yšę(ėArl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“tŽ”‘DG*function,–Keymap“mapę)Ž”‘.łœįReturn–æėan›æźarra²!y“of˜strings“represen²!ting“the˜k²!ey“sequences“used˜to“in•²!v“ok“e˜åfunction‘æėįinŽ”‘.łœthe–¦fk²!eymap“åmapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_function_dumper‘yšę(ėAinŖŖt‘readableę)Ž”‘.łœįPrinš²!t–‚Ņthe“readline“function“names“and“the‘‚Ńk˜ey“sequences“curren˜tly“bMŽound“to“them“toŽ”‘.łœārl_outstreamį.‘æÕIf–LLåreadable‘éTįis›LMnon-zero,‘^Rthe“list˜is˜formatted˜in“suc•²!h˜a˜w“a“y˜that‘LLit˜canŽ”‘.łœbMŽe–¦fmade“part“of“an“āinputrc“įle“and“re-read.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_list_funmap_names‘yšę(ėAvŖŖoidę)Ž”‘.łœįPrin²!t–¦fthe“names“of“all“bindable“Readline“functions“to“ārl_outstreamį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@const–LÉchar“**“rl_funmap_names‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturn–Sa›RNULL‘1terminated“arra²!y˜of“kno²!wn“function˜names.‘°×The“arra²!y“is˜sorted.‘°×TheŽ”‘.łœarra²!y–\hitself›\iis“alloMŽcated,‘k5but“not˜the“strings“inside.‘Å3Y‘’eou˜should“free˜the“arra²!y‘’e,‘k5but“notŽ”‘.łœthe–¦fpMŽoinš²!ters,“using“āfree“įor“ārl_free“įwhen“y˜ou“are“done.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_add_funmap_entry‘yšę(ėAconst–cŖŖhar“*name,“rl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“tŽ”‘DG*functionę)Ž”‘.łœįAdd–š³åname‘»įto“the“list›š“of“bindable˜Readline“command“names,‘Gand“mak²!e˜åfunction“įtheŽ”‘.łœfunction–¦fto“bMŽe“called“when“åname‘Cmįis“in•²!v“ok“ed.ŽŸŁš‘Gėg2.4.5‘d(Allo–įwing‘ķMUndoingŽŽŸ³3‘GįSuppMŽorting–L“the›L³undo“command˜is“a“painless˜thing,‘vGand“mak•²!es˜y“our‘L“functions˜m“uc“h‘L“moreŽ”‘Guseful.‘ŻŻIt–¦fis“certainly“easy“to“try“something“if“yš²!ou“kno˜w“y˜ou“can“undo“it.ŽŸĶ‘!GIf–č*y²!our›č+function“simply“inserts˜text“once,‘8›or˜deletes“text“once,‘8›and˜uses“ārl_insert_Ž”‘Gtext()–Y)įor“ārl_delete_text()›Y*įto“do“it,‘hœthen“undoing“is“already“done˜for“y²!ou“automatically‘’e.ŽŽŒ‹&RŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—38ŽŽŽ ƒ33 ż ĢĶ‘!GIf–u†yš²!ou“do“m˜ultiple“insertions“or“m˜ultiple“deletions,‘²or“an˜y“com˜bination“of“these“opMŽerations,Ž¤
33‘Gy²!ou–‘should›group“them˜together“in²!to˜one“opMŽeration.‘œ\This“is˜done“with˜ārl_begin_undo_Ž”‘Ggroup()–¦fįand“ārl_end_undo_group()į.ŽŸ¹9‘!GThe–¦ftš²!ypMŽes“of“ev˜en˜ts“that“can“bMŽe“undone“are:ŽŸ
‘.łœóߤN		cmtt9Éenum–¹–undo_code“{“UNDO_DELETE,“UNDO_INSERT,“UNDO_BEGIN,“UNDO_END“};ŽŸ¹:‘!GįNotice–£Æthat›£®āUNDO_DELETE“įmeans“to“insert˜some“text,‘¤:and“āUNDO_INSERT“įmeans˜to“deleteŽ”‘Gsome–O²text.‘ĄöThat“is,›a
   92: the“undo“coMŽde“tells“what‘O±to“undo,˜not“ho²!w“to“undo“it.‘ĄöāUNDO_BEGIN“įandŽ”‘GāUNDO_END–¦fįare“tags“added“b²!y“ārl_begin_undo_group()“įand“ārl_end_undo_group()į.ŽŸÅE’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_begin_undo_group‘yšę(ėAvŖŖoidę)Ž”‘.łœįBegins–·‡sa²!ving›·ˆundo“information“in˜a“group“construct.‘AThe“undo˜information“usuallyŽ”‘.łœcomes–žIfrom›žHcalls“to“ārl_insert_text()˜įand“ārl_delete_text()į,‘TAbut“could˜bMŽe“theŽ”‘.łœresult–¦fof“calls“to“ārl_add_undo()į.Ž©ÅF’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_end_undo_group‘yšę(ėAvŖŖoidę)Ž”‘.łœįCloses–{the›{curren²!t“undo˜group“started“with˜ārl_begin_undo_group‘¦f()į.‘ĻmThere“shouldŽ”‘.łœbMŽe–¦fone“call“to“ārl_end_undo_group()“įfor“eac²!h“call“to“ārl_begin_undo_group()į.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_add_undo‘yšę(ėAenšŖŖum–undo‘׉„F™œŽ‘G¼coUVde“what,“in˜t“start,“in˜t“end,“c˜harŽ”‘DG*textę)Ž”‘.łœįRemem•²!bMŽer›ķho“w˜to˜undo‘ģan˜ev“en“t˜(according˜to˜åwhat=į).‘/rThe‘ģaected˜text˜runs˜fromŽ”‘.łœåstart‘ćfįto–¦fåendį,“and“encompasses“åtextį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_free_undo_list‘yšę(ėAvŖŖoidę)Ž”‘.łœįF‘’eree–¦fthe“existing“undo“list.ŽŸÅE’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_do_undo‘yšę(ėAvŖŖoidę)Ž”‘.łœįUndo–¾§the“rst“thing“on“the“undo“list.‘žReturns“ā0“įif“there“w²!as“nothing“to‘¾Øundo,‘ķnon-zeroŽ”‘.łœif–¦fsomething“w²!as“undone.Ž¦‘!GFinally‘’e,‘Į#if›»Éy²!ou–»Źneither“insert“nor˜delete“text,‘Į#but˜directly“moMŽdify“the“existing˜text“(e.g.,Ž”‘Gcš²!hange–§its“case),‘ēKcall“ārl_modifying()“įonce,‘ēLjust“bMŽefore“y˜ou‘§moMŽdify“the“text.‘ąY‘’eou“m˜ustŽ”‘Gsupply–¦fthe“indices“of“the“text“range“that“y²!ou“are“going“to“moMŽdify‘’e.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_modifying‘yšę(ėAinšŖŖt–start,“in˜t“endę)Ž”‘.łœįT‘’eell–Ō-Readline“to›Ō.sa•²!v“e–Ō-the“text“bMŽet•²!w“een˜åstart‘-įand–Ō-åend‘Bįas“a˜single“undo“unit.‘g3It“isŽ”‘.łœassumed–¦fthat“yš²!ou“will“subsequen˜tly“moMŽdify“that“text.ŽŸ‘Gėg2.4.6‘d(Redispla–įyŽŽŸæ@’“zį[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_redisplay‘yšę(ėAvŖŖoidę)Ž”‘.łœįChange–Šwhat's“displa•²!y“ed–Šon“the“screen“to‘Šre
ect“the“currenš²!t“con˜ten˜ts“of“ārl_line_Ž”‘.łœbufferį.ŽŸÅE’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_forced_update_display‘yšę(ėAvŖŖoidę)Ž”‘.łœįF‘’eorce–Äóthe“line“to“bšMŽe“up˜dated“and“redispla•²!y“ed,‘•whether–Äóor“not“Readline“thinks“theŽ”‘.łœscreen–¦fdispla²!y“is“correct.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_on_new_line‘yšę(ėAvŖŖoidę)Ž”‘.łœįT‘’eell–•Šthe›•ĻupMŽdate“functions˜that“wš²!e“ha˜v˜e‘•Ļmo˜v˜ed“on˜to“a‘•Ļnew“(empt˜y)‘•Ļline,‘™!usually“afterŽ”‘.łœoutputting–¦fa“newline.ŽŽŒ‹'#Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—39ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_on_new_line_with_prompt‘yšę(ėAvŖŖoidę)Ž¤
33‘.łœįT‘’eell–ć_the›ć`upMŽdate“functions“that˜wš²!e“ha˜v˜e“mo˜v˜ed‘ć`on˜to“a“new–ć`line,‘
   93: `with“årl‘Ä>‰x³HųŽ‘Ńtprompt‘ _įalreadyŽ”‘.łœdispla•²!y“ed.‘Ė®This–oŚcould“bMŽe›oŁused“b²!y“applications“that˜w•²!an“t–oŚto“output“the˜prompt“stringŽ”‘.łœthemselvš²!es,‘\Ēbut–J_still“need“Readline“to“kno˜w“the“prompt“string“length“for“redispla˜y‘’e.‘æ0ItŽ”‘.łœshould–¦fbMŽe“used“after“setting“årl‘Ä>‰x³HųŽ–Ńtalready‘Ä>‰x³HųŽ“promptedį.Ž©’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_clear_visible_line‘yšę(ėAvŖŖoidę)Ž”‘.łœįClear–¦fthe“screen“lines“correspMŽonding“to“the“currenš²!t“line's“con˜ten˜ts.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_reset_line_state‘yšę(ėAvŖŖoidę)Ž”‘.łœįReset–*‘the›*displa²!y“state“to“a˜clean“state“and“redispla²!y˜the“curren²!t“line“starting˜on“aŽ”‘.łœnew‘¦fline.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_crlf‘yšę(ėAvŖŖoidę)Ž”‘.łœįMo•²!v“e–¦fthe“cursor“to“the“start“of“the“next“screen“line.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_show_char‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįDispla•²!y›ē³c“haracter–ē“åc‘‘·įon“ārl_outstreamį.‘”ÅIf˜Readline“has˜not˜bMŽeen“set˜to“displa²!y˜metaŽ”‘.łœcš²!haracters–Ųdirectly‘’e,‘9(this‘Łwill“con˜v˜ert‘Łmeta“c˜haracters“to›Ła“meta-prexed˜k²!ey“sequence.Ž”‘.łœThis–¦fis“inš²!tended“for“use“b˜y“applications“whic˜h“wish“to“do“their“o˜wn“redispla˜y‘’e.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_message‘yšę(ėAconst–cŖŖhar“*,‘ŗ/.‘čŗ.‘č».Ž‘ę)Ž”‘.łœįThe–y¦argumenš²!ts“are‘y„a“format“string“as“w˜ould‘y„bšMŽe“supplied“to“āprintfį,‘µĢp˜ossibly“con²!tainingŽ”‘.łœcon•²!v“ersion›NĀspMŽecications‘NĆsuc“h˜as˜`ā%dį',‘øŁand˜an“y˜additional˜argumen“ts‘NĆnecessary˜toŽ”‘.łœsatisfy–ų•the“con•²!v“ersion–ų•spMŽecications.‘ŌiThe“resulting“string“is‘ų”displa•²!y“ed–ų•in“the“åec²!hoŽ”‘.łœareaį.‘qThe–‚Lecš²!ho“area“is“also“used“to“displa˜y“n˜umeric“argumen˜ts“and“searc˜h“strings.Ž”‘.łœY‘’eou–ßshould“call“ārl_save_prompt“įto“sa•²!v“e–ßthe“prompt“information“bMŽefore“calling“thisŽ”‘.łœfunction.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_clear_message‘yšę(ėAvŖŖoidę)Ž”‘.łœįClear–zthe“message›zin“the“ec²!ho“area.‘ĻIf“the“prompt˜wš²!as“sa˜v˜ed“with“a‘zcall“to“ārl_save_Ž”‘.łœprompt–»oįbMŽefore“the›»plast“call“to“ārl_messageį,‘±call˜ārl_restore_prompt“įbMŽefore“callingŽ”‘.łœthis‘¦ffunction.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_save_prompt‘yšę(ėAvŖŖoidę)Ž”‘.łœįSa•²!v“e–,the›, loMŽcal“Readline“prompt˜displa²!y“state“in˜preparation“for“displa²!ying˜a“newŽ”‘.łœmessage–¦fin“the“message“area“with“ārl_message()į.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_restore_prompt‘yšę(ėAvŖŖoidę)Ž”‘.łœįRestore–!Pthe“loMŽcal›!OReadline“prompt“displa²!y“state˜sa•²!v“ed›!Pb“y˜the˜most‘!Orecen“t˜call˜toŽ”‘.łœārl_save_promptį.‘Ēóif–ōmārl_save_prompt‘ōnįwš²!as“called“to“sa˜v˜e›ōnthe“prompt“bMŽefore˜a“callŽ”‘.łœto–k7ārl_messageį,‘œkthis‘k6function“should“bšMŽe“called“b˜efore“the‘k6corresp˜onding“call“to“ārl_Ž”‘.łœclear_messageį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_expand_prompt‘yšę(ėAcŖŖhar‘*promptę)Ž”‘.łœįExpand–#&anš²!y‘#%spMŽecial“c˜haracter›#%sequences“in˜åprompt‘`&įand˜set“up˜the“loMŽcal˜ReadlineŽ”‘.łœprompt›M%redispla²!y–M$v‘’dDariables.‘ŅThis“function˜is“called˜bš²!y“āreadline()į.‘ŅIt“ma˜y‘M%also“bMŽeŽ”‘.łœcalled–‰vto›‰uexpand“the“primary˜prompt“if“the˜ārl_on_new_line_with_prompt()“įfunctionŽ”‘.łœor–
źārl_already_prompted“įv‘’dDariable“is“used.‘«
   94: It“returns“the“n•²!um“bMŽer–
źof“visible“c²!haractersŽ”‘.łœon–/the“last“line“of“the“(pMŽossibly“mš²!ulti-line)‘.prompt.‘8Applications“ma˜y“indicate“thatŽŽŒ‹(…Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—40ŽŽŽ ƒ33 ż ĢĶ‘.łœthe–XFprompt“conš²!tains“c˜haracters‘XGthat“tak˜e“up“no“ph˜ysical“screen‘XGspace“when“displa˜y˜edŽ¤
33‘.łœb•²!y›ģxbrac“k“eting–ģwa˜sequence“of˜sucš²!h“c˜haracters›ģxwith“the˜spMŽecial“mark²!ers˜āRL_PROMPT_Ž”‘.łœSTART_IGNORE–ąįand“āRL_PROMPT_END_IGNORE“į(declared“in“āreadline.hį).‘ŒZThis“ma²!y“bMŽeŽ”‘.łœused–¦fto“em²!bšMŽed“terminal-sp˜ecic“escap˜e“sequences“in“prompts.Ž©Ŗ«’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_prompt‘yšę(ėAconst–cŖŖhar“*promptę)Ž”‘.łœįMakš²!e–;³Readline“use“åprompt‘x³įfor“subsequen˜t“redispla˜y‘’e.‘ŗLThis“calls“ārl_expand_prompt()Ž”‘.łœįto–¦fexpand“the“prompt“and“sets“ārl_prompt“įto“the“result.ŽŸ»¼‘Gėg2.4.7‘d(Moidifying‘ķMT‘žÄ£extŽŽŸnļ’“zį[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_insert_text‘yšę(ėAconst–cŖŖhar“*textę)Ž”‘.łœįInsert–ĖĀåtext‘Ćįin²!to“the›ĖĆline“at˜the“curren²!t˜cursor“pMŽosition.‘MņReturns˜the“n•²!um“bMŽer˜of‘ĖĀc“har-Ž”‘.łœacters‘¦finserted.ŽŸŖ¬’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_delete_text‘yšę(ėAinšŖŖt–start,“in˜t“endę)Ž”‘.łœįDelete–ˆthe“text›ˆ‚bMŽet•²!w“een–ˆåstart‘Łįand“åend‘öÓįin˜the“curren²!t“line.‘„.Returns˜the“n•²!um“bMŽer‘ˆofŽ”‘.łœc²!haracters‘¦fdeleted.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_copy_text‘yšę(ėAinšŖŖt–start,“in˜t“endę)Ž”‘.łœįReturn–¦fa“copš²!y“of“the“text“bMŽet˜w˜een“åstart‘ćfįand“åend‘øįin“the“curren˜t“line.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_kill_text‘yšę(ėAinšŖŖt–start,“in˜t“endę)Ž”‘.łœįCopš²!y–œthe‘text“bMŽet˜w˜een–åstart‘Wœįand“åend‘ˆīįin“the–œcurren˜t“line›to“the˜kill“ring,‘7ŖappMŽendingŽ”‘.łœor–ųprepMŽending“to›łthe“last“kill“if˜the“last“command“w²!as“a˜kill“command.‘)”The“text“isŽ”‘.łœdeleted.‘ČIf–_åstart‘E_įis“less“than–^åendį,‘ Žthe“text–_is“appšMŽended,‘ Żotherwise“prep˜ended.‘ČIf“theŽ”‘.łœlast–¦fcommand“w²!as“not“a“kill,“a“new“kill“ring“slot“is“used.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_push_macro_input‘yšę(ėAcŖŖhar‘*macroę)Ž”‘.łœįCause–d’åmacro‘ńbįto“bšMŽe“inserted“in²!to“the“line,‘q¼as“if“it“had“b˜een“in•²!v“ok“ed›d’b“y˜a˜k“ey˜bMŽound˜toŽ”‘.łœa–¦fmacro.‘ŻŻNot“espMŽecially“useful;“use“ārl_insert_text()“įinstead.ŽŸ»¼‘Gėg2.4.8‘d(Character‘ķMInputŽŽŸnš’“zį[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_read_key‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturn–Š7the›Š8next“c•²!haracter˜a“v‘’dDailable–Š7from˜Readline's“curren²!t˜input“stream.‘ŌyThis“han-Ž”‘.łœdles–.Sinput“inserted“in²!to“the“input“stream‘.Tvia“årl‘Ä>‰x³HųŽ–ŃtpMŽending‘Ä>‰x³HųŽ“input‘kSį(see–.SSection“2.3“[Read-Ž”‘.łœline–ø©V‘’eariables],›ż:page“28)‘øŖand“ārl_stuff_char()į,‘ż9macros,˜and“c²!haracters‘øŖread“fromŽ”‘.łœthe–×kš²!eybMŽoard.‘2.While“w˜aiting›Öfor“input,‘43this˜function“will˜call“an²!y˜function“assignedŽ”‘.łœto–¦fthe“ārl_event_hook“įv‘’dDariable.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_getc‘yšę(ėAFILE‘*streamę)Ž”‘.łœįReturn–Œthe‘Œ€next“cš²!haracter“a˜v‘’dDailable“from–Œ€åstreamį,‘Äąwhic˜h“is–Œassumed“to“bMŽe‘Œ€the“k˜eybMŽoard.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_stuff_char‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįInsert–ņåc‘œįin²!to“the“Readline“input“stream.‘ĄāIt“will“bšMŽe“ā"įreadā"“įb˜efore“Readline“attemptsŽ”‘.łœto–6×read›6Ųc²!haracters“from˜the“terminal˜with“ārl_read_key()į.‘ø®Up˜to“512˜cš²!haracters“ma˜yŽ”‘.łœbMŽe–¬+pushed“bacš²!k.‘ļ,ārl_stuff_char“įreturns“1“if“the“c˜haracter“w˜as“successfully“inserted;Ž”‘.łœ0‘¦fotherwise.ŽŽŒ‹)-§Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—41ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_execute_next‘yšę(ėAinŖŖt‘cę)Ž¤
33‘.łœįMak²!e–HĘåc‘ņĖįbMŽe“the›HĒnext“command“to˜bMŽe“executed˜when“ārl_read_key()“įis˜called.‘ÄžThisŽ”‘.łœsets‘¦fårl‘Ä>‰x³HųŽ–ŃtpMŽending‘Ä>‰x³HųŽ“inputį.Ž©x’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_clear_pending_input‘yšę(ėAvŖŖoidę)Ž”‘.łœįUnset›|årl‘Ä>‰x³HųŽ–ŃtpMŽending‘Ä>‰x³HųŽ“inputį,‘\eectiv•²!ely˜negating˜the˜eect‘{of˜an“y˜previous˜call˜to˜ārl_Ž”‘.łœexecute_next()į.‘zYThis–…:w²!orks“only“if“the“pšMŽending“input“has“not“already“b˜een“readŽ”‘.łœwith‘¦fārl_read_key()į.ŽŸx’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_keyboard_input_timeout‘yšę(ėAinŖŖt‘uę)Ž”‘.łœįWhile–юwš²!aiting“for‘эk˜eybMŽoard“input“in“ārl_read_key()į,‘WReadline“will“w˜ait‘эfor“åu“įmi-Ž”‘.łœcroseconds–µĄfor“input›µĮbMŽefore“calling“an²!y“function˜assigned“to“ārl_event_hookį.‘ģåu“įm²!ustŽ”‘.łœbšMŽe–Ӑgreater“than“or“equal“to“zero“(a“zero-length“timeout“is“equiv‘’dDalen²!t“to“a“p˜oll).‘e[TheŽ”‘.łœdefault–¦fwš²!aiting“p•MŽerio“d–¦fis“one-ten˜th“of“a“second.‘ŻŻReturns“the“old“timeout“v‘’dDalue.ŽŸ-荍‘Gėg2.4.9‘d(T‘žÄ£erminal‘ķMManagemen–įtŽŽŸį’“zį[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_prep_terminal‘yšę(ėAinŖŖt‘meta‘׉„F™œŽ‘G¼
agę)Ž”‘.łœįMoMŽdify–¦the“terminal“settings“for“Readline's“use,‘w¶so“āreadline()“įcan“read“a“singleŽ”‘.łœc²!haracter–¶,at›¶-a“time“from˜the“k•²!eybMŽoard.‘
0The˜åmeta‘Ä>‰x³HųŽ‘Ńt
ag‘¦Dįargumen“t–¶,should˜bMŽe“non-zeroŽ”‘.łœif–¦fReadline“should“read“eigh²!t-bit“input.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_deprep_terminal‘yšę(ėAvŖŖoidę)Ž”‘.łœįUndo–Ė­the›Ė¬eects“of˜ārl_prep_terminal()į,‘Ō’lea²!ving˜the“terminal“in˜the“state˜in“whic²!hŽ”‘.łœit–¦fwš²!as“bMŽefore“the“most“recen˜t“call“to“ārl_prep_terminal()į.ŽŸx’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_tty_set_default_bindings‘yšę(ėAKeymap‘kmapę)Ž”‘.łœįRead–oŻthe›oÜopMŽerating“system's“terminal“editing˜cš²!haracters“(as“w˜ould“bMŽe‘oÜdispla˜y˜ed“b˜yŽ”‘.łœāsttyį)–¦fto“their“Readline“equiv‘’dDalen²!ts.‘ŻŻThe“bindings“are“pMŽerformed“in“åkmapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_tty_unset_default_bindings‘yšę(ėAKeymap‘kmapę)Ž”‘.łœįReset–Ņ;the“bindings“manipulated“b²!y‘Ņ:ārl_tty_set_default_bindings“įso“that“the“ter-Ž”‘.łœminal–ĀÆediting›Ā°c²!haracters“are˜bMŽound“to“ārl_insertį.‘2¹The˜bindings“are˜pMŽerformed“inŽ”‘.łœåkmapį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_tty_set_echoing‘yšę(ėAinŖŖt‘v‘’UUalueę)Ž”‘.łœįSet–¶Readline's“idea“of›¶Žwhether“or“not“it“is“ec²!hoing“output˜to“its“output“streamŽ”‘.łœ(årl‘Ä>‰x³HųŽ‘Ńtoutstreamį).‘ź€If›’ńåv‘’dDalue‘œłįis–’ņ0,‘TReadline“doMŽes˜not“displa²!y˜output“to“årl‘Ä>‰x³HųŽ‘Ńtoutstreamį;‘,·an²!yŽ”‘.łœother–'v‘’dDalue›'enables“output.‘	_ŁThe“initial˜v‘’dDalue“is˜set“when˜Readline“initializes˜theŽ”‘.łœterminal–¦fsettings.‘ŻŻThis“function“returns“the“previous“v‘’dDalue.ŽŸx’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_reset_terminal‘yšę(ėAconst–cŖŖhar“*terminal‘׉„F™œŽ‘G¼nameę)Ž”‘.łœįReinitialize–Ū÷Readline's“idea“of“the“terminal‘Ūųsettings“using“återminal‘Ä>‰x³HųŽ‘Ńtname‘xžįas“the“termi-Ž”‘.łœnal–Ń¢t²!ypMŽe‘Ń”(e.g.,›Üqāvt100į).‘_If“återminal‘Ä>‰x³HųŽ‘Ńtname‘nØįis“āNULLį,˜the›Ń”v‘’dDalue“of“the˜āTERM“įen•²!vironmen“tŽ”‘.łœv‘’dDariable–¦fis“used.ŽŸ-荍‘Gėg2.4.10‘d(Utilit–įy‘ķMF‘žÄ£unctionsŽŽŸį’“zį[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_save_state‘yšę(ėAstruct–readline‘׉„F™œŽ‘G¼state“*spę)Ž”‘.łœįSa•²!v“e–ka›ksnapshot“of“Readline's“in²!ternal˜state“to“åspį.‘ŹThe“con•²!ten“ts–kof˜the“åreadline‘Ä>‰x³HųŽ‘ŃtstateŽ”‘.łœįstructure–ņare“došMŽcumen²!ted“in“āreadline.hį.‘ѶThe“caller“is“resp˜onsible“for“allo˜cating“theŽ”‘.łœstructure.ŽŽŒ‹*;¤Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—42ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_restore_state‘yšę(ėAstruct–readline‘׉„F™œŽ‘G¼state“*spę)Ž¤
33‘.łœįRestore–© Readline's›©in²!ternal“state˜to“that“stored˜in“åspį,‘ŪĒwhicš²!h“m˜ust“ha˜v˜e‘©bMŽeen“sa˜v˜ed‘©b˜y“aŽ”‘.łœcall–|¼to“ārl_save_stateį.‘ĻśThe‘|»con•²!ten“ts–|¼of“the“åreadline‘Ä>‰x³HųŽ‘Ńtstate‘Ćįstructure“are“doMŽcumen²!tedŽ”‘.łœin–¦fāreadline.hį.‘ŻŻThe“caller“is“respMŽonsible“for“freeing“the“structure.Ž©’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_free‘yšę(ėAvŖŖoid‘*memę)Ž”‘.łœįDeallošMŽcate–Œ“the‘Œ’memory“p˜oinš²!ted“to‘Œ’b˜y“åmemį.‘ģåmem“įm˜ust‘Œ’ha˜v˜e“bšMŽeen“allo˜cated‘Œ’b²!y“āmallocį.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_replace_line‘yšę(ėAconst–cšŖŖhar“*text,“in˜t“clear‘׉„F™œŽ‘G¼undoę)Ž”‘.łœįReplace›¼Jthe‘¼Kcon•²!ten“ts˜of˜ārl_line_buffer–¼Kįwith˜åtextį.‘ŠThe“pMŽoin²!t˜and˜mark“are˜pre-Ž”‘.łœserv²!ed,‘.eif–epMŽossible.‘«ŻIf“åclear‘Ä>‰x³HųŽ‘Ńtundo‘5įis›dnon-zero,‘.fthe“undo˜list“assoMŽciated“with“the“curren²!tŽ”‘.łœline–¦fis“cleared.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_extend_line_buffer‘yšę(ėAinŖŖt‘lenę)Ž”‘.łœįEnsure–ž4that“ārl_line_buffer“įhas‘ž5enough“space“to“hold“ålen“įc²!haracters,‘ŸŲpMŽossibly“real-Ž”‘.łœloMŽcating–¦fit“if“necessary‘’e.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_initialize‘yšę(ėAvŖŖoidę)Ž”‘.łœįInitialize–n8or›n7re-initialize“Readline's˜in²!ternal“state.‘5RIt's“not˜strictly“necessary˜to“callŽ”‘.łœthis;–¦fāreadline()“įcalls“it“bMŽefore“reading“an²!y“input.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_ding‘yšę(ėAvŖŖoidę)Ž”‘.łœįRing–¦fthe“terminal“bšMŽell,“ob˜eying“the“setting“of“ābell-styleį.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_alphabetic‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįReturn–¦f1“if“åc‘Pjįis“an“alphabMŽetic“c²!haracter.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_display_match_list‘yšę(ėAc•ŖŖhar›**matc“hes,˜in“t˜len,˜in“t˜maxę)Ž”‘.łœįA‘#;con•²!v“enience–#[function“for“displa²!ying“a“list“of“strings“in“columnar“format“on“Read-Ž”‘.łœline's›woutput–xstream.‘āmatches“įis˜the˜list˜of“strings,‘»in˜argv“format,‘»suc²!h˜as˜a“list˜ofŽ”‘.łœcompletion–é9matcš²!hes.‘žĪālen“įis“the“n˜um˜bMŽer“of“strings“in“āmatchesį,‘and“āmax“įis“the“length“ofŽ”‘.łœthe–$ˆlongest›$‡string“in“āmatchesį.‘²“This“function˜uses“the“setting˜of“āprint-completions-Ž”‘.łœhorizontally–Yšįto‘Yńselect“hoš²!w“the“matc˜hes‘Yńare“displa˜y˜ed“(see“Section‘Yń1.3.1“[ReadlineŽ”‘.łœInit–Ÿ“File“Synš²!tax],‘”page‘Ÿµ4).‘Ū¢When“displa˜ying“completions,‘”this“function‘Ÿµsets“the“n˜um-Ž”‘.łœbMŽer–ŌTof›ŌScolumns“used˜for“displa²!y“to˜the“v‘’dDalue˜of“ācompletion-display-widthį,‘žWthe“v‘’dDalueŽ”‘.łœof–¦fthe“en•²!vironmen“t–¦fv‘’dDariable“āCOLUMNSį,“or“the“screen“width,“in“that“order.Ž¦‘!GThe–Ūfolloš²!wing‘Ūare“implemen˜ted“as“macros,‘č<dened‘Ūin“āchardefs.hį.‘{ßApplications“shouldŽ”‘Grefrain–¦ffrom“using“them.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_uppercase_p‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįReturn–¦f1“if“åc‘Pjįis“an“uppšMŽercase“alphab˜etic“c²!haracter.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_lowercase_p‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįReturn–¦f1“if“åc‘Pjįis“a“lo•²!w“ercase–¦falphabMŽetic“c²!haracter.ŽŸ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_digit_p‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįReturn–¦f1“if“åc‘Pjįis“a“nš²!umeric“c˜haracter.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_to_upper‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįIf–Łyåc‘ƒ}įis›Łxa“lo•²!w“ercase–ŁyalphabMŽetic“c²!haracter,‘ureturn“the˜correspšMŽonding“upp˜ercase“c²!haracter.ŽŽŒ‹+KŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—43ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_to_lower‘yšę(ėAinŖŖt‘cę)Ž¤
33‘.łœįIf–xŠåc‘"Óįis“an‘xĻuppšMŽercase“alphab˜etic–xĻc²!haracter,‘īreturn“the‘xŠcorresp˜onding“lo•²!w“ercase‘xŠc“harac-Ž”‘.łœter.Ž©‘’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉ_rl_digit_value‘yšę(ėAinŖŖt‘cę)Ž”‘.łœįIf–¦fåc‘Pjįis“a“n•²!um“bMŽer,–¦freturn“the“v‘’dDalue“it“represen²!ts.ŽŸ®ļ‘Gėg2.4.11‘d(Miscellaneous‘ķMF‘žÄ£unctionsŽŽŸb"’“zį[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_macro_bind‘yšę(ėAconst–cšŖŖhar“*k˜eyseq,“const“c˜har“*macro,Ž”‘DGKeymap‘mapę)Ž”‘.łœįBind–ÉĪthe›ÉĶk²!ey“sequence˜åk•²!eyseq‘
   95: “įto˜in“v“ok“e–ÉĪthe˜macro“åmacroį.‘”UThe˜binding“is˜pMŽerformed“inŽ”‘.łœåmapį.‘ĄŒWhen–Nråkš²!eyseq‘Xįis“in˜v˜ok˜ed,‘`	the“åmacro‘ŪBįwill“bMŽe“inserted“in˜to“the“line.‘ĄŒThis“functionŽ”‘.łœis–¦fdeprecated;“use“ārl_generic_bind()“įinstead.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_macro_dumper‘yšę(ėAinŖŖt‘readableę)Ž”‘.łœįPrin•²!t›Bdthe‘Bck“ey˜sequences˜bMŽound–Bcto˜macros˜and“their˜v‘’dDalues,‘Vdusing˜the“curren•²!t˜k“eymap,Ž”‘.łœto–æćārl_outstreamį.‘*TIf“åreadable‘\źįis“non-zero,‘ĘBthe“list“is“formatted“in“sucš²!h“a“w˜a˜y“that“itŽ”‘.łœcan–¦fbMŽe“made“part“of“an“āinputrc“įle“and“re-read.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_variable_bind‘yšę(ėAconst–cšŖŖhar“*v‘’UUariable,“const“c˜har“*v‘’UUalueę)Ž”‘.łœįMak²!e–{the›{Readline“v–’dDariable˜åv“ariable‘#įha•²!v“e–{åv‘’dDalueį.‘ĻpThis“bMŽeha•²!v“es–{as˜if“the˜readline“com-Ž”‘.łœmand›²0`āset–¦fčvariable“valueį'˜had˜bMŽeen˜executed˜in˜an˜āinputrc˜įle˜(see˜Section˜1.3.1Ž”‘.łœ[Readline–¦fInit“File“Syn²!tax],“page“4).ŽŸ‘’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_variable_value‘yšę(ėAconst–cŖŖhar“*v‘’UUariableę)Ž”‘.łœįReturn–ƒÅa›ƒĘstring“represen²!ting˜the“v‘’dDalue˜of“the˜Readline“v›’dDariable“åv˜ariableį.‘ŅSF‘’eor“b•MŽo“oleanŽ”‘.łœv‘’dDariables,–¦fthis“string“is“either“`āonį'“or“`āoffį'.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_variable_dumper‘yšę(ėAinŖŖt‘readableę)Ž”‘.łœįPrin²!t–pŽthe›preadline“v‘’dDariable˜names“and“their˜curren²!t“v‘’dDalues“to˜ārl_outstreamį.‘ĖźIf“åread-Ž”‘.łœable‘“Aįis–9non-zero,‘3othe“list–:is“formatted“in‘9sucš²!h“a“w˜a˜y›9that“it“can˜bMŽe“made“part˜of“anŽ”‘.łœāinputrc–¦fįle“and“re-read.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_paren_blink_timeout‘yšę(ėAinŖŖt‘uę)Ž”‘.łœįSet–‘the“time“inš²!terv‘’dDal“(in“microseconds)“that“Readline“w˜aits“when“sho˜wing“a“balancingŽ”‘.łœc²!haracter–¦fwhen“āblink-matching-paren“įhas“bMŽeen“enabled.ŽŸ‘’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_get_termcap‘yšę(ėAconst–cŖŖhar“*capę)Ž”‘.łœįRetrievš²!e–=±the“string“v‘’dDalue“of“the“termcap“capabilit˜y“åcapį.‘ŗöReadline“fetc˜hes“the“termcapŽ”‘.łœenš²!try–2for‘1the“curren˜t›1terminal“name“and˜uses“those“capabilities˜to“mo•²!v“e˜around‘2theŽ”‘.łœscreen–†“line“and“pšMŽerform‘†³other“terminal-sp˜ecic“op˜erations,‘Ą>lik²!e“erasing“a“line.‘}÷ReadlineŽ”‘.łœdoMŽes–4Anot“use›4@all“of“a“terminal's˜capabilities,‘W·and“this“function“will˜return“v‘’dDalues“forŽ”‘.łœonly–¦fthose“capabilities“Readline“uses.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_clear_history‘yšę(ėAvŖŖoidę)Ž”‘.łœįClear–C%the“history›C$list“b²!y“deleting“all˜of“the“en²!tries,‘Vžin“the“same“manner˜as“the“HistoryŽ”‘.łœlibrary's›%>āclear_history()–%=įfunction.‘	ZeThis“diers˜from˜āclear_history“įbMŽecause˜itŽ”‘.łœfrees–¦fpriv‘’dDate“data“Readline“sa•²!v“es–¦fin“the“history“list.ŽŽŒ‹,Y”Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—44ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_activate_mark‘yšę(ėAvŖŖoidę)Ž¤
33‘.łœįEnable›’±an–’°äactive‘eRįmark.‘×LWhen“this˜is˜enabled,‘–¢the“text˜bMŽet•²!w“een˜pMŽoin“t˜and‘’°mark˜(theŽ”‘.łœåregionį)›äÄis‘äĆdispla•²!y“ed˜in˜the˜terminal's–äĆstandout˜moMŽde˜(a“åface‘į).‘RThis˜is˜called“b²!y˜v‘’dDariousŽ”‘.łœreadline–•functions“that“set“the“mark“and“insert“text,‘˜”and“is“a²!v‘’dDailable“for“applicationsŽ”‘.łœto‘¦fcall.Ž©Ąż’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_deactivate_mark‘yšę(ėAvŖŖoidę)Ž”‘.łœįT‘’eurn–¦fo“the“activ²!e“mark.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_keep_mark_active‘yšę(ėAvŖŖoidę)Ž”‘.łœįIndicate–J„that›J¦the“mark“should˜remain“activ²!e“when˜the“curren²!t“readline˜function“com-Ž”‘.łœpletes–JŪand›JÜafter“redispla²!y“oMŽccurs.‘æZIn“most“cases,‘]*the˜mark“remains“activ²!e“for˜only“theŽ”‘.łœduration–¦fof“a“single“bindable“readline“function.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_mark_active_p‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturn–¦fa“non-zero“v‘’dDalue“if“the“mark“is“currenš²!tly“activ˜e;“zero“otherwise.ŽŸĘ卍‘Gėg2.4.12‘d(Alternate‘ķMIn–įterfaceŽŽŸ³3‘GįAn–™Äalternate‘™Ćinš²!terface“is“a˜v‘’dDailable“to›™Ćplain“āreadline()į.‘„RSome“applications“need˜to“in•²!terlea“v“eŽ”‘Gk²!eybMŽoard‘F'I/O‘Ežwith›F(le,–ndevice,“or˜windoš²!w–F'system“I/O,“t˜ypically‘F(b˜y“using“a“main‘F(loMŽop“toŽ”‘Gāselect()–Vįon›Vv‘’dDarious“le˜descriptors.‘	ģėT‘’eo“accommoMŽdate˜this“need,‘Āreadline“can˜also“bMŽeŽ”‘Gin•²!v“ok“ed–¾=as“a‘¾>`callbacš²!k'“function“from“an“ev˜en˜t›¾>loMŽop.‘%bThere“are“functions˜aš²!v‘’dDailable“to“mak˜eŽ”‘Gthis‘¦feasy‘’e.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_callback_handler_install‘yšę(ėAconst–cŖŖhar“*prompt,Ž”‘DGrl‘׉„F™œŽ–G¼vŖŖcpfunc‘׉„F™œŽ“t‘*lhandlerę)Ž”‘.łœįSet–łÅup›łÄthe“terminal“for˜readline“I/O‘ł™and“displa²!y“the˜initial“expanded“v‘’dDalue˜of“åpromptį.Ž”‘.łœSa•²!v“e–ń<the›ń;v‘’dDalue“of˜ålhandler‘ŗeįto˜use“as“a˜handler“function˜to“call˜when“a˜complete“lineŽ”‘.łœof–I½input›I¼has“bMŽeen˜en²!tered.‘ĒįThe˜handler“function˜receiv²!es“the˜text“of˜the“line˜as“anŽ”‘.łœargumen²!t.‘É@As–hwith›hŽāreadline()į,‘tķthe“handler˜function˜should˜āfree˜įthe˜line“when˜it˜itŽ”‘.łœnished–¦fwith“it.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_callback_read_char‘yšę(ėAvŖŖoidę)Ž”‘.łœįWhenevš²!er–Žan“application“determines“that“k˜eybMŽoard“input“is“a˜v‘’dDailable,‘%<it“should“callŽ”‘.łœārl_callback_read_char()į,‘Ļ÷whic²!h–š[will›š\read“the“next˜c²!haracter“from“the˜curren²!t“inputŽ”‘.łœsource.‘Ä0If–Y_that“c²!haracter›Y^completes“the“line,‘hĒārl_callback_read_char˜įwill“in•²!v“ok“e‘Y_theŽ”‘.łœålhandler‘ƞįfunction–ęuinstalled“b²!y‘ęvārl_callback_handler_install“įto“proMŽcess“the“line.Ž”‘.łœBefore–1Ÿcalling›1 the“ålhandler‘śČįfunction,‘”mthe“terminal˜settings“are“reset“to˜the“v‘’dDaluesŽ”‘.łœthey–7Ghad“bMŽefore“calling“ārl_callback_handler_installį.‘	If“the“ålhandler‘pįfunctionŽ”‘.łœreturns,‘j“and–[Ÿthe›[žline“handler˜remains“installed,‘j“the“terminal˜settings“are˜moMŽdied“forŽ”‘.łœReadline's–¦fuse“again.‘ŻŻāEOF“įis“indicated“b²!y“calling“ålhandler‘oįwith“a“āNULL“įline.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_callback_sigcleanup‘yšę(ėAvŖŖoidę)Ž”‘.łœįClean–Óup“anš²!y“in˜ternal‘Ņstate“the“callbac˜k“in˜terface“uses“to‘Ņmain˜tain“state“bMŽet˜w˜een“callsŽ”‘.łœto‘9rl‘Ä>‰x³HųŽ–Ńtcallbacš²!k‘Ä>‰x³HųŽ“read‘Ä>‰x³HųŽ“c˜har–9(e.g.,‘5ķthe“state“of‘8an˜y“activ˜e“incremen˜tal“searc˜hes).‘6UThis“isŽ”‘.łœin²!tended–Łto›ŁbMŽe“used˜b²!y“applications˜that“wish˜to“pMŽerform˜their“o²!wn˜signal“handling;Ž”‘.łœReadline's–¦fin²!ternal“signal“handler“calls“this“when“appropriate.ŽŽŒ‹-gɍŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—45ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_callback_handler_remove‘yšę(ėAvŖŖoidę)Ž¤
33‘.łœįRestore–L)the›L(terminal“to˜its“initial˜state“and“remo•²!v“e˜the‘L)line˜handler.‘Ļ%Y‘’eou˜ma“y‘L)callŽ”‘.łœthis–ŗfunction›»from“within“a“callbac²!k˜as“w²!ell“as˜indepMŽenden²!tly‘’e.‘«NIf“the˜ålhandler‘×ćįinstalledŽ”‘.łœb²!y–1ārl_callback_handler_install›0įdoMŽes“not“exit˜the“program,‘*;either“this˜function“orŽ”‘.łœthe–ÅMfunction›ÅLreferred“to“b²!y˜the“v‘’dDalue˜of“ārl_deprep_term_function“įshould˜bMŽe“calledŽ”‘.łœbMŽefore–¦fthe“program“exits“to“reset“the“terminal“settings.ŽŸэ‘Gėg2.4.13‘d(A–ķMReadline“ExampleŽŽŸ³3‘GįHere–.is‘/a“function“whicš²!h“c˜hanges‘/lo˜w˜ercase“c˜haracters“to“their‘/uppMŽercase“equiv‘’dDalen˜ts,‘+ąandŽ”‘GuppMŽercase–>cš²!haracters“to“lo˜w˜ercase.‘¦XIf“this“function“w˜as“bMŽound“to“`āM-cį',‘d™then“t˜yping“`āM-cį'Ž”‘Gw•²!ould›ɳc“hange–É“the˜case“of˜the“c²!haracter˜under“pMŽoin•²!t.‘GÅT“yping‘É“`āM-1–¦f0“M-cį'˜w•²!ould‘É“c“hange˜theŽ”‘Gcase–¦fof“the“folloš²!wing“10“c˜haracters,“lea˜ving“the“cursor“on“the“last“c˜haracter“c˜hanged.ŽŸ@‘.łœā/*–æŖInvert“the“case“of“the“COUNT“following“characters.“*/Ž”‘.łœintŽ”‘.łœinvert_case_line–æŖ(count,“key)Ž”‘K·īint–æŖcount,“key;Ž”‘.łœ{Ž”‘:xšregister–æŖint“start,“end,“i;Ž¤ff‘:xšstart–æŖ=“rl_point;Ž”‘:xšif–æŖ(rl_point“>=“rl_end)Ž©
33‘EųDreturn‘æŖ(0);Ž”‘:xšif–æŖ(count“<“0)Ž¦‘EųD{Ž¦‘Qw˜direction–æŖ=“-1;Ž¦‘Qw˜count–æŖ=“-count;Ž¦‘EųD}Ž¦‘:xšelseŽ¦‘EųDdirection–æŖ=“1;Ž”‘:xš/*–æŖFind“the“end“of“the“range“to“modify.“*/Ž¦‘:xšend–æŖ=“start“+“(count“*“direction);Ž”‘:xš/*–æŖForce“it“to“be“within“range.“*/Ž¦‘:xšif–æŖ(end“>“rl_end)Ž¦‘EųDend–æŖ=“rl_end;Ž¦‘:xšelse–æŖif“(end“<“0)Ž¦‘EųDend–æŖ=“0;Ž”‘:xšif–æŖ(start“==“end)Ž¦‘EųDreturn‘æŖ(0);Ž”‘:xšif–æŖ(start“>“end)Ž¦‘EųD{ŽŽŒ‹.wŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—46ŽŽŽ ƒ33 ż ĢĶ‘Qw˜āint–æŖtemp“=“start;Ž¤
33‘Qw˜start–æŖ=“end;Ž”‘Qw˜end–æŖ=“temp;Ž”‘EųD}Ž©ff‘:xš/*–æŖTell“readline“that“we“are“modifying“the“line,Ž”‘K·īso–æŖit“will“save“the“undo“information.“*/Ž”‘:xšrl_modifying–æŖ(start,“end);Ž¦‘:xšfor–æŖ(i“=“start;“i“!=“end;“i++)Ž”‘EųD{Ž”‘Qw˜if–æŖ(_rl_uppercase_p“(rl_line_buffer[i]))Ž”‘\öģrl_line_buffer[i]–æŖ=“_rl_to_lower“(rl_line_buffer[i]);Ž”‘Qw˜else–æŖif“(_rl_lowercase_p“(rl_line_buffer[i]))Ž”‘\öģrl_line_buffer[i]–æŖ=“_rl_to_upper“(rl_line_buffer[i]);Ž”‘EųD}Ž”‘:xš/*–æŖMove“point“to“on“top“of“the“last“character“changed.“*/Ž”‘:xšrl_point–æŖ=“(direction“==“1)“?“end“-“1“:“start;Ž”‘:xšreturn‘æŖ(0);Ž”‘.łœ}ŽŸэ‘Gėg2.4.14‘d(Alternate–ķMIn–įterface“ExampleŽŽŸ³3‘GįHere–”Źis“a“complete“program“that“illustrates“Readline's“alternate“in²!terface.‘Š	It“reads“linesŽ”‘Gfrom–ø0the“terminal“and“displaš²!ys“them,‘¼¢pro˜viding“the“standard“history“and“T‘’eAB‘ø+completionŽ”‘Gfunctions.‘ŻŻIt–¦funderstands“the“EOF“c²!haracter“or“ā"įexitā"“įto“exit“the“program.ŽŸ@‘.łœā/*–æŖStandard“include“files.“stdio.h“is“required.“*/Ž”‘.łœ#include‘æŖ<stdlib.h>Ž”‘.łœ#include‘æŖ<string.h>Ž”‘.łœ#include‘æŖ<unistd.h>Ž”‘.łœ#include‘æŖ<locale.h>Ž¦‘.łœ/*–æŖUsed“for“select(2)“*/Ž”‘.łœ#include‘æŖ<sys/types.h>Ž”‘.łœ#include‘æŖ<sys/select.h>Ž¦‘.łœ#include‘æŖ<signal.h>Ž¦‘.łœ#include‘æŖ<stdio.h>Ž¦‘.łœ/*–æŖStandard“readline“include“files.“*/Ž”‘.łœ#include‘æŖ<readline/readline.h>Ž”‘.łœ#include‘æŖ<readline/history.h>Ž¦‘.łœstatic–æŖvoid“cb_linehandler“(char“*);Ž”‘.łœstatic–æŖvoid“sighandler“(int);ŽŽŒ‹/~čŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—47ŽŽŽ ƒ33 ż ĢĶ‘.łœāint‘æŖrunning;Ž¤
33‘.łœint‘æŖsigwinch_received;Ž”‘.łœconst–æŖchar“*prompt“=“"rltest$“";Ž©ff‘.łœ/*–æŖHandle“SIGWINCH“and“window“size“changes“when“readline“is“not“active“andŸnļ„
   96: 	™Ž”‘@8šreading–æŖa“character.“*/Ž”‘.łœstatic‘æŖvoidŽ”‘.łœsighandler–æŖ(int“sig)Ž”‘.łœ{Ž”‘:xšsigwinch_received–æŖ=“1;Ž”‘.łœ}Ž¦‘.łœ/*–æŖCallback“function“called“for“each“line“when“accept-line“executed,“EOFŽ”‘@8šseen,–æŖor“EOF“character“read.‘TThis“sets“a“flag“and“returns;“it“couldŽ”‘@8šalso–æŖcall“exit(3).“*/Ž”‘.łœstatic‘æŖvoidŽ”‘.łœcb_linehandler–æŖ(char“*line)Ž”‘.łœ{Ž”‘:xš/*–æŖCan“use“^D“(stty“eof)“or“`exit'“to“exit.“*/Ž”‘:xšif–æŖ(line“==“NULL“||“strcmp“(line,“"exit")“==“0)Ž”‘EųD{Ž”‘Qw˜if–æŖ(line“==“0)Ž”‘\öģprintf‘æŖ("\n");Ž”‘Qw˜printf‘æŖ("exit\n");Ž”‘Qw˜/*–æŖThis“function“needs“to“be“called“to“reset“the“terminal“settings,Ÿnļ„
   97: 	™Ž”‘b¶–and–æŖcalling“it“from“the“line“handler“keeps“one“extra“prompt“fromŸnļ„	 Ž”‘b¶–being–æŖdisplayed.“*/Ž”‘Qw˜rl_callback_handler_remove‘æŖ();Ž¦‘Qw˜running–æŖ=“0;Ž”‘EųD}Ž”‘:xšelseŽ”‘EųD{Ž”‘Qw˜if‘æŖ(*line)Ž”‘\öģadd_history‘æŖ(line);Ž”‘Qw˜printf–æŖ("input“line:“%s\n",“line);Ž”‘Qw˜free‘æŖ(line);Ž”‘EųD}Ž”‘.łœ}Ž¦‘.łœintŽ”‘.łœmain–æŖ(int“c,“char“**v)Ž”‘.łœ{Ž”‘:xšfd_set‘æŖfds;Ž”‘:xšint‘æŖr;Ž¦‘:xš/*–æŖSet“the“default“locale“values“according“to“environment“variables.“*/Ÿnļ„
   98: 	™ŽŽŒ‹0…tŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—48ŽŽŽ ƒ33 ż ĢĶ‘:xšāsetlocale–æŖ(LC_ALL,“"");Ž©ff‘:xš/*–æŖHandle“window“size“changes“when“readline“is“not“active“and“readingŽ¤
33‘K·īcharacters.‘æŖ*/Ž”‘:xšsignal–æŖ(SIGWINCH,“sighandler);Ž¦‘:xš/*–æŖInstall“the“line“handler.“*/Ž”‘:xšrl_callback_handler_install–æŖ(prompt,“cb_linehandler);Ž¦‘:xš/*–æŖEnter“a“simple“event“loop.‘TThis“waits“until“something“is“availableŽ”‘K·īto–æŖread“on“readline's“input“stream“(defaults“to“standard“input)“andŽ”‘K·īcalls–æŖthe“builtin“character“read“callback“to“read“it.‘TIt“does“notŽ”‘K·īhave–æŖto“modify“the“user's“terminal“settings.“*/Ž”‘:xšrunning–æŖ=“1;Ž”‘:xšwhile‘æŖ(running)Ž”‘EųD{Ž”‘Qw˜FD_ZERO‘æŖ(&fds);Ž”‘Qw˜FD_SET–æŖ(fileno“(rl_instream),“&fds);Ž¦‘Qw˜r–æŖ=“select“(FD_SETSIZE,“&fds,“NULL,“NULL,“NULL);Ž”‘Qw˜if–æŖ(r“<“0“&&“errno“!=“EINTR)Ž”‘\öģ{Ž”‘hv@perror–æŖ("rltest:“select");Ž”‘hv@rl_callback_handler_remove‘æŖ();Ž”‘hv@break;Ž”‘\öģ}Ž”‘Qw˜if‘æŖ(sigwinch_received)Ž”‘.łœ{Ž”‘:xšrl_resize_terminal‘æŖ();Ž”‘:xšsigwinch_received–æŖ=“0;Ž”‘.łœ}Ž”‘Qw˜if–æŖ(r“<“0)Ž”‘.łœcontinue;Ž¦‘Qw˜if–æŖ(FD_ISSET“(fileno“(rl_instream),“&fds))Ž”‘\öģrl_callback_read_char‘æŖ();Ž”‘EųD}Ž¦‘:xšprintf–æŖ("rltest:“Event“loop“has“exited\n");Ž”‘:xšreturn‘æŖ0;Ž”‘.łœ}ŽŸ!™¢‘Gė]2.5‘™Readline–f@Signal“HandlingŽŽŸ33‘GįSignals–ؔare“async•²!hronous‘ؓev“en“ts›ؔsen“t˜to˜a‘ؓproMŽcess˜b“y˜the˜Unix‘ؓk“ernel,‘©sometimes˜on˜bMŽehalfŽ”‘Gof–*£another“proMŽcess.‘j•They“are“inš²!tended‘*¤to“indicate“exceptional“ev˜en˜ts,‘K²lik˜e‘*¤a“user“pressingŽ”‘Gthe–
   99: 'inš²!terrupt“k˜ey“on“his“terminal,‘#or“a“net˜w˜ork“connection“bMŽeing“brok˜en.‘	 There“is“a“classŽŽŒ‹1‹dŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—49ŽŽŽ ƒ33 ż ĢĶ‘Gof–usignals›u€that“can“bMŽe˜sen²!t“to“the˜proMŽcess“curren²!tly“reading˜input“from“the˜k²!eybMŽoard.‘ĶSinceŽ¤
33‘GReadline–Wc²!hanges›W‚the“terminal˜attributes“when˜it“is˜called,‘ĆĒit˜needs“to˜pšMŽerform“sp˜ecialŽ”‘GproMŽcessing–OBwhen›OAsuc²!h“a˜signal“is“receiv²!ed˜in“order˜to“restore“the˜terminal“to˜a“sane“state,‘`ÆorŽ”‘Gproš²!vide–¦fapplication“writers“with“functions“to“do“so“man˜ually‘’e.Ž©Ęg‘!GReadline–Ųśconš²!tains“an“in˜ternal›Ųłsignal“handler“that“is“installed“for˜a“n•²!um“bMŽer–Ųśof“signalsŽ”‘G(āSIGINTį,–Ŗ	āSIGQUITį,“āSIGTERMį,›Ŗ
  100: āSIGHUPį,“āSIGALRMį,“āSIGTSTPį,“āSIGTTINį,˜and‘vāSIGTTOUį).‘L’WhenŽ”‘Gone–5Fof“these“signals“is“receiv²!ed,‘Kęthe“signal‘5Ghandler“will“reset“the“terminal“attributes“to“thoseŽ”‘Gthat–į w²!ere›įin“eect˜bMŽefore“āreadline()˜įw²!as“called,‘ļĶreset“the˜signal“handling˜to“what˜it“w²!asŽ”‘GbMŽefore–4’āreadline()›4‘įw²!as“called,‘KUand“resend˜the“signal“to˜the“calling˜application.‘·ģIf˜and“whenŽ”‘Gthe–"calling›!application's“signal˜handler“returns,‘0ŠReadline“will˜reinitialize“the˜terminal“andŽ”‘Gcon•²!tin“ue–dLto“accept›dMinput.‘ĒŌWhen“a“āSIGINT˜įis“receiv²!ed,‘q„the“Readline˜signal“handler“pMŽerformsŽ”‘Gsome‘¦žadditional›¦w•²!ork,‘ę¬whic“h˜will–¦žcause“anš²!y“partially-en˜tered‘¦line“to“bšMŽe“ab˜orted‘¦(see“theŽ”‘Gdescription–¦fof“ārl_free_line_state()“įbMŽelo²!w).ŽŸĘh‘!GThere–ėŖis“an“additional“Readline“signal“handler,›for“āSIGWINCHį,˜whicš²!h“the“k˜ernel“sends“to“aŽ”‘GproMŽcess–v`whenev²!er›v_the“terminal's“size˜c²!hanges“(for˜example,‘ūif“a˜user“resizes˜an“āxtermį).‘ĶŪTheŽ”‘GReadline–GtāSIGWINCH“įhandler›GsupMŽdates“Readline's“in²!ternal“screen˜size“information,‘o·and“thenŽ”‘Gcalls–÷an²!y“āSIGWINCH“įsignal“handler“the“calling“application‘öhas“installed.‘Readline“calls“theŽ”‘Gapplication's–;āSIGWINCH“įsignal›;
handler“without“resetting“the“terminal“to˜its“original“state.Ž”‘GIf–Ö«the“application's“signal“handler“došMŽes“more“than‘Ö¬up˜date“its“idea“of“the“terminal“size“andŽ”‘Greturn–Ž(for“example,‘’ģa“ālongjmp“įbac²!k“to“a“main“prošMŽcessing“lo˜op),‘’ģit“ämust‘—ųįcall“ārl_cleanup_Ž”‘Gafter_signal()–¦fį(describšMŽed“b˜elo²!w),“to“restore“the“terminal“state.Ž¦‘!GWhen–­an›­application“is“using˜the“callbacš²!k“in˜terface›­(see“Section“2.4.12˜[Alternate“In-Ž”‘Gterface],–‰page›(€44),“Readline˜installs–(signal˜handlers“only“for˜the“duration˜of“the˜call“toŽ”‘Gārl_callback_read_charį.‘ƒ”Applications–Ż£using“the‘Ż¢callbacš²!k“in˜terface“should“bMŽe“prepared“toŽ”‘Gclean–3«up“Readline's›3Ŗstate“if“they“wish“to˜handle“the“signal“bMŽefore“the˜line“handler“completesŽ”‘Gand–¦frestores“the“terminal“state.Ž¦‘!GIf–Kan“application“using‘Kthe“callbacš²!k“in˜terface“wishes“to“ha˜v˜e‘KReadline“install“its“signalŽ”‘Ghandlers–ŗat›ŗ€the“time˜the“application˜calls“ārl_callback_handler_install˜įand“remo•²!v“e˜themŽ”‘Gonly–Ź\when“a“complete›Ź[line“of“input“has“bMŽeen“read,‘ö^it˜should“set“the“ārl_persistent_signal_Ž”‘Ghandlers–„qįv›’dDariable“to‘„pa“non-zero“v˜alue.‘ˆ6This“allo²!ws“an›„papplication“to“defer“all˜of“the“handlingŽ”‘Gof–!Īthe›!Ļsignals“Readline“catc²!hes“to˜Readline.‘±ŖApplications˜should“use“this“v‘’dDariable˜with“care;Ž”‘Git–¹(can“result›¹)in“Readline“catc²!hing“signals“and˜not“acting“on“them“(or˜allo²!wing“the“applicationŽ”‘Gto–<react“to›<	them)“un²!til“the“application˜calls“ārl_callback_read_charį.‘žĆThis˜can“result“inŽ”‘Gan–’™application“bšMŽecoming“less“resp˜onsivš²!e“to“k˜eybMŽoard‘’šsignals“lik˜e“SIGINT.“If“an“applicationŽ”‘GdošMŽes–čÓnot“w•²!an“t–čÓor“need“to“p˜erform“an²!y“signal“handling,‘½or“do˜es“not“need“to“do“an²!y“pro˜cessingŽ”‘GbšMŽet•²!w“een–¦fcalls“to“ārl_callback_read_charį,“setting“this“v‘’dDariable“ma²!y“b˜e“desirable.Ž¦‘!GReadline–o#proš²!vides“t˜w˜o“v‘’dDariables“that“allo˜w‘o"application“writers“to“con˜trol“whether“or“notŽ”‘Git–ū.will›ū/catc²!h“certain“signals“and˜act“on“them˜when“they“are“receiv²!ed.‘Ü6It“is˜impMŽortan²!t“thatŽ”‘Gapplications–f“c²!hange›f’the“v‘’dDalues˜of“these˜v‘’dDariables“only˜when“calling“āreadline()į,‘–not˜in“aŽ”‘Gsignal–¦fhandler,“so“Readline's“in²!ternal“signal“state“is“not“corrupted.ŽŸYœ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_catch_signalsŽ”‘.łœįIf–w*this›w)v‘’dDariable“is˜non-zero,‘€œReadline“will“install˜signal“handlers˜for“āSIGINTį,‘€œāSIGQUITį,Ž”‘.łœāSIGTERMį,–¦fāSIGHUPį,“āSIGALRMį,“āSIGTSTPį,“āSIGTTINį,“and“āSIGTTOUį.Ž¦‘.łœThe–¦fdefault“v‘’dDalue“of“ārl_catch_signals“įis“1.ŽŽŒ‹2’PŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—50ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_catch_sigwinchŽ¤
33‘.łœįIf–…Tthis“v›’dDariable“is“set“to“a“non-zero“v˜alue,‘½Readline“will“install“a“signal“handler“forŽ”‘.łœāSIGWINCHį.Ž©ff‘.łœThe–¦fdefault“v‘’dDalue“of“ārl_catch_sigwinch“įis“1.ŽŸĢĪ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_persistent_signal_handlersŽ”‘.łœįIf–Ė!an›Ė application“using˜the“callbacš²!k“in˜terface›Ė wishes“Readline's˜signal“handlers˜to“bMŽeŽ”‘.łœinstalled–zand“activ²!e“during“the“set‘zof“calls“to“ārl_callback_read_char“įthat“constitutesŽ”‘.łœan–¦fen²!tire“single“line,“it“should“set“this“v›’dDariable“to“a“non-zero“v˜alue.Ž¦‘.łœThe–¦fdefault“v‘’dDalue“of“ārl_persistent_signal_handlers“įis“0.ŽŸĢĪ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_change_environmentŽ”‘.łœįIf–Ć2this›Ć1v‘’dDariable“is˜set“to˜a“non-zero˜v‘’dDalue,‘Źeand˜Readline“is˜handling“āSIGWINCHį,‘ŹdRead-Ž”‘.łœline–›Įwill››ĀmoMŽdify“the“åLINES‘?Iįand“åCOLUMNS‘?Hįen•²!vironmen“t˜v‘’dDariables–›ĮupMŽon“receipt˜of“aŽ”‘.łœāSIGWINCHŽ¦‘.łœįThe–¦fdefault“v‘’dDalue“of“ārl_change_environment“įis“1.ŽŸĢĪ‘!GIf–ø0an“application›ø/doMŽes“not“wish“to˜ha•²!v“e–ø0Readline“catcš²!h“an˜y–ø/signals,‘¼£or“to–ø0handle“signalsŽ”‘Gother–¤Ćthan›¤Äthose“Readline“catc²!hes˜(āSIGHUPį,›äZfor“example),˜Readline‘¤Äproš²!vides“con˜v˜enienceŽ”‘Gfunctions–¦fto“do“the“necessary“terminal“and“inš²!ternal“state“clean˜up“upMŽon“receipt“of“a“signal.Ž©ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_pending_signal‘yšę(ėAvŖŖoidę)Ž”‘.łœįReturn–IŚthe›IŁsignal“n•²!um“bMŽer˜of–IŚthe˜most“recen²!t“signal˜Readline“receiv²!ed˜but“has˜not“y²!etŽ”‘.łœhandled,–¦for“0“if“there“is“no“pMŽending“signal.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_cleanup_after_signal‘yšę(ėAvŖŖoidę)Ž”‘.łœįThis–¦function›„will“reset˜the“state˜of“the“terminal˜to“what˜it“w²!as˜bMŽefore“āreadline()Ž”‘.łœįwš²!as–†called,‘Œ~and“remo˜v˜e›†the“Readline˜signal“handlers˜for“all˜signals,‘ŒdepMŽending˜on“theŽ”‘.łœv‘’dDalues–¦fof“ārl_catch_signals“įand“ārl_catch_sigwinchį.ŽŸĢĪ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_free_line_state‘yšę(ėAvŖŖoidę)Ž”‘.łœįThis–µwill“free›µ~an²!y“partial“state“assoMŽciated˜with“the“curren²!t“input˜line“(undo“infor-Ž”‘.łœmation,‘z$anš²!y–˜partial“history“en˜try‘’e,‘z#an˜y“partially-en˜tered“k˜eybMŽoard“macro,‘z$and“an˜yŽ”‘.łœpartially-en•²!tered‘½Õn“umeric›½Ōargumen“t).‘$*This˜should–½ÕbMŽe“called˜bMŽefore“ārl_cleanup_Ž”‘.łœafter_signal()į.‘	LćThe– ½Readline“signal“handler› ¾for“āSIGINT“įcalls“this˜to“abMŽort“theŽ”‘.łœcurren²!t–¦finput“line.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_reset_after_signal‘yšę(ėAvŖŖoidę)Ž”‘.łœįThis–k¶will“reinitialize“the“terminal“and“reinstall‘kµan²!y“Readline“signal“handlers,‘wsdepMŽend-Ž”‘.łœing–¦fon“the“v‘’dDalues“of“ārl_catch_signals“įand“ārl_catch_sigwinchį.ŽŸĢĪ‘!GIf–īan›īapplication“w•²!an“ts˜to–īforce˜Readline“to˜handle“an²!y˜signals“that˜ha•²!v“e‘īarriv“ed˜whileŽ”‘Git–M9has›M:bMŽeen“executing,‘vļārl_check_signals()“įwill˜call“Readline's˜in²!ternal“signal˜handler“ifŽ”‘Gthere–jare›jan²!y“pMŽending˜signals.‘(õThis˜is“primarily˜in²!tended“for˜those“applications˜that“useŽ”‘Ga–‰ścustom›‰łārl_getc_function“į(see˜Section“2.3˜[Readline“V‘’eariables],‘ĀŽpage˜28)“and˜wish“toŽ”‘Ghandle–¦fsignals“receivš²!ed“while“w˜aiting“for“input.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_check_signals‘yšę(ėAvŖŖoidę)Ž”‘.łœįIf–ć!there›ć are“an²!y˜pMŽending“signals,‘2Ncall“Readline's˜in²!ternal“signal˜handling“functionsŽ”‘.łœto–"GprošMŽcess“them.‘	Q€ārl_pending_signal()‘"Hįcan“b˜e“used“indep˜enden²!tly“to“determineŽ”‘.łœwhether–¦for“not“there“are“an²!y“pMŽending“signals.ŽŽŒ‹3¤óŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—51ŽŽŽ ƒ33 ż ĢĶ‘!GIf–»µan›»¶application“doMŽes“not˜wish“Readline“to˜catcš²!h“āSIGWINCHį,‘	it“ma˜y‘»¶call“ārl_resize_Ž¤
33‘Gterminal()–Bįor“ārl_set_screen_size()“įto“force“Readline“to“upMŽdate“its“idea“of“the“terminalŽ”‘Gsize–¦fwhen“it“receiv²!es“a“āSIGWINCHį.Ž©Dƍ’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_echo_signal_char‘yšę(ėAinŖŖt‘sigę)Ž”‘.łœįIf–;©an“application“wishes“to“install“its‘;Øoš²!wn“signal“handlers,‘ łbut“still“ha˜v˜e“readlineŽ”‘.łœdispla•²!y›ØĶc“haracters–ØĪthat˜generate˜signals,‘©gcalling˜this“function˜with˜åsig‘˜åįset“to˜āSIGINTį,Ž”‘.łœāSIGQUITį,–¦for“āSIGTSTP“įwill“displaš²!y“the“c˜haracter“generating“that“signal.ŽŸD°’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_resize_terminal‘yšę(ėAvŖŖoidę)Ž”‘.łœįUpMŽdate–¦fReadline's“inš²!ternal“screen“size“b˜y“reading“v‘’dDalues“from“the“k˜ernel.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_set_screen_size‘yšę(ėAin•ŖŖt›ro“ws,˜in“t˜colsę)Ž”‘.łœįSet–XÅReadline's“idea›XÄof“the“terminal“size“to˜åro•²!ws›ĢGįro“ws–XÅand“åcols˜įcolumns.‘ĆüIf“either“åro²!wsŽ”‘.łœįor–9Ųåcolumns‘­Zįis“less“than›9Łor“equal“to“0,‘^“Readline's“idea˜of“that“terminal“dimension“isŽ”‘.łœunc•²!hanged.‘ĀJThis›S®is‘S­in“tended˜to–S­tell˜Readline“the˜ph²!ysical“dimensions˜of“the˜terminal,Ž”‘.łœand–cGis›cHused“in²!ternally“to“calculate˜the“maximš²!um“n˜um˜bMŽer“of‘cHc˜haracters“that“ma˜yŽ”‘.łœappMŽear–¦fon“a“single“line“and“on“the“screen.Ž¦‘!GIf–¹an“application›ødoMŽes“not“w•²!an“t–¹to“install“a˜āSIGWINCH“įhandler,‘Žbut“is˜still“in²!terested“inŽ”‘Gthe–¦fscreen“dimensions,“it“ma²!y“query“Readline's“idea“of“the“screen“size.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_get_screen_size‘yšę(ėAin•ŖŖt›*ro“ws,˜in“t˜*colsę)Ž”‘.łœįReturn–GReadline's“idea“of›Hthe“terminal's“size“in“the“v‘’dDariables“pMŽoin²!ted˜to“b²!y“the“argu-Ž”‘.łœmen²!ts.ŽŸD°’“z[F‘’eunction]ŽŽ‘Gė@void‘LÉrl_reset_screen_size‘yšę(ėAvŖŖoidę)Ž”‘.łœįCause–¦fReadline“to“reobtain“the“screen“size“and“recalculate“its“dimensions.Ž¦‘!GThe–¦ffolloš²!wing“functions“install“and“remo˜v˜e“Readline's“signal“handlers.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_set_signals‘yšę(ėAvŖŖoidę)Ž”‘.łœįInstall–ŹķReadline's“signal“handler“for“āSIGINTį,–āSIGQUITį,›āSIGTERMį,“āSIGHUPį,˜āSIGALRMį,Ž”‘.łœāSIGTSTPį,–a¶āSIGTTINį,‘aµāSIGTTOUį,“and›<?āSIGWINCHį,“depMŽending˜on–<@the˜v‘’dDalues“of˜ārl_catch_Ž”‘.łœsignals–¦fįand“ārl_catch_sigwinchį.ŽŸD°’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_clear_signals‘yšę(ėAvŖŖoidę)Ž”‘.łœįRemo•²!v“e–¦fall“of“the“Readline“signal“handlers“installed“b²!y“ārl_set_signals()į.ŽŸ
‘Gė]2.6‘™Custom‘f@CompletersŽŽŸ33‘GįTš²!ypically‘’e,‘}Ba–program“that“reads“commands“from“the“user‘has“a“w˜a˜y“of“disam˜biguatingŽ”‘Gcommands–B and“data.‘±If“y²!our“program“is“one›B!of“these,‘ithen“it˜can“pro²!vide“completion“forŽ”‘Gcommands,‘ˆĆdata,‘ˆÄor–[bšMŽoth.‘фThe‘Zfollo²!wing“sections“describ˜e“hoš²!w“y˜our‘Zprogram“and“ReadlineŽ”‘Gco•MŽop“erate–¦fto“pro²!vide“this“service.ŽŸ¾‘Gėg2.6.1‘d(Ho–įw–ķMCompleting“W‘žÄ£orksŽŽŸ³3‘GįIn–(Ęorder›(Ēto“complete˜some“text,‘Aēthe“full˜list“of˜pMŽossible“completions˜m²!ust“bMŽe˜a²!v‘’dDailable.‘³żThatŽ”‘Gis,‘P
it–:vis“not“pMŽossible“to›:waccurately“expand“a“partial˜wš²!ord“without“kno˜wing“all‘:wof“the“pMŽossibleŽ”‘Gw•²!ords›üwhic“h‘ümak“e˜sense‘üin˜that˜con“text.‘ŽĶThe˜Readline˜library‘üpro“vides˜the‘üuser˜in“terfaceŽŽŒ‹4³äŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—52ŽŽŽ ƒ33 ż ĢĶ‘Gto–g®completion,‘t:and“t•²!w“o–gÆof›g®the“most˜common˜completion“functions:‘¾lename“and˜username.Ž¤
33‘GF‘’eor–‘Ēcompleting‘‘Čother“tš²!ypMŽes“of“text,‘Ģ y˜ou“m˜ust“write“y˜our‘‘Čo˜wn“completion“function.‘ ThisŽ”‘Gsection–¦fdescribMŽes“exactly“what“sucš²!h“functions“m˜ust“do,“and“pro˜vides“an“example.Ž©8R‘!GThere–¦fare“three“ma‘›»jor“functions“used“to“pMŽerform“completion:ŽŸ8S‘-1.Ž‘'æ«The–6@user-in²!terface“function“ārl_complete()į.‘	lThis“function“is“called“with“the“sameŽ”‘'æ«argumenš²!ts–Has“other“bindable“Readline“functions:‘!<åcoun˜t‘…įand“åin˜v˜oking‘Ä>‰x³HųŽ‘Ńtk˜eyį.‘ĀķIt“isolatesŽ”‘'æ«the–ƒ,w²!ord“to“bMŽe“completed“and“calls‘ƒ+ārl_completion_matches()“įto“generate“a“list“ofŽ”‘'æ«pMŽossible–¼?completions.‘iIt›¼@then“either˜lists“the“pMŽossible˜completions,‘Įµinserts˜the“pMŽossibleŽ”‘'æ«completions,›ŽĪor‘mactually–m pMŽerforms“the“completion,˜depšMŽending‘mon“whic²!h“b˜eha²!vior“isŽ”‘'æ«desired.Ž¦‘-2.Ž‘'æ«The–Œin²!ternal›‹function“ārl_completion_matches()˜įuses“an˜application-supplied“ågener-Ž”‘'æ«ator‘:yįfunction›qQto–qPgenerate“the˜list“of“pMŽossible˜matc²!hes,‘¤
  101: and˜then“returns“the˜arra²!y“ofŽ”‘'æ«these–Æ>matc²!hes.‘ųfThe“caller“should“place“the“address“of“its‘Æ?generator“function“in“ārl_Ž”‘'æ«completion_entry_functionį.Ž¦‘-3.Ž‘'æ«The–ægenerator“function“is“called“repMŽeatedly“from‘æārl_completion_matches()į,‘ķLreturningŽ”‘'æ«a–īnstring“eacš²!h“time.‘µõThe“argumen˜ts“to‘īothe“generator“function“are“åtext‘+nįand“åstateį.‘µõåtextŽ”‘'æ«įis–Łāthe“partial“w²!ord“to“bMŽe“completed.‘xRåstate‘véįis“zero“the“rst“time“the“function“is“called,Ž”‘'æ«alloš²!wing–G2the“generator“to‘G3pMŽerform“an˜y“necessary“initialization,‘Æeand“a“pMŽositiv˜e“non-Ž”‘'æ«zero–”inš²!teger‘¢for“eac˜h“subsequen˜t–¢call.‘ћThe“generator–”function“returns‘¢ā(char‘¦f*)NULL“įtoŽ”‘'æ«inform–’žārl_completion_matches()“įthat‘’’there“are“no“more“pMŽossibilities“left.‘£¦UsuallyŽ”‘'æ«the–§^generator“function“computes“the“list“of‘§]pMŽossible“completions“when“åstate‘Deįis“zero,Ž”‘'æ«and–jreturns›kthem“one˜at“a“time˜on“subsequen•²!t˜calls.‘«ŽEac“h˜string–jthe˜generator“functionŽ”‘'æ«returns–ŌØas“a“matcš²!h“m˜ust“bšMŽe“allo˜cated“with“āmalloc()į;‘ėÉReadline“frees“the“strings“whenŽ”‘'æ«it–Žhas›nished“with˜them.‘TSuc²!h˜a“generator˜function“is˜referred“to˜as“an˜åapplication-Ž”‘'æ«spMŽecic–¦fcompletion“functionį.Ž©B‘’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_complete‘yšę(ėAinšŖŖt–ignore,“in˜t“in˜v˜oking‘׉„F™œŽ‘G¼k˜eyę)Ž”‘.łœįComplete–Ætthe›Æsw²!ord“at“or˜bšMŽefore“p˜oinš²!t.‘łY‘’eou“ha˜v˜e“supplied›Æsthe“function“that˜doMŽes“theŽ”‘.łœinitial–š™simple›ššmatc²!hing“selection“algorithm˜(see“ārl_completion_matches()į).‘¼wTheŽ”‘.łœdefault–¦fis“to“do“lename“completion.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_compentry_func_t–LÉ*“rl_completion_entry_functionŽ”‘.łœįThis–ĢJis›ĢIa“pMŽoin²!ter“to˜the“generator“function“for˜ārl_completion_matches()į.‘OˆIf“theŽ”‘.łœv‘’dDalue–Łīof›Łļārl_completion_entry_function“įis˜āNULL“įthen˜the“default˜lename“generatorŽ”‘.łœfunction,–ןārl_filename_completion_function()į,“is–gused.‘
  102: !An“åapplication-spMŽecicŽ”‘.łœcompletion–†Ėfunction›†Ģįis“a˜function“whose˜address“is˜assigned“to˜ārl_completion_entry_Ž”‘.łœfunction–¦fįand“whose“return“v‘’dDalues“are“used“to“generate“pMŽossible“completions.ŽŸ
  103: >‘Gėg2.6.2‘d(Completion‘ķMF‘žÄ£unctionsŽŽŸ³3‘GįHere–¦fis“the“complete“list“of“callable“completion“functions“presen²!t“in“Readline.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_complete_internal‘yšę(ėAinŖŖt‘what‘׉„F™œŽ–G¼to‘׉„F™œŽ“doę)Ž”‘.łœįComplete–fthe“w²!ord‘fat“or“bšMŽefore“p˜oinš²!t.‘­åwhat‘Ä>‰x³HųŽ–Ńtto‘Ä>‰x³HųŽ“do‘ņŃįsa˜ys›fwhat–fto“do“with˜the“com-Ž”‘.łœpletion.‘(éA‘æcv‘’dDalue–æjof“`ā?į'“means“list“the“pMŽossible“completions.‘(č`āTABį'“means“do“standardŽ”‘.łœcompletion.‘&'`ā*į'–¾~means›¾insert“all˜of“the˜pMŽossible“completions.‘&'`ā!į'“means˜to“displa²!y˜allŽ”‘.łœof–!)the“pMŽossible“completions,‘?Śif“there“is›!*more“than“one,‘?Łas˜w²!ell“as“pMŽerforming“partialŽ”‘.łœcompletion.‘¾*`ā@į'–GMis›GNsimilar“to“`ā!į',‘ZRbut“pMŽossible˜completions“are“not“listed˜if“the“pMŽossibleŽ”‘.łœcompletions–¦fshare“a“common“prex.ŽŽŒ‹5ĮļŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—53ŽŽŽ ƒ33 ż ĢĶ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_complete‘yšę(ėAinšŖŖt–ignore,“in˜t“in˜v˜oking‘׉„F™œŽ‘G¼k˜eyę)Ž¤
33‘.łœįComplete–ńčthe›ńēw²!ord“at˜or“bšMŽefore“p˜oinš²!t.‘ĄaY‘’eou“ha˜v˜e“supplied›ńēthe“function˜that“doMŽesŽ”‘.łœthe–õąinitial›õßsimple“matc²!hing“selection˜algorithm“(see˜ārl_completion_matches()“įandŽ”‘.łœārl_completion_entry_functionį).‘×XThe–Nädefault›Nåis“to“do˜lename“completion.‘×XThisŽ”‘.łœcalls–¦fārl_complete_internal()“įwith“an“argumenš²!t“depMŽending“on“åin˜v˜oking‘Ä>‰x³HųŽ‘Ńtk˜eyį.Ž©Qģ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_possible_completions‘yšę(ėAin•ŖŖt›coun“t,˜in“t˜in“v“oking‘׉„F™œŽ‘G¼k“eyę)Ž”‘.łœįList–ŽĒthe“pMŽossible“completions.›†’See“description“of“ārl_complete‘¦f()į.˜This“calls“ārl_Ž”‘.łœcomplete_internal()–¦fįwith“an“argumen²!t“of“`ā?į'.ŽŸQķ’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_insert_completions‘yšę(ėAin•ŖŖt›coun“t,˜in“t˜in“v“oking‘׉„F™œŽ‘G¼k“eyę)Ž”‘.łœįInsert–	Ėthe›	Źlist“of˜pMŽossible“completions˜in²!to“the˜line,‘"¤deleting˜the“partially-completedŽ”‘.łœw²!ord.›WāSee–Ļdescription‘Ļof“ārl_complete()į.˜This›Ļcalls“ārl_complete_internal()˜įwithŽ”‘.łœan–¦fargumen²!t“of“`ā*į'.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@int‘LÉrl_completion_mode‘yšę(ėArl‘׉„F™œŽ–G¼command‘׉„F™œŽ“func‘׉„F™œŽ“t‘*cfuncę)Ž”‘.łœįReturns–śūthe›śśappropriate“v‘’dDalue˜to“pass˜to“ārl_complete_internal()˜įdepMŽending“onŽ”‘.łœwhether–ēxåcfunc‘‘{įwš²!as“called‘ēwt˜wice“in›ēwsuccession“and˜the“v‘’dDalues˜of“the˜āshow-all-if-Ž”‘.łœambiguous–OŽįand‘Oāshow-all-if-unmodified“įv‘’dDariables.‘ĄźApplication-spMŽecic“completionŽ”‘.łœfunctions–¦fmaš²!y“use“this“function“to“presen˜t“the“same“in˜terface“as“ārl_complete()į.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ**“rl_completion_matches‘yšę(ėAconst–cŖŖhar“*text,Ž”‘DGrl‘׉„F™œŽ–G¼compUVenšŖŖtry‘׉„F™œŽ“func‘׉„F™œŽ“t‘*en˜try‘׉„F™œŽ“funcę)Ž”‘.łœįReturns–Œ^an‘Œ]arraš²!y“of“strings“whic˜h›Œ]is“a“list“of˜completions“for“åtextį.‘ÄIf“there˜are“noŽ”‘.łœcompletions,‘C;returns–#ŻāNULLį.‘VCThe›#Žrst“en²!try“in“the˜returned“arra²!y“is˜the“substitutionŽ”‘.łœfor–)Gåtextį.›“(The“remaining“en²!tries“are“the“pMŽossible“completions.˜The“arra²!y“is“terminatedŽ”‘.łœwith–¦fa“āNULL“įpMŽoin²!ter.ŽŸB‘.łœåen²!try‘Ä>‰x³HųŽ‘Ńtfunc‘hoįis–¾la›¾kfunction“of˜t•²!w“o˜args,‘mand˜returns˜a–¾lāchar‘¦f*į.‘%ķThe˜rst“argumen²!t˜isŽ”‘.łœåtextį.‘××The–¤dsecond“is“a“state›¤eargumen²!t;‘#bit“is“zero˜on“the“rst“call,‘ććand“non-zero“onŽ”‘.łœsubsequen•²!t›~calls.‘#åen“try‘Ä>‰x³HųŽ‘Ńtfunc‘ŗ‚įreturns˜a‘}āNULL˜įpMŽoin“ter–}to˜the˜caller“when˜there“are˜noŽ”‘.łœmore‘¦fmatc²!hes.Ž¦’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_filename_completion_function‘yšę(ėAconst–cšŖŖhar“*text,“in˜tŽ”‘DGstateę)Ž”‘.łœįA‘‹generator–±function›°for“lename˜completion“in˜the“general˜case.‘¬öåtext‘P±įis˜a“partial˜le-Ž”‘.łœname.‘‚UThe–“ĻBash›“Īsource“is˜a“useful˜reference“for˜writing“application-spMŽecic˜completionŽ”‘.łœfunctions–¦f(the“Bash“completion“functions“call“this“and“other“Readline“functions).ŽŸQķ’“z[F‘’eunction]ŽŽ‘Gė@char–LÉ*“rl_username_completion_function‘yšę(ėAconst–cšŖŖhar“*text,“in˜tŽ”‘DGstateę)Ž”‘.łœįA‘l&completion–l4generator›l5for“usernames.‘Źxåtext‘©4įcon²!tains˜a“partial˜username“preceded˜b²!yŽ”‘.łœa–«ŗrandom›«»c²!haracter“(usually“`ā~į').‘ķŚAs˜with“all“completion˜generators,‘­åstate‘HĮįis˜zero“onŽ”‘.łœthe–¦frst“call“and“non-zero“for“subsequen²!t“calls.ŽŸ\‘Gėg2.6.3‘d(Completion‘ķMV‘žÄ£ariablesŽŽŸĀ’–3į[V‘’eariable]ŽŽ‘Gė@rl_compentry_func_t–LÉ*“rl_completion_entry_functionŽ”‘.łœįA‘{pMŽoin²!ter‘’to–“the“generator“function“for“ārl_completion_matches()į.‘ūdāNULL“įmeans“toŽ”‘.łœuse–¦fārl_filename_completion_function()į,“the“default“lename“completer.ŽŽŒ‹6ӈŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—54ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@rl_completion_func_t–LÉ*“rl_attempted_completion_functionŽ¤
33‘.łœįA‘,„pMŽoinš²!ter–,§to‘,¦an“alternativ˜e›,¦function“to˜create“matc²!hes.‘pŸThe˜function“is˜called“withŽ”‘.łœåtextį,‘īūåstartį,‘īśand–Į åendį.‘‘qåstart‘ž įand“åend‘/rįare‘Įindices“in“ārl_line_buffer“įdening“the“bMŽound-Ž”‘.łœaries›of–åtextį,‘9\whic²!h“is˜a˜c²!haracter“string.‘°nIf˜this“function˜exists˜and“returns˜āNULLį,‘9]or˜ifŽ”‘.łœthis– v‘’dDariable› žis“set˜to“āNULLį,‘Ōłthen“ārl_complete()˜įwill“call˜the“v‘’dDalue˜of“ārl_completion_Ž”‘.łœentry_function–hŚįto›hŁgenerate“matc²!hes,‘u)otherwise˜the“arra²!y“of˜strings“returned˜will“bMŽeŽ”‘.łœused.‘‹tIf–Æ,this›Æ+function“sets˜the“ārl_attempted_completion_over˜įv‘’dDariable“to˜a“non-zeroŽ”‘.łœv‘’dDalue,‘-óReadline–×will“not“pMŽerform“its“default‘Öcompletion“ev²!en“if“this“function“returnsŽ”‘.łœno‘¦fmatc²!hes.Ž©ŗ’–3[V‘’eariable]ŽŽ‘Gė@rl_quote_func_t–LÉ*“rl_filename_quoting_functionŽ”‘.łœįA‘č–pMŽoin²!ter›č¦to–č§a“function˜that“will“quote“a˜lename“in“an˜application-spMŽecic“fashion.Ž”‘.łœThis–·Kis“called“if“lename“completion“is‘·JbMŽeing“attempted“and“one“of“the“c²!haractersŽ”‘.łœin–ü’ārl_filename_quote_characters›ü‘įappMŽears“in“a“completed˜lename.‘ą`The“functionŽ”‘.łœis–mPcalled“with‘mQåtextį,‘Ÿ
  104: åmatc•²!h‘Ä>‰x³HųŽ›Ńtt“yp•MŽeį,‘Ÿand‘mPåquote‘Ä>‰x³HųŽ˜p“oin²!terį.‘2œThe–mPåtext‘ŖPįis“the‘mQlename“to“bMŽeŽ”‘.łœquoted.‘	(TThe›åmatc•²!h‘Ä>‰x³HųŽ‘Ńtt“ypMŽe‘±•įis˜either–ŽāSINGLE_MATCHį,‘pif“there˜is“only˜one“completionŽ”‘.łœmatc²!h,‘Ģ‚or–ÄćāMULT_MATCHį.‘9SSome“functions“use“this“to“decide“whether“or‘Äānot“to“insert“aŽ”‘.łœclosing–ēquote‘ęcš²!haracter.‘{³The“åquote‘Ä>‰x³HųŽ‘ŃtpMŽoin˜ter‘Iįis“a‘ępMŽoin˜ter“to‘ęan˜y“opMŽening‘ęquote“c˜haracterŽ”‘.łœthe–¦fuser“tš²!ypMŽed.‘ŻŻSome“functions“c˜hoMŽose“to“reset“this“c˜haracter.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_dequote_func_t–LÉ*“rl_filename_dequoting_functionŽ”‘.łœįA‘Ž¼pMŽoin²!ter›ŽĆto–ŽĀa“function“that˜will“remo•²!v“e–ŽĀapplication-spMŽecic“quoting˜c²!haracters“fromŽ”‘.łœa–ēžlename“bMŽefore“completion“is“attempted,‘÷ėso“those“cš²!haracters“do“not“in˜terfere“withŽ”‘.łœmatc²!hing–“įthe“text›“āagainst“names“in“the˜lesystem.‘¦NIt“is˜called“with“åtextį,‘Ļ@the“textŽ”‘.łœof–xthe“wš²!ord“to‘wbMŽe“dequoted,‘m|and“åquote‘Ä>‰x³HųŽ‘Ńtc˜harį,‘m|whic˜h“is‘wthe“quoting“c˜haracter“thatŽ”‘.łœdelimits–Ü>the“lename›Ü?(usually“`ā'į'“or“`ā"į').‘fIf“åquote‘Ä>‰x³HųŽ‘Ńtc²!har‘„gįis“zero,‘é“the˜lename“w²!as“notŽ”‘.łœin–¦fan“em²!bMŽedded“string.ŽŸ¹’–3[V‘’eariable]ŽŽ‘Gė@rl_linebuf_func_t–LÉ*“rl_char_is_quoted_pŽ”‘.łœįA‘k’pšMŽoin²!ter–l2to“a“function“to“call“that“determines“whether“or“not“a“sp˜ecic“c²!haracterŽ”‘.łœin–#^the“line›#_buer“is“quoted,‘Bœaccording“to“whatev²!er“quoting˜mec²!hanism“the“programŽ”‘.łœcalling–śĪReadline“uses.‘¤«The“function“is“called“with“t•²!w“o‘śĻargumen“ts:‘ˆåtextį,‘ the–śĪtext“of“theŽ”‘.łœline,–“­and›±Ņåindexį,“the˜index–±Ńof˜the˜c²!haracter˜in˜the˜line.‘!It˜is“used˜to˜decide˜whether˜aŽ”‘.łœc²!haracter›ŸFfound–ŸEin“ārl_completer_word_break_characters˜įshould“bMŽe˜used˜to“breakŽ”‘.łœw²!ords–¦ffor“the“completer.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_compignore_func_t–LÉ*“rl_ignore_some_completions_functionŽ”‘.łœįThis–†hfunction,‘¾hif“dened,‘¾iis“called“b²!y“the“completer“when“real“lename“completionŽ”‘.łœis–ødone,‘1after›¹all“the“matc²!hing˜names“ha•²!v“e˜bMŽeen–øgenerated.‘+ŌIt“is˜passed“a˜āNULL“įter-Ž”‘.łœminated–³Zarraš²!y‘³Yof“matc˜hes.‘øThe“rst“elemen˜t›³Y(āmatches[0]į)“is“the˜maximal“substringŽ”‘.łœcommon–tEto›tFall“matc²!hes.‘Ķ(This“function˜can“re-arrange˜the“list˜of“matc²!hes˜as“required,Ž”‘.łœbut–¦feacš²!h“elemen˜t“deleted“from“the“arra˜y“m˜ust“bMŽe“freed.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_icppfunc_t–LÉ*“rl_directory_completion_hookŽ”‘.łœįThis–qAfunction,›ćöif“dened,˜is“allo•²!w“ed›q@to–qAmoMŽdify“the˜directory“pMŽortion˜of“lenamesŽ”‘.łœReadline–0Ėcompletes.‘}
It›0Ģcould“bMŽe“used˜to“expand“sym²!bMŽolic˜links“or“shell˜v‘’dDariables“inŽ”‘.łœpathnames.‘tIt›Ųwis–Ųxcalled“with˜the“address˜of“a“string˜(the“curren²!t˜directory“name)Ž”‘.łœas–…6an“argumenš²!t,‘¼źand“ma˜y“moMŽdify“that“string.‘zMIf“the“string“is“replaced“with“a“newŽ”‘.łœstring,‘ÜUthe–žYold“v‘’dDalue“should“bšMŽe“freed.‘ŶAn²!y‘žXmo˜died“directory“name“should“ha•²!v“e‘žYaŽŽŒ‹7ć[Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—55ŽŽŽ ƒ33 ż ĢĶ‘.łœtrailing–2œslash.‘‚€The“mošMŽdied“v‘’dDalue‘2will“b˜e“used“as‘2part“of“the“completion,‘UŖreplacingŽ¤
33‘.łœthe–Ķ}directory›Ķ~pMŽortion“of˜the“pathname˜the“user˜t•²!ypMŽed.‘S#A“t˜the›Ķ}least,‘×Dev“en˜if‘Ķ~no˜otherŽ”‘.łœexpansion–EQis“pMŽerformed,‘mthis“function“should“remo•²!v“e›EQan“y‘ERquote˜c“haracters˜from˜theŽ”‘.łœdirectory–¦fname,“bšMŽecause“its“result“will“b˜e“passed“directly“to“āopendir()į.Ž©č»‘.łœThe–directory“completion›’hoMŽok“returns“an“in²!teger˜that“should“bMŽe“non-zero˜if“the“func-Ž”‘.łœtion–õmoMŽdies“its›ödirectory“argumen²!t.‘;‹The“function“should“not˜moMŽdify“the“directoryŽ”‘.łœargumen²!t–¦fif“it“returns“0.ŽŸžB’–3[V‘’eariable]ŽŽ‘Gė@rl_icppfunc_t–LÉ*“rl_directory_rewrite_hook;Ž”‘.łœįIf–źćnon-zero,‘dthis“is›źäthe“address“of˜a“function“to˜call“when“completing“a˜directory“name.Ž”‘.łœThis–2}function“tak²!es“the›2~address“of“the“directory“name“to“b•MŽe˜mo“died–2}as“an“argumen²!t.Ž”‘.łœUnlik²!e–µčārl_directory_completion_hookį,‘łČit“only“moMŽdies“the“directory“name“usedŽ”‘.łœin–>ųāopendirį,‘enot“what“is“displa•²!y“ed›>łwhen–>ųthe“pMŽossible“completions“are˜prin²!ted“or“in-Ž”‘.łœserted.‘³NIt–&ŗis‘&¹called“bšMŽefore“rl‘Ä>‰x³HųŽ–Ńtdirectory‘Ä>‰x³HųŽ“completion‘Ä>‰x³HųŽ“ho˜ok.‘³NA•²!t‘&¹the›&ŗleast,‘@Bev“en˜if‘&¹no˜otherŽ”‘.łœexpansion–EQis“pMŽerformed,‘mthis“function“should“remo•²!v“e›EQan“y‘ERquote˜c“haracters˜from˜theŽ”‘.łœdirectory–¦fname,“bšMŽecause“its“result“will“b˜e“passed“directly“to“āopendir()į.Ž¦‘.łœThe–Œ*directory›Œ+rewrite“hoMŽok˜returns“an˜in²!teger“that˜should“bMŽe˜non-zero“if˜the“func-Ž”‘.łœtion–õmoMŽdies“its›ödirectory“argumen²!t.‘;‹The“function“should“not˜moMŽdify“the“directoryŽ”‘.łœargumen²!t–¦fif“it“returns“0.ŽŸžB’–3[V‘’eariable]ŽŽ‘Gė@rl_icppfunc_t–LÉ*“rl_filename_stat_hookŽ”‘.łœįIf–?non-zero,‘Ÿthis“is“the›>address“of“a“function˜for“the“completer“to˜call“bMŽefore“decidingŽ”‘.łœwhic•²!h›įc“haracter–āto˜appMŽend˜to“a˜completed˜name.‘ŪThis˜function˜moMŽdies“its˜lenameŽ”‘.łœname–Fargumen²!t,‘mģand“the“moMŽdied“v‘’dDalue“is“passed“to“āstat()“įto“determine“the“le'sŽ”‘.łœtš²!ypMŽe–Ž:and“c˜haracteristics.‘…YThis“function‘Ž;doMŽes“not“need“to“remo˜v˜e“quote“c˜haractersŽ”‘.łœfrom–¦fthe“lename.Ž¦‘.łœThe–Ōstat“hošMŽok“returns“an“in²!teger“that‘Ō
  105: should“b˜e“non-zero“if“the“function“mo˜diesŽ”‘.łœits›æĆdirectory–æĀargumen²!t.‘)óThe“function˜should˜not“moMŽdify˜the“directory˜argumen²!t“if˜itŽ”‘.łœreturns‘¦f0.ŽŸžC’–3[V‘’eariable]ŽŽ‘Gė@rl_dequote_func_t–LÉ*“rl_filename_rewrite_hookŽ”‘.łœįIf–Ę non-zero,‘this“is“the“address“of“a“function“called“when“reading“directory“en²!triesŽ”‘.łœfrom–ÉÜthe“lesystem“for“completion“and“comparing‘ÉŻthem“to“the“partial“w²!ord“to“bMŽeŽ”‘.łœcompleted.‘»zThe–?>function›?=should“pMŽerform“an²!y˜necessary“application˜or“system-spMŽecicŽ”‘.łœcon•²!v“ersion–Źon›Ėthe“lename,‘9$suc²!h“as˜con•²!v“erting‘ŹbMŽet“w“een˜c“haracter–Źsets˜or“con•²!v“ertingŽ”‘.łœfrom–„a›…lesystem“format˜to“a“c²!haracter˜input“format.‘ģ8The˜function“tak•²!es˜t“w“o‘„argu-Ž”‘.łœmen²!ts:‘ŁRåfnameį,‘Cthe–$!lename›$ to“bMŽe˜con•²!v“erted,–Cand›$!åfnlenį,“its˜length‘$ in˜b•²!ytes.‘WIt˜m“ustŽ”‘.łœeither–Ȋreturn“its“rst“argumenš²!t“(if“no‘ȋcon˜v˜ersion“tak˜es“place)“or“the“con˜v˜erted“lenameŽ”‘.łœin–dŪnewly-alloMŽcated“memory‘’e.‘ČThe›dŚcon•²!v“erted–dŪform“is“used“to“compare˜against“the“w²!ordŽ”‘.łœto›BŌbMŽe‘BÕcompleted,–V¾and,“if˜it‘BÕmatc²!hes,“is˜added–BÕto˜the˜list“of˜matc²!hes.‘¼¬Readline“will˜freeŽ”‘.łœthe–¦falloMŽcated“string.ŽŸžB’–3[V‘’eariable]ŽŽ‘Gė@rl_compdisp_func_t–LÉ*“rl_completion_display_matches_hookŽ”‘.łœįIf–£xnon-zero,‘×Athen“this“is“the“address“of“a“function“to“call“when“completing“a“wš²!ord“w˜ouldŽ”‘.łœnormally–ضdispla²!y›صthe“list“of˜pMŽossible“matc²!hes.‘‰MThis“function“is˜called“in“lieu˜of“ReadlineŽ”‘.łœdisplaš²!ying–s7the“list.‘DPIt‘s8tak˜es“three“argumen˜ts:‘w(āchar‘¦f**åmatc˜hesį,‘¦kāint“ån˜um‘Ä>‰x³HųŽ‘Ńtmatc˜hesį,Ž”‘.łœāint–-åmax‘Ä>‰x³HųŽ‘Ńtlengthį)›-where“åmatc²!hes‘ ’įis“the˜arra²!y“of˜matcš²!hing“strings,‘EUån˜um‘Ä>‰x³HųŽ‘Ńtmatc˜hes‘ ’įis“theŽŽŒ‹8õ”Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—56ŽŽŽ ƒ33 ż ĢĶ‘.łœn•²!um“bMŽer–acof›abstrings“in“that“arra²!y‘’e,‘!and“åmax‘Ä>‰x³HųŽ‘Ńtlength“įis˜the“length“of“the˜longest“stringŽ¤
33‘.łœin‘‡Āthat–‡Įarraš²!y‘’e.‘šReadline“pro˜vides‘‡Āa“con˜v˜enience‘‡Āfunction,‘Ąārl_display_match_listį,Ž”‘.łœthat–×\tak²!es›×[care“of“doing˜the“displa²!y˜to“Readline's“output˜stream.‘p¾Y‘’eou“ma²!y˜call“thatŽ”‘.łœfunction–¦ffrom“this“hoMŽok.Ž©’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_basic_word_break_charactersŽ”‘.łœįThe–Oobasic“list“of“cš²!haracters“that“signal‘Ona“break“bMŽet˜w˜een“w˜ords“for“the“completerŽ”‘.łœroutine.‘M¼The–v[default“v›’dDalue“of“this‘v\v˜ariable“is“the“cš²!haracters“whic˜h“break“w˜ords“forŽ”‘.łœcompletion–¦fin“Bash:‘ŻŻā"“\t\n\"\\'`@$><=;|&{("į.ŽŸ’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_basic_quote_charactersŽ”‘.łœįA–¦flist“of“quote“cš²!haracters“whic˜h“can“cause“a“w˜ord“break.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_completer_word_break_charactersŽ”‘.łœįThe–Ļlist“of“cš²!haracters“that“signal‘Ļ~a“break“bMŽet˜w˜een“w˜ords“for“ārl_complete_Ž”‘.łœinternal()į.‘ŻŻThe–¦fdefault“list“is“the“v‘’dDalue“of“ārl_basic_word_break_charactersį.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@rl_cpvfunc_t–LÉ*“rl_completion_word_break_hookŽ”‘.łœįIf–Čėnon-zero,‘ьthis›Čźis“the“address˜of“a“function“to˜call“when“Readline“is˜deciding“whereŽ”‘.łœto–”separate‘¢wš²!ords“for“w˜ord“completion.‘FIt“should‘¢return“a“c˜haracter“string‘¢lik˜e“ārl_Ž”‘.łœcompleter_word_break_characters–ōėįto“bšMŽe“used“to“p˜erform“the“curren²!t“completion.Ž”‘.łœThe–ųMfunction“ma•²!y›ųLc“hoMŽose–ųMto“set“ārl_completer_word_break_characters˜įitself.‘£ÕIf“theŽ”‘.łœfunction–¦freturns“āNULLį,“ārl_completer_word_break_characters“įis“used.ŽŸ’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_completer_quote_charactersŽ”‘.łœįA‘Clist–^of“c•²!haracters›]whic“h–^can“bMŽe˜used“to“quote˜a“substring“of˜the“line.‘ÄCompletionŽ”‘.łœoMŽccurs–&­on›&¬the“en²!tire“substring,‘@8and“within“the˜substring“ārl_completer_word_break_Ž”‘.łœcharacters–8\įare›8[treated“as“an²!y“other˜c²!haracter,‘\Łunless“they“also“appMŽear˜within“thisŽ”‘.łœlist.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_filename_quote_charactersŽ”‘.łœįA‘]list›vof–wc²!haracters“that“cause˜a“lename“to“bMŽe˜quoted“b²!y“the“completer˜when“theyŽ”‘.łœappMŽear–¦fin“a“completed“lename.‘ŻŻThe“default“is“the“n²!ull“string.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@const–LÉchar“*“rl_special_prefixesŽ”‘.łœįThe–S­list›S¬of“c²!haracters“that“are˜wš²!ord“break“c˜haracters,‘d8but›S¬should“bMŽe“left“in˜åtext‘­įwhenŽ”‘.łœit–ō”is“passed“to“the›ō¢completion“function.‘¢›Programs“can“use˜this“to“help“determine“whatŽ”‘.łœkind–Uķof›Uīcompleting“to˜do.‘Ć
  106: F‘’eor“instance,‘fBash“sets“this˜v‘’dDariable“to“ā"į$@ā"˜įso“that˜it“canŽ”‘.łœcomplete–¦fshell“v‘’dDariables“and“hostnames.ŽŸ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_query_itemsŽ”‘.łœįUp–YAto“this“manš²!y“items“will“bMŽe“displa˜y˜ed“in“respšMŽonse“to“a“p˜ossible-completions“call.Ž”‘.łœAfter–Vthat,‘f&readline“asks›Vthe“user˜if“she˜is“sure“she˜w•²!an“ts–Vto˜see“them˜all.‘ĆThe“defaultŽ”‘.łœv›’dDalue–¦fis“100.‘ŻŻA“negativ²!e“v˜alue“indicates“that“Readline“should“nev²!er“ask“the“user.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_append_characterŽ”‘.łœįWhen–żŗa“single‘ż»completion“alternativš²!e“matc˜hes“at›ż»the“end“of“the˜command“line,‘thisŽ”‘.łœcš²!haracter–’?is“appMŽended“to“the“inserted“completion“text.‘ŃThe“default“is“a“space“c˜haracterŽ”‘.łœ(`‘¦f').‘·Setting›2this–2to“the˜nš²!ull“c˜haracter“(`ā\0į')‘2prev˜en˜ts“an˜ything“b•MŽeing‘2app“ended‘2auto-Ž”‘.łœmatically‘’e.‘•,This–ĢQcan“bšMŽe“c²!hanged“in“application-sp˜ecic‘ĢRcompletion“functions“to“pro²!videŽŽŒ‹9䍟ņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—57ŽŽŽ ƒ33 ż ĢĶ‘.łœthe–Å\most“sensible‘Äwš²!ord“separator“c˜haracter"“according“to‘Äan“application-spMŽecic“com-Ž¤
33‘.łœmand–€Vline“syn²!tax“spšMŽecication.‘Ń-It“is“set“to“the“default“b˜efore“an²!y“application-sp˜ecicŽ”‘.łœcompletion–¦ffunction“is“called,“and“maš²!y“only“bMŽe“c˜hanged“within“suc˜h“a“function.Ž©ĢĪ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_suppress_appendŽ”‘.łœįIf›žšnon-zero,‘årl‘Ä>‰x³HųŽ–Ńtcompletion‘Ä>‰x³HųŽ“appMŽend‘Ä>‰x³HųŽ“c²!haracter‘Čįis˜not–žńappMŽended˜to“matc²!hes˜at“the˜endŽ”‘.łœof–Ošthe“command‘O™line,‘`öas“describšMŽed“ab˜o•²!v“e.‘ĄīIt–Ošis“set“to“0‘O™b˜efore“an²!y“application-sp˜ecicŽ”‘.łœcompletion–¦ffunction“is“called,“and“maš²!y“only“bMŽe“c˜hanged“within“suc˜h“a“function.ŽŸĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_quote_characterŽ”‘.łœįWhen–X;Readline“is›X:completing“quoted“text,‘„°as˜delimited“b²!y“one“of˜the“c²!haracters“inŽ”‘.łœårl‘Ä>‰x³HųŽ–Ńtcompleter‘Ä>‰x³HųŽ“quote‘Ä>‰x³HųŽ“c²!haractersį,‘ņCit–Æäsets›Æćthis“v‘’dDariable“to“the˜quoting“c²!haracter“found.Ž”‘.łœThis–¦fis“set“bšMŽefore“an²!y“application-sp˜ecic“completion“function“is“called.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_suppress_quoteŽ”‘.łœįIf–ąDnon-zero,‘ī»Readline›ąCdoMŽes“not˜appMŽend“a“matc²!hing˜quote“c²!haracter˜when“pMŽerformingŽ”‘.łœcompletion–ÓGon›ÓFa“quoted˜string.‘—~It˜is“set˜to“0˜bMŽefore“an²!y˜application-spMŽecic“completionŽ”‘.łœfunction–¦fis“called,“and“maš²!y“only“bMŽe“c˜hanged“within“suc˜h“a“function.ŽŸĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_found_quoteŽ”‘.łœįWhen–ĢśReadline“is“completing›Ģūquoted“text,‘֟it“sets“this“v‘’dDariable“to˜a“non-zero“v‘’dDalue“ifŽ”‘.łœthe–‡æwš²!ord‘‡¾bMŽeing“completed“con˜tains‘‡¾or“is“delimited“b˜y‘‡¾an˜y“quoting“c˜haracters,‘ĮincludingŽ”‘.łœbacš²!kslashes.‘ŻŻThis–¦fis“set“bMŽefore“an˜y“application-spMŽecic“completion“function“is“called.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_mark_symlink_dirsŽ”‘.łœįIf–ѧnon-zero,‘Üwa“slash“will“bšMŽe“app˜ended“to“completed“lenames“that“are“sym²!b˜olic“linksŽ”‘.łœto–ęrdirectory›ęsnames,‘Ösub‘›»ject“to“the˜v‘’dDalue“of“the“user-settable˜åmark-directories‘Yōįv‘’dDariable.Ž”‘.łœThis–Imv‘’dDariable“exists“so“that“application-spMŽecic“completion“functions“can“o•²!v“erride‘ImtheŽ”‘.łœuser's–global›preference“(set“via“the˜åmark-symlink²!ed-directories‘Š’įReadline“v‘’dDariable)Ž”‘.łœif–„appropriate.‘võThis“v‘’dDariable“is“set“to“the“user's‘„preference“bMŽefore“an²!y“application-Ž”‘.łœspMŽecic–Īcompletion›Īfunction“is˜called,‘×ģso“unless“that˜function“moMŽdies˜the“v‘’dDalue,‘×ģtheŽ”‘.łœuser's–¦fpreferences“are“honored.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_ignore_completion_duplicatesŽ”‘.łœįIf–¦fnon-zero,“then“duplicates“in“the“matcš²!hes“are“remo˜v˜ed.‘ŻŻThe“default“is“1.ŽŸĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_filename_completion_desiredŽ”‘.łœįNon-zero–Ńmeans“that›Ń	the“results“of“the“matc²!hes˜are“to“bMŽe“treated“as“lenames.‘]ÄThisŽ”‘.łœis–Ģ'äalways‘²?įzero›Ģ(when“completion“is“attempted,‘—and“can“only“bMŽe˜c²!hanged“within“anŽ”‘.łœapplication-spMŽecic›¼õcompletion–¼ōfunction.‘!‰If“it˜is“set˜to“a˜non-zero“v‘’dDalue˜bš²!y“suc˜h‘¼õaŽ”‘.łœfunction,‘Ždirectory–¬
  107: names“ha•²!v“e›¬	a–¬
  108: slash“appMŽended˜and“Readline“attempts“to˜quote“com-Ž”‘.łœpleted–6 lenames“if“they‘6!conš²!tain“an˜y“c˜haracters“in“ārl_filename_quote_charactersŽ”‘.łœįand–¦fārl_filename_quoting_desired“įis“set“to“a“non-zero“v‘’dDalue.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_filename_quoting_desiredŽ”‘.łœįNon-zero–^nmeans“that“the›^mresults“of“the“matc²!hes“are“to“bMŽe˜quoted“using“double“quotesŽ”‘.łœ(or–8an“application-spMŽecic“quoting“mecš²!hanism)‘7if“the“completed“lename“con˜tainsŽ”‘.łœan•²!y›QJc“haracters–QIin˜ārl_filename_quote_charsį.‘Į~This˜is“äalways‘7bįnon-zero“when˜comple-Ž”‘.łœtion–Q	is›Qattempted,‘band“can“only˜bMŽe“c²!hanged˜within“an˜application-spMŽecic“completionŽ”‘.łœfunction.‘} The–…°quoting›…Æis“eected˜via“a˜call˜to“the˜function“pMŽoin²!ted˜to“b²!y˜ārl_filename_Ž”‘.łœquoting_functionį.ŽŽŒ‹:BŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—58ŽŽŽ ƒ33 ż ĢĶ’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_attempted_completion_overŽ¤
33‘.łœįIf–Oan“application-spMŽecic“completion‘Ofunction“assigned“to“ārl_attempted_Ž”‘.łœcompletion_function–bįsets›bŒthis“v‘’dDariable“to˜a“non-zero“v‘’dDalue,‘•Readline˜will“notŽ”‘.łœpMŽerform–Žŗits“default“lename“completion‘Ž¹ev²!en“if“the“application's“completion“functionŽ”‘.łœreturns–¦fno“matcš²!hes.‘ŻŻIt“should“bMŽe“set“only“b˜y“an“application's“completion“function.Ž©33’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_sort_completion_matchesŽ”‘.łœįIf–”Ōan›”Óapplication“sets˜this“v‘’dDariable˜to“0,‘˜WReadline“will˜not“sort˜the“list˜of“completionsŽ”‘.łœ(whicš²!h–ņĶimplies“that‘ņĪit“cannot“remo˜v˜e“an˜y›ņĪduplicate“completions).‘”’The˜default“v‘’dDalue“isŽ”‘.łœ1,›ÅÖwhic²!h–æŒmeans“that“Readline“will“sort“the“completions“and,˜depMŽending“on“the“v‘’dDalueŽ”‘.łœof–¦fārl_ignore_completion_duplicatesį,“will“attempt“to“remo•²!v“e–¦fduplicate“matc²!hes.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_typeŽ”‘.łœįSet–61to›62a“c²!haracter˜describing“the˜t²!ypMŽe“of“completion˜Readline“is˜curren²!tly“attempt-Ž”‘.łœing;‘.qsee–the“description‘of“ārl_complete_internal()“į(see“Section“2.6.2“[CompletionŽ”‘.łœF‘’eunctions],‘˜%page–gĢ52)“for“the“list“of“c²!haracters.‘"This“is“set“to“the“appropriate“v‘’dDalueŽ”‘.łœb•MŽefore›Ķ”an²!y‘Ķ application-sp“ecic˜completion˜function˜is–Ķ called,‘×palloš²!wing“suc˜h‘Ķ”functionsŽ”‘.łœto–¦fpresenš²!t“the“same“in˜terface“as“ārl_complete()į.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_completion_invoking_keyŽ”‘.łœįSet–äRto›äQthe“nal˜c²!haracter“in˜the“k²!ey“sequence˜that“in•²!v“ok“ed˜one–äRof˜the“completionŽ”‘.łœfunctions–that“call“ārl_complete_internal()į.‘o(This“is“set“to“the“appropriate“v‘’dDalueŽ”‘.łœbšMŽefore–¦fan²!y“application-sp˜ecic“completion“function“is“called.Ž¦’–3[V‘’eariable]ŽŽ‘Gė@int‘LÉrl_inhibit_completionŽ”‘.łœįIf–d`this›dav‘’dDariable“is“non-zero,‘q•completion“is˜inhibited.‘ĒŪThe“completion“c²!haracter˜will“bMŽeŽ”‘.łœinserted–¦fas“an²!y“other“bMŽound“to“āself-insertį.ŽŸ‘Gėg2.6.4‘d(A–ķMShort“Completion“ExampleŽŽŸ³3‘GįHere–}ais“a›}`small“application“demonstrating“the˜use“of“the“GNU‘}VReadline“library‘’e.‘Š0It“is“calledŽ”‘Gāfilemanį,‘0and–ĆÕthe“source‘ĆŌcoMŽde“resides“in“āexamples/fileman.cį.‘6)This“sample“applicationŽ”‘Gpro²!vides–#žcompletion“of‘#’command“names,›>line“editing“features,˜and“access“to‘#’the“history“list.ŽŽŒ‹;'6Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—59ŽŽŽ ƒ33 ż ĢĶ‘.łœÉ/*–¹–fileman.c“--“A“tiny“application“which“demonstrates“how“to“use“theŽ¤
  109: €‘=&^GNU–¹–Readline“library.‘	s,This“application“interactively“allows“usersŽ”‘=&^to–¹–manipulate“files“and“their“modes.“*/Ž©‘.łœ#ifdef‘¹–HAVE_CONFIG_HŽ”‘.łœ#‘	s,include‘¹–<config.h>Ž”‘.łœ#endifŽ¦‘.łœ#include‘¹–<sys/types.h>Ž”‘.łœ#ifdef‘¹–HAVE_SYS_FILE_HŽ”‘.łœ#‘	s,include‘¹–<sys/file.h>Ž”‘.łœ#endifŽ”‘.łœ#include‘¹–<sys/stat.h>Ž¦‘.łœ#ifdef‘¹–HAVE_UNISTD_HŽ”‘.łœ#‘	s,include‘¹–<unistd.h>Ž”‘.łœ#endifŽ¦‘.łœ#include‘¹–<fcntl.h>Ž”‘.łœ#include‘¹–<stdio.h>Ž”‘.łœ#include‘¹–<errno.h>Ž¦‘.łœ#if–¹–defined“(HAVE_STRING_H)Ž”‘.łœ#‘	s,include‘¹–<string.h>Ž”‘.łœ#else–¹–/*“!HAVE_STRING_H“*/Ž”‘.łœ#‘	s,include‘¹–<strings.h>Ž”‘.łœ#endif–¹–/*“!HAVE_STRING_H“*/Ž¦‘.łœ#ifdef‘¹–HAVE_STDLIB_HŽ”‘.łœ#‘	s,include‘¹–<stdlib.h>Ž”‘.łœ#endifŽ¦‘.łœ#include‘¹–<time.h>Ž¦‘.łœ#include‘¹–<readline/readline.h>Ž”‘.łœ#include‘¹–<readline/history.h>Ž¦‘.łœextern–¹–char“*xmalloc“PARAMS((size_t));Ž¦‘.łœ/*–¹–The“names“of“functions“that“actually“do“the“manipulation.“*/Ž”‘.łœint–¹–com_list“PARAMS((char“*));Ž”‘.łœint–¹–com_view“PARAMS((char“*));Ž”‘.łœint–¹–com_rename“PARAMS((char“*));Ž”‘.łœint–¹–com_stat“PARAMS((char“*));Ž”‘.łœint–¹–com_pwd“PARAMS((char“*));Ž”‘.łœint–¹–com_delete“PARAMS((char“*));Ž”‘.łœint–¹–com_help“PARAMS((char“*));Ž”‘.łœint–¹–com_cd“PARAMS((char“*));Ž”‘.łœint–¹–com_quit“PARAMS((char“*));Ž¦‘.łœ/*–¹–A“structure“which“contains“information“on“the“commands“this“programŽ”‘=&^can–¹–understand.“*/Ž¦‘.łœtypedef–¹–struct“{Ž”‘8lČchar–¹–*name;“/*“User“printable“name“of“the“function.“*/Ž”‘8lČrl_icpfunc_t–¹–*func;“/*“Function“to“call“to“do“the“job.“*/Ž”‘8lČchar–¹–*doc;“/*“Documentation“for“this“function.‘	s,*/Ž”‘.łœ}‘¹–COMMAND;ŽŽŒ‹<1xŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—60ŽŽŽ ƒ33 ż«LĶ‘.łœÉCOMMAND–¹–commands[]“=“{Ž¤
  110: €‘8lČ{–¹–"cd",“com_cd,“"Change“to“directory“DIR"“},Ž”‘8lČ{–¹–"delete",“com_delete,“"Delete“FILE"“},Ž”‘8lČ{–¹–"help",“com_help,“"Display“this“text"“},Ž”‘8lČ{–¹–"?",“com_help,“"Synonym“for“`help'"“},Ž”‘8lČ{–¹–"list",“com_list,“"List“files“in“DIR"“},Ž”‘8lČ{–¹–"ls",“com_list,“"Synonym“for“`list'"“},Ž”‘8lČ{–¹–"pwd",“com_pwd,“"Print“the“current“working“directory"“},Ž”‘8lČ{–¹–"quit",“com_quit,“"Quit“using“Fileman"“},Ž”‘8lČ{–¹–"rename",“com_rename,“"Rename“FILE“to“NEWNAME"“},Ž”‘8lČ{–¹–"stat",“com_stat,“"Print“out“statistics“on“FILE"“},Ž”‘8lČ{–¹–"view",“com_view,“"View“the“contents“of“FILE"“},Ž”‘8lČ{–¹–(char“*)NULL,“(rl_icpfunc_t“*)NULL,“(char“*)NULL“}Ž”‘.łœ};Ž©‘.łœ/*–¹–Forward“declarations.“*/Ž”‘.łœchar–¹–*stripwhite“();Ž”‘.łœCOMMAND–¹–*find_command“();Ž¦‘.łœ/*–¹–The“name“of“this“program,“as“taken“from“argv[0].“*/Ž”‘.łœchar‘¹–*progname;Ž¦‘.łœ/*–¹–When“non-zero,“this“global“means“the“user“is“done“using“this“program.“*/Ž”‘.łœint‘¹–done;Ž¦‘.łœchar‘¹–*Ž”‘.łœdupstr‘¹–(s)Ž”‘F™Šchar‘¹–*s;Ž”‘.łœ{Ž”‘8lČchar‘¹–*r;Ž¦‘8lČr–¹–=“xmalloc“(strlen“(s)“+“1);Ž”‘8lČstrcpy–¹–(r,“s);Ž”‘8lČreturn‘¹–(r);Ž”‘.łœ}Ž¦‘.łœmain–¹–(argc,“argv)Ž”‘F™Šint‘¹–argc;Ž”‘F™Šchar‘¹–**argv;Ž”‘.łœ{Ž”‘8lČchar–¹–*line,“*s;Ž¦‘8lČprogname–¹–=“argv[0];Ž¦‘8lČinitialize_readline–¹–();“/*“Bind“our“completer.“*/Ž¦‘8lČ/*–¹–Loop“reading“and“executing“lines“until“the“user“quits.“*/Ž”‘8lČfor–¹–(“;“done“==“0;“)Ž”‘Aßō{Ž”‘KS line–¹–=“readline“("FileMan:“");Ž¦‘KS if‘¹–(!line)Ž”‘TĘLbreak;Ž¦‘KS /*–¹–Remove“leading“and“trailing“whitespace“from“the“line.Ž”‘YāThen,–¹–if“there“is“anything“left,“add“it“to“the“history“listŽ”‘Yāand–¹–execute“it.“*/ŽŽŒ‹=8荟ņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—61ŽŽŽ ƒ33 ż ĢĶ‘KS És–¹–=“stripwhite“(line);Ž©‘KS if‘¹–(*s)Ž¤
  111: €‘TĘL{Ž”‘^9xadd_history‘¹–(s);Ž”‘^9xexecute_line‘¹–(s);Ž”‘TĘL}Ž¦‘KS free‘¹–(line);Ž”‘Aßō}Ž”‘8lČexit‘¹–(0);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Execute“a“command“line.“*/Ž”‘.łœintŽ”‘.łœexecute_line‘¹–(line)Ž”‘F™Šchar‘¹–*line;Ž”‘.łœ{Ž”‘8lČregister–¹–int“i;Ž”‘8lČCOMMAND‘¹–*command;Ž”‘8lČchar‘¹–*word;Ž¦‘8lČ/*–¹–Isolate“the“command“word.“*/Ž”‘8lČi–¹–=“0;Ž”‘8lČwhile–¹–(line[i]“&&“whitespace“(line[i]))Ž”‘Aßōi++;Ž”‘8lČword–¹–=“line“+“i;Ž¦‘8lČwhile–¹–(line[i]“&&“!whitespace“(line[i]))Ž”‘Aßōi++;Ž¦‘8lČif‘¹–(line[i])Ž”‘Aßōline[i++]–¹–=“'\0';Ž¦‘8lČcommand–¹–=“find_command“(word);Ž¦‘8lČif‘¹–(!command)Ž”‘Aßō{Ž”‘KS fprintf–¹–(stderr,“"%s:“No“such“command“for“FileMan.\n",“word);Ž”‘KS return‘¹–(-1);Ž”‘Aßō}Ž¦‘8lČ/*–¹–Get“argument“to“command,“if“any.“*/Ž”‘8lČwhile–¹–(whitespace“(line[i]))Ž”‘Aßōi++;Ž¦‘8lČword–¹–=“line“+“i;Ž¦‘8lČ/*–¹–Call“the“function.“*/Ž”‘8lČreturn–¹–((*(command->func))“(word));Ž”‘.łœ}Ž¦‘.łœ/*–¹–Look“up“NAME“as“the“name“of“a“command,“and“return“a“pointer“to“thatŽ”‘=&^command.‘	s,Return–¹–a“NULL“pointer“if“NAME“isn't“a“command“name.“*/Ž”‘.łœCOMMAND‘¹–*Ž”‘.łœfind_command‘¹–(name)Ž”‘F™Šchar‘¹–*name;Ž”‘.łœ{ŽŽŒ‹>@!Ÿņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—62ŽŽŽ ƒ33 ż ĢĶ‘8lČÉregister–¹–int“i;Ž©‘8lČfor–¹–(i“=“0;“commands[i].name;“i++)Ž¤
  112: €‘Aßōif–¹–(strcmp“(name,“commands[i].name)“==“0)Ž”‘KS return‘¹–(&commands[i]);Ž¦‘8lČreturn–¹–((COMMAND“*)NULL);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Strip“whitespace“from“the“start“and“end“of“STRING.‘	s,Return“a“pointerŽ”‘=&^into–¹–STRING.“*/Ž”‘.łœchar‘¹–*Ž”‘.łœstripwhite‘¹–(string)Ž”‘F™Šchar‘¹–*string;Ž”‘.łœ{Ž”‘8lČregister–¹–char“*s,“*t;Ž¦‘8lČfor–¹–(s“=“string;“whitespace“(*s);“s++)Ž”‘Aßō;Ž¦‘8lČif–¹–(*s“==“0)Ž”‘Aßōreturn‘¹–(s);Ž¦‘8lČt–¹–=“s“+“strlen“(s)“-“1;Ž”‘8lČwhile–¹–(t“>“s“&&“whitespace“(*t))Ž”‘Aßōt--;Ž”‘8lČ*++t–¹–=“'\0';Ž¦‘8lČreturn‘¹–s;Ž”‘.łœ}Ž¦‘.łœ/*–¹–****************************************************************“*/Ž”‘.łœ/*’7Ų¬*/Ž”‘.łœ/*‘UŒInterface–¹–to“Readline“Completion‘K™`*/Ž”‘.łœ/*’7Ų¬*/Ž”‘.łœ/*–¹–****************************************************************“*/Ž¦‘.łœchar–¹–*command_generator“PARAMS((const“char“*,“int));Ž”‘.łœchar–¹–**fileman_completion“PARAMS((const“char“*,“int,“int));Ž¦‘.łœ/*–¹–Tell“the“GNU“Readline“library“how“to“complete.‘	s,We“want“to“try“to“completeŽ”‘=&^on–¹–command“names“if“this“is“the“first“word“in“the“line,“or“on“filenamesŽ”‘=&^if–¹–not.“*/Ž”‘.łœinitialize_readline‘¹–()Ž”‘.łœ{Ž”‘8lČ/*–¹–Allow“conditional“parsing“of“the“~/.inputrc“file.“*/Ž”‘8lČrl_readline_name–¹–=“"FileMan";Ž¦‘8lČ/*–¹–Tell“the“completer“that“we“want“a“crack“first.“*/Ž”‘8lČrl_attempted_completion_function–¹–=“fileman_completion;Ž”‘.łœ}Ž¦‘.łœ/*–¹–Attempt“to“complete“on“the“contents“of“TEXT.‘	s,START“and“END“bound“theŽ”‘=&^region–¹–of“rl_line_buffer“that“contains“the“word“to“complete.‘	s,TEXT“isŽ”‘=&^the–¹–word“to“complete.‘	s,We“can“use“the“entire“contents“of“rl_line_bufferŽ”‘=&^in–¹–case“we“want“to“do“some“simple“parsing.‘	s,Return“the“array“of“matches,Ž”‘=&^or–¹–NULL“if“there“aren't“any.“*/Ž”‘.łœchar‘¹–**ŽŽŒ‹?ElŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—63ŽŽŽ ƒ33 ż ĢĶ‘.łœÉfileman_completion–¹–(text,“start,“end)Ž¤
  113: €‘F™Šconst–¹–char“*text;Ž”‘F™Šint–¹–start,“end;Ž”‘.łœ{Ž”‘8lČchar‘¹–**matches;Ž¤‘8lČmatches–¹–=“(char“**)NULL;Ž”‘8lČ/*–¹–If“this“word“is“at“the“start“of“the“line,“then“it“is“a“commandŽ¤
  114: €‘F™Što–¹–complete.‘	s,Otherwise“it“is“the“name“of“a“file“in“the“currentŽ”‘F™Šdirectory.‘¹–*/Ž”‘8lČif–¹–(start“==“0)Ž”‘Aßōmatches–¹–=“rl_completion_matches“(text,“command_generator);Ž©‘8lČreturn‘¹–(matches);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Generator“function“for“command“completion.‘	s,STATE“lets“us“know“whetherŽ”‘=&^to–¹–start“from“scratch;“without“any“state“(i.e.“STATE“==“0),“then“weŽ”‘=&^start–¹–at“the“top“of“the“list.“*/Ž”‘.łœchar‘¹–*Ž”‘.łœcommand_generator–¹–(text,“state)Ž”‘F™Šconst–¹–char“*text;Ž”‘F™Šint‘¹–state;Ž”‘.łœ{Ž”‘8lČstatic–¹–int“list_index,“len;Ž”‘8lČchar‘¹–*name;Ž¦‘8lČ/*–¹–If“this“is“a“new“word“to“complete,“initialize“now.‘	s,This“includesŽ”‘F™Šsaving–¹–the“length“of“TEXT“for“efficiency,“and“initializing“the“indexŽ”‘F™Švariable–¹–to“0.“*/Ž”‘8lČif‘¹–(!state)Ž”‘Aßō{Ž”‘KS list_index–¹–=“0;Ž”‘KS len–¹–=“strlen“(text);Ž”‘Aßō}Ž¦‘8lČ/*–¹–Return“the“next“name“which“partially“matches“from“the“command“list.“*/Ž”‘8lČwhile–¹–(name“=“commands[list_index].name)Ž”‘Aßō{Ž”‘KS list_index++;Ž¦‘KS if–¹–(strncmp“(name,“text,“len)“==“0)Ž”‘TĘLreturn‘¹–(dupstr(name));Ž”‘Aßō}Ž¦‘8lČ/*–¹–If“no“names“matched,“then“return“NULL.“*/Ž”‘8lČreturn–¹–((char“*)NULL);Ž”‘.łœ}Ž¦‘.łœ/*–¹–****************************************************************“*/Ž”‘.łœ/*’7Ų¬*/Ž”‘.łœ/*‘l¬zFileMan‘¹–Commands‘’Ņ*/Ž”‘.łœ/*’7Ų¬*/Ž”‘.łœ/*–¹–****************************************************************“*/Ž¦‘.łœ/*–¹–String“to“pass“to“system“().‘	s,This“is“for“the“LIST,“VIEW“and“RENAMEŽ”‘=&^commands.‘¹–*/ŽŽŒ‹@MGŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—64ŽŽŽ ƒ33 ż ĢĶ‘.łœÉstatic–¹–char“syscom[1024];Ž©‘.łœ/*–¹–List“the“file(s)“named“in“arg.“*/Ž¤
  115: €‘.łœcom_list‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČif‘¹–(!arg)Ž”‘Aßōarg–¹–=“"";Ž¦‘8lČsprintf–¹–(syscom,“"ls“-FClg“%s",“arg);Ž”‘8lČreturn–¹–(system“(syscom));Ž”‘.łœ}Ž¦‘.łœcom_view‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČif–¹–(!valid_argument“("view",“arg))Ž”‘Aßōreturn‘¹–1;Ž¦‘.łœ#if–¹–defined“(__MSDOS__)Ž”‘8lČ/*–¹–more.com“doesn't“grok“slashes“in“pathnames“*/Ž”‘8lČsprintf–¹–(syscom,“"less“%s",“arg);Ž”‘.łœ#elseŽ”‘8lČsprintf–¹–(syscom,“"more“%s",“arg);Ž”‘.łœ#endifŽ”‘8lČreturn–¹–(system“(syscom));Ž”‘.łœ}Ž¦‘.łœcom_rename‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČtoo_dangerous‘¹–("rename");Ž”‘8lČreturn‘¹–(1);Ž”‘.łœ}Ž¦‘.łœcom_stat‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČstruct–¹–stat“finfo;Ž¦‘8lČif–¹–(!valid_argument“("stat",“arg))Ž”‘Aßōreturn‘¹–(1);Ž¦‘8lČif–¹–(stat“(arg,“&finfo)“==“-1)Ž”‘Aßō{Ž”‘KS perror‘¹–(arg);Ž”‘KS return‘¹–(1);Ž”‘Aßō}Ž¦‘8lČprintf–¹–("Statistics“for“`%s':\n",“arg);Ž¦‘8lČprintf–¹–("%s“has“%d“link%s,“and“is“%d“byte%s“in“length.\n",Ž”‘8lČarg,Ž”‘^9xfinfo.st_nlink,Ž”‘^9x(finfo.st_nlink–¹–==“1)“?“""“:“"s",Ž”‘^9xfinfo.st_size,Ž”‘^9x(finfo.st_size–¹–==“1)“?“""“:“"s");Ž”‘8lČprintf–¹–("Inode“Last“Change“at:“%s",“ctime“(&finfo.st_ctime));ŽŽŒ‹ATэŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—65ŽŽŽ ƒ33 ż ĢĶ‘8lČÉprintf–¹–("‘Y„Last“access“at:“%s",“ctime“(&finfo.st_atime));Ž¤
  116: €‘8lČprintf–¹–("‘ęXLast“modified“at:“%s",“ctime“(&finfo.st_mtime));Ž”‘8lČreturn‘¹–(0);Ž”‘.łœ}Ž©‘.łœcom_delete‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČtoo_dangerous‘¹–("delete");Ž”‘8lČreturn‘¹–(1);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Print“out“help“for“ARG,“or“for“all“of“the“commands“if“ARG“isŽ”‘=&^not–¹–present.“*/Ž”‘.łœcom_help‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČregister–¹–int“i;Ž”‘8lČint–¹–printed“=“0;Ž¦‘8lČfor–¹–(i“=“0;“commands[i].name;“i++)Ž”‘Aßō{Ž”‘KS if–¹–(!*arg“||“(strcmp“(arg,“commands[i].name)“==“0))Ž”‘TĘL{Ž”‘^9xprintf–¹–("%s\t\t%s.\n",“commands[i].name,“commands[i].doc);Ž”‘^9xprinted++;Ž”‘TĘL}Ž”‘Aßō}Ž¦‘8lČif‘¹–(!printed)Ž”‘Aßō{Ž”‘KS printf–¹–("No“commands“match“`%s'.‘	s,Possibilities“are:\n",“arg);Ž¦‘KS for–¹–(i“=“0;“commands[i].name;“i++)Ž”‘TĘL{Ž”‘^9x/*–¹–Print“in“six“columns.“*/Ž”‘^9xif–¹–(printed“==“6)Ž”‘g¬¤{Ž”‘qŠprinted–¹–=“0;Ž”‘qŠprintf‘¹–("\n");Ž”‘g¬¤}Ž¦‘^9xprintf–¹–("%s\t",“commands[i].name);Ž”‘^9xprinted++;Ž”‘TĘL}Ž¦‘KS if‘¹–(printed)Ž”‘TĘLprintf‘¹–("\n");Ž”‘Aßō}Ž”‘8lČreturn‘¹–(0);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Change“to“the“directory“ARG.“*/Ž”‘.łœcom_cd‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČif–¹–(chdir“(arg)“==“-1)Ž”‘Aßō{ŽŽŒ‹BZtŸņ‘GįChapter–¦f2:‘ŻŻProgramming“with“GNU“Readline’Ź—66ŽŽŽ ƒ33 ż ĢĶ‘KS Éperror‘¹–(arg);Ž¤
  117: €‘KS return‘¹–1;Ž”‘Aßō}Ž©‘8lČcom_pwd‘¹–("");Ž”‘8lČreturn‘¹–(0);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Print“out“the“current“working“directory.“*/Ž”‘.łœcom_pwd‘¹–(ignore)Ž”‘F™Šchar‘¹–*ignore;Ž”‘.łœ{Ž”‘8lČchar–¹–dir[1024],“*s;Ž¦‘8lČs–¹–=“getcwd“(dir,“sizeof(dir)“-“1);Ž”‘8lČif–¹–(s“==“0)Ž”‘Aßō{Ž”‘KS printf–¹–("Error“getting“pwd:“%s\n",“dir);Ž”‘KS return‘¹–1;Ž”‘Aßō}Ž¦‘8lČprintf–¹–("Current“directory“is“%s\n",“dir);Ž”‘8lČreturn‘¹–0;Ž”‘.łœ}Ž¦‘.łœ/*–¹–The“user“wishes“to“quit“using“this“program.‘	s,Just“set“DONE“non-zero.“*/Ž”‘.łœcom_quit‘¹–(arg)Ž”‘F™Šchar‘¹–*arg;Ž”‘.łœ{Ž”‘8lČdone–¹–=“1;Ž”‘8lČreturn‘¹–(0);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Function“which“tells“you“that“you“can't“do“this.“*/Ž”‘.łœtoo_dangerous‘¹–(caller)Ž”‘F™Šchar‘¹–*caller;Ž”‘.łœ{Ž”‘8lČfprintf‘¹–(stderr,Ž”‘bó"%s:–¹–Too“dangerous“for“me“to“distribute.‘	s,Write“it“yourself.\n",Ž”‘bócaller);Ž”‘.łœ}Ž¦‘.łœ/*–¹–Return“non-zero“if“ARG“is“a“valid“argument“for“CALLER,“else“printŽ”‘=&^an–¹–error“message“and“return“zero.“*/Ž”‘.łœintŽ”‘.łœvalid_argument–¹–(caller,“arg)Ž”‘F™Šchar–¹–*caller,“*arg;Ž”‘.łœ{Ž”‘8lČif–¹–(!arg“||“!*arg)Ž”‘Aßō{Ž”‘KS fprintf–¹–(stderr,“"%s:“Argument“required.\n",“caller);Ž”‘KS return‘¹–(0);Ž”‘Aßō}Ž¦‘8lČreturn‘¹–(1);Ž”‘.łœ}ŽŽŒ‹C_÷Ÿņ’ø¼Ėį67ŽŽŽ ƒ33 ż ĢĶ‘GėTApp›Š=endix‘zįA‘	øQGNU–z³F‘žaGree“Do˜cumen‘’uĀtation“LicenseŽŽŸƒŖ’£¤AįV‘’eersion–¦f1.3,“3“No•²!v“em“bMŽer‘¦f2008Ž©Q‘.łœCop•²!yrigh“t‘±ž«‚cŽŽŽ‘¦fź
ŽŽŽŽ‘@į2000,–¦f2001,“2002,“2007,“2008“F›’eree“Soft•²!w“are–¦fF˜oundation,“Inc.Ž¤
33‘.łœāhttp://fsf.org/ŽŸff‘.łœįEv•²!ery“one–¦fis“pMŽermitted“to“copš²!y“and“distribute“v˜erbatim“copiesŽ”‘.łœof–¦fthis“license“doMŽcumenš²!t,“but“c˜hanging“it“is“not“allo˜w˜ed.Ž¦‘-0.Ž‘'æ«PREAMBLEŽ¦‘'æ«The–vQpurpMŽose›vRof“this˜License“is˜to“mak²!e“a˜man²!ual,›ŖLtextb•MŽo“ok,˜or–vQother‘vRfunctional“andŽ”‘'æ«useful–žļdoMŽcumen²!t›žīåfree‘;öįin“the“sense˜of“freedom:‘Ś!to“assure“ev•²!ery“one‘žļthe˜eectiv“e‘žļfreedomŽ”‘'æ«to–Ę9cop²!y›Ę:and“redistribute“it,‘Ī.with“or˜without“moMŽdifying“it,‘Ī.either“commercially˜or“non-Ž”‘'æ«commercially–’e.‘cĻSecondarily“,‘Hąthis–(aLicense›(bpreserv²!es“for“the˜author“and“publisher˜a“w•²!a“yŽ”‘'æ«to–W9get“credit›W8for“their“w²!ork,‘ƒmwhile“not“bMŽeing“considered˜respšMŽonsible“for“mo˜dicationsŽ”‘'æ«made–¦fb²!y“others.Ž¦‘'æ«This–Č/License›Č0is“a“kind“of˜\cop•²!yleft",‘ō whic“h–Č/means˜that“deriv‘’dDativš²!e“w˜orks“of‘Č0the“doMŽcumen˜tŽ”‘'æ«m•²!ust›õthemselv“es–ōbMŽe˜free˜in˜the“same˜sense.‘ ‰It˜complemen²!ts˜the“GNU‘ŁGeneral˜PublicŽ”‘'æ«License,–¦fwhicš²!h“is“a“cop˜yleft“license“designed“for“free“soft˜w˜are.Ž¦‘'æ«W‘’ee›‹#ha•²!v“e˜designed˜this˜License˜in˜order˜to˜use˜it‘‹"for˜man“uals˜for˜free˜soft“w“are,‘—bMŽecauseŽ”‘'æ«free›?soft•²!w“are˜needs˜free‘>doMŽcumen“tation:‘³a˜free˜program˜should‘>come˜with˜man“ualsŽ”‘'æ«pro²!viding–urthe›ussame“freedoms˜that“the˜soft•²!w“are–urdoMŽes.‘ĶŒBut˜this“License˜is“not˜limited“toŽ”‘'æ«soft•²!w“are›­āman“uals;‘±”it–­ćcan˜bMŽe“used˜for“an²!y˜textual“w²!ork,‘ÆĮregardless“of˜sub‘›»ject“matter˜orŽ”‘'æ«whether–Ē2it“is“published“as“a“prin²!ted“b•MŽo“ok.‘@BW‘’ee–Ē2recommend“this“License“principally“forŽ”‘'æ«w²!orks–¦fwhose“purpMŽose“is“instruction“or“reference.Ž¦‘-1.Ž‘'æ«APPLICABILITY–¦fAND“DEFINITIONSŽŸP‘'æ«This–Ģ>License‘Ģ=applies“to“anš²!y“man˜ual‘Ģ=or“other“w˜ork,‘³in“an˜y–Ģ=medium,‘“that“con˜tains‘Ģ>aŽ”‘'æ«notice–żplaced›żb²!y“the˜cop•²!yrigh“t‘żholder˜sa“ying–żit˜can“bMŽe˜distributed“under˜the“termsŽ”‘'æ«of–€†this“License.‘l=Sucš²!h“a“notice“gran˜ts“a“w˜orld-wide,‘·
ro˜y˜alt˜y-free“license,‘·unlimited“inŽ”‘'æ«duration,‘ā
  118: to–o·use›o¶that“w²!ork“under˜the“conditions“stated˜herein.‘
  119: 9ĻThe“\DoMŽcumen²!t",Ž”‘'æ«bMŽeloš²!w,‘tkrefers–gģto“an˜y“suc˜h‘gķman˜ual“or“w˜ork.‘É
  120: An˜y“mem˜bMŽer“of“the‘gķpublic“is“a“licensee,‘tkandŽ”‘'æ«is–’addressed“as“\yš²!ou".‘¦@Y‘’eou“accept“the“license“if“y˜ou“cop˜y‘’e,‘ īmoMŽdify“or“distribute“the“w˜orkŽ”‘'æ«in–¦fa“w•²!a“y–¦frequiring“pMŽermission“under“cop•²!yrigh“t‘¦fla“w.Ž¦‘'æ«A‘¦\MošMŽdied–ĄV‘’eersion"‘Įof“the“Do˜cumenš²!t“means‘Įan˜y“w˜ork“con˜taining“the‘ĮDoMŽcumen˜t“orŽ”‘'æ«a–‚hpMŽortion›‚gof“it,‘¹heither˜copied“v²!erbatim,‘¹hor˜with“moMŽdications“and/or˜translated“in²!toŽ”‘'æ«another‘¦flanguage.Ž¦‘'æ«A‘ž\Secondary–ĄSection"“is›Įa“named˜appMŽendix“or˜a“fron²!t-matter˜section“of˜the“DoMŽcumen²!tŽ”‘'æ«that–Ž/deals“exclusiv²!ely›Ž0with“the“relationship“of˜the“publishers“or“authors˜of“the“DoMŽcumen²!tŽ”‘'æ«to–z
the‘zDoMŽcumenš²!t's“o˜v˜erall›zsub‘›»ject“(or˜to“related“matters)˜and“con²!tains˜nothing“thatŽ”‘'æ«could–Ų®fall›ŲÆdirectly“within“that“o•²!v“erall˜sub‘›»ject.‘tµ(Th“us,‘%@if˜the›Ų®DoMŽcumen“t˜is˜in‘ŲÆpart˜aŽ”‘'æ«textb•MŽo“ok›Նof–Յmathematics,‘’Ma“Secondary˜Section˜ma²!y˜not“explain˜an²!y˜mathematics.)‘˜=TheŽ”‘'æ«relationship–GŽcould“bMŽe“a“matter“of“historical“connection“with“the“sub‘›»ject“or“with“relatedŽ”‘'æ«matters,–jor‘Bųof›B÷legal,“commercial,‘jphilosophical,“ethical˜or˜p•MŽolitical‘Bųp“osition˜regardingŽ”‘'æ«them.Ž¦‘'æ«The›r\In•²!v‘’dDarian“t–sSections"˜are˜certain˜Secondary“Sections˜whose˜titles˜are“designated,‘0ÖasŽ”‘'æ«bMŽeing–2Dthose›2Cof“In•²!v‘’dDarian“t–2DSections,‘I}in“the“notice˜that“sa²!ys˜that“the“DoMŽcumen²!t˜is“releasedŽŽŒ‹DexŸņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:68ŽŽŽ ƒ33 ż ĢĶ‘'æ«under–S5this“License.‘Ā"If›S4a“section“doMŽes“not“t˜the“abMŽo•²!v“e–S5denition“of“Secondary˜then“it“isŽ¤
33‘'æ«not›Ӎallo•²!w“ed˜to‘ӎbMŽe˜designated˜as˜In“v‘’dDarian“t.‘eSThe˜DoMŽcumen“t˜ma“y‘ӎcon“tain˜zero˜In“v‘’dDarian“tŽ”‘'æ«Sections.‘¢ÄIf–õthe“DošMŽcumen²!t“do˜es‘õnot“idenš²!tify“an˜y“In˜v‘’dDarian˜t“Sections“then‘õthere“are“none.Ž©&g‘'æ«The›f­\Co•²!v“er–f¬T‘’eexts"˜are˜certain˜short“passages˜of˜text˜that“are˜listed,‘–¾as˜F‘’eron•²!t-Co“v“erŽ”‘'æ«T›’eexts–-or“Bac•²!k-Co“v“er‘,T˜exts,‘"8in–-the“notice“that‘,saš²!ys“that“the“DoMŽcumen˜t‘,is“released“underŽ”‘'æ«this›’License.‘ÆAA‘nF‘’eron•²!t-Co“v“er˜T‘’eext˜ma“y˜bMŽe˜at˜most˜5›‘w“ords,‘6Šand˜a›’Bac“k-Co“v“er˜T‘’eext˜ma“yŽ”‘'æ«bMŽe–¦fat“most“25“w²!ords.ŽŸ&h‘'æ«A‘C¦\T‘’eransparen•²!t"›CĪcop“y˜of‘CĻthe˜DoMŽcumen“t˜means˜a‘CĻmac“hine-readable˜cop“y‘’e,‘k(represen“tedŽ”‘'æ«in–Jma“format›Jnwhose“spMŽecication“is“a²!v‘’dDailable“to“the˜general“public,‘snthat˜is“suitable“forŽ”‘'æ«revising–Īąthe‘ĪßdoMŽcumenš²!t“straigh˜tforw˜ardly“with›Īßgeneric“text˜editors“or“(for˜images“com-Ž”‘'æ«pMŽosed–ŚĆof›ŚÄpixels)“generic˜pain²!t“programs˜or“(for˜dra²!wings)“some˜widely“a•²!v‘’dDailable˜dra“wingŽ”‘'æ«editor,‘…śand–}ßthat“is“suitable“for“input“to‘}ątext“formatters“or“for“automatic“translation“toŽ”‘'æ«a–9Ov‘’dDariet²!y“of›9Nformats“suitable“for“input“to“text˜formatters.‘¹A‘93cop²!y“made˜in“an“otherwiseŽ”‘'æ«T‘’eransparen²!t–„ęle“format›„åwhose“markup,‘¼†or“absence˜of“markup,‘¼†has˜bMŽeen“arranged“toŽ”‘'æ«th•²!w“art–0ūor›0üdiscourage“subsequen²!t“moMŽdication˜b²!y“readers“is˜not“T‘’eransparen²!t.‘¶ŗAn“imageŽ”‘'æ«format– Éis“not“T‘’eransparenš²!t“if“used‘ Čfor“an˜y“substan˜tial“amoun˜t“of“text.‘MA‘ ©cop˜y“that“isŽ”‘'æ«not–¦f\T‘’eransparen²!t"“is“called“\Opaque".Ž¦‘'æ«Examples–cXof“suitable›cWformats“for“T‘’eransparen²!t“copies“include˜plain“ēasci>Ki“įwithoutŽ”‘'æ«markup,‘„ĀT‘’eexinfo–XIinput“format,›„ĮLaT‘ž,³Ÿ[wEŽ‘B	X‘XJinput“format,˜óKń`y
  121: 
  122: cmr10«SGML“įor‘XJ«XML“įusing“a“publiclyŽ”‘'æ«a²!v‘’dDailable–Ā«DTDį,‘üand›Āstandard-conforming“simple˜«HTMLį,‘üP²!ostScript“or˜«PDF“įdesignedŽ”‘'æ«for–˜.hš²!uman“moMŽdication.‘³4Examples“of“transparen˜t“image“formats“include“«PNGį,‘ŌŸ«XøćCFŽ”‘'æ«įand–¢«JPGį.‘ŠįOpaque“formats“include“proprietary‘¢formats“that“can“bMŽe“read“and“editedŽ”‘'æ«only–sbš²!y‘sproprietary“w˜ord›sproMŽcessors,‘&J«SGML“įor˜«XML“įfor˜whic²!h“the˜«DTD“įand/orŽ”‘'æ«pro•MŽcessing›W*to“ols˜are˜not‘W)generally˜a•²!v‘’dDailable,‘CYand˜the˜mac“hine-generated˜«HTMLį,Ž”‘'æ«Pš²!ostScript–¦for“«PDF“įproMŽduced“b˜y“some“w˜ord“prošMŽcessors“for“output“purp˜oses“only‘’e.Ž¦‘'æ«The–Ü\Title›ŪP²!age"“means,‘<łfor˜a“prin²!ted˜b•MŽo“ok,‘<łthe–Ütitle˜page“itself,‘<łplus˜sucš²!h“follo˜wingŽ”‘'æ«pages–RĆas“are“needed“to“hold,–c}legibly‘’e,“the–RĆmaterial“this‘RĀLicense“requires“to“appMŽear“in“theŽ”‘'æ«title–1.page.‘¶ŹF‘’eor“w²!orks›1-in“formats˜whic²!h“do“not˜ha•²!v“e‘1.an“y˜title–1.page“as˜sucš²!h,‘HŸ\Title“P˜age"Ž”‘'æ«means–­Žthe“text“near›­the“most“prominen²!t“appMŽearance“of“the˜w²!ork's“title,‘ÆXpreceding“theŽ”‘'æ«bšMŽeginning–¦fof“the“b˜o˜dy“of“the“text.Ž¦‘'æ«The–)—\publisher"“means‘)˜anš²!y“pMŽerson“or“en˜tit˜y“that“distributes‘)˜copies“of“the“DoMŽcumen˜tŽ”‘'æ«to–¦fthe“public.ŽŸ&h‘'æ«A›ķsection–ņ\En²!titled“XYZ"˜means“a“named›ósubunit“of“the“DoMŽcumen²!t˜whose“title“eitherŽ”‘'æ«is–UŖprecisely‘U©XYZ›U•or“con²!tains“XYZ˜in“paren•²!theses›U©follo“wing–UŖtext“that˜translates“XYZ‘U•inŽ”‘'æ«another–žÆlanguage.‘„ö(Here“XYZ‘ž„stands“for“a“spšMŽecic“section“name“men²!tioned“b˜elo•²!w,‘ :suc“hŽ”‘'æ«as›aa\Ac•²!kno“wledgemen“ts",–o/\Dedications",“\Endorsemen²!ts",“or˜\History".)‘ĘŪT‘’eo˜\Preserv²!eŽ”‘'æ«the–›Title"›šof“suc²!h˜a“section“when˜y²!ou“moMŽdify˜the“DoMŽcumen²!t“means˜that“it˜remains“aŽ”‘'æ«section–¦f\En²!titled“XYZ"“according“to“this“denition.Ž¦‘'æ«The–SuDoMŽcumenš²!t“ma˜y“include“W‘’earran˜t˜y“Disclaimers“next‘Svto“the“notice“whic˜h“states“thatŽ”‘'æ«this–¹License“applies‘ŗto“the“DoMŽcumenš²!t.‘×These“W‘’earran˜t˜y“Disclaimers‘ŗare“considered“toŽ”‘'æ«bMŽe–„żincluded›„žb²!y“reference“in“this˜License,‘¼£but“only“as“regards˜disclaiming“w•²!arran“ties:Ž”‘'æ«an²!y–nother›n‘implication“that˜these“W‘’earran•²!t“y˜Disclaimers‘nma“y˜ha“v“e‘nis˜v“oid–nand˜has“noŽ”‘'æ«eect–¦fon“the“meaning“of“this“License.Ž¦‘-2.Ž‘'æ«VERBA‘’eTIM‘¦fCOPYINGŽŽŒ‹EuōŸņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:69ŽŽŽ ƒ33 ż ĢĶ‘'æ«Y‘’eou–’łmaš²!y“cop˜y“and“distribute“the“DoMŽcumen˜t“in“an˜y“medium,‘Īeither“commercially“orŽ¤
33‘'æ«noncommercially‘’e,›zŖpro²!vided–that‘this“License,˜the‘cop•²!yrigh“t–notices,˜and‘the“licenseŽ”‘'æ«notice–Ksa²!ying›K
this“License˜applies“to˜the“DoMŽcumen²!t“are˜reproMŽduced“in˜all“copies,‘t7andŽ”‘'æ«that–1'yš²!ou“add“no‘1(other“conditions“whatsoMŽev˜er“to“those“of“this“License.‘¶ÉY‘’eou“ma˜y“not“useŽ”‘'æ«tec²!hnical–ņ“measures›ņ”to“obstruct˜or“con²!trol˜the“reading˜or“further˜cop²!ying“of˜the“copiesŽ”‘'æ«y•²!ou›ņĒmak“e‘ņČor˜distribute.‘”žHo“w“ev“er,‘“y“ou˜ma“y˜accept‘ņČcompMŽensation˜in˜exc“hange‘ņČfor˜copies.Ž”‘'æ«If–Žy²!ou›Ždistribute“a“large˜enough“n•²!um“bMŽer˜of–Žcopies“y•²!ou˜m“ust–Žalso“follo²!w˜the“conditionsŽ”‘'æ«in–¦fsection“3.Ž©"#‘'æ«Y‘’eou–}ģma²!y“also›}ėlend“copies,‘¹7under“the“same“conditions“stated˜abMŽo•²!v“e,‘¹8and˜y“ou›}ģma“y˜publiclyŽ”‘'æ«displa²!y‘¦fcopies.Ž¦‘-3.Ž‘'æ«COPYING–¦fIN“QUANTITYŽ¦‘'æ«If–Ćyš²!ou‘Āpublish“prin˜ted›Ācopies“(or˜copies˜in“media“that˜commonly“ha•²!v“e˜prin“ted˜co“v“ers)‘ĆofŽ”‘'æ«the‘Ń.DošMŽcumen•²!t,‘Ūßn“um“b˜ering–Ń.more“than–Ń-100,‘Ūąand“the–Ń.Do˜cumen²!t's“license‘Ń-notice“requiresŽ”‘'æ«Co•²!v“er›ÜT‘’eexts,‘<ły“ou‘Ūm“ust˜enclose˜the˜copies‘Ūin˜co“v“ers˜that˜carry–’e,‘<łclearly‘Ūand˜legibly“,‘<łallŽ”‘'æ«these›“@Co•²!v“er˜T–’eexts:‘łF“ron•²!t-Co“v“er˜T‘’eexts˜on˜the˜fron“t˜co“v“er,‘÷µand˜Bac“k-Co“v“er˜T‘’eexts˜onŽ”‘'æ«the›öbac•²!k‘õco“v“er.‘Ń
Both˜co“v“ers˜m“ust–õalso˜clearly˜and˜legibly“iden•²!tify˜y“ou˜as‘õthe˜publisherŽ”‘'æ«of›,these–+copies.‘H/The“fron•²!t˜co“v“er˜m“ust˜presen“t–+the˜full˜title“with˜all˜w²!ords˜of“the˜titleŽ”‘'æ«equally–³xprominenš²!t“and‘³yvisible.‘Y‘’eou“ma˜y›³yadd“other“material“on“the˜co•²!v“ers–³xin“addition.Ž”‘'æ«Cop•²!ying›Y4with‘Y3c“hanges˜limited–Y3to˜the“co•²!v“ers,‘…ēas–Y3long˜as“they˜preserv²!e“the˜title“of˜theŽ”‘'æ«DošMŽcumen²!t–uand“satisfy“these“conditions,‘ØÅcan“b˜e“treated‘uas“vš²!erbatim“cop˜ying“in“otherŽ”‘'æ«respMŽects.Ž¦‘'æ«If–ī|the“required›ī}texts“for“either“co•²!v“er–ī|are“toMŽo˜vš²!oluminous“to“t“legibly‘’e,‘‚y˜ou“should“putŽ”‘'æ«the–ņrst›ņones“listed“(as“man²!y˜as“t“reasonably)“on˜the“actual“co•²!v“er,‘łand˜con“tin“ue‘ņtheŽ”‘'æ«rest–¦fonš²!to“adjacen˜t“pages.ŽŸ""‘'æ«If–?|y²!ou›?{publish“or˜distribute“Opaque˜copies“of˜the“DoMŽcumen•²!t˜n“um“bMŽering–?|more˜than“100,Ž”‘'æ«y•²!ou›\3m“ust˜either‘\4include˜a˜mac“hine-readable˜T‘’eransparen“t˜cop“y˜along‘\4with˜eac“h˜OpaqueŽ”‘'æ«cop²!y‘’e,‘[>or›7state–7in“or˜with“eacš²!h“Opaque“cop˜y‘7a“computer-net˜w˜ork“loMŽcation‘7from“whic˜hŽ”‘'æ«the›éSgeneral‘éRnet•²!w“ork-using˜public˜has‘éRaccess˜to˜do“wnload˜using‘éRpublic-standard˜net“w“orkŽ”‘'æ«protoMŽcols–¬=a“complete‘¬>T‘’eransparenš²!t“cop˜y“of“the“DoMŽcumen˜t,‘ķ³free“of“added“material.‘ļcIfŽ”‘'æ«yš²!ou–Ŗuse“the‘Ŗlatter“option,‘źły˜ou“m˜ust‘Ŗtak˜e“reasonably“pruden˜t“steps,‘źųwhen“y˜ou“bMŽeginŽ”‘'æ«distribution–—lof›—mOpaque“copies˜in“quan•²!tit“y‘’e,‘Ó®to–—lensure“that˜this“T‘’eransparen•²!t˜cop“y‘—lwillŽ”‘'æ«remain– Cthš²!us“accessible‘ Dat“the“stated“loMŽcation“un˜til‘ Dat“least“one“y˜ear“after‘ Dthe“last“timeŽ”‘'æ«yš²!ou–k‘distribute‘k’an“Opaque“cop˜y‘k’(directly“or“through“y˜our‘k’agen˜ts“or“retailers)‘k’of“thatŽ”‘'æ«edition–¦fto“the“public.Ž¦‘'æ«It–&Nis“requested,‘FHbut“not“required,‘FGthat“yš²!ou“con˜tact“the“authors“of“the“DoMŽcumen˜t“w˜ellŽ”‘'æ«bMŽefore–oÅredistributing‘oÄanš²!y“large“n˜um˜bMŽer›oÄof“copies,‘z²to˜giv²!e“them˜a“c²!hance“to˜proš²!vide“y˜ouŽ”‘'æ«with–¦fan“upšMŽdated“v²!ersion“of“the“Do˜cumen²!t.Ž¦‘-4.Ž‘'æ«MODIFICA‘’eTIONSŽ¦‘'æ«Y‘’eou–*maš²!y“cop˜y“and›)distribute“a“MoMŽdied“V‘’eersion“of“the˜DoMŽcumen²!t“under“the“conditionsŽ”‘'æ«of–…šsections›…›2“and˜3“abMŽo•²!v“e,‘æ]pro“vided˜that‘…šy“ou˜release–…šthe˜MoMŽdied“V‘’eersion˜under“preciselyŽ”‘'æ«this–{ŽLicense,‘„`with“the›{ßMoMŽdied“V‘’eersion“lling˜the“role“of˜the“DoMŽcumen•²!t,‘„`th“us‘{ŽlicensingŽ”‘'æ«distribution–øand“mošMŽdication‘¹of“the“Mo˜died“V‘’eersion“to“who˜ev²!er‘¹p˜ossesses“a“cop²!y“ofŽ”‘'æ«it.‘ŻŻIn–¦faddition,“yš²!ou“m˜ust“do“these“things“in“the“MoMŽdied“V‘’eersion:Ž¦‘*ņÄA.Ž‘=nUse–ķpin“the“Title“Pš²!age“(and“on“the“co˜v˜ers,‘’2if“an˜y)“a“title“distinct“from“that“of“theŽ”‘=nDoMŽcumenš²!t,‘+and–ˆfrom“those“of“previous“v˜ersions‘‡(whic˜h“should,‘+if“there“w˜ere“an˜y‘’e,ŽŽŒ‹FˆXŸņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:70ŽŽŽ ƒ33 ż ĢĶ‘=nbšMŽe–Āųlisted“in“the“History‘Ā÷section“of“the“Do˜cumenš²!t).‘3“Y‘’eou“ma˜y‘Ā÷use“the“same“title“asŽ¤
33‘=na–¦fprevious“vš²!ersion“if“the“original“publisher“of“that“v˜ersion“giv˜es“pMŽermission.Ž©€‘+gB.Ž‘=nList–Ŗ\on“the“Title›Ŗ[P²!age,‘«Zas“authors,‘«Yone“or“more“pMŽersons˜or“en²!tities“respMŽonsible“forŽ”‘=nauthorship–"of›"the“moMŽdications“in˜the“MoMŽdied˜V‘’eersion,‘<|together“with“at˜least“v²!eŽ”‘=nof–ßøthe“principal“authors“of“the“DoMŽcumenš²!t“(all“of“its“principal“authors,‘uif“it“has“few˜erŽ”‘=nthan–¦fvš²!e),“unless“they“release“y˜ou“from“this“requiremen˜t.ŽŸ€‘+@¢C.Ž‘=nState–±Óon›±Ņthe“Title˜page“the˜name“of˜the“publisher˜of“the˜MoMŽdied“V‘’eersion,‘“­as“theŽ”‘=npublisher.Ž¦‘*ĖÕD.Ž‘=nPreservš²!e–¦fall“the“cop˜yrigh˜t“notices“of“the“DoMŽcumen˜t.Ž¦‘+µoE.Ž‘=nAdd–Äean›Ädappropriate“cop•²!yrigh“t˜notice‘Äefor˜y“our‘ÄemoMŽdications˜adjacen“t–Äeto˜the“otherŽ”‘=ncop•²!yrigh“t‘¦fnotices.ŽŸ€‘,LF.Ž‘=nInclude,›hSimmediately–XĪafter“the“cop•²!yrigh“t–XĪnotices,˜a“license“notice“giving“the“publicŽ”‘=npMŽermission–ļĖto›ļŹuse“the˜MoMŽdied“V‘’eersion“under˜the“terms˜of“this“License,‘Pin˜the“formŽ”‘=nshoš²!wn–¦fin“the“Addendum“bMŽelo˜w.Ž¦‘*‘nG.Ž‘=nPreserv²!e–¼min›¼lthat“license˜notice“the˜full“lists˜of“In•²!v‘’dDarian“t˜Sections–¼mand˜required“Co•²!v“erŽ”‘=nT‘’eexts–¦fgivš²!en“in“the“DoMŽcumen˜t's“license“notice.Ž¦‘*ņÄH.Ž‘=nInclude–¦fan“unaltered“cop²!y“of“this“License.ŽŸ€‘/4ēI.Ž‘=nPreservš²!e–Ś†the‘Ś‡section“En˜titled‘Ś‡\History",‘ēŽPreserv˜e“its›Ś‡Title,‘ēŽand“add˜to“it˜an“itemŽ”‘=nstating–_at›_least“the˜title,–mQy²!ear,“new˜authors,“and–_publisher˜of“the˜MoMŽdied“V‘’eersionŽ”‘=nas–ÄXgivš²!en“on‘ÄWthe“Title“P˜age.‘7³If‘ÄWthere“is“no“section“En˜titled“\History"‘ÄWin“the“DoMŽcu-Ž”‘=nmenš²!t,‘O#create‘-eone–-dstating“the“title,‘O$y˜ear,–O#authors,“and‘-epublisher–-dof“the“DoMŽcumen˜tŽ”‘=nas–Wgivš²!en“on“its“Title“P˜age,‘ƒFthen“add“an“item“describing“the“MoMŽdied“V‘’eersion“asŽ”‘=nstated–¦fin“the“previous“sen²!tence.Ž¦‘-ˆ¢J.Ž‘=nPreservš²!e–ęthe“net˜w˜ork“loMŽcation,‘õśif“an˜y‘’e,‘õśgiv˜en“in“the“DoMŽcumen˜t‘ęfor“public“access“toŽ”‘=na–½…T‘’eransparenš²!t“cop˜y‘½†of“the“DoMŽcumen˜t,‘ĆMand“lik˜ewise“the“net˜w˜ork‘½†loMŽcations“giv˜en“inŽ”‘=nthe–Ķ„DoMŽcumenš²!t‘Ķƒfor“previous“v˜ersions‘Ķƒit“w˜as“based“on.‘S6These‘Ķƒma˜y“bMŽe“placed‘Ķƒin“theŽ”‘=n\History"–8section.‘¦ĪY‘’eou›9ma²!y“omit˜a“net•²!w“ork–8loMŽcation˜for“a˜w²!ork“that˜w²!as“publishedŽ”‘=nat–Kleast“four‘Ky²!ears“bšMŽefore“the“Do˜cumen²!t“itself,‘t@or“if“the“original‘Kpublisher“of“theŽ”‘=nvš²!ersion–¦fit“refers“to“giv˜es“pMŽermission.Ž¦‘*¤åK.Ž‘=nF‘’eor–Łranš²!y“section“En˜titled“\Ac˜kno˜wledgemen˜ts"“or“\Dedications",‘oPreserv˜e“the“TitleŽ”‘=nof›/Rthe–/Qsection,‘G#and“preserv²!e˜in˜the“section˜all˜the“substance˜and“tone˜of˜eac²!h“of˜theŽ”‘=ncon•²!tributor›¦fac“kno“wledgemen“ts˜and/or˜dedications˜giv“en˜therein.Ž¦‘,Q*L.Ž‘=nPreservš²!e–?Ōall‘?Óthe“In˜v‘’dDarian˜t›?ÓSections“of˜the“DoMŽcumen²!t,‘f/unaltered˜in“their˜text“andŽ”‘=nin›PÜtheir–PŻtitles.‘Ż@Section“n•²!um“bMŽers˜or‘PŻthe˜equiv‘’dDalen“t–PŻare˜not“considered˜part“of˜theŽ”‘=nsection‘¦ftitles.ŽŸ€‘)M.Ž‘=nDelete–°5anš²!y“section“En˜titled‘°4\Endorsemen˜ts".‘ūJSuc˜h“a“section‘°4ma˜y“not“bMŽe“includedŽ”‘=nin–¦fthe“MoMŽdied“V‘’eersion.Ž¦‘*ņÄN.Ž‘=nDo–g!not›g"retitle“an²!y˜existing“section“to˜bMŽe“Enš²!titled“\Endorsemen˜ts"›g"or“to˜con
ict“inŽ”‘=ntitle–¦fwith“anš²!y“In˜v‘’dDarian˜t“Section.Ž¦‘*¤åO.Ž‘=nPreserv•²!e›¦fan“y˜W‘’earran“t“y˜Disclaimers.ŽŸĢĪ‘'æ«If–Ųthe›×MoMŽdied“V‘’eersion˜includes“new˜fron²!t-matter“sections˜or“appMŽendices˜that“qualifyŽ”‘'æ«as–XSecondary›X	Sections“and“con²!tain“no˜material“copied“from˜the“DoMŽcumen•²!t,‘g“y“ou˜ma“y‘XatŽ”‘'æ«y²!our–ćkoption›ćldesignate“some˜or“all“of˜these“sections˜as“in•²!v‘’dDarian“t.‘”ķT‘’eo˜do–ćkthis,‘ņ­add“theirŽŽŒ‹GšŗŸņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:71ŽŽŽ ƒ33 ż ĢĶ‘'æ«titles–@«to“the“list›@¬of“In•²!v‘’dDarian“t–@«Sections“in“the“MoMŽdied“V‘’eersion's“license˜notice.‘¬¬TheseŽ¤
33‘'æ«titles–¦fmš²!ust“bMŽe“distinct“from“an˜y“other“section“titles.Ž©(ö‘'æ«Y‘’eou–pmaš²!y‘qadd“a“section“En˜titled‘q\Endorsemen˜ts",‘s²pro˜vided“it“con˜tains‘qnothing“butŽ”‘'æ«endorsemen•²!ts›‘of‘‘y“our˜MoMŽdied˜V‘’eersion˜b“y‘‘v‘’dDarious˜parties|for˜example,‘•Zstatemen“ts˜ofŽ”‘'æ«pšMŽeer–D
review“or‘Dthat“the“text“has“b˜een‘Dappro•²!v“ed›D
b“y˜an˜organization‘Das˜the˜authoritativ“eŽ”‘'æ«denition–¦fof“a“standard.ŽŸ(÷‘'æ«Y‘’eou–f,ma²!y›f-add“a˜passage“of˜up“to˜vš²!e“w˜ords›f-as“a˜F›’eron•²!t-Co“v“er–f,T˜ext,‘sand›f-a“passage˜of“upŽ”‘'æ«to–@25“wš²!ords‘@Žas“a“Bac˜k-Co˜v˜er“T‘’eext,‘Tģto›@Žthe“end“of“the˜list“of“Co•²!v“er–@T‘’eexts˜in“the“MoMŽdiedŽ”‘'æ«V›’eersion.‘Õ+Only–N+one‘N*passage“of“F˜ron•²!t-Co“v“er‘N*T˜ext–N+and“one‘N*of“Bac•²!k-Co“v“er‘N+T˜ext‘N*ma“y‘N+bMŽeŽ”‘'æ«added–NĮbš²!y“(or“through“arrangemen˜ts“made“b˜y)‘NĀan˜y“one“en˜tit˜y‘’e.‘Ą¦If“the“DoMŽcumen˜t“alreadyŽ”‘'æ«includes›Éa‘Čco•²!v“er˜text–Čfor˜the˜same“co•²!v“er,‘/!previously˜added˜b“y‘Čy“ou˜or‘Čb“y˜arrangemen“tŽ”‘'æ«made–:Ēbš²!y“the“same“en˜tit˜y“y˜ou“are“acting“on“bMŽehalf“of,‘_ßy˜ou“ma˜y‘:Čnot“add“another;‘„÷butŽ”‘'æ«y•²!ou›)ma“y˜replace–*the˜old˜one,‘2on˜explicit˜pMŽermission˜from˜the“previous˜publisher˜thatŽ”‘'æ«added–¦fthe“old“one.Ž¦‘'æ«The–^author(s)›]and“publisher(s)˜of“the“DoMŽcumen²!t˜do“not“b²!y˜this“License˜giv²!e“pMŽermissionŽ”‘'æ«to–¤juse“their›¤knames“for“publicit²!y“for“or˜to“assert“or“imply“endorsemen²!t˜of“an²!y“MoMŽdiedŽ”‘'æ«V‘’eersion.ŽŸ(÷‘-5.Ž‘'æ«COMBINING‘¦fDOCUMENTSŽ¦‘'æ«Y‘’eou›¦Ēma•²!y‘¦Čcom“bine˜the˜DoMŽcumen“t–¦Čwith˜other“doMŽcumen²!ts˜released˜under“this˜License,Ž”‘'æ«under–—sthe“terms›—tdened“in“section“4˜abšMŽo•²!v“e–—sfor“mo˜died“v•²!ersions,‘Ó·pro“vided–—sthat“y²!ouŽ”‘'æ«include–	in›	the“com²!bination“all“of˜the“In•²!v‘’dDarian“t–	Sections˜of“all“of“the˜original“doMŽcumen²!ts,Ž”‘'æ«unmoMŽdied,‘L3and–5¦list›5§them“all˜as“In•²!v‘’dDarian“t–5¦Sections˜of“yš²!our“com˜bined‘5§w˜ork“in‘5§its“licenseŽ”‘'æ«notice,–¦fand“that“yš²!ou“preserv˜e“all“their“W‘’earran˜t˜y“Disclaimers.Ž¦‘'æ«The–¢@comš²!bined“w˜ork“need“only“con˜tain“one“cop˜y“of“this“License,‘£and“m˜ultiple“iden˜ticalŽ”‘'æ«In•²!v‘’dDarian“t–ęŻSections“maš²!y“bMŽe“replaced“with“a“single‘ęÜcop˜y‘’e.‘ŸBIf“there“are“m˜ultiple“In˜v‘’dDarian˜tŽ”‘'æ«Sections–6Ēwith›6Čthe“same˜name“but˜dierenš²!t“con˜ten˜ts,‘Mmak˜e›6Čthe“title˜of“eac•²!h˜suc“h‘6ĒsectionŽ”‘'æ«unique–bb²!y›cadding“at˜the“end˜of“it,‘1"in“paren²!theses,‘1!the˜name“of˜the“original˜author“orŽ”‘'æ«publisher–of“that›~section“if“kno²!wn,‘!­or“else“a“unique˜n•²!um“bMŽer.‘¦‘Mak“e˜the–same“adjustmen²!tŽ”‘'æ«to–ī‡the›ī†section“titles“in˜the“list“of˜In•²!v‘’dDarian“t–ī‡Sections“in“the˜license“notice“of˜the“com²!binedŽ”‘'æ«w²!ork.ŽŸ(÷‘'æ«In›ö"the‘ö#com•²!bination,‘Jy“ou˜m“ust‘ö#com“bine˜an“y‘ö#sections˜En“titled–ö#\History"˜in“the˜v‘’dDari-Ž”‘'æ«ous–ÜŪoriginal›ÜŚdoMŽcumen²!ts,‘źxforming“one˜section“Enš²!titled“\History";‘ųlik˜ewise‘ÜŚcom˜bine“an˜yŽ”‘'æ«sections–ŃEnš²!titled“\Ac˜kno˜wledgemen˜ts",‘Ūæand“an˜y“sections“En˜titled“\Dedications".‘]ēY‘’eouŽ”‘'æ«mš²!ust–¦fdelete“all“sections“En˜titled“\Endorsemen˜ts."Ž¦‘-6.Ž‘'æ«COLLECTIONS–¦fOF“DOCUMENTSŽŸ(÷‘'æ«Y‘’eou–Ņ¤maš²!y“mak˜e“a“collection“consisting“of‘Ņ£the“DoMŽcumen˜t“and“other“doMŽcumen˜ts“releasedŽ”‘'æ«under–this“License,‘sŚand“replace“the“individual“copies“of“this“License“in“the“v‘’dDariousŽ”‘'æ«doMŽcumenš²!ts–Dwith‘Ca“single“cop˜y›Cthat“is˜included“in“the˜collection,‘y»pro²!vided˜that“y²!ouŽ”‘'æ«follo²!w–t”the›t•rules“of˜this“License˜for“v•²!erbatim˜cop“ying‘t”of˜eac“h–t”of˜the“doMŽcumen²!ts˜in“allŽ”‘'æ«other‘¦frespMŽects.Ž¦‘'æ«Y‘’eou–Ę=maš²!y“extract“a“single“doMŽcumen˜t“from“suc˜h“a“collection,‘Ī2and“distribute“it“individu-Ž”‘'æ«ally–4under›4this“License,‘Wnpro•²!vided˜y“ou–4insert“a“cop²!y˜of“this“License“in²!to˜the“extractedŽ”‘'æ«doMŽcumen•²!t,‘łųand›éBfollo“w–éAthis˜License“in“all˜other“respMŽects˜regarding“v•²!erbatim˜cop“ying‘éAofŽ”‘'æ«that‘¦fdoMŽcumen²!t.ŽŽŒ‹H«Ÿņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:72ŽŽŽ ƒ33 ż ĢĶ‘-7.Ž‘'æ«Aš²!GGREGA‘’eTION–¦fWITH“INDEPENDENT“W˜ORKSŽ©(ö‘'æ«A‘]Ęcompilation–]Ųof“the“DoMŽcumenš²!t‘]Łor“its“deriv‘’dDativ˜es“with“other‘]Łseparate“and“indepMŽenden˜tŽ¤
33‘'æ«doMŽcumen•²!ts›’hor‘’iw“orks,‘©in˜or˜on‘’ia˜v“olume–’iof˜a“storage˜or˜distribution“medium,‘©is˜calledŽ”‘'æ«an–\aggregate"“if“the›
  123: cop•²!yrigh“t–resulting“from“the“compilation“is“not˜used“to“limit“theŽ”‘'æ«legal–1	righ²!ts›1of“the“compilation's˜users“bMŽey²!ond˜what“the“individual˜w²!orks“pMŽermit.‘¶¾WhenŽ”‘'æ«the–žDošMŽcumen²!t“is“included‘žin“an“aggregate,‘Ūšthis“License“do˜es“not‘žapply“to“the“otherŽ”‘'æ«wš²!orks–¦fin“the“aggregate“whic˜h“are“not“themselv˜es“deriv‘’dDativ˜e“w˜orks“of“the“DoMŽcumen˜t.ŽŸ(÷‘'æ«If–»Vthe“Co•²!v“er–»VT‘’eext“requiremenš²!t“of“section“3‘»Uis“applicable“to“these“copies“of“the“DoMŽcumen˜t,Ž”‘'æ«then–°Dif›°Ethe“DoMŽcumen²!t“is“less˜than“one“half“of˜the“en²!tire“aggregate,‘į~the˜DoMŽcumenš²!t's“Co˜v˜erŽ”‘'æ«T‘’eexts–0maš²!y“bMŽe“placed“on“co˜v˜ers“that“brac˜k˜et“the“DoMŽcumen˜t“within“the‘0aggregate,‘G°or“theŽ”‘'æ«electronic–5qequiv‘’dDalenš²!t‘5pof“co˜v˜ers›5pif“the˜DoMŽcumen²!t“is“in˜electronic“form.‘ŠüOtherwise“theyŽ”‘'æ«mš²!ust–¦fappMŽear“on“prin˜ted“co˜v˜ers“that“brac˜k˜et“the“whole“aggregate.Ž¦‘-8.Ž‘'æ«TRANSLA‘’eTIONŽŸ(÷‘'æ«T‘’eranslation–ĢÆis›Ģ°considered“a˜kind“of“moMŽdication,‘Aso˜yš²!ou“ma˜y‘Ģ°distribute“translationsŽ”‘'æ«of–Tžthe›TżDoMŽcumen²!t“under˜the“terms˜of“section“4.‘	é£Replacing“In•²!v‘’dDarian“t˜Sections‘TžwithŽ”‘'æ«translations–v²requires‘v³spšMŽecial“p˜ermission“from“their›v³cop•²!yrigh“t‘v²holders,‘źÄbut˜y“ou‘v²ma“yŽ”‘'æ«include–šktranslations“of“some›šjor“all“In•²!v‘’dDarian“t–škSections“in“addition˜to“the“original“v²!ersionsŽ”‘'æ«of›Ęthese‘ĘIn•²!v‘’dDarian“t˜Sections.‘=Y‘’eou‘Ęma“y˜include–Ęa˜translation˜of“this˜License,‘Ī
  124: and“all˜theŽ”‘'æ«license–ņśnotices›ņūin“the“DoMŽcumen•²!t,‘Fand˜an“y›ņśW‘’earran“t“y˜Disclaimers,‘Fpro“vided‘ņūthat˜y“ouŽ”‘'æ«also–Ļinclude›Ī’the“original“English˜v²!ersion“of“this“License˜and“the“original˜v²!ersions“ofŽ”‘'æ«those–notices“and“disclaimers.‘5åIn“case“of“a“disagreemen•²!t‘bMŽet“w“een–the“translation“andŽ”‘'æ«the–:•original›:”v²!ersion“of˜this“License˜or“a˜notice“or˜disclaimer,‘_ the“original˜v²!ersion“willŽ”‘'æ«prev‘’dDail.Ž¦‘'æ«If–pča“section“in‘péthe“DoMŽcumenš²!t“is“En˜titled“\Ac˜kno˜wledgemen˜ts",–{›\Dedications",“or‘pč\His-Ž”‘'æ«tory",‘Aæthe–(•requiremenš²!t“(section“4)“to“Preserv˜e“its“Title“(section“1)“will“t˜ypically“requireŽ”‘'æ«c²!hanging–¦fthe“actual“title.Ž¦‘-9.Ž‘'æ«TERMINA‘’eTIONŽŸ(÷‘'æ«Y‘’eou–”maš²!y“not‘”cop˜y–’e,›—¾moMŽdify“,˜sublicense,˜or–”distribute“the“DoMŽcumen²!t‘”except“as“expresslyŽ”‘'æ«proš²!vided–”šunder‘”ńthis“License.‘Š|An˜y›”ńattempt“otherwise˜to“cop²!y–’e,›ąÓmoMŽdify“,‘ąŅsublicense,˜orŽ”‘'æ«distribute–¦fit“is“vš²!oid,“and“will“automatically“terminate“y˜our“righ˜ts“under“this“License.Ž¦‘'æ«Ho•²!w“ev“er,‘ó·if›äAy“ou–ä@cease˜all“violation˜of“this“License,‘óøthen“y²!our˜license“from˜a“particularŽ”‘'æ«cop•²!yrigh“t–Jholder“is‘Jreinstated“(a)“proš²!visionally‘’e,‘sšunless“and“un˜til‘Jthe“cop˜yrigh˜t“holderŽ”‘'æ«explicitly–į_and“nally“terminates“yš²!our“license,‘0and“(b)“pMŽermanen˜tly‘’e,‘0if“the“cop˜yrigh˜tŽ”‘'æ«holder–"fails“to“notify“yš²!ou“of“the“violation‘"b˜y“some“reasonable“means“prior“to“60“da˜ysŽ”‘'æ«after–¦fthe“cessation.ŽŸ(÷‘'æ«Moreo•²!v“er,‘Ļ8y“our–Ē
license›Ēfrom“a˜particular˜cop•²!yrigh“t–Ē
holder˜is˜reinstated“pMŽermanen²!tly˜ifŽ”‘'æ«the›V`cop•²!yrigh“t˜holder‘Vanoties˜y“ou˜of˜the˜violation‘Vab“y˜some˜reasonable˜means,‘fbthis˜is˜theŽ”‘'æ«rst–Wtime“y•²!ou‘Wha“v“e›Wreceiv“ed˜notice˜of˜violation‘Wof˜this˜License˜(for˜an“y‘Ww“ork)˜from˜thatŽ”‘'æ«cop•²!yrigh“t–Õśholder,‘įŽand“yš²!ou“cure“the“violation“prior‘Õłto“30“da˜ys“after“y˜our‘Õłreceipt“of“theŽ”‘'æ«notice.Ž¦‘'æ«T‘’eermination–Nuof“yš²!our“righ˜ts“under“this“section‘NtdoMŽes“not“terminate“the“licenses“of“partiesŽ”‘'æ«who›•qha•²!v“e˜receiv“ed˜copies˜or˜righ“ts˜from˜y“ou‘•punder˜this˜License.‘ŖžIf˜y“our˜righ“ts˜ha“v“eŽ”‘'æ«bšMŽeen–Īterminated“and“not‘Ķp˜ermanenš²!tly“reinstated,‘:¹receipt“of“a“cop˜y“of“some‘Ķor“all“of“theŽ”‘'æ«same–¦fmaterial“doMŽes“not“givš²!e“y˜ou“an˜y“righ˜ts“to“use“it.ŽŽŒ‹I¼€Ÿņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:73ŽŽŽ ƒ33 ż ĢĶ‘‡“10.Ž‘'æ«FUTURE–¦fREVISIONS“OF“THIS“LICENSEŽ©33‘'æ«The›’aF‘’eree‘’bSoft•²!w“are˜F‘’eoundation‘’bma“y˜publish–’bnew,‘UŸrevised“v²!ersions˜of“the˜GNU‘’	F‘’ereeŽ¤
33‘'æ«DoMŽcumenš²!tation–ŁāLicense‘Łćfrom“time“to“time.‘xRSuc˜h“new‘Łćv˜ersions“will“bMŽe“similar‘Łćin“spiritŽ”‘'æ«to– ęthe“presenš²!t“v˜ersion,‘?…but“ma˜y“dier“in“detail“to“address‘ ånew“problems“or“concerns.Ž”‘'æ«See‘¦fāhttp://www.gnu.org/copyleft/į.Ž¦‘'æ«Eac•²!h›ˆ×v“ersion˜of˜the˜License˜is˜giv“en˜a˜distinguishing˜v“ersion˜n“um“b•MŽer.‘ŌIf˜the˜Do“cumen²!tŽ”‘'æ«spšMŽecies–r”that“a“particular“n•²!um“b˜ered›r”v“ersion˜of˜this˜License˜\or˜an“y˜later˜v“ersion"Ž”‘'æ«applies‘ęQto–ęPit,‘öLyš²!ou“ha˜v˜e–ęQthe“option‘ęPof“follo˜wing“the“terms›ęPand“conditions“either˜of“thatŽ”‘'æ«spMŽecied–Žvš²!ersion“or“of“an˜y“later“v˜ersion“that‘Žhas“bMŽeen“published“(not“as“a“draft)“b˜yŽ”‘'æ«the›ī!F‘’eree‘ī"Soft•²!w“are˜F‘’eoundation.‘µIf‘ī"the˜DošMŽcumen“t‘ī"do˜es–ī!not“sp˜ecify›ī"a“v•²!ersion˜n“um“bMŽer‘ī!ofŽ”‘'æ«this–$œLicense,‘D)yš²!ou“ma˜y“c˜hoMŽose‘$an˜y“v˜ersion“ev˜er“published“(not“as“a“draft)“b˜y“the“F‘’ereeŽ”‘'æ«Soft•²!w“are–ÖUF‘’eoundation.‘m©If“the“DošMŽcumen²!t“sp˜ecies“that“a“proš²!xy‘ÖTcan“decide“whic˜h“futureŽ”‘'æ«v²!ersions–é)of›é*this“License˜can“bMŽe“used,‘łŚthat˜proš²!xy's“public“statemen˜t›é*of“acceptance˜of“aŽ”‘'æ«v•²!ersion›¦fpMŽermanen“tly˜authorizes˜y“ou˜to˜c“hoMŽose˜that˜v“ersion˜for˜the˜DoMŽcumen“t.Ž¦‘‡“11.Ž‘'æ«RELICENSINGŽ¦‘'æ«\Massivš²!e–{"Multiauthor‘{#CollabMŽoration“Site"“(or“\MMC‘zģSite")“means“an˜y‘{#W‘’eorld“WideŽ”‘'æ«W‘’eeb–Leservš²!er“that“publishes“cop˜yrigh˜table‘Lfw˜orks“and“also“pro˜vides“prominen˜t“facilitiesŽ”‘'æ«for›M an²!yb•MŽo“dy˜to˜edit˜those˜w•²!orks.‘ĄEA‘MŠpublic˜wiki˜that‘MŸan“yb•MŽo“dy˜can˜edit˜is˜an˜example˜ofŽ”‘'æ«sucš²!h–Ya“serv˜er.‘µA‘?\Massiv˜e‘XMultiauthor“CollabMŽoration"“(or“\MMC")‘>con˜tained“in“theŽ”‘'æ«site–¦fmeans“anš²!y“set“of“cop˜yrigh˜table“w˜orks“th˜us“published“on“the“MMC“site.Ž¦‘'æ«\CC-BY-SA"‘8¤means–8Éthe‘8ŹCreativš²!e“Commons“A˜ttribution-Share‘8ŹAlik˜e“3.0‘8Źlicense“pub-Ž”‘'æ«lished›8b•²!y‘8Creativ“e˜Commons–8CorpMŽoration,‘N(a˜not-for-prot“corpMŽoration˜with“a˜principalŽ”‘'æ«place–ņof“business“in“San“F‘’erancisco,‘7£California,‘7¢as“wš²!ell“as“future“cop˜yleft“v˜ersions“of“thatŽ”‘'æ«license–¦fpublished“b²!y“that“same“organization.Ž¦‘'æ«\IncorpšMŽorate"–­zmeans“to“publish‘­yor“republish“a“Do˜cumen²!t,›Æ?in“whole“or‘­yin“part,˜as“partŽ”‘'æ«of–¦fanother“DoMŽcumen²!t.Ž¦‘'æ«An–&\MMC‘&<is“\eligible›&]for“relicensing"“if“it“is˜licensed“under“this“License,‘?ųand˜if“all“w²!orksŽ”‘'æ«that–
w²!ere›rst“published˜under“this˜License“somewhere“other˜than“this˜MMC,“andŽ”‘'æ«subsequen²!tly–-incorpMŽorated›-in“whole“or˜in“part“in²!to˜the“MMC,˜(1)“had“no˜co•²!v“er‘-textsŽ”‘'æ«or›¦fin•²!v‘’dDarian“t˜sections,˜and˜(2)˜w“ere˜th“us˜incorpMŽorated˜prior˜to˜No“v“em“bMŽer˜1,˜2008.Ž¦‘'æ«The–ąŹopMŽerator›ąĖof“an˜MMC‘ązSite“ma²!y˜republish“an“MMC‘ązcon²!tained˜in“the˜site“underŽ”‘'æ«CC-BY-SA‘ on– the› same“site“at˜an²!y“time“bMŽefore˜August“1,–”[2009,“pro²!vided˜the‘ MMC‘ isŽ”‘'æ«eligible–¦ffor“relicensing.ŽŽŒ‹JĪ<Ÿņ‘GįAppšMŽendix–¦fA:“GNU“F‘’eree“Do˜cumen²!tation“License’Į:74ŽŽŽ ƒ33 ż ĢĶ‘Gė]ADDENDUM:–f@HošŒĢw“to“use“this“License“for“y˜our“dos3cumen˜tsŽŽŸ33‘GįT‘’eo–'ņuse“this“License“in“a“doMŽcumenš²!t“y˜ou‘'óha˜v˜e“written,‘HUinclude“a“cop˜y“of“the“License“in“theŽ¤
33‘GdoMŽcumenš²!t–¦fand“put“the“follo˜wing“cop˜yrigh˜t“and“license“notices“just“after“the“title“page:Ž©
€‘8lČÉCopyright‘¹–(C)–	s,óFßź<x	
  125: cmsltt10ėFyear“your‘¹—nameÉ.Ž¤
  126: €‘8lČPermission–¹–is“granted“to“copy,“distribute“and/or“modify“this“documentŽ”‘8lČunder–¹–the“terms“of“the“GNU“Free“Documentation“License,“Version“1.3Ž”‘8lČor–¹–any“later“version“published“by“the“Free“Software“Foundation;Ž”‘8lČwith–¹–no“Invariant“Sections,“no“Front-Cover“Texts,“and“no“Back-CoverŽ”‘8lČTexts.‘	s,A–¹–copy“of“the“license“is“included“in“the“section“entitled“``GNUŽ”‘8lČFree–¹–Documentation“License''.ŽŽŸO33‘!GįIf›ŹĢy•²!ou‘ŹĶha“v“e˜In“v‘’dDarian“t›ŹĶSections,‘åF‘’eron“t-Co“v“er˜T‘’eexts‘ŹĢand˜Bac“k-Co“v“er–ŹĢT‘’eexts,‘ęreplace“theŽ”‘G\with‘©ä.–§‘.“.Ž‘lĻT‘’eexts."‘ŻŻline–¦fwith“this:Ž¦‘AßōÉwith–¹–the“Invariant“Sections“being“ėFlist–¹—their“titlesÉ,‘¹–withŽ¤
  127: €‘Aßōthe–¹–Front-Cover“Texts“being“ėFlistÉ,“and“with“the“Back-Cover“TextsŽ”‘Aßōbeing‘¹–ėFlistÉ.ŽŽŸ%33‘!GįIf–:üyš²!ou“ha˜v˜e“In˜v‘’dDarian˜t“Sections“without“Co˜v˜er“T‘’eexts,‘`"or“some“other“com˜bination“of“theŽ”‘Gthree,–¦fmerge“those“t•²!w“o›¦falternativ“es˜to˜suit˜the˜situation.ŽŸ33‘!GIf–Ż yš²!our“doMŽcumen˜t“con˜tains“non˜trivial‘Żexamples“of“program“coMŽde,‘aw˜e“recommend“releasingŽ”‘Gthese–-éexamples›-źin“parallel˜under“y•²!our˜c“hoice–-éof˜free“soft•²!w“are˜license,‘Źsuc“h–-éas˜the“GNUŽ”‘GGeneral–¦fPublic“License,“to“pMŽermit“their“use“in“free“soft•²!w“are.ŽŽŒ‹KŪŸņ‘GįConcept‘¦fIndex’`¶)75ŽŽŽ ƒ33 żˆĢĢ‘GėTConcept‘z³IndexŽŽ ś
i ’.0‘šßė]AŽ©‘Góo“‹Ē		cmr9¬application-spAĒecic–Tcompletion“functions‘G‘ÅUó5łž"		cmmi9²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ķ$¬51ŽŽ¤«å‘šßė]CŽŸ‘G¬command‘Tediting©‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģ…¬1ŽŽ”‘šßė]EŽ¦‘G¬editing–Tcommand“lines‘э‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘‘ń¬1ŽŽ”‘šßė]IŽ©
  128: /‘G¬initialization–Tle,“readline‘ŌŒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘•i¬4ŽŽŸ
  129: €‘Gin¾9teraction,‘Treadline‘©ā‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘jæ¬1ŽŽ”‘šßė]KŽ¦‘G¬kill‘Tring‘­į‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘n¾¬2ŽŽŸ
  130: €‘Gkilling‘Ttext‘7‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P¬2ŽŽŽ ’.0’ókˆė]NŽŸėu’óįš¬notation,‘Treadline‘Qp‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘L¬1ŽŽ©0¶
’ókˆė]RŽ¤ėt’óįš¬readline,‘Tfunction‘rS‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘30¬25ŽŽŸ0¶’ókˆė]VŽ”’óįš¬v‘’|rariables,‘Treadline‘£N‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d+¬4ŽŽ¦’ókˆė]YŽŸėu’óįš¬y¾9anking‘Ttext‘TŒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘h¬2ŽŽŽŽŽŽŒ‹LāµŸņ’ø¼Ėį76ŽŽŽ ƒ33 ż ĢĶ‘GėTF›žaGunction–z³and“V˜ariable“IndexŽŽ _33 żÕš¦‘½4‰£ŁÜ+ŽŽŸ·?‘GÉ_rl_digit_p‘†r‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘GO¬42ŽŽ¤
  131: ¾‘GÉ_rl_digit_value‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬43ŽŽ©
  132: ½’‘GÉ_rl_lowercase_p‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬42ŽŽ”‘GÉ_rl_to_lower7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬43ŽŽ¦‘GÉ_rl_to_upper7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬42ŽŽ¤
  133: €‘GÉ_rl_uppercase_p‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬42ŽŽŸ"€2‘šßė]AŽ©·?‘GÉabort‘T(C-g)‘X“‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘p¬22ŽŽ”‘GÉaccept-line–T(Newline“or“Return)‘õɍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘¶¦¬17ŽŽŸ"€3‘šßė]BŽ¦‘GÉbackward-char‘T(C-b)‘ņ3‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘³¬16ŽŽ¤
  134: ½’‘GÉbackward-delete-char‘T(Rubout)‘ü卑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘½Ā¬19ŽŽ©
  135: ¾‘GÉbackward-kill-line–T(C-x“Rubout)#؍‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘䅬20ŽŽ”‘GÉbackward-kill-word‘T(M-DEL)‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬20ŽŽ¦‘GÉbackward-word‘T(M-b)‘ņ3‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘³¬16ŽŽ¦‘GÉbeginning-of-history‘T(M-<)‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬17ŽŽ”‘GÉbeginning-of-line‘T(C-a)‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬16ŽŽ¦‘GbAĒell-st¾9ylegN‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘(*¬5ŽŽ”‘Gbind-tt•¾9y-spAĒecial-c“hars‘ČG‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘‰$¬5ŽŽ¦‘Gblink-matc¾9hing-parenž‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ÉŪ¬5ŽŽŸ
  136: €‘GÉbracketed-paste-begin‘T()‘wŒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘8i¬19ŽŽŸ"€2‘šßė]CŽŸ·?‘GÉcall-last-kbd-macro–T(C-x“e)‘]ō‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ѭ22ŽŽ¦‘GÉcapitalize-word‘T(M-c)U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬19ŽŽ”‘GÉcharacter-search‘T(C-])z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬23ŽŽ¦‘GÉcharacter-search-backward‘T(M-C-])‘Ā™‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ƒv¬23ŽŽ”‘GÉclear-display‘T(M-C-l)U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬16ŽŽ¦‘GÉclear-screen‘T(C-l)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬17ŽŽ”‘Gcolored-completion-prexh‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘(ų¬5ŽŽ¦‘Gcolored-stats‘D¹‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘–¬5ŽŽ¦‘Gcommen¾9t-bAĒegin7‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģ¬5ŽŽ”‘GÉcomplete‘T(TAB)lŚ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘-·¬21ŽŽ¦‘Gcompletion-displa¾9y-width‘ˆ£‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘I¬5ŽŽ”‘Gcompletion-ignore-case‘Œ1‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘M¬5ŽŽ¦‘Gcompletion-map-case‘捑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģœ¬5ŽŽ¦‘Gcompletion-prex-displa¾9y-length‘ēĄ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘؜¬5ŽŽ”‘Gcompletion-query-items‡‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ād¬6ŽŽ¦‘Gcon•¾9v“ert-metak7‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘,¬6ŽŽ”‘GÉcopy-backward-word‘T()U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬21ŽŽ¦‘GÉcopy-forward-word‘T()‘£ ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d}¬21ŽŽŸ
  137: €‘GÉcopy-region-as-kill‘T()z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬21ŽŽŽ żß.’ókˆė]DŽŸJ’óįšÉdelete-char‘T(C-d)‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬18ŽŽ¤
  138: šĒ’óįšÉdelete-char-or-list‘T()z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬22ŽŽ”’óįšÉdelete-horizontal-space‘T()‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬20ŽŽ”’óįšÉdigit-argument–T(ėFM-0É,“ėFM-1É,“...Ž‘WjėFM--É)‘Ü-‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘	¬21ŽŽ”’óįšdisable-completion‘M‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P*¬6ŽŽ”’óįšÉdo-lowercase-version–T(M-A,“M-B,“M-ėFxÉ,“...Ž‘B)‘Äd‘ÅU²:Ž‘p‘ÅU:Ž‘…@¬22ŽŽ”’óįšÉdowncase-word‘T(M-l)‘ņ3‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘³¬19ŽŽ”’óįšÉdump-functions‘T()‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬23ŽŽ¤
  139: šČ’óįšÉdump-macros‘T()lŚ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘-·¬24ŽŽ©
  140: €’óįšÉdump-variables‘T()‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬23ŽŽŸœ’ókˆė]EŽŸJ’óįš¬ec•¾9ho-con“trol-c“haracters‘ā܍‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¹¬6ŽŽ”’óįšediting-moAĒdemā‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘.¾¬6ŽŽ¤
  141: šĒ’óįšÉemacs-editing-mode‘T(C-e)‘wŒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘8i¬24ŽŽ”’óįšemacs-moAĒde-string‘e+‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘&¬6ŽŽ”’óįšenable-brac•¾9k“eted-paste‘jk‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘+G¬6ŽŽ”’óįšenable-k¾9eypad+©‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ģ†¬7ŽŽ”’óįšÉend-kbd-macro–T(C-x“))‘'.‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘č¬22ŽŽ”’óįšėFend-of-file–TÉ(usually“C-d)‘ū‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘»ń¬18ŽŽ”’óįšÉend-of-history‘T(M->)‘£ ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d}¬17ŽŽ”’óįšÉend-of-line‘T(C-e)‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬16ŽŽ”’óįšÉexchange-point-and-mark–T(C-x“C-x)‘”ŗ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘U—¬23ŽŽ¦’óįšexpand-tilde‘¶Å‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘w”¬7ŽŽŸ\‘’ókˆė]FŽŸJ’óįšÉforward-backward-delete-char‘T()‘_捑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ œ¬19ŽŽ”’óįšÉforward-char‘T(C-f)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬16ŽŽ¤
  142: šČ’óįšÉforward-search-history‘T(C-s)=@‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ž¬17ŽŽ¦’óįšÉforward-word‘T(M-f)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬16ŽŽŸ\’ókˆė]HŽŸJ’óįš¬history-preserv•¾9e-pAĒoin“t‘ž‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Žz¬7ŽŽ”’óįšÉhistory-search-backward‘T()‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬17ŽŽ¤
  143: šĒ’óįšÉhistory-search-forward‘T()‘(ł‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘éÖ¬17ŽŽ”’óįšhistory-size‘é+‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ŗ¬7ŽŽ”’óįšÉhistory-substring-search-backward‘T()‘卑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘„õ¬18ŽŽ”’óįšÉhistory-substring-search-forward‘T()%s‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ęP¬18ŽŽ¦’óįšhorizon¾9tal-scroll-moAĒde‘ƒN‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘D*¬7ŽŽŸ;I’ókˆė]IŽŸJ’óįš¬input-metaMp‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘L¬7ŽŽ”’óįšÉinsert-comment‘T(M-#)‘£ ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d}¬23ŽŽ”’óįšÉinsert-completions‘T(M-*)‘wŒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘8i¬21ŽŽ¦’óįšisearc¾9h-terminatorsXŗ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘—¬7ŽŽŽŽŽŽŒ‹MšŸņ‘GįF›’eunction–¦fand“V˜ariable“Index’œĆ77ŽŽŽ ƒ33Ÿę€ ż¹®‘šßė]KŽ©‡£‘G¬k¾9eymap‘ńį‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘²¾¬8ŽŽ¤8‘GÉkill-line‘T(C-k)G‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ß$¬20ŽŽ”‘GÉkill-region‘T()lŚ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘-·¬21ŽŽ”‘GÉkill-whole-line‘T()‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬20ŽŽŸ
  144: €‘GÉkill-word‘T(M-d)G‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ß$¬20ŽŽŸ&Ćэ‘šßė]MŽ¦‘G¬mark-moAĒdied-lines‘J܍‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ø¬8ŽŽ”‘Gmark-symlink¾9ed-directories‘üŗ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘½—¬8ŽŽ”‘Gmatc¾9h-hidden-les%‡‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ęc¬8ŽŽ”‘GÉmenu-complete‘T()‘Żģ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘žÉ¬22ŽŽ”‘GÉmenu-complete-backward‘T()‘(ł‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘éÖ¬22ŽŽ”‘Gmen•¾9u-complete-displa“y-prex‘„¤‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘E€¬8ŽŽŸ
  145: €‘Gmeta-
ag‘Ų‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘˜ö¬7ŽŽŸ'ĆŅ‘šßė]NŽ¦‘GÉnext-history‘T(C-n)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬17ŽŽ”‘GÉnext-screen-line‘T()‘ņ3‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘³¬16ŽŽŸ13Ÿõ€‘GÉnon-incremental-forward-ŽŸ
  146: €‘QCsearch-history‘T(M-n) ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬17ŽŽŸ’’Ÿõ€‘GÉnon-incremental-reverse-ŽŸ
  147: €‘QCsearch-history‘T(M-p) ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬17ŽŽŸ)֍‘šßė]OŽ¦‘GÉoperate-and-get-next‘T(C-o)‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬18ŽŽ”‘Goutput-meta‘–S‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘W/¬8ŽŽŸ
  148: €‘GÉoverwrite-mode‘T()‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬20ŽŽŸ&Ćэ‘šßė]PŽ¦‘G¬page-completionsFj‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘G¬9ŽŽ”‘GÉpossible-completions‘T(M-?)‘Śf‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›C¬21ŽŽ”‘GÉprefix-meta‘T(ESC)‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬22ŽŽ”‘GÉprevious-history‘T(C-p)z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬17ŽŽ”‘GÉprevious-screen-line‘T()‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬16ŽŽŸ
  149: €‘GÉprint-last-kbd-macro‘T()‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬22ŽŽŸ(Ņ‘šßė]QŽŸk‘GÉquoted-insert–T(C-q“or“C-v)pp‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘1M¬19ŽŽŽ ż¹®’ókˆė]RŽŸ	ą’óįšÉre-read-init-file–T(C-x“C-r)‘]ō‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ѭ22ŽŽ¤
  150: †’óįšÉreadline‘r+‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘3¬25ŽŽ©
  151: †’óįšÉredraw-current-line‘T()z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬17ŽŽ”’óįšÉreverse-search-history‘T(C-r)=@‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ž¬17ŽŽ”’óįšrev¾9ert-all-at-newline‘ˆ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ij¬9ŽŽ”’óįšÉrevert-line‘T(M-r)‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬23ŽŽ”’óįšÉrl_activate_mark‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج44ŽŽ¦’óįšÉrl_add_defun7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬33ŽŽ”’óįšÉrl_add_funmap_entry ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬37ŽŽ”’óįšÉrl_add_undo‘†r‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘GO¬38ŽŽ”’óįšÉrl_alphabetic‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬42ŽŽ”’óįšÉrl_begin_undo_group ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬38ŽŽ”’óįšÉrl_bind_key‘†r‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘GO¬35ŽŽ¦’óįšÉrl_bind_key_if_unbound‘B‘‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘n¬35ŽŽ”’óįšÉrl_bind_key_if_unbound_in_map‘*č‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ė”¬35ŽŽ”’óįšÉrl_bind_key_in_mapn„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬35ŽŽ”’óįšÉrl_bind_keyseq‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬36ŽŽ”’óįšÉrl_bind_keyseq_if_unboundVŲ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘µ¬36ŽŽ¦’óįšÉrl_bind_keyseq_if_unbound_in_map?‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘’č¬36ŽŽ”’óįšÉrl_bind_keyseq_in_map‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬36ŽŽ”’óįšÉrl_callback_handler_install‘Ēź‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ˆĒ¬44ŽŽ”’óįšÉrl_callback_handler_removeE‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘É"¬45ŽŽ”’óįšÉrl_callback_read_char‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬44ŽŽ”’óįšÉrl_callback_sigcleanup‘B‘‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘n¬44ŽŽ¦’óįšÉrl_check_signals‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج50ŽŽ”’óįšÉrl_cleanup_after_signal‘󞍑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘“Ū¬50ŽŽ”’óįšÉrl_clear_history‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج43ŽŽ”’óįšÉrl_clear_message‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج39ŽŽ”’óįšÉrl_clear_pending_input‘B‘‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘n¬41ŽŽ”’óįšÉrl_clear_signals‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج51ŽŽ¦’óįšÉrl_clear_visible_line‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬39ŽŽ”’óįšÉrl_complete‘KĒ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘¤¬52,‘T53ŽŽ”’óįšÉrl_complete_internal‘ß·‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ ”¬52ŽŽ”’óįšÉrl_completion_matches‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬53ŽŽ”’óįšÉrl_completion_moden„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬53ŽŽ¦’óįšÉrl_copy_keymap‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬34ŽŽ”’óįšÉrl_copy_text7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬40ŽŽ”’óįšÉrl_crlf‘Ą¾‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›¬39ŽŽ”’óįšÉrl_deactivate_markn„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬44ŽŽ”’óįšÉrl_delete_text‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬40ŽŽ”’óįšÉrl_deprep_terminaln„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬41ŽŽ¦’óįšÉrl_ding‘Ą¾‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›¬42ŽŽ”’óįšÉrl_discard_keymap‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬34ŽŽ”’óįšÉrl_display_match_list‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬42ŽŽ”’óįšÉrl_do_undo‘Ս‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘•ā¬38ŽŽ”’óįšÉrl_echo_signal_char ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬51ŽŽ¦’óįšÉrl_empty_keymap‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬34ŽŽ”’óįšÉrl_end_undo_group‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬38ŽŽ”’óįšÉrl_execute_next‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬41ŽŽ”’óįšÉrl_expand_prompt‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج39ŽŽ”’óįšÉrl_extend_line_buffer‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬42ŽŽ”’óįšÉrl_filename_completion_function‘ž‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘N{¬53ŽŽ¦’óįšÉrl_forced_update_display‘„k‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘fH¬38ŽŽ”’óįšÉrl_free‘Ą¾‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›¬42ŽŽ”’óįšÉrl_free_keymap‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬34ŽŽŽŽŽŽŒ‹N9Ÿņ‘GįF›’eunction–¦fand“V˜ariable“Index’œĆ78ŽŽŽ ƒ33ŸčF ż³Ó—‘GÉrl_free_line_staten„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬50ŽŽ¤
  152: €Ė‘GÉrl_free_undo_list‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬38ŽŽ”‘GÉrl_function_dumpern„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬37ŽŽ”‘GÉrl_function_of_keyseq‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬37ŽŽ”‘GÉrl_function_of_keyseq_lenVŲ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘µ¬37ŽŽ”‘GÉrl_funmap_names‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬37ŽŽ”‘GÉrl_generic_bind‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬36ŽŽ”‘GÉrl_get_keymap‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬34ŽŽ”‘GÉrl_get_keymap_by_name‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬34ŽŽ”‘GÉrl_get_keymap_namen„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬34ŽŽ”‘GÉrl_get_screen_sizen„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬51ŽŽ”‘GÉrl_get_termcap‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬43ŽŽ”‘GÉrl_getc‘Ą¾‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘›¬40ŽŽ”‘GÉrl_initialize‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬42ŽŽ”‘GÉrl_insert_completions‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬53ŽŽ”‘GÉrl_insert_text‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬40ŽŽ”‘GÉrl_invoking_keyseqs ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬37ŽŽ”‘GÉrl_invoking_keyseqs_in_mapE‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘É"¬37ŽŽ”‘GÉrl_keep_mark_active ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬44ŽŽ”‘GÉrl_kill_text7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬40ŽŽ”‘GÉrl_list_funmap_names‘ß·‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ ”¬37ŽŽ”‘GÉrl_macro_bind‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬43ŽŽ”‘GÉrl_macro_dumper‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬43ŽŽ”‘GÉrl_make_bare_keymap ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬34ŽŽ”‘GÉrl_make_keymap‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬34ŽŽ”‘GÉrl_mark_active_p‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج44ŽŽ”‘GÉrl_message‘Ս‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘•ā¬39ŽŽ”‘GÉrl_modifying7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬38ŽŽŸ
  153: €Ģ‘GÉrl_named_function‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬37ŽŽ”‘GÉrl_on_new_line‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬38ŽŽ”‘GÉrl_on_new_line_with_promptE‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘É"¬39ŽŽ”‘GÉrl_parse_and_bind‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬36ŽŽ”‘GÉrl_pending_signal‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬50ŽŽ”‘GÉrl_possible_completions‘󞍑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘“Ū¬53ŽŽ”‘GÉrl_prep_terminal‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج41ŽŽ”‘GÉrl_push_macro_input ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬40ŽŽ”‘GÉrl_read_init_file‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬36ŽŽ”‘GÉrl_read_key‘†r‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘GO¬40ŽŽ”‘GÉrl_redisplay7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬38ŽŽ”‘GÉrl_replace_line‘Z^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘;¬42ŽŽ”‘GÉrl_reset_after_signal‘‘$‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘R¬50ŽŽ”‘GÉrl_reset_line_state ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ąļ¬39ŽŽ”‘GÉrl_reset_screen_size‘ß·‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ ”¬51ŽŽ”‘GÉrl_reset_terminal‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬41ŽŽ”‘GÉrl_resize_terminaln„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬51ŽŽ”‘GÉrl_restore_prompt‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬39ŽŽ”‘GÉrl_restore_state‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج42ŽŽ”‘GÉrl_save_prompt‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬39ŽŽ”‘GÉrl_save_state‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬41ŽŽ”‘GÉrl_set_key‘Ս‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘•ā¬36ŽŽ”‘GÉrl_set_keyboard_input_timeout‘*č‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ė”¬41ŽŽ”‘GÉrl_set_keymap‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬34ŽŽ”‘GÉrl_set_keymap_namen„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬34ŽŽ”‘GÉrl_set_paren_blink_timeoutE‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘É"¬43ŽŽ”‘GÉrl_set_prompt‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬40ŽŽ”‘GÉrl_set_screen_sizen„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬51ŽŽ”‘GÉrl_set_signals‘Øń‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘iĪ¬51ŽŽŽ ż³Ó—’óįšÉrl_show_char7ߍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ų¼¬39ŽŽ¤
  154: Ÿ’óįšÉrl_stuff_char‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬40ŽŽ©
  155: Ÿ’óįšÉrl_tty_set_default_bindings‘Ēź‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ˆĒ¬41ŽŽ”’óįšÉrl_tty_set_echoingn„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬41ŽŽ¦’óįšÉrl_tty_unset_default_bindings‘*č‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ė”¬41ŽŽ”’óįšÉrl_unbind_command_in_map‘„k‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘fH¬36ŽŽ¦’óįšÉrl_unbind_function_in_mapVŲ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘µ¬35ŽŽ”’óįšÉrl_unbind_key‘÷„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘øa¬35ŽŽ”’óįšÉrl_unbind_key_in_map‘ß·‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ ”¬35ŽŽ¦’óįšÉrl_username_completion_function‘ž‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘N{¬53ŽŽ”’óįšÉrl_variable_bind‘Ė‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Ģج43ŽŽ¦’óįšÉrl_variable_dumpern„‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘/‚¬43ŽŽŸ
  156: €’óįšÉrl_variable_value‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬43ŽŽŸ×[’ókˆė]SŽŸWb’óįšÉself-insert–T(a,“b,“A,“1,“!,“...Ž‘B)‘a‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Š>¬19ŽŽ”’óįšÉset-mark‘T(C-@)lŚ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘-·¬23ŽŽ¦’óįšÉshell-transpose-words‘T(M-C-t)‘ü卑ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘½Ā¬20ŽŽ”’óįšsho•¾9w-all-if-am“biguous‘Ŗ€‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘k\¬9ŽŽ”’óįšsho¾9w-all-if-unmoAĒdied‘©†‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘jc¬9ŽŽ¦’óįšsho¾9w-moAĒde-in-prompt‘	†‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Źc¬9ŽŽ”’óįšskip-completed-text‘M‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘
ń¬9ŽŽ¦’óįšÉskip-csi-sequence‘T()‘£ ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d}¬23ŽŽŸ
  157: €’óįšÉstart-kbd-macro–T(C-x“()‘Š‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Jå¬22ŽŽŸ¶Ņ’ókˆė]TŽŸWb’óįšÉtab-insert‘T(M-TAB)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬19ŽŽ”’óįšÉtilde-expand‘T(M-~)‘@ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘£¬23ŽŽ¦’óįšÉtranspose-chars‘T(C-t)U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬19ŽŽŸ
  158: €’óįšÉtranspose-words‘T(M-t)U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬19ŽŽŸöӍ’ókˆė]UŽŸWb’óįšÉundo–T(C-_“or“C-x“C-u)‘½8‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘~¬23ŽŽ”’óįšÉuniversal-argument‘T()U
‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ź¬21ŽŽ”’óįšÉunix-filename-rubout‘T()‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬20ŽŽ¦’óįšÉunix-line-discard‘T(C-u)‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬20ŽŽ”’óįšÉunix-word-rubout‘T(C-w)z‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘ĒW¬20ŽŽŸ
  159: €’óįšÉupcase-word‘T(M-u)‘Y‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘P6¬19ŽŽŸöӍ’ókˆė]VŽŸWb’óįš¬vi-cmd-moAĒde-string‘‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘Mń¬10ŽŽ¦’óįšÉvi-editing-mode‘T(M-C-j)‘ʍ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘†ü¬24ŽŽ”’óįšvi-ins-moAĒde-string=‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘žz¬10ŽŽŸ
  160: €’óįšvisible-stats‘œ^‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘];¬10ŽŽŸ•Œ’ókˆė]YŽŸWb’óįšÉyank‘T(C-y)‘§&‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘h¬21ŽŽ¦’óįšÉyank-last-arg–T(M-.“or“M-_)pp‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘1M¬18ŽŽ”’óįšÉyank-nth-arg‘T(M-C-y)‘£ ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘d}¬18ŽŽŸ
  161: €’óįšÉyank-pop‘T(M-y)lŚ‘ÅU²:Ž–p‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž“‘ÅU:Ž‘-·¬21ŽŽŽŽŽŽŒų‹£ƒ’Ą;č…ļ’ĆÆ’RógĀÖN 
#×cmbx12óe·įg£ffcmmi12ó]ĀÖN ffcmbx12óTĀÖN G®cmbx12óKĀÖN ¼jcmbx12óFßź<x	
  162: cmsltt10óAp®0J
  163: cmsl10ó@ßź<x
  164: cmtt10ó?!",š
  165: ó3
  166: cmsy10ó> b>
  167: ó3
  168: cmmi10ó=ßź<x
  169: ó3
  170: cmsltt10ó<Œ-ų
  171: ó3
  172: cmcsc10ó;m#½R
  173: ó3
  174: cmss10ó:p®0J
  175: ó3
  176: cmsl10ó9ż':
  177: ó3
  178: cmti10ó7ßź<x
  179: ó3
  180: cmtt10ó6Kń`y
  181: ó3
  182: cmr10óߤN		cmtt9ó5łž"		cmmi9óo“‹Ē		cmr9óKń`y
  183: 
  184: cmr10łīßßßßßß

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>