Introduction
============

This is the Gnu Readline library, version 2.1.

The Readline library provides a set of functions for use by applications
that allow users to edit command lines as they are typed in.  Both
Emacs and vi editing modes are available.  The Readline library includes
additional functions to maintain a list of previously-entered command
lines, to recall and perhaps reedit those lines, and perform csh-like
history expansion on previous commands.

The history facilites are also placed into a separate library, the
History library, as part of the build process.  The History library
may be used without Readline in applications which desire its
capabilities.

The Readline library is free software, distributed under the terms of
the GNU Public License, version 2.  For more information, see the file
COPYING.

To build the library, try typing `./configure', then `make'.  The
configuration process is automated, so no further intervention should
be necessary.  Readline builds with `gcc' by default if it is
available.  If you want to use `cc' instead, type

        CC=cc ./configure

if you are using a Bourne-style shell.  If you are not, the following
may work:

        env CC=cc ./configure

Read the file INSTALL in this directory for more information about how
to customize and control the build process.

The file rlconf.h contains defines that enable and disable certain
Readline features.

Examples
========

There are several example programs that use Readline features in the
examples directory.  The `rl' program is of particular interest.  It
is a command-line interface to Readline, suitable for use in shell
scripts in place of `read'.

Shared Libraries
================

There is skeletal support for building shared versions of the
Readline and History libraries.

Typing `make shared' will cause shared versions of the Readline and
History libraries to be built on SunOS 4.1.x.  For versions of Unix
other than SunOS, you will have to make some changes to Makefile.in.
The relevant variables are:

PICFLAG		Options to give to the compiler to produce position-independent
		code.  The value `-fpic' works for most versions of gcc.
SHLIB_OPTS	Options to give to the linker to produce a shared library.
		The value `-assert pure-text -ldl' works on SunOS 4.1.x.
		The value `-Bshareable' works for some versions of GNU ld.

MAJOR		The major version number of the shared library.  You should
		not need to change this.
MINOR		The minor version number of the shared library.  Some systems,
		such as SVR4 and its descendents (e.g., Solaris, Unixware),
		do not use minor version numbers.  For those systems, this
		variable should be left unset.

LD		The linker.  The value of `ld' is correct for SunOS 4.1.x.
		You may need to change it to `gcc'; make sure to change
		SHLIB_OPTS if you do so.

Once you have edited Makefile.in, type `make Makefile' to rebuild the
Makefile, then `make shared' to build the shared libraries.

Documentation
=============

The documentation for the Readline and History libraries appears in the
`doc' subdirectory.  There are two texinfo files and a Unix-style manual
page describing the programming facilities available in the Readline
library.  The texinfo files include both user and programmer's manuals.

Reporting Bugs
==============

Bug reports for Readline should be sent to:

        bug-readline@prep.ai.mit.edu

When reporting a bug, please include the following information:

        * the version number and release status of Readline (e.g., 2.1-release)
        * the machine and OS that it is running on
        * a list of the compilation flags or the contents of `config.h', if
          appropriate
        * a description of the bug
        * a recipe for recreating the bug reliably
        * a fix for the bug if you have one!

If you would like to contact the Readline maintainer directly, send mail
to bash-maintainers@prep.ai.mit.edu.

Since Readline is developed along with bash, the bug-bash@prep.ai.mit.edu
mailing list (mirrored to the Usenet newsgroup gnu.bash.bug) often contains
Readline bug reports and fixes.

Chet Ramey
chet@po.cwru.edu
