summaryrefslogtreecommitdiff
path: root/doc/history.html
diff options
context:
space:
mode:
authorChet Ramey <chet.ramey@case.edu>2024-04-22 10:41:37 -0400
committerChet Ramey <chet.ramey@case.edu>2024-04-22 10:41:37 -0400
commit69e5c5e4c9778bf86c3d1c6b058ddece70854de8 (patch)
tree47180ebc4b0b8218364c19b4f185de971387329c /doc/history.html
parent5d4d92f221d6aac4be445bdd8cd9b48d9ac33f04 (diff)
Readline-8.3-alpha releasereadline-8.3-alpha
Diffstat (limited to 'doc/history.html')
-rw-r--r--doc/history.html1068
1 files changed, 545 insertions, 523 deletions
diff --git a/doc/history.html b/doc/history.html
index 3c258f4..3627384 100644
--- a/doc/history.html
+++ b/doc/history.html
@@ -1,14 +1,14 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE html>
<html>
-<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ -->
+<!-- Created by GNU Texinfo 7.1, https://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This document describes the GNU History library
-(version 8.2, 19 September 2022),
+(version 8.3, 19 January 2024),
a programming tool that provides a consistent user interface for
recalling lines of previously typed input.
-Copyright (C) 1988-2022 Free Software Foundation, Inc.
+Copyright © 1988-2023 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -32,21 +32,19 @@ A copy of the license is included in the section entitled
<link href="#Using-History-Interactively" rel="next" title="Using History Interactively">
<style type="text/css">
<!--
-a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em}
-a.summary-letter {text-decoration: none}
-blockquote.indentedblock {margin-right: 0em}
+a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em}
+a.summary-letter-printindex {text-decoration: none}
+div.center {text-align:center}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
-kbd {font-style: oblique}
-pre.display {font-family: inherit}
-pre.format {font-family: inherit}
-pre.menu-comment {font-family: serif}
-pre.menu-preformatted {font-family: serif}
-span.nolinebreak {white-space: nowrap}
-span.roman {font-family: initial; font-weight: normal}
-span.sansserif {font-family: sans-serif; font-weight: normal}
-span:hover a.copiable-anchor {visibility: visible}
-ul.no-bullet {list-style: none}
+pre.display-preformatted {font-family: inherit}
+span:hover a.copiable-link {visibility: visible}
+strong.def-name {font-family: monospace; font-weight: bold; font-size: larger}
+td.printindex-index-entry {vertical-align: top}
+td.printindex-index-section {vertical-align: top; padding-left: 1em}
+th.entries-header-printindex {text-align:left}
+th.sections-header-printindex {text-align:left; padding-left: 1em}
+ul.toc-numbered-mark {list-style: none}
-->
</style>
@@ -54,7 +52,6 @@ ul.no-bullet {list-style: none}
</head>
<body lang="en">
-<h1 class="settitle" align="center">GNU History Library</h1>
@@ -64,12 +61,12 @@ ul.no-bullet {list-style: none}
-<div class="top" id="Top">
-<div class="header">
+<div class="top-level-extent" id="Top">
+<div class="nav-panel">
<p>
Next: <a href="#Using-History-Interactively" accesskey="n" rel="next">Using History Interactively</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="GNU-History-Library"></span><h1 class="top">GNU History Library</h1>
+<h1 class="top" id="GNU-History-Library"><span>GNU History Library<a class="copiable-link" href="#GNU-History-Library"> &para;</a></span></h1>
<p>This document describes the GNU History library, a programming tool that
provides a consistent user interface for recalling lines of previously
@@ -78,27 +75,27 @@ typed input.
-<div class="Contents_element" id="SEC_Contents">
+<div class="element-contents" id="SEC_Contents">
<h2 class="contents-heading">Table of Contents</h2>
<div class="contents">
-<ul class="no-bullet">
+<ul class="toc-numbered-mark">
<li><a id="toc-Using-History-Interactively-1" href="#Using-History-Interactively">1 Using History Interactively</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-History-Expansion-1" href="#History-Interaction">1.1 History Expansion</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Event-Designators-1" href="#Event-Designators">1.1.1 Event Designators</a></li>
<li><a id="toc-Word-Designators-1" href="#Word-Designators">1.1.2 Word Designators</a></li>
<li><a id="toc-Modifiers-1" href="#Modifiers">1.1.3 Modifiers</a></li>
</ul></li>
</ul></li>
<li><a id="toc-Programming-with-GNU-History-1" href="#Programming-with-GNU-History">2 Programming with GNU History</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Introduction-to-History-1" href="#Introduction-to-History">2.1 Introduction to History</a></li>
<li><a id="toc-History-Storage-1" href="#History-Storage">2.2 History Storage</a></li>
<li><a id="toc-History-Functions-1" href="#History-Functions">2.3 History Functions</a>
- <ul class="no-bullet">
+ <ul class="toc-numbered-mark">
<li><a id="toc-Initializing-History-and-State-Management-1" href="#Initializing-History-and-State-Management">2.3.1 Initializing History and State Management</a></li>
<li><a id="toc-History-List-Management-1" href="#History-List-Management">2.3.2 History List Management</a></li>
<li><a id="toc-Information-About-the-History-List-1" href="#Information-About-the-History-List">2.3.3 Information About the History List</a></li>
@@ -117,35 +114,35 @@ typed input.
</div>
</div>
<hr>
-<div class="chapter" id="Using-History-Interactively">
-<div class="header">
+<div class="chapter-level-extent" id="Using-History-Interactively">
+<div class="nav-panel">
<p>
Next: <a href="#Programming-with-GNU-History" accesskey="n" rel="next">Programming with GNU History</a>, Previous: <a href="#Top" accesskey="p" rel="prev">GNU History Library</a>, Up: <a href="#Top" accesskey="u" rel="up">GNU History Library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Using-History-Interactively-1"></span><h2 class="chapter">1 Using History Interactively</h2>
+<h2 class="chapter" id="Using-History-Interactively-1"><span>1 Using History Interactively<a class="copiable-link" href="#Using-History-Interactively-1"> &para;</a></span></h2>
-<p>This chapter describes how to use the <small>GNU</small> History Library interactively,
+<p>This chapter describes how to use the <small class="sc">GNU</small> History Library interactively,
from a user&rsquo;s standpoint. It should be considered a user&rsquo;s guide. For
-information on using the <small>GNU</small> History Library in your own programs,
-see <a href="#Programming-with-GNU-History">Programming with GNU History</a>.
+information on using the <small class="sc">GNU</small> History Library in your own programs,
+see <a class="pxref" href="#Programming-with-GNU-History">Programming with GNU History</a>.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#History-Interaction" accesskey="1">History Expansion</a></li>
</ul>
<hr>
-<div class="section" id="History-Interaction">
-<div class="header">
+<div class="section-level-extent" id="History-Interaction">
+<div class="nav-panel">
<p>
Up: <a href="#Using-History-Interactively" accesskey="u" rel="up">Using History Interactively</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Expansion-1"></span><h3 class="section">1.1 History Expansion</h3>
-<span id="index-history-expansion"></span>
+<h3 class="section" id="History-Expansion-1"><span>1.1 History Expansion<a class="copiable-link" href="#History-Expansion-1"> &para;</a></span></h3>
+<a class="index-entry-id" id="index-history-expansion"></a>
<p>The History library provides a history expansion feature that is similar
-to the history expansion provided by <code>csh</code>. This section
+to the history expansion provided by <code class="code">csh</code>. This section
describes the syntax used to manipulate the history information.
</p>
<p>History expansions introduce words from the history list into
@@ -157,14 +154,21 @@ fix errors in previous commands quickly.
<p>History expansion takes place in two parts. The first is to determine
which line from the history list should be used during substitution.
The second is to select portions of that line for inclusion into the
-current one. The line selected from the history is called the
-<em>event</em>, and the portions of that line that are acted upon are
-called <em>words</em>. Various <em>modifiers</em> are available to manipulate
-the selected words. The line is broken into words in the same fashion
+current one.
+</p>
+<p>The line selected from the history is called the <em class="dfn">event</em>,
+and the portions of that line that are acted upon are called <em class="dfn">words</em>.
+The line is broken into words in the same fashion
that Bash does, so that several words
surrounded by quotes are considered one word.
-History expansions are introduced by the appearance of the
-history expansion character, which is &lsquo;<samp>!</samp>&rsquo; by default.
+The <em class="dfn">event designator</em> selects the event, the optional
+<em class="dfn">word designator</em> selects words from the event, and
+various optional <em class="dfn">modifiers</em> are available to manipulate the
+selected words.
+</p>
+<p>History expansions are introduced by the appearance of the
+history expansion character, which is &lsquo;<samp class="samp">!</samp>&rsquo; by default.
+History expansions may appear anywhere in the input, but do not nest.
</p>
<p>History expansion implements shell-like quoting conventions:
a backslash can be used to remove the special handling for the next character;
@@ -176,70 +180,83 @@ but single quotes may not, since they are not treated specially within
double quotes.
</p>
+<p>There is a special abbreviation for substitution, active when the
+<var class="var">quick substitution</var> character (default &lsquo;<samp class="samp">^</samp>&rsquo;)
+is the first character on the line.
+It selects the previous history list entry, using an event designator
+equivalent to <code class="code">!!</code>,
+and substitutes one string for another in that line.
+It is described below (see <a class="pxref" href="#Event-Designators">Event Designators</a>).
+This is the only history expansion that does not begin with the history
+expansion character.
+</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Event-Designators" accesskey="1">Event Designators</a></li>
<li><a href="#Word-Designators" accesskey="2">Word Designators</a></li>
<li><a href="#Modifiers" accesskey="3">Modifiers</a></li>
</ul>
<hr>
-<div class="subsection" id="Event-Designators">
-<div class="header">
+<div class="subsection-level-extent" id="Event-Designators">
+<div class="nav-panel">
<p>
Next: <a href="#Word-Designators" accesskey="n" rel="next">Word Designators</a>, Up: <a href="#History-Interaction" accesskey="u" rel="up">History Expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Event-Designators-1"></span><h4 class="subsection">1.1.1 Event Designators</h4>
-<span id="index-event-designators"></span>
+<h4 class="subsection" id="Event-Designators-1"><span>1.1.1 Event Designators<a class="copiable-link" href="#Event-Designators-1"> &para;</a></span></h4>
+<a class="index-entry-id" id="index-event-designators"></a>
<p>An event designator is a reference to a command line entry in the
history list.
Unless the reference is absolute, events are relative to the current
position in the history list.
-<span id="index-history-events"></span>
+The event designator consists of the portion of the word beginning
+with the history expansion character, and ending with the word designator
+if one is present, or the end of the word.
+<a class="index-entry-id" id="index-history-events"></a>
</p>
-<dl compact="compact">
-<dt><span><code>!</code></span></dt>
+<dl class="table">
+<dt><code class="code">!</code></dt>
<dd><p>Start a history substitution, except when followed by a space, tab,
-the end of the line, or &lsquo;<samp>=</samp>&rsquo;.
+the end of the line, or &lsquo;<samp class="samp">=</samp>&rsquo;.
</p>
</dd>
-<dt><span><code>!<var>n</var></code></span></dt>
-<dd><p>Refer to command line <var>n</var>.
+<dt><code class="code">!<var class="var">n</var></code></dt>
+<dd><p>Refer to command line <var class="var">n</var>.
</p>
</dd>
-<dt><span><code>!-<var>n</var></code></span></dt>
-<dd><p>Refer to the command <var>n</var> lines back.
+<dt><code class="code">!-<var class="var">n</var></code></dt>
+<dd><p>Refer to the command <var class="var">n</var> lines back.
</p>
</dd>
-<dt><span><code>!!</code></span></dt>
-<dd><p>Refer to the previous command. This is a synonym for &lsquo;<samp>!-1</samp>&rsquo;.
+<dt><code class="code">!!</code></dt>
+<dd><p>Refer to the previous command. This is a synonym for &lsquo;<samp class="samp">!-1</samp>&rsquo;.
</p>
</dd>
-<dt><span><code>!<var>string</var></code></span></dt>
+<dt><code class="code">!<var class="var">string</var></code></dt>
<dd><p>Refer to the most recent command
preceding the current position in the history list
-starting with <var>string</var>.
+starting with <var class="var">string</var>.
</p>
</dd>
-<dt><span><code>!?<var>string</var>[?]</code></span></dt>
+<dt><code class="code">!?<var class="var">string</var>[?]</code></dt>
<dd><p>Refer to the most recent command
preceding the current position in the history list
-containing <var>string</var>.
+containing <var class="var">string</var>.
The trailing
-&lsquo;<samp>?</samp>&rsquo; may be omitted if the <var>string</var> is followed immediately by
+&lsquo;<samp class="samp">?</samp>&rsquo; may be omitted if the <var class="var">string</var> is followed immediately by
a newline.
-If <var>string</var> is missing, the string from the most recent search is used;
+If <var class="var">string</var> is missing, the string from the most recent search is used;
it is an error if there is no previous search string.
</p>
</dd>
-<dt><span><code>^<var>string1</var>^<var>string2</var>^</code></span></dt>
-<dd><p>Quick Substitution. Repeat the last command, replacing <var>string1</var>
-with <var>string2</var>. Equivalent to
-<code>!!:s^<var>string1</var>^<var>string2</var>^</code>.
+<dt><code class="code">^<var class="var">string1</var>^<var class="var">string2</var>^</code></dt>
+<dd><p>Quick Substitution. Repeat the last command, replacing <var class="var">string1</var>
+with <var class="var">string2</var>. Equivalent to
+<code class="code">!!:s^<var class="var">string1</var>^<var class="var">string2</var>^</code>.
</p>
</dd>
-<dt><span><code>!#</code></span></dt>
+<dt><code class="code">!#</code></dt>
<dd><p>The entire command line typed so far.
</p>
</dd>
@@ -247,80 +264,82 @@ with <var>string2</var>. Equivalent to
<hr>
</div>
-<div class="subsection" id="Word-Designators">
-<div class="header">
+<div class="subsection-level-extent" id="Word-Designators">
+<div class="nav-panel">
<p>
Next: <a href="#Modifiers" accesskey="n" rel="next">Modifiers</a>, Previous: <a href="#Event-Designators" accesskey="p" rel="prev">Event Designators</a>, Up: <a href="#History-Interaction" accesskey="u" rel="up">History Expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Word-Designators-1"></span><h4 class="subsection">1.1.2 Word Designators</h4>
+<h4 class="subsection" id="Word-Designators-1"><span>1.1.2 Word Designators<a class="copiable-link" href="#Word-Designators-1"> &para;</a></span></h4>
<p>Word designators are used to select desired words from the event.
-A &lsquo;<samp>:</samp>&rsquo; separates the event specification from the word designator. It
-may be omitted if the word designator begins with a &lsquo;<samp>^</samp>&rsquo;, &lsquo;<samp>$</samp>&rsquo;,
-&lsquo;<samp>*</samp>&rsquo;, &lsquo;<samp>-</samp>&rsquo;, or &lsquo;<samp>%</samp>&rsquo;. Words are numbered from the beginning
+They are optional; if the word designator isn&rsquo;t supplied, the history
+expansion uses the entire event.
+A &lsquo;<samp class="samp">:</samp>&rsquo; separates the event specification from the word designator. It
+may be omitted if the word designator begins with a &lsquo;<samp class="samp">^</samp>&rsquo;, &lsquo;<samp class="samp">$</samp>&rsquo;,
+&lsquo;<samp class="samp">*</samp>&rsquo;, &lsquo;<samp class="samp">-</samp>&rsquo;, or &lsquo;<samp class="samp">%</samp>&rsquo;. Words are numbered from the beginning
of the line, with the first word being denoted by 0 (zero). Words are
inserted into the current line separated by single spaces.
</p>
<p>For example,
</p>
-<dl compact="compact">
-<dt><span><code>!!</code></span></dt>
+<dl class="table">
+<dt><code class="code">!!</code></dt>
<dd><p>designates the preceding command. When you type this, the preceding
command is repeated in toto.
</p>
</dd>
-<dt><span><code>!!:$</code></span></dt>
+<dt><code class="code">!!:$</code></dt>
<dd><p>designates the last argument of the preceding command. This may be
-shortened to <code>!$</code>.
+shortened to <code class="code">!$</code>.
</p>
</dd>
-<dt><span><code>!fi:2</code></span></dt>
+<dt><code class="code">!fi:2</code></dt>
<dd><p>designates the second argument of the most recent command starting with
-the letters <code>fi</code>.
+the letters <code class="code">fi</code>.
</p></dd>
</dl>
<p>Here are the word designators:
</p>
-<dl compact="compact">
-<dt><span><code>0 (zero)</code></span></dt>
-<dd><p>The <code>0</code>th word. For many applications, this is the command word.
+<dl class="table">
+<dt><code class="code">0 (zero)</code></dt>
+<dd><p>The <code class="code">0</code>th word. For many applications, this is the command word.
</p>
</dd>
-<dt><span><code><var>n</var></code></span></dt>
-<dd><p>The <var>n</var>th word.
+<dt><code class="code"><var class="var">n</var></code></dt>
+<dd><p>The <var class="var">n</var>th word.
</p>
</dd>
-<dt><span><code>^</code></span></dt>
+<dt><code class="code">^</code></dt>
<dd><p>The first argument; that is, word 1.
</p>
</dd>
-<dt><span><code>$</code></span></dt>
+<dt><code class="code">$</code></dt>
<dd><p>The last argument.
</p>
</dd>
-<dt><span><code>%</code></span></dt>
-<dd><p>The first word matched by the most recent &lsquo;<samp>?<var>string</var>?</samp>&rsquo; search,
+<dt><code class="code">%</code></dt>
+<dd><p>The first word matched by the most recent &lsquo;<samp class="samp">?<var class="var">string</var>?</samp>&rsquo; search,
if the search string begins with a character that is part of a word.
</p>
</dd>
-<dt><span><code><var>x</var>-<var>y</var></code></span></dt>
-<dd><p>A range of words; &lsquo;<samp>-<var>y</var></samp>&rsquo; abbreviates &lsquo;<samp>0-<var>y</var></samp>&rsquo;.
+<dt><code class="code"><var class="var">x</var>-<var class="var">y</var></code></dt>
+<dd><p>A range of words; &lsquo;<samp class="samp">-<var class="var">y</var></samp>&rsquo; abbreviates &lsquo;<samp class="samp">0-<var class="var">y</var></samp>&rsquo;.
</p>
</dd>
-<dt><span><code>*</code></span></dt>
-<dd><p>All of the words, except the <code>0</code>th. This is a synonym for &lsquo;<samp>1-$</samp>&rsquo;.
-It is not an error to use &lsquo;<samp>*</samp>&rsquo; if there is just one word in the event;
+<dt><code class="code">*</code></dt>
+<dd><p>All of the words, except the <code class="code">0</code>th. This is a synonym for &lsquo;<samp class="samp">1-$</samp>&rsquo;.
+It is not an error to use &lsquo;<samp class="samp">*</samp>&rsquo; if there is just one word in the event;
the empty string is returned in that case.
</p>
</dd>
-<dt><span><code><var>x</var>*</code></span></dt>
-<dd><p>Abbreviates &lsquo;<samp><var>x</var>-$</samp>&rsquo;
+<dt><code class="code"><var class="var">x</var>*</code></dt>
+<dd><p>Abbreviates &lsquo;<samp class="samp"><var class="var">x</var>-$</samp>&rsquo;
</p>
</dd>
-<dt><span><code><var>x</var>-</code></span></dt>
-<dd><p>Abbreviates &lsquo;<samp><var>x</var>-$</samp>&rsquo; like &lsquo;<samp><var>x</var>*</samp>&rsquo;, but omits the last word.
-If &lsquo;<samp>x</samp>&rsquo; is missing, it defaults to 0.
+<dt><code class="code"><var class="var">x</var>-</code></dt>
+<dd><p>Abbreviates &lsquo;<samp class="samp"><var class="var">x</var>-$</samp>&rsquo; like &lsquo;<samp class="samp"><var class="var">x</var>*</samp>&rsquo;, but omits the last word.
+If &lsquo;<samp class="samp">x</samp>&rsquo; is missing, it defaults to 0.
</p>
</dd>
</dl>
@@ -330,71 +349,71 @@ previous command is used as the event.
</p>
<hr>
</div>
-<div class="subsection" id="Modifiers">
-<div class="header">
+<div class="subsection-level-extent" id="Modifiers">
+<div class="nav-panel">
<p>
Previous: <a href="#Word-Designators" accesskey="p" rel="prev">Word Designators</a>, Up: <a href="#History-Interaction" accesskey="u" rel="up">History Expansion</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Modifiers-1"></span><h4 class="subsection">1.1.3 Modifiers</h4>
+<h4 class="subsection" id="Modifiers-1"><span>1.1.3 Modifiers<a class="copiable-link" href="#Modifiers-1"> &para;</a></span></h4>
<p>After the optional word designator, you can add a sequence of one or more
-of the following modifiers, each preceded by a &lsquo;<samp>:</samp>&rsquo;.
+of the following modifiers, each preceded by a &lsquo;<samp class="samp">:</samp>&rsquo;.
These modify, or edit, the word or words selected from the history event.
</p>
-<dl compact="compact">
-<dt><span><code>h</code></span></dt>
+<dl class="table">
+<dt><code class="code">h</code></dt>
<dd><p>Remove a trailing pathname component, leaving only the head.
</p>
</dd>
-<dt><span><code>t</code></span></dt>
+<dt><code class="code">t</code></dt>
<dd><p>Remove all leading pathname components, leaving the tail.
</p>
</dd>
-<dt><span><code>r</code></span></dt>
-<dd><p>Remove a trailing suffix of the form &lsquo;<samp>.<var>suffix</var></samp>&rsquo;, leaving
+<dt><code class="code">r</code></dt>
+<dd><p>Remove a trailing suffix of the form &lsquo;<samp class="samp">.<var class="var">suffix</var></samp>&rsquo;, leaving
the basename.
</p>
</dd>
-<dt><span><code>e</code></span></dt>
+<dt><code class="code">e</code></dt>
<dd><p>Remove all but the trailing suffix.
</p>
</dd>
-<dt><span><code>p</code></span></dt>
+<dt><code class="code">p</code></dt>
<dd><p>Print the new command but do not execute it.
</p>
</dd>
-<dt><span><code>s/<var>old</var>/<var>new</var>/</code></span></dt>
-<dd><p>Substitute <var>new</var> for the first occurrence of <var>old</var> in the
+<dt><code class="code">s/<var class="var">old</var>/<var class="var">new</var>/</code></dt>
+<dd><p>Substitute <var class="var">new</var> for the first occurrence of <var class="var">old</var> in the
event line.
-Any character may be used as the delimiter in place of &lsquo;<samp>/</samp>&rsquo;.
-The delimiter may be quoted in <var>old</var> and <var>new</var>
-with a single backslash. If &lsquo;<samp>&amp;</samp>&rsquo; appears in <var>new</var>,
-it is replaced by <var>old</var>. A single backslash will quote
-the &lsquo;<samp>&amp;</samp>&rsquo;.
-If <var>old</var> is null, it is set to the last <var>old</var>
+Any character may be used as the delimiter in place of &lsquo;<samp class="samp">/</samp>&rsquo;.
+The delimiter may be quoted in <var class="var">old</var> and <var class="var">new</var>
+with a single backslash. If &lsquo;<samp class="samp">&amp;</samp>&rsquo; appears in <var class="var">new</var>,
+it is replaced by <var class="var">old</var>. A single backslash will quote
+the &lsquo;<samp class="samp">&amp;</samp>&rsquo;.
+If <var class="var">old</var> is null, it is set to the last <var class="var">old</var>
substituted, or, if no previous history substitutions took place,
-the last <var>string</var>
-in a !?<var>string</var><code>[?]</code>
+the last <var class="var">string</var>
+in a !?<var class="var">string</var><code class="code">[?]</code>
search.
-If <var>new</var> is null, each matching <var>old</var> is deleted.
+If <var class="var">new</var> is null, each matching <var class="var">old</var> is deleted.
The final delimiter is optional if it is the last
character on the input line.
</p>
</dd>
-<dt><span><code>&amp;</code></span></dt>
+<dt><code class="code">&amp;</code></dt>
<dd><p>Repeat the previous substitution.
</p>
</dd>
-<dt><span><code>g</code></span></dt>
-<dt><span><code>a</code></span></dt>
+<dt><code class="code">g</code></dt>
+<dt><code class="code">a</code></dt>
<dd><p>Cause changes to be applied over the entire event line. Used in
-conjunction with &lsquo;<samp>s</samp>&rsquo;, as in <code>gs/<var>old</var>/<var>new</var>/</code>,
-or with &lsquo;<samp>&amp;</samp>&rsquo;.
+conjunction with &lsquo;<samp class="samp">s</samp>&rsquo;, as in <code class="code">gs/<var class="var">old</var>/<var class="var">new</var>/</code>,
+or with &lsquo;<samp class="samp">&amp;</samp>&rsquo;.
</p>
</dd>
-<dt><span><code>G</code></span></dt>
-<dd><p>Apply the following &lsquo;<samp>s</samp>&rsquo; or &lsquo;<samp>&amp;</samp>&rsquo; modifier once to each word
+<dt><code class="code">G</code></dt>
+<dd><p>Apply the following &lsquo;<samp class="samp">s</samp>&rsquo; or &lsquo;<samp class="samp">&amp;</samp>&rsquo; modifier once to each word
in the event.
</p>
</dd>
@@ -404,20 +423,20 @@ in the event.
</div>
</div>
</div>
-<div class="chapter" id="Programming-with-GNU-History">
-<div class="header">
+<div class="chapter-level-extent" id="Programming-with-GNU-History">
+<div class="nav-panel">
<p>
Next: <a href="#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="#Using-History-Interactively" accesskey="p" rel="prev">Using History Interactively</a>, Up: <a href="#Top" accesskey="u" rel="up">GNU History Library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Programming-with-GNU-History-1"></span><h2 class="chapter">2 Programming with GNU History</h2>
+<h2 class="chapter" id="Programming-with-GNU-History-1"><span>2 Programming with GNU History<a class="copiable-link" href="#Programming-with-GNU-History-1"> &para;</a></span></h2>
<p>This chapter describes how to interface programs that you write
-with the <small>GNU</small> History Library.
+with the <small class="sc">GNU</small> History Library.
It should be considered a technical guide.
-For information on the interactive use of <small>GNU</small> History, see <a href="#Using-History-Interactively">Using History Interactively</a>.
+For information on the interactive use of <small class="sc">GNU</small> History, see <a class="pxref" href="#Using-History-Interactively">Using History Interactively</a>.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Introduction-to-History" accesskey="1">Introduction to History</a></li>
<li><a href="#History-Storage" accesskey="2">History Storage</a></li>
<li><a href="#History-Functions" accesskey="3">History Functions</a></li>
@@ -425,14 +444,14 @@ For information on the interactive use of <small>GNU</small> History, see <a hre
<li><a href="#History-Programming-Example" accesskey="5">History Programming Example</a></li>
</ul>
<hr>
-<div class="section" id="Introduction-to-History">
-<div class="header">
+<div class="section-level-extent" id="Introduction-to-History">
+<div class="nav-panel">
<p>
Next: <a href="#History-Storage" accesskey="n" rel="next">History Storage</a>, Up: <a href="#Programming-with-GNU-History" accesskey="u" rel="up">Programming with GNU History</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Introduction-to-History-1"></span><h3 class="section">2.1 Introduction to History</h3>
+<h3 class="section" id="Introduction-to-History-1"><span>2.1 Introduction to History<a class="copiable-link" href="#Introduction-to-History-1"> &para;</a></span></h3>
-<p>Many programs read input from the user a line at a time. The <small>GNU</small>
+<p>Many programs read input from the user a line at a time. The <small class="sc">GNU</small>
History library is able to keep track of those lines, associate arbitrary
data with each line, and utilize information from previous lines in
composing new ones.
@@ -441,7 +460,7 @@ composing new ones.
for remembering lines on a history list, associating arbitrary data
with a line, removing lines from the list, searching through the list
for a line containing an arbitrary text string, and referencing any line
-in the list directly. In addition, a history <em>expansion</em> function
+in the list directly. In addition, a history <em class="dfn">expansion</em> function
is available which provides for a consistent user interface across
different programs.
</p>
@@ -449,7 +468,7 @@ different programs.
benefit of a consistent user interface with a set of well-known
commands for manipulating the text of previous lines and using that text
in new commands. The basic history manipulation commands are similar to
-the history substitution provided by <code>csh</code>.
+the history substitution provided by <code class="code">csh</code>.
</p>
<p>The programmer can also use the Readline library, which
includes some history manipulation by default, and has the added
@@ -457,25 +476,25 @@ advantage of command line editing.
</p>
<p>Before declaring any functions using any functionality the History
library provides in other code, an application writer should include
-the file <code>&lt;readline/history.h&gt;</code> in any file that uses the
+the file <code class="code">&lt;readline/history.h&gt;</code> in any file that uses the
History library&rsquo;s features. It supplies extern declarations for all
of the library&rsquo;s public functions and variables, and declares all of
the public data structures.
</p>
<hr>
</div>
-<div class="section" id="History-Storage">
-<div class="header">
+<div class="section-level-extent" id="History-Storage">
+<div class="nav-panel">
<p>
Next: <a href="#History-Functions" accesskey="n" rel="next">History Functions</a>, Previous: <a href="#Introduction-to-History" accesskey="p" rel="prev">Introduction to History</a>, Up: <a href="#Programming-with-GNU-History" accesskey="u" rel="up">Programming with GNU History</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Storage-1"></span><h3 class="section">2.2 History Storage</h3>
+<h3 class="section" id="History-Storage-1"><span>2.2 History Storage<a class="copiable-link" href="#History-Storage-1"> &para;</a></span></h3>
<p>The history list is an array of history entries. A history entry is
declared as follows:
</p>
<div class="example">
-<pre class="example">typedef void *histdata_t;
+<pre class="example-preformatted">typedef void *histdata_t;
typedef struct _hist_entry {
char *line;
@@ -487,13 +506,13 @@ typedef struct _hist_entry {
<p>The history list itself might therefore be declared as
</p>
<div class="example">
-<pre class="example">HIST_ENTRY **the_history_list;
+<pre class="example-preformatted">HIST_ENTRY **the_history_list;
</pre></div>
<p>The state of the History library is encapsulated into a single structure:
</p>
<div class="example">
-<pre class="example">/*
+<pre class="example-preformatted">/*
* A structure used to pass around the current state of the history.
*/
typedef struct _hist_state {
@@ -505,23 +524,23 @@ typedef struct _hist_state {
} HISTORY_STATE;
</pre></div>
-<p>If the flags member includes <code>HS_STIFLED</code>, the history has been
+<p>If the flags member includes <code class="code">HS_STIFLED</code>, the history has been
stifled.
</p>
<hr>
</div>
-<div class="section" id="History-Functions">
-<div class="header">
+<div class="section-level-extent" id="History-Functions">
+<div class="nav-panel">
<p>
Next: <a href="#History-Variables" accesskey="n" rel="next">History Variables</a>, Previous: <a href="#History-Storage" accesskey="p" rel="prev">History Storage</a>, Up: <a href="#Programming-with-GNU-History" accesskey="u" rel="up">Programming with GNU History</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Functions-1"></span><h3 class="section">2.3 History Functions</h3>
+<h3 class="section" id="History-Functions-1"><span>2.3 History Functions<a class="copiable-link" href="#History-Functions-1"> &para;</a></span></h3>
<p>This section describes the calling sequence for the various functions
-exported by the <small>GNU</small> History library.
+exported by the <small class="sc">GNU</small> History library.
</p>
-<ul class="section-toc">
+<ul class="mini-toc">
<li><a href="#Initializing-History-and-State-Management" accesskey="1">Initializing History and State Management</a></li>
<li><a href="#History-List-Management" accesskey="2">History List Management</a></li>
<li><a href="#Information-About-the-History-List" accesskey="3">Information About the History List</a></li>
@@ -531,155 +550,155 @@ exported by the <small>GNU</small> History library.
<li><a href="#History-Expansion" accesskey="7">History Expansion</a></li>
</ul>
<hr>
-<div class="subsection" id="Initializing-History-and-State-Management">
-<div class="header">
+<div class="subsection-level-extent" id="Initializing-History-and-State-Management">
+<div class="nav-panel">
<p>
Next: <a href="#History-List-Management" accesskey="n" rel="next">History List Management</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Initializing-History-and-State-Management-1"></span><h4 class="subsection">2.3.1 Initializing History and State Management</h4>
+<h4 class="subsection" id="Initializing-History-and-State-Management-1"><span>2.3.1 Initializing History and State Management<a class="copiable-link" href="#Initializing-History-and-State-Management-1"> &para;</a></span></h4>
<p>This section describes functions used to initialize and manage
the state of the History library when you want to use the history
functions in your program.
</p>
-<dl class="def">
-<dt id="index-using_005fhistory"><span class="category">Function: </span><span><em>void</em> <strong>using_history</strong> <em>(void)</em><a href='#index-using_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-using_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">using_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-using_005fhistory"> &para;</a></span></dt>
<dd><p>Begin a session in which the history functions might be used. This
initializes the interactive variables.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fget_005fhistory_005fstate"><span class="category">Function: </span><span><em>HISTORY_STATE *</em> <strong>history_get_history_state</strong> <em>(void)</em><a href='#index-history_005fget_005fhistory_005fstate' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fget_005fhistory_005fstate"><span class="category-def">Function: </span><span><code class="def-type">HISTORY_STATE *</code> <strong class="def-name">history_get_history_state</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-history_005fget_005fhistory_005fstate"> &para;</a></span></dt>
<dd><p>Return a structure describing the current state of the input history.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fset_005fhistory_005fstate"><span class="category">Function: </span><span><em>void</em> <strong>history_set_history_state</strong> <em>(HISTORY_STATE *state)</em><a href='#index-history_005fset_005fhistory_005fstate' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the state of the history list according to <var>state</var>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fset_005fhistory_005fstate"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">history_set_history_state</strong> <code class="def-code-arguments">(HISTORY_STATE *state)</code><a class="copiable-link" href="#index-history_005fset_005fhistory_005fstate"> &para;</a></span></dt>
+<dd><p>Set the state of the history list according to <var class="var">state</var>.
</p></dd></dl>
<hr>
</div>
-<div class="subsection" id="History-List-Management">
-<div class="header">
+<div class="subsection-level-extent" id="History-List-Management">
+<div class="nav-panel">
<p>
Next: <a href="#Information-About-the-History-List" accesskey="n" rel="next">Information About the History List</a>, Previous: <a href="#Initializing-History-and-State-Management" accesskey="p" rel="prev">Initializing History and State Management</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-List-Management-1"></span><h4 class="subsection">2.3.2 History List Management</h4>
+<h4 class="subsection" id="History-List-Management-1"><span>2.3.2 History List Management<a class="copiable-link" href="#History-List-Management-1"> &para;</a></span></h4>
<p>These functions manage individual entries on the history list, or set
parameters managing the list itself.
</p>
-<dl class="def">
-<dt id="index-add_005fhistory"><span class="category">Function: </span><span><em>void</em> <strong>add_history</strong> <em>(const char *string)</em><a href='#index-add_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Place <var>string</var> at the end of the history list. The associated data
-field (if any) is set to <code>NULL</code>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-add_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">add_history</strong> <code class="def-code-arguments">(const char *string)</code><a class="copiable-link" href="#index-add_005fhistory"> &para;</a></span></dt>
+<dd><p>Place <var class="var">string</var> at the end of the history list. The associated data
+field (if any) is set to <code class="code">NULL</code>.
If the maximum number of history entries has been set using
-<code>stifle_history()</code>, and the new number of history entries would exceed
+<code class="code">stifle_history()</code>, and the new number of history entries would exceed
that maximum, the oldest history entry is removed.
</p></dd></dl>
-<dl class="def">
-<dt id="index-add_005fhistory_005ftime"><span class="category">Function: </span><span><em>void</em> <strong>add_history_time</strong> <em>(const char *string)</em><a href='#index-add_005fhistory_005ftime' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-add_005fhistory_005ftime"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">add_history_time</strong> <code class="def-code-arguments">(const char *string)</code><a class="copiable-link" href="#index-add_005fhistory_005ftime"> &para;</a></span></dt>
<dd><p>Change the time stamp associated with the most recent history entry to
-<var>string</var>.
+<var class="var">string</var>.
</p></dd></dl>
-<dl class="def">
-<dt id="index-remove_005fhistory"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>remove_history</strong> <em>(int which)</em><a href='#index-remove_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Remove history entry at offset <var>which</var> from the history. The
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-remove_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">remove_history</strong> <code class="def-code-arguments">(int which)</code><a class="copiable-link" href="#index-remove_005fhistory"> &para;</a></span></dt>
+<dd><p>Remove history entry at offset <var class="var">which</var> from the history. The
removed element is returned so you can free the line, data,
and containing structure.
</p></dd></dl>
-<dl class="def">
-<dt id="index-free_005fhistory_005fentry"><span class="category">Function: </span><span><em>histdata_t</em> <strong>free_history_entry</strong> <em>(HIST_ENTRY *histent)</em><a href='#index-free_005fhistory_005fentry' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Free the history entry <var>histent</var> and any history library private
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-free_005fhistory_005fentry"><span class="category-def">Function: </span><span><code class="def-type">histdata_t</code> <strong class="def-name">free_history_entry</strong> <code class="def-code-arguments">(HIST_ENTRY *histent)</code><a class="copiable-link" href="#index-free_005fhistory_005fentry"> &para;</a></span></dt>
+<dd><p>Free the history entry <var class="var">histent</var> and any history library private
data associated with it. Returns the application-specific data
so the caller can dispose of it.
</p></dd></dl>
-<dl class="def">
-<dt id="index-replace_005fhistory_005fentry"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>replace_history_entry</strong> <em>(int which, const char *line, histdata_t data)</em><a href='#index-replace_005fhistory_005fentry' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Make the history entry at offset <var>which</var> have <var>line</var> and <var>data</var>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-replace_005fhistory_005fentry"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">replace_history_entry</strong> <code class="def-code-arguments">(int which, const char *line, histdata_t data)</code><a class="copiable-link" href="#index-replace_005fhistory_005fentry"> &para;</a></span></dt>
+<dd><p>Make the history entry at offset <var class="var">which</var> have <var class="var">line</var> and <var class="var">data</var>.
This returns the old entry so the caller can dispose of any
application-specific data. In the case
-of an invalid <var>which</var>, a <code>NULL</code> pointer is returned.
+of an invalid <var class="var">which</var>, a <code class="code">NULL</code> pointer is returned.
</p></dd></dl>
-<dl class="def">
-<dt id="index-clear_005fhistory"><span class="category">Function: </span><span><em>void</em> <strong>clear_history</strong> <em>(void)</em><a href='#index-clear_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-clear_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">clear_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-clear_005fhistory"> &para;</a></span></dt>
<dd><p>Clear the history list by deleting all the entries.
</p></dd></dl>
-<dl class="def">
-<dt id="index-stifle_005fhistory"><span class="category">Function: </span><span><em>void</em> <strong>stifle_history</strong> <em>(int max)</em><a href='#index-stifle_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Stifle the history list, remembering only the last <var>max</var> entries.
-The history list will contain only <var>max</var> entries at a time.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-stifle_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">void</code> <strong class="def-name">stifle_history</strong> <code class="def-code-arguments">(int max)</code><a class="copiable-link" href="#index-stifle_005fhistory"> &para;</a></span></dt>
+<dd><p>Stifle the history list, remembering only the last <var class="var">max</var> entries.
+The history list will contain only <var class="var">max</var> entries at a time.
</p></dd></dl>
-<dl class="def">
-<dt id="index-unstifle_005fhistory"><span class="category">Function: </span><span><em>int</em> <strong>unstifle_history</strong> <em>(void)</em><a href='#index-unstifle_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-unstifle_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">unstifle_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-unstifle_005fhistory"> &para;</a></span></dt>
<dd><p>Stop stifling the history. This returns the previously-set
-maximum number of history entries (as set by <code>stifle_history()</code>).
+maximum number of history entries (as set by <code class="code">stifle_history()</code>).
The value is positive if the history was
stifled, negative if it wasn&rsquo;t.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fis_005fstifled"><span class="category">Function: </span><span><em>int</em> <strong>history_is_stifled</strong> <em>(void)</em><a href='#index-history_005fis_005fstifled' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fis_005fstifled"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_is_stifled</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-history_005fis_005fstifled"> &para;</a></span></dt>
<dd><p>Returns non-zero if the history is stifled, zero if it is not.
</p></dd></dl>
<hr>
</div>
-<div class="subsection" id="Information-About-the-History-List">
-<div class="header">
+<div class="subsection-level-extent" id="Information-About-the-History-List">
+<div class="nav-panel">
<p>
Next: <a href="#Moving-Around-the-History-List" accesskey="n" rel="next">Moving Around the History List</a>, Previous: <a href="#History-List-Management" accesskey="p" rel="prev">History List Management</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Information-About-the-History-List-1"></span><h4 class="subsection">2.3.3 Information About the History List</h4>
+<h4 class="subsection" id="Information-About-the-History-List-1"><span>2.3.3 Information About the History List<a class="copiable-link" href="#Information-About-the-History-List-1"> &para;</a></span></h4>
<p>These functions return information about the entire history list or
individual list entries.
</p>
-<dl class="def">
-<dt id="index-history_005flist"><span class="category">Function: </span><span><em>HIST_ENTRY **</em> <strong>history_list</strong> <em>(void)</em><a href='#index-history_005flist' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Return a <code>NULL</code> terminated array of <code>HIST_ENTRY *</code> which is the
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005flist"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY **</code> <strong class="def-name">history_list</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-history_005flist"> &para;</a></span></dt>
+<dd><p>Return a <code class="code">NULL</code> terminated array of <code class="code">HIST_ENTRY *</code> which is the
current input history. Element 0 of this list is the beginning of time.
-If there is no history, return <code>NULL</code>.
+If there is no history, return <code class="code">NULL</code>.
</p></dd></dl>
-<dl class="def">
-<dt id="index-where_005fhistory"><span class="category">Function: </span><span><em>int</em> <strong>where_history</strong> <em>(void)</em><a href='#index-where_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-where_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">where_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-where_005fhistory"> &para;</a></span></dt>
<dd><p>Returns the offset of the current history element.
</p></dd></dl>
-<dl class="def">
-<dt id="index-current_005fhistory"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>current_history</strong> <em>(void)</em><a href='#index-current_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-current_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">current_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-current_005fhistory"> &para;</a></span></dt>
<dd><p>Return the history entry at the current position, as determined by
-<code>where_history()</code>. If there is no entry there, return a <code>NULL</code>
+<code class="code">where_history()</code>. If there is no entry there, return a <code class="code">NULL</code>
pointer.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fget"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>history_get</strong> <em>(int offset)</em><a href='#index-history_005fget' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Return the history entry at position <var>offset</var>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fget"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">history_get</strong> <code class="def-code-arguments">(int offset)</code><a class="copiable-link" href="#index-history_005fget"> &para;</a></span></dt>
+<dd><p>Return the history entry at position <var class="var">offset</var>.
The range of valid
-values of <var>offset</var> starts at <code>history_base</code> and ends at
-<var>history_length</var> - 1 (see <a href="#History-Variables">History Variables</a>).
-If there is no entry there, or if <var>offset</var> is outside the valid
-range, return a <code>NULL</code> pointer.
+values of <var class="var">offset</var> starts at <code class="code">history_base</code> and ends at
+<var class="var">history_length</var> - 1 (see <a class="pxref" href="#History-Variables">History Variables</a>).
+If there is no entry there, or if <var class="var">offset</var> is outside the valid
+range, return a <code class="code">NULL</code> pointer.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fget_005ftime"><span class="category">Function: </span><span><em>time_t</em> <strong>history_get_time</strong> <em>(HIST_ENTRY *entry)</em><a href='#index-history_005fget_005ftime' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Return the time stamp associated with the history entry <var>entry</var>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fget_005ftime"><span class="category-def">Function: </span><span><code class="def-type">time_t</code> <strong class="def-name">history_get_time</strong> <code class="def-code-arguments">(HIST_ENTRY *entry)</code><a class="copiable-link" href="#index-history_005fget_005ftime"> &para;</a></span></dt>
+<dd><p>Return the time stamp associated with the history entry <var class="var">entry</var>.
If the timestamp is missing or invalid, return 0.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005ftotal_005fbytes"><span class="category">Function: </span><span><em>int</em> <strong>history_total_bytes</strong> <em>(void)</em><a href='#index-history_005ftotal_005fbytes' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005ftotal_005fbytes"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_total_bytes</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-history_005ftotal_005fbytes"> &para;</a></span></dt>
<dd><p>Return the number of bytes that the primary history entries are using.
This function returns the sum of the lengths of all the lines in the
history.
@@ -687,284 +706,284 @@ history.
<hr>
</div>
-<div class="subsection" id="Moving-Around-the-History-List">
-<div class="header">
+<div class="subsection-level-extent" id="Moving-Around-the-History-List">
+<div class="nav-panel">
<p>
Next: <a href="#Searching-the-History-List" accesskey="n" rel="next">Searching the History List</a>, Previous: <a href="#Information-About-the-History-List" accesskey="p" rel="prev">Information About the History List</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Moving-Around-the-History-List-1"></span><h4 class="subsection">2.3.4 Moving Around the History List</h4>
+<h4 class="subsection" id="Moving-Around-the-History-List-1"><span>2.3.4 Moving Around the History List<a class="copiable-link" href="#Moving-Around-the-History-List-1"> &para;</a></span></h4>
<p>These functions allow the current index into the history list to be
set or changed.
</p>
-<dl class="def">
-<dt id="index-history_005fset_005fpos"><span class="category">Function: </span><span><em>int</em> <strong>history_set_pos</strong> <em>(int pos)</em><a href='#index-history_005fset_005fpos' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Set the current history offset to <var>pos</var>, an absolute index
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fset_005fpos"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_set_pos</strong> <code class="def-code-arguments">(int pos)</code><a class="copiable-link" href="#index-history_005fset_005fpos"> &para;</a></span></dt>
+<dd><p>Set the current history offset to <var class="var">pos</var>, an absolute index
into the list.
-Returns 1 on success, 0 if <var>pos</var> is less than zero or greater
+Returns 1 on success, 0 if <var class="var">pos</var> is less than zero or greater
than the number of history entries.
</p></dd></dl>
-<dl class="def">
-<dt id="index-previous_005fhistory"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>previous_history</strong> <em>(void)</em><a href='#index-previous_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-previous_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">previous_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-previous_005fhistory"> &para;</a></span></dt>
<dd><p>Back up the current history offset to the previous history entry, and
return a pointer to that entry. If there is no previous entry, return
-a <code>NULL</code> pointer.
+a <code class="code">NULL</code> pointer.
</p></dd></dl>
-<dl class="def">
-<dt id="index-next_005fhistory"><span class="category">Function: </span><span><em>HIST_ENTRY *</em> <strong>next_history</strong> <em>(void)</em><a href='#index-next_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-next_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">HIST_ENTRY *</code> <strong class="def-name">next_history</strong> <code class="def-code-arguments">(void)</code><a class="copiable-link" href="#index-next_005fhistory"> &para;</a></span></dt>
<dd><p>If the current history offset refers to a valid history entry,
increment the current history offset.
If the possibly-incremented history offset refers to a valid history
entry, return a pointer to that entry;
-otherwise, return a <code>BNULL</code> pointer.
+otherwise, return a <code class="code">BNULL</code> pointer.
</p></dd></dl>
<hr>
</div>
-<div class="subsection" id="Searching-the-History-List">
-<div class="header">
+<div class="subsection-level-extent" id="Searching-the-History-List">
+<div class="nav-panel">
<p>
Next: <a href="#Managing-the-History-File" accesskey="n" rel="next">Managing the History File</a>, Previous: <a href="#Moving-Around-the-History-List" accesskey="p" rel="prev">Moving Around the History List</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Searching-the-History-List-1"></span><h4 class="subsection">2.3.5 Searching the History List</h4>
-<span id="index-History-Searching"></span>
+<h4 class="subsection" id="Searching-the-History-List-1"><span>2.3.5 Searching the History List<a class="copiable-link" href="#Searching-the-History-List-1"> &para;</a></span></h4>
+<a class="index-entry-id" id="index-History-Searching"></a>
<p>These functions allow searching of the history list for entries containing
a specific string. Searching may be performed both forward and backward
-from the current history position. The search may be <em>anchored</em>,
+from the current history position. The search may be <em class="dfn">anchored</em>,
meaning that the string must match at the beginning of the history entry.
-<span id="index-anchored-search"></span>
+<a class="index-entry-id" id="index-anchored-search"></a>
</p>
-<dl class="def">
-<dt id="index-history_005fsearch"><span class="category">Function: </span><span><em>int</em> <strong>history_search</strong> <em>(const char *string, int direction)</em><a href='#index-history_005fsearch' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Search the history for <var>string</var>, starting at the current history offset.
-If <var>direction</var> is less than 0, then the search is through
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fsearch"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_search</strong> <code class="def-code-arguments">(const char *string, int direction)</code><a class="copiable-link" href="#index-history_005fsearch"> &para;</a></span></dt>
+<dd><p>Search the history for <var class="var">string</var>, starting at the current history offset.
+If <var class="var">direction</var> is less than 0, then the search is through
previous entries, otherwise through subsequent entries.
-If <var>string</var> is found, then
+If <var class="var">string</var> is found, then
the current history index is set to that history entry, and the value
returned is the offset in the line of the entry where
-<var>string</var> was found. Otherwise, nothing is changed, and a -1 is
+<var class="var">string</var> was found. Otherwise, nothing is changed, and a -1 is
returned.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fsearch_005fprefix"><span class="category">Function: </span><span><em>int</em> <strong>history_search_prefix</strong> <em>(const char *string, int direction)</em><a href='#index-history_005fsearch_005fprefix' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Search the history for <var>string</var>, starting at the current history
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fsearch_005fprefix"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_search_prefix</strong> <code class="def-code-arguments">(const char *string, int direction)</code><a class="copiable-link" href="#index-history_005fsearch_005fprefix"> &para;</a></span></dt>
+<dd><p>Search the history for <var class="var">string</var>, starting at the current history
offset. The search is anchored: matching lines must begin with
-<var>string</var>. If <var>direction</var> is less than 0, then the search is
+<var class="var">string</var>. If <var class="var">direction</var> is less than 0, then the search is
through previous entries, otherwise through subsequent entries.
-If <var>string</var> is found, then the
+If <var class="var">string</var> is found, then the
current history index is set to that entry, and the return value is 0.
Otherwise, nothing is changed, and a -1 is returned.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fsearch_005fpos"><span class="category">Function: </span><span><em>int</em> <strong>history_search_pos</strong> <em>(const char *string, int direction, int pos)</em><a href='#index-history_005fsearch_005fpos' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Search for <var>string</var> in the history list, starting at <var>pos</var>, an
-absolute index into the list. If <var>direction</var> is negative, the search
-proceeds backward from <var>pos</var>, otherwise forward. Returns the absolute
-index of the history element where <var>string</var> was found, or -1 otherwise.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fsearch_005fpos"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_search_pos</strong> <code class="def-code-arguments">(const char *string, int direction, int pos)</code><a class="copiable-link" href="#index-history_005fsearch_005fpos"> &para;</a></span></dt>
+<dd><p>Search for <var class="var">string</var> in the history list, starting at <var class="var">pos</var>, an
+absolute index into the list. If <var class="var">direction</var> is negative, the search
+proceeds backward from <var class="var">pos</var>, otherwise forward. Returns the absolute
+index of the history element where <var class="var">string</var> was found, or -1 otherwise.
</p></dd></dl>
<hr>
</div>
-<div class="subsection" id="Managing-the-History-File">
-<div class="header">
+<div class="subsection-level-extent" id="Managing-the-History-File">
+<div class="nav-panel">
<p>
Next: <a href="#History-Expansion" accesskey="n" rel="next">History Expansion</a>, Previous: <a href="#Searching-the-History-List" accesskey="p" rel="prev">Searching the History List</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Managing-the-History-File-1"></span><h4 class="subsection">2.3.6 Managing the History File</h4>
+<h4 class="subsection" id="Managing-the-History-File-1"><span>2.3.6 Managing the History File<a class="copiable-link" href="#Managing-the-History-File-1"> &para;</a></span></h4>
<p>The History library can read the history from and write it to a file.
This section documents the functions for managing a history file.
</p>
-<dl class="def">
-<dt id="index-read_005fhistory"><span class="category">Function: </span><span><em>int</em> <strong>read_history</strong> <em>(const char *filename)</em><a href='#index-read_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Add the contents of <var>filename</var> to the history list, a line at a time.
-If <var>filename</var> is <code>NULL</code>, then read from <samp>~/.history</samp>.
-Returns 0 if successful, or <code>errno</code> if not.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-read_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">read_history</strong> <code class="def-code-arguments">(const char *filename)</code><a class="copiable-link" href="#index-read_005fhistory"> &para;</a></span></dt>
+<dd><p>Add the contents of <var class="var">filename</var> to the history list, a line at a time.
+If <var class="var">filename</var> is <code class="code">NULL</code>, then read from <samp class="file">~/.history</samp>.
+Returns 0 if successful, or <code class="code">errno</code> if not.
</p></dd></dl>
-<dl class="def">
-<dt id="index-read_005fhistory_005frange"><span class="category">Function: </span><span><em>int</em> <strong>read_history_range</strong> <em>(const char *filename, int from, int to)</em><a href='#index-read_005fhistory_005frange' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Read a range of lines from <var>filename</var>, adding them to the history list.
-Start reading at line <var>from</var> and end at <var>to</var>.
-If <var>from</var> is zero, start at the beginning. If <var>to</var> is less than
-<var>from</var>, then read until the end of the file. If <var>filename</var> is
-<code>NULL</code>, then read from <samp>~/.history</samp>. Returns 0 if successful,
-or <code>errno</code> if not.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-read_005fhistory_005frange"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">read_history_range</strong> <code class="def-code-arguments">(const char *filename, int from, int to)</code><a class="copiable-link" href="#index-read_005fhistory_005frange"> &para;</a></span></dt>
+<dd><p>Read a range of lines from <var class="var">filename</var>, adding them to the history list.
+Start reading at line <var class="var">from</var> and end at <var class="var">to</var>.
+If <var class="var">from</var> is zero, start at the beginning. If <var class="var">to</var> is less than
+<var class="var">from</var>, then read until the end of the file. If <var class="var">filename</var> is
+<code class="code">NULL</code>, then read from <samp class="file">~/.history</samp>. Returns 0 if successful,
+or <code class="code">errno</code> if not.
</p></dd></dl>
-<dl class="def">
-<dt id="index-write_005fhistory"><span class="category">Function: </span><span><em>int</em> <strong>write_history</strong> <em>(const char *filename)</em><a href='#index-write_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Write the current history to <var>filename</var>, overwriting <var>filename</var>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-write_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">write_history</strong> <code class="def-code-arguments">(const char *filename)</code><a class="copiable-link" href="#index-write_005fhistory"> &para;</a></span></dt>
+<dd><p>Write the current history to <var class="var">filename</var>, overwriting <var class="var">filename</var>
if necessary.
-If <var>filename</var> is <code>NULL</code>, then write the history list to
-<samp>~/.history</samp>.
-Returns 0 on success, or <code>errno</code> on a read or write error.
+If <var class="var">filename</var> is <code class="code">NULL</code>, then write the history list to
+<samp class="file">~/.history</samp>.
+Returns 0 on success, or <code class="code">errno</code> on a read or write error.
</p></dd></dl>
-<dl class="def">
-<dt id="index-append_005fhistory"><span class="category">Function: </span><span><em>int</em> <strong>append_history</strong> <em>(int nelements, const char *filename)</em><a href='#index-append_005fhistory' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Append the last <var>nelements</var> of the history list to <var>filename</var>.
-If <var>filename</var> is <code>NULL</code>, then append to <samp>~/.history</samp>.
-Returns 0 on success, or <code>errno</code> on a read or write error.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-append_005fhistory"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">append_history</strong> <code class="def-code-arguments">(int nelements, const char *filename)</code><a class="copiable-link" href="#index-append_005fhistory"> &para;</a></span></dt>
+<dd><p>Append the last <var class="var">nelements</var> of the history list to <var class="var">filename</var>.
+If <var class="var">filename</var> is <code class="code">NULL</code>, then append to <samp class="file">~/.history</samp>.
+Returns 0 on success, or <code class="code">errno</code> on a read or write error.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005ftruncate_005ffile"><span class="category">Function: </span><span><em>int</em> <strong>history_truncate_file</strong> <em>(const char *filename, int nlines)</em><a href='#index-history_005ftruncate_005ffile' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Truncate the history file <var>filename</var>, leaving only the last
-<var>nlines</var> lines.
-If <var>filename</var> is <code>NULL</code>, then <samp>~/.history</samp> is truncated.
-Returns 0 on success, or <code>errno</code> on failure.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005ftruncate_005ffile"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_truncate_file</strong> <code class="def-code-arguments">(const char *filename, int nlines)</code><a class="copiable-link" href="#index-history_005ftruncate_005ffile"> &para;</a></span></dt>
+<dd><p>Truncate the history file <var class="var">filename</var>, leaving only the last
+<var class="var">nlines</var> lines.
+If <var class="var">filename</var> is <code class="code">NULL</code>, then <samp class="file">~/.history</samp> is truncated.
+Returns 0 on success, or <code class="code">errno</code> on failure.
</p></dd></dl>
<hr>
</div>
-<div class="subsection" id="History-Expansion">
-<div class="header">
+<div class="subsection-level-extent" id="History-Expansion">
+<div class="nav-panel">
<p>
Previous: <a href="#Managing-the-History-File" accesskey="p" rel="prev">Managing the History File</a>, Up: <a href="#History-Functions" accesskey="u" rel="up">History Functions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Expansion-2"></span><h4 class="subsection">2.3.7 History Expansion</h4>
+<h4 class="subsection" id="History-Expansion-2"><span>2.3.7 History Expansion<a class="copiable-link" href="#History-Expansion-2"> &para;</a></span></h4>
<p>These functions implement history expansion.
</p>
-<dl class="def">
-<dt id="index-history_005fexpand"><span class="category">Function: </span><span><em>int</em> <strong>history_expand</strong> <em>(char *string, char **output)</em><a href='#index-history_005fexpand' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Expand <var>string</var>, placing the result into <var>output</var>, a pointer
-to a string (see <a href="#History-Interaction">History Expansion</a>). Returns:
-</p><dl compact="compact">
-<dt><span><code>0</code></span></dt>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005fexpand"><span class="category-def">Function: </span><span><code class="def-type">int</code> <strong class="def-name">history_expand</strong> <code class="def-code-arguments">(const char *string, char **output)</code><a class="copiable-link" href="#index-history_005fexpand"> &para;</a></span></dt>
+<dd><p>Expand <var class="var">string</var>, placing the result into <var class="var">output</var>, a pointer
+to a string (see <a class="pxref" href="#History-Interaction">History Expansion</a>). Returns:
+</p><dl class="table">
+<dt><code class="code">0</code></dt>
<dd><p>If no expansions took place (or, if the only change in
the text was the removal of escape characters preceding the history expansion
character);
</p></dd>
-<dt><span><code>1</code></span></dt>
+<dt><code class="code">1</code></dt>
<dd><p>if expansions did take place;
</p></dd>
-<dt><span><code>-1</code></span></dt>
+<dt><code class="code">-1</code></dt>
<dd><p>if there was an error in expansion;
</p></dd>
-<dt><span><code>2</code></span></dt>
+<dt><code class="code">2</code></dt>
<dd><p>if the returned line should be displayed, but not executed,
-as with the <code>:p</code> modifier (see <a href="#Modifiers">Modifiers</a>).
+as with the <code class="code">:p</code> modifier (see <a class="pxref" href="#Modifiers">Modifiers</a>).
</p></dd>
</dl>
-<p>If an error occurred in expansion, then <var>output</var> contains a descriptive
+<p>If an error occurred in expansion, then <var class="var">output</var> contains a descriptive
error message.
</p></dd></dl>
-<dl class="def">
-<dt id="index-get_005fhistory_005fevent"><span class="category">Function: </span><span><em>char *</em> <strong>get_history_event</strong> <em>(const char *string, int *cindex, int qchar)</em><a href='#index-get_005fhistory_005fevent' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Returns the text of the history event beginning at <var>string</var> +
-<var>*cindex</var>. <var>*cindex</var> is modified to point to after the event
-specifier. At function entry, <var>cindex</var> points to the index into
-<var>string</var> where the history event specification begins. <var>qchar</var>
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-get_005fhistory_005fevent"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">get_history_event</strong> <code class="def-code-arguments">(const char *string, int *cindex, int qchar)</code><a class="copiable-link" href="#index-get_005fhistory_005fevent"> &para;</a></span></dt>
+<dd><p>Returns the text of the history event beginning at <var class="var">string</var> +
+<var class="var">*cindex</var>. <var class="var">*cindex</var> is modified to point to after the event
+specifier. At function entry, <var class="var">cindex</var> points to the index into
+<var class="var">string</var> where the history event specification begins. <var class="var">qchar</var>
is a character that is allowed to end the event specification in addition
to the &ldquo;normal&rdquo; terminating characters.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005ftokenize"><span class="category">Function: </span><span><em>char **</em> <strong>history_tokenize</strong> <em>(const char *string)</em><a href='#index-history_005ftokenize' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Return an array of tokens parsed out of <var>string</var>, much as the
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005ftokenize"><span class="category-def">Function: </span><span><code class="def-type">char **</code> <strong class="def-name">history_tokenize</strong> <code class="def-code-arguments">(const char *string)</code><a class="copiable-link" href="#index-history_005ftokenize"> &para;</a></span></dt>
+<dd><p>Return an array of tokens parsed out of <var class="var">string</var>, much as the
shell might. The tokens are split on the characters in the
-<var>history_word_delimiters</var> variable,
+<var class="var">history_word_delimiters</var> variable,
and shell quoting conventions are obeyed as described below.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005farg_005fextract"><span class="category">Function: </span><span><em>char *</em> <strong>history_arg_extract</strong> <em>(int first, int last, const char *string)</em><a href='#index-history_005farg_005fextract' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>Extract a string segment consisting of the <var>first</var> through <var>last</var>
-arguments present in <var>string</var>. Arguments are split using
-<code>history_tokenize</code>.
+<dl class="first-deftypefn first-deftypefun-alias-first-deftypefn">
+<dt class="deftypefn deftypefun-alias-deftypefn" id="index-history_005farg_005fextract"><span class="category-def">Function: </span><span><code class="def-type">char *</code> <strong class="def-name">history_arg_extract</strong> <code class="def-code-arguments">(int first, int last, const char *string)</code><a class="copiable-link" href="#index-history_005farg_005fextract"> &para;</a></span></dt>
+<dd><p>Extract a string segment consisting of the <var class="var">first</var> through <var class="var">last</var>
+arguments present in <var class="var">string</var>. Arguments are split using
+<code class="code">history_tokenize</code>.
</p></dd></dl>
<hr>
</div>
</div>
-<div class="section" id="History-Variables">
-<div class="header">
+<div class="section-level-extent" id="History-Variables">
+<div class="nav-panel">
<p>
Next: <a href="#History-Programming-Example" accesskey="n" rel="next">History Programming Example</a>, Previous: <a href="#History-Functions" accesskey="p" rel="prev">History Functions</a>, Up: <a href="#Programming-with-GNU-History" accesskey="u" rel="up">Programming with GNU History</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Variables-1"></span><h3 class="section">2.4 History Variables</h3>
+<h3 class="section" id="History-Variables-1"><span>2.4 History Variables<a class="copiable-link" href="#History-Variables-1"> &para;</a></span></h3>
<p>This section describes the externally-visible variables exported by
-the <small>GNU</small> History Library.
+the <small class="sc">GNU</small> History Library.
</p>
-<dl class="def">
-<dt id="index-history_005fbase"><span class="category">Variable: </span><span><em>int</em> <strong>history_base</strong><a href='#index-history_005fbase' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fbase"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_base</strong><a class="copiable-link" href="#index-history_005fbase"> &para;</a></span></dt>
<dd><p>The logical offset of the first entry in the history list.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005flength"><span class="category">Variable: </span><span><em>int</em> <strong>history_length</strong><a href='#index-history_005flength' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005flength"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_length</strong><a class="copiable-link" href="#index-history_005flength"> &para;</a></span></dt>
<dd><p>The number of entries currently stored in the history list.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fmax_005fentries"><span class="category">Variable: </span><span><em>int</em> <strong>history_max_entries</strong><a href='#index-history_005fmax_005fentries' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fmax_005fentries"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_max_entries</strong><a class="copiable-link" href="#index-history_005fmax_005fentries"> &para;</a></span></dt>
<dd><p>The maximum number of history entries. This must be changed using
-<code>stifle_history()</code>.
+<code class="code">stifle_history()</code>.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fwrite_005ftimestamps"><span class="category">Variable: </span><span><em>int</em> <strong>history_write_timestamps</strong><a href='#index-history_005fwrite_005ftimestamps' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fwrite_005ftimestamps"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_write_timestamps</strong><a class="copiable-link" href="#index-history_005fwrite_005ftimestamps"> &para;</a></span></dt>
<dd><p>If non-zero, timestamps are written to the history file, so they can be
preserved between sessions. The default value is 0, meaning that
timestamps are not saved.
</p>
-<p>The current timestamp format uses the value of <var>history_comment_char</var>
+<p>The current timestamp format uses the value of <var class="var">history_comment_char</var>
to delimit timestamp entries in the history file. If that variable does
not have a value (the default), timestamps will not be written.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fexpansion_005fchar"><span class="category">Variable: </span><span><em>char</em> <strong>history_expansion_char</strong><a href='#index-history_005fexpansion_005fchar' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>The character that introduces a history event. The default is &lsquo;<samp>!</samp>&rsquo;.
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fexpansion_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_expansion_char</strong><a class="copiable-link" href="#index-history_005fexpansion_005fchar"> &para;</a></span></dt>
+<dd><p>The character that introduces a history event. The default is &lsquo;<samp class="samp">!</samp>&rsquo;.
Setting this to 0 inhibits history expansion.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fsubst_005fchar"><span class="category">Variable: </span><span><em>char</em> <strong>history_subst_char</strong><a href='#index-history_005fsubst_005fchar' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fsubst_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_subst_char</strong><a class="copiable-link" href="#index-history_005fsubst_005fchar"> &para;</a></span></dt>
<dd><p>The character that invokes word substitution if found at the start of
-a line. The default is &lsquo;<samp>^</samp>&rsquo;.
+a line. The default is &lsquo;<samp class="samp">^</samp>&rsquo;.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fcomment_005fchar"><span class="category">Variable: </span><span><em>char</em> <strong>history_comment_char</strong><a href='#index-history_005fcomment_005fchar' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fcomment_005fchar"><span class="category-def">Variable: </span><span><code class="def-type">char</code> <strong class="def-name">history_comment_char</strong><a class="copiable-link" href="#index-history_005fcomment_005fchar"> &para;</a></span></dt>
<dd><p>During tokenization, if this character is seen as the first character
of a word, then it and all subsequent characters up to a newline are
ignored, suppressing history expansion for the remainder of the line.
This is disabled by default.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fword_005fdelimiters"><span class="category">Variable: </span><span><em>char *</em> <strong>history_word_delimiters</strong><a href='#index-history_005fword_005fdelimiters' class='copiable-anchor'> &para;</a></span></dt>
-<dd><p>The characters that separate tokens for <code>history_tokenize()</code>.
-The default value is <code>&quot; \t\n()&lt;&gt;;&amp;|&quot;</code>.
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fword_005fdelimiters"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">history_word_delimiters</strong><a class="copiable-link" href="#index-history_005fword_005fdelimiters"> &para;</a></span></dt>
+<dd><p>The characters that separate tokens for <code class="code">history_tokenize()</code>.
+The default value is <code class="code">&quot; \t\n()&lt;&gt;;&amp;|&quot;</code>.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fsearch_005fdelimiter_005fchars"><span class="category">Variable: </span><span><em>char *</em> <strong>history_search_delimiter_chars</strong><a href='#index-history_005fsearch_005fdelimiter_005fchars' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fsearch_005fdelimiter_005fchars"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">history_search_delimiter_chars</strong><a class="copiable-link" href="#index-history_005fsearch_005fdelimiter_005fchars"> &para;</a></span></dt>
<dd><p>The list of additional characters which can delimit a history search
-string, in addition to space, TAB, &lsquo;<samp>:</samp>&rsquo; and &lsquo;<samp>?</samp>&rsquo; in the case of
+string, in addition to space, TAB, &lsquo;<samp class="samp">:</samp>&rsquo; and &lsquo;<samp class="samp">?</samp>&rsquo; in the case of
a substring search. The default is empty.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fno_005fexpand_005fchars"><span class="category">Variable: </span><span><em>char *</em> <strong>history_no_expand_chars</strong><a href='#index-history_005fno_005fexpand_005fchars' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fno_005fexpand_005fchars"><span class="category-def">Variable: </span><span><code class="def-type">char *</code> <strong class="def-name">history_no_expand_chars</strong><a class="copiable-link" href="#index-history_005fno_005fexpand_005fchars"> &para;</a></span></dt>
<dd><p>The list of characters which inhibit history expansion if found immediately
-following <var>history_expansion_char</var>. The default is space, tab, newline,
-carriage return, and &lsquo;<samp>=</samp>&rsquo;.
+following <var class="var">history_expansion_char</var>. The default is space, tab, newline,
+carriage return, and &lsquo;<samp class="samp">=</samp>&rsquo;.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fquotes_005finhibit_005fexpansion"><span class="category">Variable: </span><span><em>int</em> <strong>history_quotes_inhibit_expansion</strong><a href='#index-history_005fquotes_005finhibit_005fexpansion' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fquotes_005finhibit_005fexpansion"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_quotes_inhibit_expansion</strong><a class="copiable-link" href="#index-history_005fquotes_005finhibit_005fexpansion"> &para;</a></span></dt>
<dd><p>If non-zero, the history expansion code implements shell-like quoting:
single-quoted words are not scanned for the history expansion
character or the history comment character, and double-quoted words may
@@ -973,50 +992,49 @@ within double quotes.
The default value is 0.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005fquoting_005fstate"><span class="category">Variable: </span><span><em>int</em> <strong>history_quoting_state</strong><a href='#index-history_005fquoting_005fstate' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005fquoting_005fstate"><span class="category-def">Variable: </span><span><code class="def-type">int</code> <strong class="def-name">history_quoting_state</strong><a class="copiable-link" href="#index-history_005fquoting_005fstate"> &para;</a></span></dt>
<dd><p>An application may set this variable to indicate that the current line
-being expanded is subject to existing quoting. If set to &lsquo;<samp>'</samp>&rsquo;, the
+being expanded is subject to existing quoting. If set to &lsquo;<samp class="samp">'</samp>&rsquo;, the
history expansion function will assume that the line is single-quoted and
inhibit expansion until it reads an unquoted closing single quote; if set
-to &lsquo;<samp>&quot;</samp>&rsquo;, history expansion will assume the line is double quoted until
+to &lsquo;<samp class="samp">&quot;</samp>&rsquo;, history expansion will assume the line is double quoted until
it reads an unquoted closing double quote. If set to zero, the default,
the history expansion function will assume the line is not quoted and
treat quote characters within the line as described above.
-This is only effective if <var>history_quotes_inhibit_expansion</var> is set.
+This is only effective if <var class="var">history_quotes_inhibit_expansion</var> is set.
</p></dd></dl>
-<dl class="def">
-<dt id="index-history_005finhibit_005fexpansion_005ffunction"><span class="category">Variable: </span><span><em>rl_linebuf_func_t *</em> <strong>history_inhibit_expansion_function</strong><a href='#index-history_005finhibit_005fexpansion_005ffunction' class='copiable-anchor'> &para;</a></span></dt>
+<dl class="first-deftypevr first-deftypevar-alias-first-deftypevr">
+<dt class="deftypevr deftypevar-alias-deftypevr" id="index-history_005finhibit_005fexpansion_005ffunction"><span class="category-def">Variable: </span><span><code class="def-type">rl_linebuf_func_t *</code> <strong class="def-name">history_inhibit_expansion_function</strong><a class="copiable-link" href="#index-history_005finhibit_005fexpansion_005ffunction"> &para;</a></span></dt>
<dd><p>This should be set to the address of a function that takes two arguments:
-a <code>char *</code> (<var>string</var>)
-and an <code>int</code> index into that string (<var>i</var>).
+a <code class="code">char *</code> (<var class="var">string</var>)
+and an <code class="code">int</code> index into that string (<var class="var">i</var>).
It should return a non-zero value if the history expansion starting at
-<var>string[i]</var> should not be performed; zero if the expansion should
+<var class="var">string[i]</var> should not be performed; zero if the expansion should
be done.
It is intended for use by applications like Bash that use the history
expansion character for additional purposes.
-By default, this variable is set to <code>NULL</code>.
+By default, this variable is set to <code class="code">NULL</code>.
</p></dd></dl>
<hr>
</div>
-<div class="section" id="History-Programming-Example">
-<div class="header">
+<div class="section-level-extent" id="History-Programming-Example">
+<div class="nav-panel">
<p>
Previous: <a href="#History-Variables" accesskey="p" rel="prev">History Variables</a>, Up: <a href="#Programming-with-GNU-History" accesskey="u" rel="up">Programming with GNU History</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="History-Programming-Example-1"></span><h3 class="section">2.5 History Programming Example</h3>
+<h3 class="section" id="History-Programming-Example-1"><span>2.5 History Programming Example<a class="copiable-link" href="#History-Programming-Example-1"> &para;</a></span></h3>
-<p>The following program demonstrates simple use of the <small>GNU</small> History Library.
+<p>The following program demonstrates simple use of the <small class="sc">GNU</small> History Library.
</p>
-<div class="example">
-<pre class="example">#include &lt;stdio.h&gt;
+<div class="example smallexample">
+<pre class="example-preformatted">#include &lt;stdio.h&gt;
#include &lt;readline/history.h&gt;
-main (argc, argv)
- int argc;
- char **argv;
+int
+main (int argc, char **argv)
{
char line[1024], *t;
int len, done = 0;
@@ -1101,29 +1119,29 @@ main (argc, argv)
<hr>
</div>
</div>
-<div class="appendix" id="GNU-Free-Documentation-License">
-<div class="header">
+<div class="appendix-level-extent" id="GNU-Free-Documentation-License">
+<div class="nav-panel">
<p>
Next: <a href="#Concept-Index" accesskey="n" rel="next">Concept Index</a>, Previous: <a href="#Programming-with-GNU-History" accesskey="p" rel="prev">Programming with GNU History</a>, Up: <a href="#Top" accesskey="u" rel="up">GNU History Library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="GNU-Free-Documentation-License-1"></span><h2 class="appendix">Appendix A GNU Free Documentation License</h2>
+<h2 class="appendix" id="GNU-Free-Documentation-License-1"><span>Appendix A GNU Free Documentation License<a class="copiable-link" href="#GNU-Free-Documentation-License-1"> &para;</a></span></h2>
-<div align="center">Version 1.3, 3 November 2008
+<div class="center">Version 1.3, 3 November 2008
</div>
<div class="display">
-<pre class="display">Copyright &copy; 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-<a href="http://fsf.org/">http://fsf.org/</a>
+<pre class="display-preformatted">Copyright &copy; 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<a class="uref" href="http://fsf.org/">http://fsf.org/</a>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
</pre></div>
-<ol start="0">
+<ol class="enumerate" start="0">
<li> PREAMBLE
<p>The purpose of this License is to make a manual, textbook, or other
-functional and useful document <em>free</em> in the sense of freedom: to
+functional and useful document <em class="dfn">free</em> in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
@@ -1197,16 +1215,16 @@ An image format is not Transparent if used for any substantial amount
of text. A copy that is not &ldquo;Transparent&rdquo; is called &ldquo;Opaque&rdquo;.
</p>
<p>Examples of suitable formats for Transparent copies include plain
-<small>ASCII</small> without markup, Texinfo input format, LaTeX input
-format, <acronym>SGML</acronym> or <acronym>XML</acronym> using a publicly available
-<acronym>DTD</acronym>, and standard-conforming simple <acronym>HTML</acronym>,
-PostScript or <acronym>PDF</acronym> designed for human modification. Examples
-of transparent image formats include <acronym>PNG</acronym>, <acronym>XCF</acronym> and
-<acronym>JPG</acronym>. Opaque formats include proprietary formats that can be
-read and edited only by proprietary word processors, <acronym>SGML</acronym> or
-<acronym>XML</acronym> for which the <acronym>DTD</acronym> and/or processing tools are
-not generally available, and the machine-generated <acronym>HTML</acronym>,
-PostScript or <acronym>PDF</acronym> produced by some word processors for
+<small class="sc">ASCII</small> without markup, Texinfo input format, LaTeX input
+format, <abbr class="acronym">SGML</abbr> or <abbr class="acronym">XML</abbr> using a publicly available
+<abbr class="acronym">DTD</abbr>, and standard-conforming simple <abbr class="acronym">HTML</abbr>,
+PostScript or <abbr class="acronym">PDF</abbr> designed for human modification. Examples
+of transparent image formats include <abbr class="acronym">PNG</abbr>, <abbr class="acronym">XCF</abbr> and
+<abbr class="acronym">JPG</abbr>. Opaque formats include proprietary formats that can be
+read and edited only by proprietary word processors, <abbr class="acronym">SGML</abbr> or
+<abbr class="acronym">XML</abbr> for which the <abbr class="acronym">DTD</abbr> and/or processing tools are
+not generally available, and the machine-generated <abbr class="acronym">HTML</abbr>,
+PostScript or <abbr class="acronym">PDF</abbr> produced by some word processors for
output purposes only.
</p>
<p>The &ldquo;Title Page&rdquo; means, for a printed book, the title page itself,
@@ -1295,7 +1313,7 @@ Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
</p>
-<ol type="A" start="1">
+<ol class="enumerate" type="A" start="1">
<li> Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
@@ -1495,7 +1513,7 @@ not give you any rights to use it.
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
-<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
+<a class="uref" href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
</p>
<p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
@@ -1541,30 +1559,30 @@ provided the MMC is eligible for relicensing.
</p>
</li></ol>
-<span id="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></span><h3 class="heading">ADDENDUM: How to use this License for your documents</h3>
+<h3 class="heading" id="ADDENDUM_003a-How-to-use-this-License-for-your-documents"><span>ADDENDUM: How to use this License for your documents<a class="copiable-link" href="#ADDENDUM_003a-How-to-use-this-License-for-your-documents"> &para;</a></span></h3>
<p>To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
</p>
-<div class="example">
-<pre class="example"> Copyright (C) <var>year</var> <var>your name</var>.
+<div class="example smallexample">
+<div class="group"><pre class="example-preformatted"> Copyright (C) <var class="var">year</var> <var class="var">your name</var>.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
-</pre></div>
+</pre></div></div>
<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the &ldquo;with&hellip;Texts.&rdquo; line with this:
</p>
-<div class="example">
-<pre class="example"> with the Invariant Sections being <var>list their titles</var>, with
- the Front-Cover Texts being <var>list</var>, and with the Back-Cover Texts
- being <var>list</var>.
-</pre></div>
+<div class="example smallexample">
+<div class="group"><pre class="example-preformatted"> with the Invariant Sections being <var class="var">list their titles</var>, with
+ the Front-Cover Texts being <var class="var">list</var>, and with the Back-Cover Texts
+ being <var class="var">list</var>.
+</pre></div></div>
<p>If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
@@ -1579,168 +1597,172 @@ to permit their use in free software.
<hr>
</div>
-<div class="appendix" id="Concept-Index">
-<div class="header">
+<div class="appendix-level-extent" id="Concept-Index">
+<div class="nav-panel">
<p>
Next: <a href="#Function-and-Variable-Index" accesskey="n" rel="next">Function and Variable Index</a>, Previous: <a href="#GNU-Free-Documentation-License" accesskey="p" rel="prev">GNU Free Documentation License</a>, Up: <a href="#Top" accesskey="u" rel="up">GNU History Library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Concept-Index-1"></span><h2 class="appendix">Appendix B Concept Index</h2>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Concept-Index_cp_letter-A"><b>A</b></a>
+<h2 class="appendix" id="Concept-Index-1"><span>Appendix B Concept Index<a class="copiable-link" href="#Concept-Index-1"> &para;</a></span></h2>
+<div class="printindex cp-printindex">
+<table class="cp-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Concept-Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Concept-Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Concept-Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Concept-Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Concept-Index_cp_letter-H"><b>H</b></a>
&nbsp;
</td></tr></table>
-<table class="index-cp" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-Index_cp_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-anchored-search">anchored search</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-Index_cp_letter-E">E</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-event-designators">event designators</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Event-Designators">Event Designators</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Concept-Index_cp_letter-H">H</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history-events">history events</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Event-Designators">Event Designators</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history-expansion">history expansion</a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Interaction">History Interaction</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-History-Searching">History Searching</a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
+<table class="cp-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-Index_cp_letter-A">A</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-anchored-search">anchored search</a></td><td class="printindex-index-section"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-Index_cp_letter-E">E</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-event-designators">event designators</a></td><td class="printindex-index-section"><a href="#Event-Designators">Event Designators</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Concept-Index_cp_letter-H">H</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history-events">history events</a></td><td class="printindex-index-section"><a href="#Event-Designators">Event Designators</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history-expansion">history expansion</a></td><td class="printindex-index-section"><a href="#History-Interaction">History Interaction</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-History-Searching">History Searching</a></td><td class="printindex-index-section"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Concept-Index_cp_letter-A"><b>A</b></a>
+<table class="cp-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Concept-Index_cp_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Concept-Index_cp_letter-E"><b>E</b></a>
+<a class="summary-letter-printindex" href="#Concept-Index_cp_letter-E"><b>E</b></a>
&nbsp;
-<a class="summary-letter" href="#Concept-Index_cp_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Concept-Index_cp_letter-H"><b>H</b></a>
&nbsp;
</td></tr></table>
+</div>
<hr>
</div>
-<div class="appendix" id="Function-and-Variable-Index">
-<div class="header">
+<div class="appendix-level-extent" id="Function-and-Variable-Index">
+<div class="nav-panel">
<p>
Previous: <a href="#Concept-Index" accesskey="p" rel="prev">Concept Index</a>, Up: <a href="#Top" accesskey="u" rel="up">GNU History Library</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
-<span id="Function-and-Variable-Index-1"></span><h2 class="appendix">Appendix C Function and Variable Index</h2>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-A"><b>A</b></a>
+<h2 class="appendix" id="Function-and-Variable-Index-1"><span>Appendix C Function and Variable Index<a class="copiable-link" href="#Function-and-Variable-Index-1"> &para;</a></span></h2>
+<div class="printindex vr-printindex">
+<table class="vr-letters-header-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
-<table class="index-vr" border="0">
-<tr><td></td><th align="left">Index Entry</th><td>&nbsp;</td><th align="left"> Section</th></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-A">A</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-add_005fhistory"><code>add_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-add_005fhistory_005ftime"><code>add_history_time</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-append_005fhistory"><code>append_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-C">C</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-clear_005fhistory"><code>clear_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-current_005fhistory"><code>current_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-F">F</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-free_005fhistory_005fentry"><code>free_history_entry</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-G">G</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-get_005fhistory_005fevent"><code>get_history_event</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Expansion">History Expansion</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-H">H</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005farg_005fextract"><code>history_arg_extract</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Expansion">History Expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fbase"><code>history_base</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fcomment_005fchar"><code>history_comment_char</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fexpand"><code>history_expand</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Expansion">History Expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fexpansion_005fchar"><code>history_expansion_char</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fget"><code>history_get</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fget_005fhistory_005fstate"><code>history_get_history_state</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fget_005ftime"><code>history_get_time</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005finhibit_005fexpansion_005ffunction"><code>history_inhibit_expansion_function</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fis_005fstifled"><code>history_is_stifled</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005flength"><code>history_length</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005flist"><code>history_list</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fmax_005fentries"><code>history_max_entries</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fno_005fexpand_005fchars"><code>history_no_expand_chars</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fquotes_005finhibit_005fexpansion"><code>history_quotes_inhibit_expansion</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fquoting_005fstate"><code>history_quoting_state</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fsearch"><code>history_search</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fsearch_005fdelimiter_005fchars"><code>history_search_delimiter_chars</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fsearch_005fpos"><code>history_search_pos</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fsearch_005fprefix"><code>history_search_prefix</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fset_005fhistory_005fstate"><code>history_set_history_state</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fset_005fpos"><code>history_set_pos</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fsubst_005fchar"><code>history_subst_char</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005ftokenize"><code>history_tokenize</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Expansion">History Expansion</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005ftotal_005fbytes"><code>history_total_bytes</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005ftruncate_005ffile"><code>history_truncate_file</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fword_005fdelimiters"><code>history_word_delimiters</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-history_005fwrite_005ftimestamps"><code>history_write_timestamps</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-Variables">History Variables</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-N">N</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-next_005fhistory"><code>next_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-P">P</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-previous_005fhistory"><code>previous_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-R">R</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-read_005fhistory"><code>read_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-read_005fhistory_005frange"><code>read_history_range</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-remove_005fhistory"><code>remove_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-replace_005fhistory_005fentry"><code>replace_history_entry</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-S">S</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-stifle_005fhistory"><code>stifle_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-U">U</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-unstifle_005fhistory"><code>unstifle_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#History-List-Management">History List Management</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-using_005fhistory"><code>using_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
-<tr><th id="Function-and-Variable-Index_vr_letter-W">W</th><td></td><td></td></tr>
-<tr><td></td><td valign="top"><a href="#index-where_005fhistory"><code>where_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-write_005fhistory"><code>write_history</code></a>:</td><td>&nbsp;</td><td valign="top"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
-<tr><td colspan="4"> <hr></td></tr>
+<table class="vr-entries-printindex" border="0">
+<tr><td></td><th class="entries-header-printindex">Index Entry</th><th class="sections-header-printindex">Section</th></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-A">A</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-add_005fhistory"><code>add_history</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-add_005fhistory_005ftime"><code>add_history_time</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-append_005fhistory"><code>append_history</code></a></td><td class="printindex-index-section"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-C">C</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-clear_005fhistory"><code>clear_history</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-current_005fhistory"><code>current_history</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-F">F</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-free_005fhistory_005fentry"><code>free_history_entry</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-G">G</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-get_005fhistory_005fevent"><code>get_history_event</code></a></td><td class="printindex-index-section"><a href="#History-Expansion">History Expansion</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-H">H</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005farg_005fextract"><code>history_arg_extract</code></a></td><td class="printindex-index-section"><a href="#History-Expansion">History Expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fbase"><code>history_base</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fcomment_005fchar"><code>history_comment_char</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fexpand"><code>history_expand</code></a></td><td class="printindex-index-section"><a href="#History-Expansion">History Expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fexpansion_005fchar"><code>history_expansion_char</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fget"><code>history_get</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fget_005fhistory_005fstate"><code>history_get_history_state</code></a></td><td class="printindex-index-section"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fget_005ftime"><code>history_get_time</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005finhibit_005fexpansion_005ffunction"><code>history_inhibit_expansion_function</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fis_005fstifled"><code>history_is_stifled</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005flength"><code>history_length</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005flist"><code>history_list</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fmax_005fentries"><code>history_max_entries</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fno_005fexpand_005fchars"><code>history_no_expand_chars</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fquotes_005finhibit_005fexpansion"><code>history_quotes_inhibit_expansion</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fquoting_005fstate"><code>history_quoting_state</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fsearch"><code>history_search</code></a></td><td class="printindex-index-section"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fsearch_005fdelimiter_005fchars"><code>history_search_delimiter_chars</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fsearch_005fpos"><code>history_search_pos</code></a></td><td class="printindex-index-section"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fsearch_005fprefix"><code>history_search_prefix</code></a></td><td class="printindex-index-section"><a href="#Searching-the-History-List">Searching the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fset_005fhistory_005fstate"><code>history_set_history_state</code></a></td><td class="printindex-index-section"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fset_005fpos"><code>history_set_pos</code></a></td><td class="printindex-index-section"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fsubst_005fchar"><code>history_subst_char</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005ftokenize"><code>history_tokenize</code></a></td><td class="printindex-index-section"><a href="#History-Expansion">History Expansion</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005ftotal_005fbytes"><code>history_total_bytes</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005ftruncate_005ffile"><code>history_truncate_file</code></a></td><td class="printindex-index-section"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fword_005fdelimiters"><code>history_word_delimiters</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-history_005fwrite_005ftimestamps"><code>history_write_timestamps</code></a></td><td class="printindex-index-section"><a href="#History-Variables">History Variables</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-N">N</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-next_005fhistory"><code>next_history</code></a></td><td class="printindex-index-section"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-P">P</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-previous_005fhistory"><code>previous_history</code></a></td><td class="printindex-index-section"><a href="#Moving-Around-the-History-List">Moving Around the History List</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-R">R</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-read_005fhistory"><code>read_history</code></a></td><td class="printindex-index-section"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-read_005fhistory_005frange"><code>read_history_range</code></a></td><td class="printindex-index-section"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-remove_005fhistory"><code>remove_history</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-replace_005fhistory_005fentry"><code>replace_history_entry</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-S">S</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-stifle_005fhistory"><code>stifle_history</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-U">U</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-unstifle_005fhistory"><code>unstifle_history</code></a></td><td class="printindex-index-section"><a href="#History-List-Management">History List Management</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-using_005fhistory"><code>using_history</code></a></td><td class="printindex-index-section"><a href="#Initializing-History-and-State-Management">Initializing History and State Management</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
+<tr><th id="Function-and-Variable-Index_vr_letter-W">W</th></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-where_005fhistory"><code>where_history</code></a></td><td class="printindex-index-section"><a href="#Information-About-the-History-List">Information About the History List</a></td></tr>
+<tr><td></td><td class="printindex-index-entry"><a href="#index-write_005fhistory"><code>write_history</code></a></td><td class="printindex-index-section"><a href="#Managing-the-History-File">Managing the History File</a></td></tr>
+<tr><td colspan="3"><hr></td></tr>
</table>
-<table><tr><th valign="top">Jump to: &nbsp; </th><td><a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-A"><b>A</b></a>
+<table class="vr-letters-footer-printindex"><tr><th>Jump to: &nbsp; </th><td><a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-A"><b>A</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-C"><b>C</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-C"><b>C</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-F"><b>F</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-F"><b>F</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-G"><b>G</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-G"><b>G</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-H"><b>H</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-H"><b>H</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-N"><b>N</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-N"><b>N</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-P"><b>P</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-P"><b>P</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-R"><b>R</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-R"><b>R</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-S"><b>S</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-S"><b>S</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-U"><b>U</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-U"><b>U</b></a>
&nbsp;
-<a class="summary-letter" href="#Function-and-Variable-Index_vr_letter-W"><b>W</b></a>
+<a class="summary-letter-printindex" href="#Function-and-Variable-Index_vr_letter-W"><b>W</b></a>
&nbsp;
</td></tr></table>
+</div>
</div>
</div>