| %!PS-Adobe-3.0 |
| %%Creator: groff version 1.18.1 |
| %%CreationDate: Mon Sep 22 09:15:44 2003 |
| %%DocumentNeededResources: font Times-Roman |
| %%+ font Times-Bold |
| %%+ font Times-Italic |
| %%DocumentSuppliedResources: procset grops 1.18 1 |
| %%Pages: 7 |
| %%PageOrder: Ascend |
| %%Orientation: Portrait |
| %%EndComments |
| %%BeginProlog |
| %%BeginResource: procset grops 1.18 1 |
| /setpacking where{ |
| pop |
| currentpacking |
| true setpacking |
| }if |
| /grops 120 dict dup begin |
| /SC 32 def |
| /A/show load def |
| /B{0 SC 3 -1 roll widthshow}bind def |
| /C{0 exch ashow}bind def |
| /D{0 exch 0 SC 5 2 roll awidthshow}bind def |
| /E{0 rmoveto show}bind def |
| /F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def |
| /G{0 rmoveto 0 exch ashow}bind def |
| /H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def |
| /I{0 exch rmoveto show}bind def |
| /J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def |
| /K{0 exch rmoveto 0 exch ashow}bind def |
| /L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def |
| /M{rmoveto show}bind def |
| /N{rmoveto 0 SC 3 -1 roll widthshow}bind def |
| /O{rmoveto 0 exch ashow}bind def |
| /P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def |
| /Q{moveto show}bind def |
| /R{moveto 0 SC 3 -1 roll widthshow}bind def |
| /S{moveto 0 exch ashow}bind def |
| /T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def |
| /SF{ |
| findfont exch |
| [exch dup 0 exch 0 exch neg 0 0]makefont |
| dup setfont |
| [exch/setfont cvx]cvx bind def |
| }bind def |
| /MF{ |
| findfont |
| [5 2 roll |
| 0 3 1 roll |
| neg 0 0]makefont |
| dup setfont |
| [exch/setfont cvx]cvx bind def |
| }bind def |
| /level0 0 def |
| /RES 0 def |
| /PL 0 def |
| /LS 0 def |
| /MANUAL{ |
| statusdict begin/manualfeed true store end |
| }bind def |
| /PLG{ |
| gsave newpath clippath pathbbox grestore |
| exch pop add exch pop |
| }bind def |
| /BP{ |
| /level0 save def |
| 1 setlinecap |
| 1 setlinejoin |
| 72 RES div dup scale |
| LS{ |
| 90 rotate |
| }{ |
| 0 PL translate |
| }ifelse |
| 1 -1 scale |
| }bind def |
| /EP{ |
| level0 restore |
| showpage |
| }bind def |
| /DA{ |
| newpath arcn stroke |
| }bind def |
| /SN{ |
| transform |
| .25 sub exch .25 sub exch |
| round .25 add exch round .25 add exch |
| itransform |
| }bind def |
| /DL{ |
| SN |
| moveto |
| SN |
| lineto stroke |
| }bind def |
| /DC{ |
| newpath 0 360 arc closepath |
| }bind def |
| /TM matrix def |
| /DE{ |
| TM currentmatrix pop |
| translate scale newpath 0 0 .5 0 360 arc closepath |
| TM setmatrix |
| }bind def |
| /RC/rcurveto load def |
| /RL/rlineto load def |
| /ST/stroke load def |
| /MT/moveto load def |
| /CL/closepath load def |
| /Fr{ |
| setrgbcolor fill |
| }bind def |
| /Fk{ |
| setcmykcolor fill |
| }bind def |
| /Fg{ |
| setgray fill |
| }bind def |
| /FL/fill load def |
| /LW/setlinewidth load def |
| /Cr/setrgbcolor load def |
| /Ck/setcmykcolor load def |
| /Cg/setgray load def |
| /RE{ |
| findfont |
| dup maxlength 1 index/FontName known not{1 add}if dict begin |
| { |
| 1 index/FID ne{def}{pop pop}ifelse |
| }forall |
| /Encoding exch def |
| dup/FontName exch def |
| currentdict end definefont pop |
| }bind def |
| /DEFS 0 def |
| /EBEGIN{ |
| moveto |
| DEFS begin |
| }bind def |
| /EEND/end load def |
| /CNT 0 def |
| /level1 0 def |
| /PBEGIN{ |
| /level1 save def |
| translate |
| div 3 1 roll div exch scale |
| neg exch neg exch translate |
| 0 setgray |
| 0 setlinecap |
| 1 setlinewidth |
| 0 setlinejoin |
| 10 setmiterlimit |
| []0 setdash |
| /setstrokeadjust where{ |
| pop |
| false setstrokeadjust |
| }if |
| /setoverprint where{ |
| pop |
| false setoverprint |
| }if |
| newpath |
| /CNT countdictstack def |
| userdict begin |
| /showpage{}def |
| }bind def |
| /PEND{ |
| clear |
| countdictstack CNT sub{end}repeat |
| level1 restore |
| }bind def |
| end def |
| /setpacking where{ |
| pop |
| setpacking |
| }if |
| %%EndResource |
| %%IncludeResource: font Times-Roman |
| %%IncludeResource: font Times-Bold |
| %%IncludeResource: font Times-Italic |
| grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72 |
| def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron |
| /scaron/zcaron/Ydieresis/trademark/quotesingle/Euro/.notdef/.notdef |
| /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
| /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef |
| /.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent |
| /ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen |
| /period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon |
| /semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O |
| /P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex |
| /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y |
| /z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft |
| /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl |
| /endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut |
| /dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash |
| /quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen |
| /brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft |
| /logicalnot/minus/registered/macron/degree/plusminus/twosuperior |
| /threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior |
| /ordmasculine/guilsinglright/onequarter/onehalf/threequarters |
| /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE |
| /Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex |
| /Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis |
| /multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn |
| /germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla |
| /egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis |
| /eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash |
| /ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def |
| /Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE |
| /Times-Roman@0 ENC0/Times-Roman RE |
| %%EndProlog |
| %%Page: 1 1 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E/F1 10.95/Times-Bold@0 SF -.219(NA)72 84 S(ME) |
| .219 E F0(history \255 GNU History Library)108 96 Q F1(COPYRIGHT)72 |
| 112.8 Q F0(The GNU History Library is Cop)108 124.8 Q |
| (yright \251 1989-2002 by the Free Softw)-.1 E(are F)-.1 E |
| (oundation, Inc.)-.15 E F1(DESCRIPTION)72 141.6 Q F0(Man)108 153.6 Q |
| 2.81(yp)-.15 G .31(rograms read input from the user a line at a time.) |
| -2.81 F .309(The GNU History library is able to k)5.309 F .309 |
| (eep track of)-.1 F .024(those lines, associate arbitrary data with eac\ |
| h line, and utilize information from pre)108 165.6 R .024 |
| (vious lines in composing)-.25 F(ne)108 177.6 Q 2.5(wo)-.25 G(nes.)-2.5 |
| E F1(HIST)72 199.2 Q(OR)-.197 E 2.738(YE)-.383 G(XP)-2.738 E(ANSION)-.81 |
| E F0 .823(The history library supports a history e)108 211.2 R .822 |
| (xpansion feature that is identical to the history e)-.15 F .822 |
| (xpansion in)-.15 F/F2 10/Times-Bold@0 SF(bash.)3.322 E F0 |
| (This section describes what syntax features are a)108 223.2 Q -.25(va) |
| -.2 G(ilable.).25 E 1.305(History e)108 240 R 1.305 |
| (xpansions introduce w)-.15 F 1.306(ords from the history list into the\ |
| input stream, making it easy to repeat)-.1 F .21 |
| (commands, insert the ar)108 252 R .21(guments to a pre)-.18 F .209 |
| (vious command into the current input line, or \214x errors in pre)-.25 |
| F(vious)-.25 E(commands quickly)108 264 Q(.)-.65 E 1.296(History e)108 |
| 280.8 R 1.297(xpansion is usually performed immediately after a complet\ |
| e line is read.)-.15 F 1.297(It tak)6.297 F 1.297(es place in tw)-.1 F |
| (o)-.1 E 2.855(parts. The)108 292.8 R .354(\214rst is to determine whic\ |
| h line from the history list to use during substitution.)2.855 F .354 |
| (The second is to)5.354 F .116 |
| (select portions of that line for inclusion into the current one.)108 |
| 304.8 R .117(The line selected from the history is the)5.116 F/F3 10 |
| /Times-Italic@0 SF -.15(ev)2.617 G(ent).15 E F0(,)A .846 |
| (and the portions of that line that are acted upon are)108 316.8 R F3 |
| (wor)3.346 E(ds)-.37 E F0 5.846(.V)C(arious)-6.956 E F3(modi\214er)3.346 |
| E(s)-.1 E F0 .846(are a)3.346 F -.25(va)-.2 G .845(ilable to manipulate) |
| .25 F .304(the selected w)108 328.8 R 2.804(ords. The)-.1 F .304 |
| (line is brok)2.804 F .304(en into w)-.1 F .304(ords in the same f)-.1 F |
| .304(ashion as)-.1 F F2(bash)2.804 E F0 .305 |
| (does when reading input, so)2.804 F .539(that se)108 340.8 R -.15(ve) |
| -.25 G .539(ral w).15 F .539(ords that w)-.1 F .539 |
| (ould otherwise be separated are considered one w)-.1 F .538 |
| (ord when surrounded by quotes)-.1 F .307(\(see the description of)108 |
| 352.8 R F2(history_tok)2.807 E(enize\(\))-.1 E F0(belo)2.807 E 2.807 |
| (w\). History)-.25 F -.15(ex)2.807 G .307 |
| (pansions are introduced by the appearance of).15 F .52(the history e) |
| 108 364.8 R .52(xpansion character)-.15 F 3.02(,w)-.4 G .52(hich is) |
| -3.02 F F2(!)3.853 E F0 .52(by def)3.853 F 3.02(ault. Only)-.1 F .52 |
| (backslash \()3.02 F F2(\\).833 E F0 3.02(\)a).833 G .52 |
| (nd single quotes can quote the)-3.02 F(history e)108 376.8 Q |
| (xpansion character)-.15 E(.)-.55 E F2(Ev)87 393.6 Q(ent Designators)-.1 |
| E F0(An e)108 405.6 Q -.15(ve)-.25 G(nt designator is a reference to a \ |
| command line entry in the history list.).15 E F2(!)108 422.4 Q F0 |
| (Start a history substitution, e)32.67 E(xcept when follo)-.15 E |
| (wed by a)-.25 E F2(blank)2.5 E F0 2.5(,n)C -.25(ew)-2.5 G |
| (line, = or \(.).25 E F2(!)108 434.4 Q F3(n)A F0(Refer to command line) |
| 27.67 E F3(n)2.5 E F0(.).24 E F2<21ad>108 446.4 Q F3(n)A F0 |
| (Refer to the current command line minus)21.97 E F3(n)2.5 E F0(.).24 E |
| F2(!!)108 458.4 Q F0(Refer to the pre)29.34 E(vious command.)-.25 E |
| (This is a synon)5 E(ym for `!\2551'.)-.15 E F2(!)108 470.4 Q F3(string) |
| A F0(Refer to the most recent command starting with)9.33 E F3(string)2.5 |
| E F0(.).22 E F2(!?)108 482.4 Q F3(string)A F2([?])A F0 1.022 |
| (Refer to the most recent command containing)144 494.4 R F3(string)3.522 |
| E F0 6.022(.T).22 G 1.022(he trailing)-6.022 F F2(?)3.522 E F0 1.022 |
| (may be omitted if)3.522 F F3(string)3.862 E F0(is)3.742 E(follo)144 |
| 506.4 Q(wed immediately by a ne)-.25 E(wline.)-.25 E/F4 12/Times-Bold@0 |
| SF(^)108 523.4 Q F3(string1)-5 I F4(^)5 I F3(string2)-5 I F4(^)5 I F0 |
| 2.63(Quick substitution.)144 530.4 R 2.629 |
| (Repeat the last command, replacing)7.629 F F3(string1)5.469 E F0(with) |
| 5.129 E F3(string2)5.129 E F0 7.629(.E).02 G(qui)-7.629 E -.25(va)-.25 G |
| 2.629(lent to).25 F -.74(``)144 542.4 S(!!:s/).74 E F3(string1)A F0(/)A |
| F3(string2)A F0(/')A 2.5('\()-.74 G(see)-2.5 E F2(Modi\214ers)2.5 E F0 |
| (belo)2.5 E(w\).)-.25 E F2(!#)108 554.4 Q F0 |
| (The entire command line typed so f)27.67 E(ar)-.1 E(.)-.55 E F2 -.75 |
| (Wo)87 571.2 S(rd Designators).75 E F0 -.8(Wo)108 583.2 S 1.313 |
| (rd designators are used to select desired w).8 F 1.314(ords from the e) |
| -.1 F -.15(ve)-.25 G 3.814(nt. A).15 F F2(:)3.814 E F0 1.314 |
| (separates the e)3.814 F -.15(ve)-.25 G 1.314(nt speci\214cation).15 F |
| .53(from the w)108 595.2 R .529(ord designator)-.1 F 5.529(.I)-.55 G |
| 3.029(tm)-5.529 G .529(ay be omitted if the w)-3.029 F .529 |
| (ord designator be)-.1 F .529(gins with a)-.15 F F2(^)3.029 E F0(,)A F2 |
| ($)3.029 E F0(,)A F2(*)3.029 E F0(,)A F2<ad>3.029 E F0 3.029(,o)C(r) |
| -3.029 E F2(%)3.029 E F0 5.529(.W)C(ords)-6.329 E 1.3 |
| (are numbered from the be)108 607.2 R 1.3 |
| (ginning of the line, with the \214rst w)-.15 F 1.301 |
| (ord being denoted by 0 \(zero\).)-.1 F -.8(Wo)6.301 G 1.301(rds are).8 |
| F(inserted into the current line separated by single spaces.)108 619.2 Q |
| F2 2.5(0\()108 636 S(zer)-2.5 E(o\))-.18 E F0(The zeroth w)144 648 Q 2.5 |
| (ord. F)-.1 F(or the shell, this is the command w)-.15 E(ord.)-.1 E F3 |
| (n)108.36 660 Q F0(The)30.64 E F3(n)2.5 E F0(th w)A(ord.)-.1 E F2(^)108 |
| 672 Q F0(The \214rst ar)32.67 E 2.5(gument. That)-.18 F(is, w)2.5 E |
| (ord 1.)-.1 E F2($)108 684 Q F0(The last ar)31 E(gument.)-.18 E F2(%)108 |
| 696 Q F0(The w)26 E(ord matched by the most recent `?)-.1 E F3(string)A |
| F0(?' search.)A F3(x)108.77 708 Q F2<ad>A F3(y)A F0 2.5(Ar)20.65 G |
| (ange of w)-2.5 E(ords; `\255)-.1 E F3(y)A F0 2.5('a)C(bbre)-2.5 E |
| (viates `0\255)-.25 E F3(y)A F0('.)A(GNU History 5.0)72 768 Q |
| (2003 July 31)139.005 E(1)203.165 E 0 Cg EP |
| %%Page: 2 2 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E/F1 10/Times-Bold@0 SF(*)108 84 Q F0 .316 |
| (All of the w)31 F .316(ords b)-.1 F .316(ut the zeroth.)-.2 F .315 |
| (This is a synon)5.315 F .315(ym for `)-.15 F/F2 10/Times-Italic@0 SF |
| (1\255$)A F0 2.815('. It)B .315(is not an error to use)2.815 F F1(*) |
| 2.815 E F0 .315(if there is)2.815 F(just one w)144 96 Q(ord in the e)-.1 |
| E -.15(ve)-.25 G(nt; the empty string is returned in that case.).15 E F1 |
| (x*)108 108 Q F0(Abbre)26 E(viates)-.25 E F2(x\255$)2.5 E F0(.)A F1 |
| <78ad>108 120 Q F0(Abbre)25.3 E(viates)-.25 E F2(x\255$)2.5 E F0(lik)2.5 |
| E(e)-.1 E F1(x*)2.5 E F0 2.5(,b)C(ut omits the last w)-2.7 E(ord.)-.1 E |
| (If a w)108 136.8 Q(ord designator is supplied without an e)-.1 E -.15 |
| (ve)-.25 G(nt speci\214cation, the pre).15 E |
| (vious command is used as the e)-.25 E -.15(ve)-.25 G(nt.).15 E F1 |
| (Modi\214ers)87 153.6 Q F0 .183(After the optional w)108 165.6 R .183 |
| (ord designator)-.1 F 2.683(,t)-.4 G .184 |
| (here may appear a sequence of one or more of the follo)-2.683 F .184 |
| (wing modi\214ers,)-.25 F(each preceded by a `:'.)108 177.6 Q F1(h)108 |
| 194.4 Q F0(Remo)30.44 E .3 -.15(ve a t)-.15 H |
| (railing \214le name component, lea).15 E(ving only the head.)-.2 E F1 |
| (t)108 206.4 Q F0(Remo)32.67 E .3 -.15(ve a)-.15 H |
| (ll leading \214le name components, lea).15 E(ving the tail.)-.2 E F1(r) |
| 108 218.4 Q F0(Remo)31.56 E .3 -.15(ve a t)-.15 H(railing suf).15 E |
| (\214x of the form)-.25 E F2(.xxx)2.5 E F0 2.5(,l)C(ea)-2.5 E |
| (ving the basename.)-.2 E F1(e)108 230.4 Q F0(Remo)31.56 E .3 -.15(ve a) |
| -.15 H(ll b).15 E(ut the trailing suf)-.2 E(\214x.)-.25 E F1(p)108 242.4 |
| Q F0(Print the ne)30.44 E 2.5(wc)-.25 G(ommand b)-2.5 E(ut do not e)-.2 |
| E -.15(xe)-.15 G(cute it.).15 E F1(q)108 254.4 Q F0 |
| (Quote the substituted w)30.44 E(ords, escaping further substitutions.) |
| -.1 E F1(x)108 266.4 Q F0(Quote the substituted w)31 E(ords as with)-.1 |
| E F1(q)2.5 E F0 2.5(,b)C(ut break into w)-2.7 E(ords at)-.1 E F1(blanks) |
| 2.5 E F0(and ne)2.5 E(wlines.)-.25 E F1(s/)108 278.4 Q F2(old)A F1(/)A |
| F2(ne)A(w)-.15 E F1(/)A F0(Substitute)144 290.4 Q F2(ne)3.082 E(w)-.15 E |
| F0 .221(for the \214rst occurrence of)3.032 F F2(old)2.951 E F0 .221 |
| (in the e)3.491 F -.15(ve)-.25 G .221(nt line.).15 F(An)5.221 E 2.721 |
| (yd)-.15 G .221(elimiter can be used in place)-2.721 F .616(of /.)144 |
| 302.4 R .617 |
| (The \214nal delimiter is optional if it is the last character of the e) |
| 5.616 F -.15(ve)-.25 G .617(nt line.).15 F .617(The delimiter may)5.617 |
| F .666(be quoted in)144 314.4 R F2(old)3.396 E F0(and)3.936 E F2(ne) |
| 3.526 E(w)-.15 E F0 .666(with a single backslash.)3.476 F .666 |
| (If & appears in)5.666 F F2(ne)3.166 E(w)-.15 E F0 3.166(,i).31 G 3.166 |
| (ti)-3.166 G 3.166(sr)-3.166 G .666(eplaced by)-3.166 F F2(old)3.166 E |
| F0 5.666(.A).77 G .274(single backslash will quote the &.)144 326.4 R |
| (If)5.274 E F2(old)3.004 E F0 .274(is null, it is set to the last)3.544 |
| F F2(old)3.005 E F0 .275(substituted, or)3.545 F 2.775(,i)-.4 G 2.775 |
| (fn)-2.775 G 2.775(op)-2.775 G(re)-2.775 E(vi-)-.25 E |
| (ous history substitutions took place, the last)144 338.4 Q F2(string) |
| 2.84 E F0(in a)2.72 E F1(!?)2.5 E F2(string)A F1([?])A F0(search.)5 E F1 |
| (&)108 350.4 Q F0(Repeat the pre)27.67 E(vious substitution.)-.25 E F1 |
| (g)108 362.4 Q F0 .398(Cause changes to be applied o)31 F -.15(ve)-.15 G |
| 2.898(rt).15 G .398(he entire e)-2.898 F -.15(ve)-.25 G .398(nt line.) |
| .15 F .397(This is used in conjunction with `)5.398 F F1(:s)A F0 2.897 |
| ('\()C(e.g.,)-2.897 E(`)144 374.4 Q F1(:gs/)A F2(old)A F1(/)A F2(ne)A(w) |
| -.15 E F1(/)A F0 1.218('\) or `)B F1(:&)A F0 3.718('. If)B 1.218 |
| (used with `)3.718 F F1(:s)A F0 1.218(', an)B 3.718(yd)-.15 G 1.219 |
| (elimiter can be used in place of /, and the \214nal)-3.718 F .09 |
| (delimiter is optional if it is the last character of the e)144 386.4 R |
| -.15(ve)-.25 G .089(nt line.).15 F(An)5.089 E F1(a)2.589 E F0 .089 |
| (may be used as a synon)2.589 F .089(ym for)-.15 F F1(g)144 398.4 Q F0 |
| (.)A F1(G)108 410.4 Q F0(Apply the follo)28.22 E(wing `)-.25 E F1(s)A F0 |
| 2.5('m)C(odi\214er once to each w)-2.5 E(ord in the e)-.1 E -.15(ve)-.25 |
| G(nt line.).15 E/F3 10.95/Times-Bold@0 SF(PR)72 427.2 Q |
| (OGRAMMING WITH HIST)-.329 E(OR)-.197 E 2.738(YF)-.383 G(UNCTIONS)-2.738 |
| E F0(This section describes ho)108 439.2 Q 2.5(wt)-.25 G 2.5(ou)-2.5 G |
| (se the History library in other programs.)-2.5 E F1(Intr)87 456 Q |
| (oduction to History)-.18 E F0 .796 |
| (The programmer using the History library has a)108 468 R -.25(va)-.2 G |
| .797(ilable functions for remembering lines on a history list,).25 F |
| .308(associating arbitrary data with a line, remo)108 480 R .308 |
| (ving lines from the list, searching through the list for a line con-) |
| -.15 F .303(taining an arbitrary te)108 492 R .303 |
| (xt string, and referencing an)-.15 F 2.803(yl)-.15 G .303 |
| (ine in the list directly)-2.803 F 5.303(.I)-.65 G 2.803(na)-5.303 G |
| .303(ddition, a history)-2.803 F F2 -.2(ex)2.803 G(pansion).2 E F0 |
| (function is a)108 504 Q -.25(va)-.2 G(ilable which pro).25 E |
| (vides for a consistent user interf)-.15 E(ace across dif)-.1 E |
| (ferent programs.)-.25 E .059(The user using programs written with the \ |
| History library has the bene\214t of a consistent user interf)108 520.8 |
| R .058(ace with a)-.1 F .917(set of well-kno)108 532.8 R .917 |
| (wn commands for manipulating the te)-.25 F .917(xt of pre)-.15 F .917 |
| (vious lines and using that te)-.25 F .917(xt in ne)-.15 F 3.418(wc)-.25 |
| G(om-)-3.418 E 4.184(mands. The)108 544.8 R 1.684(basic history manipul\ |
| ation commands are identical to the history substitution pro)4.184 F |
| 1.683(vided by)-.15 F F1(bash)108 556.8 Q F0(.)A .903 |
| (If the programmer desires, he can use the Readline library)108 573.6 R |
| 3.403(,w)-.65 G .904(hich includes some history manipulation by)-3.403 F |
| (def)108 585.6 Q(ault, and has the added adv)-.1 E |
| (antage of command line editing.)-.25 E .39(Before declaring an)108 |
| 602.4 R 2.89(yf)-.15 G .39(unctions using an)-2.89 F 2.89(yf)-.15 G .39 |
| (unctionality the History library pro)-2.89 F .39 |
| (vides in other code, an appli-)-.15 F .066 |
| (cation writer should include the \214le)108 614.4 R F2(<r)4.232 E |
| (eadline/history)-.37 E(.h>)-.55 E F0 .067(in an)4.232 F 2.567<798c>-.15 |
| G .067(le that uses the History library')-2.567 F 2.567(sf)-.55 G |
| (eatures.)-2.567 E .539(It supplies e)108 626.4 R .538 |
| (xtern declarations for all of the library')-.15 F 3.038(sp)-.55 G .538 |
| (ublic functions and v)-3.038 F .538(ariables, and declares all of the) |
| -.25 F(public data structures.)108 638.4 Q F1(History Storage)87 667.2 Q |
| F0(The history list is an array of history entries.)108 679.2 Q 2.5(Ah)5 |
| G(istory entry is declared as follo)-2.5 E(ws:)-.25 E F2(typedef void *) |
| 108 696 Q F1(histdata_t;)2.5 E F0(typedef struct _hist_entry {)108 712.8 |
| Q(char *line;)113 724.8 Q(GNU History 5.0)72 768 Q(2003 July 31)139.005 |
| E(2)203.165 E 0 Cg EP |
| %%Page: 3 3 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E(char *timestamp;)113 84 Q(histdata_t data;)113 |
| 96 Q 2.5(}H)108 108 S(IST_ENTR)-2.5 E -.92(Y;)-.65 G |
| (The history list itself might therefore be declared as)108 124.8 Q/F1 |
| 10/Times-Italic@0 SF(HIST_ENTR)108 141.6 Q 2.5(Y*)-.18 G(*)-2.5 E/F2 10 |
| /Times-Bold@0 SF(the_history_list;)2.5 E F0(The state of the History li\ |
| brary is encapsulated into a single structure:)108 158.4 Q(/*)108 175.2 |
| Q 2.5(*As)110.5 187.2 S |
| (tructure used to pass around the current state of the history)-2.5 E(.) |
| -.65 E(*/)110.5 199.2 Q(typedef struct _hist_state {)108 211.2 Q |
| (HIST_ENTR)113 223.2 Q 2.5(Y*)-.65 G |
| (*entries; /* Pointer to the entries themselv)-2.5 E(es. */)-.15 E |
| (int of)113 235.2 Q 25(fset; /*)-.25 F |
| (The location pointer within this array)2.5 E 2.5(.*)-.65 G(/)-2.5 E |
| (int length;)113 247.2 Q(/* Number of elements within this array)27.5 E |
| 2.5(.*)-.65 G(/)-2.5 E(int size;)113 259.2 Q |
| (/* Number of slots allocated to this array)32.5 E 2.5(.*)-.65 G(/)-2.5 |
| E(int \215ags;)113 271.2 Q 2.5(}H)108 283.2 S(IST)-2.5 E(OR)-.18 E(Y_ST) |
| -.65 E -1.11(AT)-.93 G(E;)1.11 E(If the \215ags member includes)108 300 |
| Q F2(HS_STIFLED)2.5 E F0 2.5(,t)C(he history has been sti\215ed.)-2.5 E |
| /F3 10.95/Times-Bold@0 SF(History Functions)72 316.8 Q F0 |
| (This section describes the calling sequence for the v)108 328.8 Q |
| (arious functions e)-.25 E(xported by the GNU History library)-.15 E(.) |
| -.65 E F2(Initializing History and State Management)87 345.6 Q F0 1.274 |
| (This section describes functions used to initialize and manage the sta\ |
| te of the History library when you)108 357.6 R -.1(wa)108 369.6 S |
| (nt to use the history functions in your program.).1 E F1(void)108 393.6 |
| Q F2(using_history)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E(Be)108 |
| 405.6 Q(gin a session in which the history functions might be used.)-.15 |
| E(This initializes the interacti)5 E .3 -.15(ve v)-.25 H(ariables.)-.1 E |
| F1(HIST)108 429.6 Q(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5(E*).37 G F2 |
| (history_get_history_state)A F0(\()4.166 E F1(void)A F0(\))1.666 E |
| (Return a structure describing the current state of the input history) |
| 108 441.6 Q(.)-.65 E F1(void)108 465.6 Q F2(history_set_history_state) |
| 2.5 E F0(\()4.166 E F1(HIST)A(OR)-.18 E(Y_ST)-.18 E -.37(AT)-.5 G 2.5 |
| (E*).37 G(state)-2.5 E F0(\))1.666 E |
| (Set the state of the history list according to)108 477.6 Q F1(state)2.5 |
| E F0(.)A F2(History List Management)87 506.4 Q F0 |
| (These functions manage indi)108 518.4 Q(vidual entries on the history \ |
| list, or set parameters managing the list itself.)-.25 E F1(void)108 |
| 542.4 Q F2(add_history)2.5 E F0(\()4.166 E F1(const c)A(har *string)-.15 |
| E F0(\))1.666 E(Place)108 554.4 Q F1(string)2.5 E F0 |
| (at the end of the history list.)2.5 E |
| (The associated data \214eld \(if an)5 E(y\) is set to)-.15 E F2(NULL) |
| 2.5 E F0(.)A F1(void)108 578.4 Q F2(add_history_time)2.5 E F0(\()4.166 E |
| F1(const c)A(har *string)-.15 E F0(\))1.666 E |
| (Change the time stamp associated with the most recent history entry to) |
| 108 590.4 Q F1(string)2.5 E F0(.)A F1(HIST_ENTR)108 614.4 Q 2.5(Y*)-.18 |
| G F2 -.18(re)C(mo).18 E -.1(ve)-.1 G(_history).1 E F0(\()4.166 E F1 |
| (int whic)A(h)-.15 E F0(\))1.666 E(Remo)108 626.4 Q .353 -.15(ve h)-.15 |
| H .053(istory entry at of).15 F(fset)-.25 E F1(whic)2.553 E(h)-.15 E F0 |
| .053(from the history)2.553 F 5.053(.T)-.65 G .053(he remo)-5.053 F -.15 |
| (ve)-.15 G 2.553(de).15 G .052(lement is returned so you can free the) |
| -2.553 F(line, data, and containing structure.)108 638.4 Q F1 |
| (histdata_t)108 662.4 Q F2(fr)2.5 E(ee_history_entry)-.18 E F0(\()4.166 |
| E F1(HIST_ENTR)A 2.5(Y*)-.18 G(histent)-2.5 E F0(\))1.666 E .933 |
| (Free the history entry)108 674.4 R F1(histent)3.433 E F0 .933(and an) |
| 3.433 F 3.433(yh)-.15 G .933(istory library pri)-3.433 F -.25(va)-.25 G |
| .933(te data associated with it.).25 F .934(Returns the applica-)5.933 F |
| (tion-speci\214c data so the caller can dispose of it.)108 686.4 Q F1 |
| (HIST_ENTR)108 710.4 Q 2.5(Y*)-.18 G F2 -.18(re)C(place_history_entry) |
| .18 E F0(\()4.166 E F1(int whic)A -.834(h, const)-.15 F -.15(ch)2.5 G |
| (ar *line).15 E 1.666(,h)-.1 G(istdata_t data)-1.666 E F0(\))3.332 E |
| (Mak)108 722.4 Q 4.014(et)-.1 G 1.514(he history entry at of)-4.014 F |
| (fset)-.25 E F1(whic)4.013 E(h)-.15 E F0(ha)4.013 E -.15(ve)-.2 G F1 |
| (line)4.163 E F0(and)4.013 E F1(data)4.013 E F0 6.513(.T)C 1.513 |
| (his returns the old entry so the caller can)-6.513 F(GNU History 5.0)72 |
| 768 Q(2003 July 31)139.005 E(3)203.165 E 0 Cg EP |
| %%Page: 4 4 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E(dispose of an)108 84 Q 2.5(ya)-.15 G |
| (pplication-speci\214c data.)-2.5 E(In the case of an in)5 E -.25(va)-.4 |
| G(lid).25 E/F1 10/Times-Italic@0 SF(whic)2.5 E(h)-.15 E F0 2.5(,a)C/F2 |
| 10/Times-Bold@0 SF(NULL)A F0(pointer is returned.)2.5 E F1(void)108 108 |
| Q F2(clear_history)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E |
| (Clear the history list by deleting all the entries.)108 120 Q F1(void) |
| 108 144 Q F2(sti\215e_history)2.5 E F0(\()4.166 E F1(int max)A F0(\)) |
| 1.666 E(Sti\215e the history list, remembering only the last)108 156 Q |
| F1(max)2.5 E F0(entries.)2.5 E F1(int)108 180 Q F2(unsti\215e_history) |
| 2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E .46 |
| (Stop sti\215ing the history)108 192 R 5.46(.T)-.65 G .46 |
| (his returns the pre)-5.46 F .46 |
| (viously-set maximum number of history entries \(as set by)-.25 F F2 |
| (sti-)2.96 E(\215e_history\(\))108 204 Q F0 2.5(\). history)B -.1(wa)2.5 |
| G 2.5(ss).1 G 2.5(ti\215ed. The)-2.5 F -.25(va)2.5 G(lue is positi).25 E |
| .3 -.15(ve i)-.25 H 2.5(ft).15 G(he history w)-2.5 E(as sti\215ed, ne) |
| -.1 E -.05(ga)-.15 G(ti).05 E .3 -.15(ve i)-.25 H 2.5(fi).15 G 2.5(tw) |
| -2.5 G(asn')-2.6 E(t.)-.18 E F1(int)108 228 Q F2(history_is_sti\215ed) |
| 2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E |
| (Returns non-zero if the history is sti\215ed, zero if it is not.)108 |
| 240 Q F2(Inf)87 268.8 Q(ormation About the History List)-.25 E F0(These\ |
| functions return information about the entire history list or indi)108 |
| 280.8 Q(vidual list entries.)-.25 E F1(HIST_ENTR)108 304.8 Q 2.5(Y*)-.18 |
| G(*)-2.5 E F2(history_list)2.5 E F0(\()4.166 E F1(void)A F0(\))1.666 E |
| .708(Return a)108 316.8 R F2(NULL)3.208 E F0 .708(terminated array of) |
| 3.208 F F1(HIST_ENTR)3.208 E 3.208(Y*)-.18 G F0 .708 |
| (which is the current input history)B 5.707(.E)-.65 G .707 |
| (lement 0 of this)-5.707 F(list is the be)108 328.8 Q(ginning of time.) |
| -.15 E(If there is no history)5 E 2.5(,r)-.65 G(eturn)-2.5 E F2(NULL)2.5 |
| E F0(.)A F1(int)108 352.8 Q F2(wher)2.5 E(e_history)-.18 E F0(\()4.166 E |
| F1(void)A F0(\))1.666 E(Returns the of)108 364.8 Q |
| (fset of the current history element.)-.25 E F1(HIST_ENTR)108 388.8 Q |
| 2.5(Y*)-.18 G F2(curr)A(ent_history)-.18 E F0(\()4.166 E F1(void)A F0 |
| (\))1.666 E 1.373 |
| (Return the history entry at the current position, as determined by)108 |
| 400.8 R F2(wher)3.873 E(e_history\(\))-.18 E F0 6.373(.I)C 3.873(ft) |
| -6.373 G 1.374(here is no entry)-3.873 F(there, return a)108 412.8 Q F2 |
| (NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1(HIST_ENTR)108 436.8 Q 2.5(Y*) |
| -.18 G F2(history_get)A F0(\()4.166 E F1(int of)A(fset)-.18 E F0(\)) |
| 1.666 E .288(Return the history entry at position)108 448.8 R F1(of) |
| 2.787 E(fset)-.18 E F0 2.787(,s)C .287(tarting from)-2.787 F F2 |
| (history_base)2.787 E F0 5.287(.I)C 2.787(ft)-5.287 G .287 |
| (here is no entry there, or if)-2.787 F F1(of)2.787 E(fset)-.18 E F0 |
| (is greater than the history length, return a)108 460.8 Q F2(NULL)2.5 E |
| F0(pointer)2.5 E(.)-.55 E F1(time_t)108 484.8 Q F2(history_get_time)2.5 |
| E F0(\()4.166 E F1(HIST_ENTR)A 2.5(Y*)-.18 G F0(\))-.834 E(Return the t\ |
| ime stamp associated with the history entry passed as the ar)108 496.8 Q |
| (gument.)-.18 E F1(int)108 520.8 Q F2(history_total_bytes)2.5 E F0(\() |
| 4.166 E F1(void)A F0(\))1.666 E .391 |
| (Return the number of bytes that the primary history entries are using.) |
| 108 532.8 R .392(This function returns the sum of the)5.392 F |
| (lengths of all the lines in the history)108 544.8 Q(.)-.65 E F2(Mo)87 |
| 573.6 Q(ving Ar)-.1 E(ound the History List)-.18 E F0 |
| (These functions allo)108 585.6 Q 2.5(wt)-.25 G(he current inde)-2.5 E |
| 2.5(xi)-.15 G(nto the history list to be set or changed.)-2.5 E F1(int) |
| 108 609.6 Q F2(history_set_pos)2.5 E F0(\()4.166 E F1(int pos)A F0(\)) |
| 1.666 E .79(Set the current history of)108 621.6 R .79(fset to)-.25 F F1 |
| (pos)3.29 E F0 3.29(,a)C 3.29(na)-3.29 G .79(bsolute inde)-3.29 F 3.29 |
| (xi)-.15 G .79(nto the list.)-3.29 F .79(Returns 1 on success, 0 if)5.79 |
| F F1(pos)3.29 E F0 .79(is less)3.29 F |
| (than zero or greater than the number of history entries.)108 633.6 Q F1 |
| (HIST_ENTR)108 657.6 Q 2.5(Y*)-.18 G F2(pr)A -.15(ev)-.18 G |
| (ious_history).15 E F0(\()4.166 E F1(void)A F0(\))1.666 E .207 |
| (Back up the current history of)108 669.6 R .207(fset to the pre)-.25 F |
| .207(vious history entry)-.25 F 2.708(,a)-.65 G .208 |
| (nd return a pointer to that entry)-2.708 F 5.208(.I)-.65 G 2.708(ft) |
| -5.208 G .208(here is)-2.708 F(no pre)108 681.6 Q(vious entry)-.25 E 2.5 |
| (,r)-.65 G(eturn a)-2.5 E F2(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E F1 |
| (HIST_ENTR)108 705.6 Q 2.5(Y*)-.18 G F2(next_history)A F0(\()4.166 E F1 |
| (void)A F0(\))1.666 E(Mo)108 717.6 Q 1.047 -.15(ve t)-.15 H .747 |
| (he current history of).15 F .747(fset forw)-.25 F .746(ard to the ne) |
| -.1 F .746(xt history entry)-.15 F 3.246(,a)-.65 G .746 |
| (nd return the a pointer to that entry)-3.246 F 5.746(.I)-.65 G(f)-5.746 |
| E(there is no ne)108 729.6 Q(xt entry)-.15 E 2.5(,r)-.65 G(eturn a)-2.5 |
| E F2(NULL)2.5 E F0(pointer)2.5 E(.)-.55 E(GNU History 5.0)72 768 Q |
| (2003 July 31)139.005 E(4)203.165 E 0 Cg EP |
| %%Page: 5 5 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E/F1 10/Times-Bold@0 SF(Sear)87 84 Q |
| (ching the History List)-.18 E F0 .005(These functions allo)108 96 R |
| 2.505(ws)-.25 G .006(earching of the history list for entries containin\ |
| g a speci\214c string.)-2.505 F .006(Searching may be)5.006 F 1.452 |
| (performed both forw)108 108 R 1.452(ard and backw)-.1 F 1.451 |
| (ard from the current history position.)-.1 F 1.451(The search may be) |
| 6.451 F/F2 10/Times-Italic@0 SF(anc)3.951 E(hor)-.15 E(ed)-.37 E F0(,)A |
| (meaning that the string must match at the be)108 120 Q |
| (ginning of the history entry)-.15 E(.)-.65 E F2(int)108 144 Q F1 |
| (history_sear)2.5 E(ch)-.18 E F0(\()4.166 E F2(const c)A(har *string) |
| -.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F0(\))1.666 E .155 |
| (Search the history for)108 156 R F2(string)2.655 E F0 2.656(,s)C .156 |
| (tarting at the current history of)-2.656 F 2.656(fset. If)-.25 F F2 |
| (dir)2.656 E(ection)-.37 E F0 .156(is less than 0, then the search)2.656 |
| F .802(is through pre)108 168 R .802 |
| (vious entries, otherwise through subsequent entries.)-.25 F(If)5.801 E |
| F2(string)3.301 E F0 .801(is found, then the current his-)3.301 F .064 |
| (tory inde)108 180 R 2.564(xi)-.15 G 2.564(ss)-2.564 G .064 |
| (et to that history entry)-2.564 F 2.564(,a)-.65 G .064(nd the v)-2.564 |
| F .064(alue returned is the of)-.25 F .064 |
| (fset in the line of the entry where)-.25 F F2(string)2.565 E F0 -.1(wa) |
| 108 192 S 2.5(sf).1 G 2.5(ound. Otherwise,)-2.5 F |
| (nothing is changed, and a -1 is returned.)2.5 E F2(int)108 216 Q F1 |
| (history_sear)2.5 E(ch_pr)-.18 E(e\214x)-.18 E F0(\()4.166 E F2(const c) |
| A(har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E(ection)-.37 E F0(\)) |
| 1.666 E .684(Search the history for)108 228 R F2(string)3.183 E F0 3.183 |
| (,s)C .683(tarting at the current history of)-3.183 F 3.183(fset. The) |
| -.25 F .683(search is anchored: matching lines)3.183 F 1.063(must be)108 |
| 240 R 1.063(gin with)-.15 F F2(string)3.563 E F0 6.063(.I)C(f)-6.063 E |
| F2(dir)3.563 E(ection)-.37 E F0 1.064 |
| (is less than 0, then the search is through pre)3.563 F 1.064 |
| (vious entries, otherwise)-.25 F 1.115(through subsequent entries.)108 |
| 252 R(If)6.115 E F2(string)3.615 E F0 1.115 |
| (is found, then the current history inde)3.615 F 3.614(xi)-.15 G 3.614 |
| (ss)-3.614 G 1.114(et to that entry)-3.614 F 3.614(,a)-.65 G 1.114 |
| (nd the)-3.614 F(return v)108 264 Q(alue is 0.)-.25 E |
| (Otherwise, nothing is changed, and a -1 is returned.)5 E F2(int)108 288 |
| Q F1(history_sear)2.5 E(ch_pos)-.18 E F0(\()4.166 E F2(const c)A |
| (har *string)-.15 E 1.666(,i)-.1 G(nt dir)-1.666 E -.834(ection, int) |
| -.37 F(pos)2.5 E F0(\))3.332 E .603(Search for)108 300 R F2(string)3.103 |
| E F0 .603(in the history list, starting at)3.103 F F2(pos)3.104 E F0 |
| 3.104(,a)C 3.104(na)-3.104 G .604(bsolute inde)-3.104 F 3.104(xi)-.15 G |
| .604(nto the list.)-3.104 F(If)5.604 E F2(dir)3.104 E(ection)-.37 E F0 |
| .604(is ne)3.104 F -.05(ga)-.15 G(ti).05 E -.15(ve)-.25 G(,).15 E .608 |
| (the search proceeds backw)108 312 R .608(ard from)-.1 F F2(pos)3.108 E |
| F0 3.108(,o)C .608(therwise forw)-3.108 F 3.108(ard. Returns)-.1 F .608 |
| (the absolute inde)3.108 F 3.108(xo)-.15 G 3.108(ft)-3.108 G .608 |
| (he history ele-)-3.108 F(ment where)108 324 Q F2(string)2.5 E F0 -.1 |
| (wa)2.5 G 2.5(sf).1 G(ound, or -1 otherwise.)-2.5 E F1 |
| (Managing the History File)87 352.8 Q F0 .035(The History library can r\ |
| ead the history from and write it to a \214le.)108 364.8 R .036 |
| (This section documents the functions for)5.035 F |
| (managing a history \214le.)108 376.8 Q F2(int)108 400.8 Q F1 -.18(re) |
| 2.5 G(ad_history).18 E F0(\()4.166 E F2(const c)A(har *\214lename)-.15 E |
| F0(\))1.666 E .151(Add the contents of)108 412.8 R F2(\214lename)2.651 E |
| F0 .151(to the history list, a line at a time.)2.651 F(If)5.15 E F2 |
| (\214lename)2.65 E F0(is)2.65 E F1(NULL)2.65 E F0 2.65(,t)C .15 |
| (hen read from)-2.65 F F2(~/.his-)2.65 E(tory)108 424.8 Q F0 5(.R)C |
| (eturns 0 if successful, or)-5 E F1(err)2.5 E(no)-.15 E F0(if not.)2.5 E |
| F2(int)108 448.8 Q F1 -.18(re)2.5 G(ad_history_range).18 E F0(\()4.166 E |
| F2(const c)A(har *\214lename)-.15 E 1.666(,i)-.1 G(nt fr)-1.666 E -.834 |
| (om, int)-.45 F(to)2.5 E F0(\))3.332 E .052(Read a range of lines from) |
| 108 460.8 R F2(\214lename)2.553 E F0 2.553(,a)C .053 |
| (dding them to the history list.)-2.553 F .053(Start reading at line) |
| 5.053 F F2(fr)2.553 E(om)-.45 E F0 .053(and end at)2.553 F F2(to)2.553 E |
| F0(.)A(If)108 472.8 Q F2(fr)2.889 E(om)-.45 E F0 .389 |
| (is zero, start at the be)2.889 F 2.889(ginning. If)-.15 F F2(to)2.889 E |
| F0 .389(is less than)2.889 F F2(fr)2.889 E(om)-.45 E F0 2.889(,t)C .388 |
| (hen read until the end of the \214le.)-2.889 F(If)5.388 E F2 |
| (\214lename)2.888 E F0(is)108 484.8 Q F1(NULL)2.5 E F0 2.5(,t)C |
| (hen read from)-2.5 E F2(~/.history)2.5 E F0 5(.R)C |
| (eturns 0 if successful, or)-5 E F1(err)2.5 E(no)-.15 E F0(if not.)2.5 E |
| F2(int)108 508.8 Q F1(write_history)2.5 E F0(\()4.166 E F2(const c)A |
| (har *\214lename)-.15 E F0(\))1.666 E .961(Write the current history to) |
| 108 520.8 R F2(\214lename)3.461 E F0 3.461(,o)C -.15(ve)-3.611 G |
| (rwriting).15 E F2(\214lename)3.461 E F0 .961(if necessary)3.461 F 5.961 |
| (.I)-.65 G(f)-5.961 E F2(\214lename)3.462 E F0(is)3.462 E F1(NULL)3.462 |
| E F0 3.462(,t)C .962(hen write)-3.462 F(the history list to)108 532.8 Q |
| F2(~/.history)2.5 E F0 5(.R)C(eturns 0 on success, or)-5 E F1(err)2.5 E |
| (no)-.15 E F0(on a read or write error)2.5 E(.)-.55 E F2(int)108 568.8 Q |
| F1(append_history)2.5 E F0(\()4.166 E F2(int nelements,)A(const c)1.666 |
| E(har *\214lename)-.15 E F0(\))1.666 E .839(Append the last)108 580.8 R |
| F2(nelements)3.339 E F0 .839(of the history list to)3.339 F F2 |
| (\214lename)3.339 E F0 5.839(.I)C(f)-5.839 E F2(\214lename)3.339 E F0 |
| (is)3.339 E F1(NULL)3.339 E F0 3.339(,t)C .838(hen append to)-3.339 F F2 |
| (~/.history)3.338 E F0(.)A(Returns 0 on success, or)108 592.8 Q F1(err) |
| 2.5 E(no)-.15 E F0(on a read or write error)2.5 E(.)-.55 E F2(int)108 |
| 616.8 Q F1(history_truncate_\214le)2.5 E F0(\()4.166 E F2(const c)A |
| (har *\214lename)-.15 E 1.666(,i)-.1 G(nt nlines)-1.666 E F0(\))1.666 E |
| -.35(Tr)108 628.8 S .38(uncate the history \214le).35 F F2(\214lename) |
| 2.88 E F0 2.88(,l)C(ea)-2.88 E .38(ving only the last)-.2 F F2(nlines) |
| 2.881 E F0 2.881(lines. If)2.881 F F2(\214lename)2.881 E F0(is)2.881 E |
| F1(NULL)2.881 E F0 2.881(,t)C(hen)-2.881 E F2(~/.history)2.881 E F0(is) |
| 2.881 E 2.5(truncated. Returns)108 640.8 R 2.5(0o)2.5 G 2.5(ns)-2.5 G |
| (uccess, or)-2.5 E F1(err)2.5 E(no)-.15 E F0(on f)2.5 E(ailure.)-.1 E F1 |
| (History Expansion)87 669.6 Q F0(These functions implement history e)108 |
| 681.6 Q(xpansion.)-.15 E F2(int)108 705.6 Q F1(history_expand)2.5 E F0 |
| (\()4.166 E F2 -.15(ch)C(ar *string).15 E 1.666(,c)-.1 G(har **output) |
| -1.816 E F0(\))1.666 E(Expand)108 717.6 Q F2(string)2.5 E F0 2.5(,p)C |
| (lacing the result into)-2.5 E F2(output)2.5 E F0 2.5(,ap)C |
| (ointer to a string.)-2.5 E(Returns:)5 E(GNU History 5.0)72 768 Q |
| (2003 July 31)139.005 E(5)203.165 E 0 Cg EP |
| %%Page: 6 6 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E 31(0I)144 84 S 3.066(fn)-31 G 3.066(oe)-3.066 G |
| .566(xpansions took place \(or)-3.216 F 3.065(,i)-.4 G 3.065(ft)-3.065 G |
| .565(he only change in the te)-3.065 F .565(xt w)-.15 F .565 |
| (as the remo)-.1 F -.25(va)-.15 G 3.065(lo).25 G 3.065(fe)-3.065 G |
| (scape)-3.065 E(characters preceding the history e)180 96 Q |
| (xpansion character\);)-.15 E 31(1i)144 108 S 2.5(fe)-31 G |
| (xpansions did tak)-2.65 E 2.5(ep)-.1 G(lace;)-2.5 E 25.17(-1 if)144 120 |
| R(there w)2.5 E(as an error in e)-.1 E(xpansion;)-.15 E 31(2i)144 132 S |
| 2.5(ft)-31 G(he returned line should be displayed, b)-2.5 E(ut not e)-.2 |
| E -.15(xe)-.15 G(cuted, as with the).15 E/F1 10/Times-Bold@0 SF(:p)2.5 E |
| F0(modi\214er)2.5 E(.)-.55 E(If an error ocurred in e)108 144 Q |
| (xpansion, then)-.15 E/F2 10/Times-Italic@0 SF(output)2.5 E F0 |
| (contains a descripti)2.5 E .3 -.15(ve e)-.25 H(rror message.).15 E F2 |
| -.15(ch)108 168 S(ar *).15 E F1(get_history_e)2.5 E -.1(ve)-.15 G(nt).1 |
| E F0(\()4.166 E F2(const c)A(har *string)-.15 E 1.666(,i)-.1 G |
| (nt *cinde)-1.666 E -.834(x, int)-.2 F(qc)2.5 E(har)-.15 E F0(\))3.332 E |
| .262(Returns the te)108 180 R .262(xt of the history e)-.15 F -.15(ve) |
| -.25 G .262(nt be).15 F .263(ginning at)-.15 F F2(string)2.763 E F0(+) |
| 2.763 E F2(*cinde)2.763 E(x)-.2 E F0(.)A F2(*cinde)5.263 E(x)-.2 E F0 |
| .263(is modi\214ed to point to after the)2.763 F -2.15 -.25(ev e)108 192 |
| T .71(nt speci\214er).25 F 5.71(.A)-.55 G 3.21(tf)-5.71 G .71 |
| (unction entry)-3.21 F(,)-.65 E F2(cinde)3.21 E(x)-.2 E F0 .709 |
| (points to the inde)3.21 F 3.209(xi)-.15 G(nto)-3.209 E F2(string)3.209 |
| E F0 .709(where the history e)3.209 F -.15(ve)-.25 G .709 |
| (nt speci\214ca-).15 F .527(tion be)108 204 R(gins.)-.15 E F2(qc)5.527 E |
| (har)-.15 E F0 .527(is a character that is allo)3.027 F .527 |
| (wed to end the e)-.25 F -.15(ve)-.25 G .528 |
| (nt speci\214cation in addition to the `).15 F(`normal')-.74 E(')-.74 E |
| (terminating characters.)108 216 Q F2 -.15(ch)108 240 S(ar **).15 E F1 |
| (history_tok)2.5 E(enize)-.1 E F0(\()4.166 E F2(const c)A(har *string) |
| -.15 E F0(\))1.666 E .239(Return an array of tok)108 252 R .239 |
| (ens parsed out of)-.1 F F2(string)2.739 E F0 2.739(,m)C .238 |
| (uch as the shell might.)-2.739 F .238(The tok)5.238 F .238 |
| (ens are split on the charac-)-.1 F(ters in the)108 264 Q F1(history_w) |
| 2.5 E(ord_delimiters)-.1 E F0 -.25(va)2.5 G |
| (riable, and shell quoting con).25 E -.15(ve)-.4 G(ntions are obe).15 E |
| (yed.)-.15 E F2 -.15(ch)108 288 S(ar *).15 E F1(history_ar)2.5 E |
| (g_extract)-.1 E F0(\()4.166 E F2(int \214r)A -.834(st, int)-.1 F -.834 |
| (last, const)2.5 F -.15(ch)2.5 G(ar *string).15 E F0(\))3.332 E .025 |
| (Extract a string se)108 300 R .025(gment consisting of the)-.15 F F2 |
| <8c72>2.526 E(st)-.1 E F0(through)2.526 E F2(last)2.526 E F0(ar)2.526 E |
| .026(guments present in)-.18 F F2(string)2.526 E F0 5.026(.A)C -.18(rg) |
| -5.026 G .026(uments are split).18 F(using)108 312 Q F1(history_tok)2.5 |
| E(enize\(\))-.1 E F0(.)A F1(History V)87 340.8 Q(ariables)-.92 E F0 |
| (This section describes the e)108 352.8 Q(xternally-visible v)-.15 E |
| (ariables e)-.25 E(xported by the GNU History Library)-.15 E(.)-.65 E F2 |
| (int)108 376.8 Q F1(history_base)2.5 E F0(The logical of)108 388.8 Q |
| (fset of the \214rst entry in the history list.)-.25 E F2(int)108 412.8 |
| Q F1(history_length)2.5 E F0 |
| (The number of entries currently stored in the history list.)108 424.8 Q |
| F2(int)108 448.8 Q F1(history_max_entries)2.5 E F0 |
| (The maximum number of history entries.)108 460.8 Q |
| (This must be changed using)5 E F1(sti\215e_history\(\))2.5 E F0(.)A F2 |
| (int)108 484.8 Q F1(history_write_timestamps)2.5 E F0 1.468 |
| (If non-zero, timestamps are written to the history \214le, so the)108 |
| 496.8 R 3.968(yc)-.15 G 1.468(an be preserv)-3.968 F 1.468 |
| (ed between sessions.)-.15 F(The)6.468 E(def)108 508.8 Q(ault v)-.1 E |
| (alue is 0, meaning that timestamps are not sa)-.25 E -.15(ve)-.2 G(d.) |
| .15 E F2 -.15(ch)108 532.8 S(ar).15 E F1(history_expansion_char)2.5 E F0 |
| (The character that introduces a history e)108 544.8 Q -.15(ve)-.25 G |
| 2.5(nt. The).15 F(def)2.5 E(ault is)-.1 E F1(!)2.5 E F0 5(.S)C |
| (etting this to 0 inhibits history e)-5 E(xpansion.)-.15 E F2 -.15(ch) |
| 108 568.8 S(ar).15 E F1(history_subst_char)2.5 E F0 |
| (The character that in)108 580.8 Q -.2(vo)-.4 G -.1(ke).2 G 2.5(sw).1 G |
| (ord substitution if found at the start of a line.)-2.6 E(The def)5 E |
| (ault is)-.1 E F1(^)2.5 E F0(.)A F2 -.15(ch)108 604.8 S(ar).15 E F1 |
| (history_comment_char)2.5 E F0 .116(During tok)108 616.8 R .117 |
| (enization, if this character is seen as the \214rst character of a w) |
| -.1 F .117(ord, then it and all subsequent char)-.1 F(-)-.2 E .277 |
| (acters up to a ne)108 628.8 R .276 |
| (wline are ignored, suppressing history e)-.25 F .276 |
| (xpansion for the remainder of the line.)-.15 F .276(This is dis-)5.276 |
| F(abled by def)108 640.8 Q(ault.)-.1 E F2 -.15(ch)108 664.8 S(ar *).15 E |
| F1(history_w)2.5 E(ord_delimiters)-.1 E F0 |
| (The characters that separate tok)108 676.8 Q(ens for)-.1 E F1 |
| (history_tok)2.5 E(enize\(\))-.1 E F0 5(.T)C(he def)-5 E(ault v)-.1 E |
| (alue is)-.25 E F1 2.5("\\)2.5 G(t\\n\(\)<>;&|")-2.5 E F0(.)A F2 -.15 |
| (ch)108 700.8 S(ar *).15 E F1(history_no_expand_chars)2.5 E F0 2.054 |
| (The list of characters which inhibit history e)108 712.8 R 2.054 |
| (xpansion if found immediately follo)-.15 F(wing)-.25 E F1 |
| (history_expan-)4.555 E(sion_char)108 724.8 Q F0 5(.T)C(he def)-5 E |
| (ault is space, tab, ne)-.1 E(wline,)-.25 E F1(\\r)2.5 E F0 2.5(,a)C(nd) |
| -2.5 E F1(=)2.5 E F0(.)A(GNU History 5.0)72 768 Q(2003 July 31)139.005 E |
| (6)203.165 E 0 Cg EP |
| %%Page: 7 7 |
| %%BeginPageSetup |
| BP |
| %%EndPageSetup |
| /F0 10/Times-Roman@0 SF(HIST)72 48 Q(OR)-.18 E 357.18(Y\(3\) HIST)-.65 F |
| (OR)-.18 E(Y\(3\))-.65 E/F1 10/Times-Italic@0 SF -.15(ch)108 84 S(ar *) |
| .15 E/F2 10/Times-Bold@0 SF(history_sear)2.5 E(ch_delimiter_chars)-.18 E |
| F0 .401(The list of additional characters which can delimit a history s\ |
| earch string, in addition to space, tab,)108 96 R F1(:)2.901 E F0(and) |
| 2.901 E F1(?)2.901 E F0(in the case of a substring search.)108 108 Q |
| (The def)5 E(ault is empty)-.1 E(.)-.65 E F1(int)108 132 Q F2 |
| (history_quotes_inhibit_expansion)2.5 E F0 .624 |
| (If non-zero, single-quoted w)108 144 R .625 |
| (ords are not scanned for the history e)-.1 F .625(xpansion character) |
| -.15 F 5.625(.T)-.55 G .625(he def)-5.625 F .625(ault v)-.1 F .625 |
| (alue is)-.25 F(0.)108 156 Q F1(rl_lineb)108 180 Q(uf_func_t *)-.2 E F2 |
| (history_inhibit_expansion_function)2.5 E F0 .348 |
| (This should be set to the address of a function that tak)108 192 R .348 |
| (es tw)-.1 F 2.848(oa)-.1 G -.18(rg)-2.848 G .347(uments: a).18 F F2 |
| .347(char *)2.847 F F0(\()2.847 E F1(string)A F0 2.847(\)a)C .347(nd an) |
| -2.847 F F2(int)2.847 E F0(inde)2.847 E(x)-.15 E .227 |
| (into that string \()108 204 R F1(i)A F0 2.727(\). It)B .227 |
| (should return a non-zero v)2.727 F .227(alue if the history e)-.25 F |
| .227(xpansion starting at)-.15 F F1(string[i])2.728 E F0 .228 |
| (should not)2.728 F .019(be performed; zero if the e)108 216 R .019 |
| (xpansion should be done.)-.15 F .019 |
| (It is intended for use by applications lik)5.019 F(e)-.1 E F2(bash) |
| 2.519 E F0 .018(that use)2.519 F(the history e)108 228 Q |
| (xpansion character for additional purposes.)-.15 E(By def)5 E |
| (ault, this v)-.1 E(ariable is set to)-.25 E F2(NULL)2.5 E F0(.)A/F3 |
| 10.95/Times-Bold@0 SF(FILES)72 244.8 Q F1(~/.history)109.666 256.8 Q F0 |
| (Def)144 268.8 Q(ault \214lename for reading and writing sa)-.1 E -.15 |
| (ve)-.2 G 2.5(dh).15 G(istory)-2.5 E F3(SEE ALSO)72 285.6 Q F1 |
| (The Gnu Readline Libr)108 297.6 Q(ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E |
| (ox and Chet Rame)-.15 E(y)-.15 E F1(The Gnu History Libr)108 309.6 Q |
| (ary)-.15 E F0 2.5(,B)C(rian F)-2.5 E(ox and Chet Rame)-.15 E(y)-.15 E |
| F1(bash)108 321.6 Q F0(\(1\))A F1 -.37(re)108 333.6 S(adline).37 E F0 |
| (\(3\))A F3 -.548(AU)72 350.4 S(THORS).548 E F0(Brian F)108 362.4 Q |
| (ox, Free Softw)-.15 E(are F)-.1 E(oundation)-.15 E(bfox@gnu.or)108 |
| 374.4 Q(g)-.18 E(Chet Rame)108 391.2 Q 1.3 -.65(y, C)-.15 H(ase W).65 E |
| (estern Reserv)-.8 E 2.5(eU)-.15 G(ni)-2.5 E -.15(ve)-.25 G(rsity).15 E |
| (chet@ins.CWR)108 403.2 Q(U.Edu)-.4 E F3 -.11(BU)72 420 S 2.738(GR).11 G |
| (EPOR)-2.738 E(TS)-.438 E F0 .16(If you \214nd a b)108 432 R .16 |
| (ug in the)-.2 F F2(history)2.66 E F0(library)2.66 E 2.66(,y)-.65 G .16 |
| (ou should report it.)-2.66 F .16(But \214rst, you should mak)5.16 F |
| 2.66(es)-.1 G .16(ure that it really is)-2.66 F 2.5(ab)108 444 S |
| (ug, and that it appears in the latest v)-2.7 E(ersion of the)-.15 E F2 |
| (history)2.5 E F0(library that you ha)2.5 E -.15(ve)-.2 G(.).15 E .705 |
| (Once you ha)108 460.8 R 1.005 -.15(ve d)-.2 H .705(etermined that a b) |
| .15 F .704(ug actually e)-.2 F .704(xists, mail a b)-.15 F .704 |
| (ug report to)-.2 F F1 -.2(bu)3.204 G(g\255r).2 E(eadline)-.37 E F0(@)A |
| F1(gnu.or)A(g)-.37 E F0 5.704(.I)C 3.204(fy)-5.704 G(ou)-3.204 E(ha)108 |
| 472.8 Q 1.809 -.15(ve a \214)-.2 H 1.509 |
| (x, you are welcome to mail that as well!).15 F 1.51 |
| (Suggestions and `philosophical' b)6.51 F 1.51(ug reports may be)-.2 F |
| (mailed to)108 484.8 Q F1 -.2(bu)2.5 G(g-r).2 E(eadline)-.37 E F0(@)A F1 |
| (gnu.or)A(g)-.37 E F0(or posted to the Usenet ne)2.5 E(wsgroup)-.25 E F2 |
| (gnu.bash.b)2.5 E(ug)-.2 E F0(.)A(Comments and b)108 501.6 Q |
| (ug reports concerning this manual page should be directed to)-.2 E F1 |
| -.15(ch)2.5 G(et@ins.CWR).15 E -.25(U.)-.4 G(Edu).25 E F0(.).25 E |
| (GNU History 5.0)72 768 Q(2003 July 31)139.005 E(7)203.165 E 0 Cg EP |
| %%Trailer |
| end |
| %%EOF |