Go forward to History Storage.
Go up to Programming with GNU History.

Introduction to History
=======================

   Many programs read input from the user a line at a time.  The GNU
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.

   The programmer using the History library has available functions 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 "expansion" function is
available which provides for a consistent user interface across
different programs.

   The user using programs written with the History library has the
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 `csh'.

   If the programmer desires, he can use the Readline library, which
includes some history manipulation by default, and has the added
advantage of command line editing.