Mail Archives: djgpp/2019/02/03/13:36:23
This is a port of GNU Readline and History libraries 8.0 to MSDOS/DJGPP.
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.
DJGPP specific changes.
=======================
- The port is based on the port of readline 2.2 and uses the termios
emulation provided by it. It has been slightly adjusted to work with
DJGPP 2.05. It also supports copying from Windows clipboard as the
readline port from bash does. Most of the other changes are to handle
DOS/DJGPP specific slash and backslash issues and to pacify the compiler.
- The port will check at run time if LFN support is available or not.
If available, then it will look for ".inputrc" and ".history" as
configuration files. If one of them is not available then it will try
"_inputrc" and/or "_history" as alternative file names. This means that
if LFN support is available, the POSIX file names will always be tried
before the DOS file names are tried. Of course, if only SFN support is
available only the DOS versions of the file names will be tried.
- The port will try to load the system wide configuration file using
the file name "/dev/env/DJDIR/etc/inputrc" instead of the hard coded
"/etc/inputrc". The system wide INPUTRC file is always tried to be
load if the loading of "~/.inputrc" fails and before "~/_inputrc" is
tried to be load on LFN systems.
- If pdcurses is installed it will be used to provide termios functionality
instead of the one provided by the C-library. If you prefer the termios
functionality profided by the C-library you will have to uninstall
pdcurses before you configure the sources. The sources have been
configured without pdcurses support.
- The port has been configured and compiled on WinXP SP3 and Win98SE.
There is no guarantee that this may be possible with any other DOS-
like OS. Due to the use of long file names it will not be possible
to configure and compile without LFN support.
As usual, my changes and the rest of the djgpp specific stuff is stored in
the /djgpp directory. To learn how to use the libraries please inspect the
files in the /examples directory.
For further information about GNU Readline please read the info docs and
NEWS file.
Here is an extract of the NEWS file showing the user visible changes from
the last port (GNU Readline 7.0) to this one:
-------------------------------------------------------------------------------
This is a terse description of the new features added to readline-8.0 since
the release of readline-7.0.
New Features in Readline
a. Non-incremental vi-mode search (`N', `n') can search for a shell pattern, as
Posix specifies (uses fnmatch(3) if available).
b. There are new `next-screen-line' and `previous-screen-line' bindable
commands, which move the cursor to the same column in the next, or previous,
physical line, respectively.
c. There are default key bindings for control-arrow-key key combinations.
d. A negative argument (-N) to `quoted-insert' means to insert the next N
characters using quoted-insert.
e. New public function: rl_check_signals(), which allows applications to
respond to signals that readline catches while waiting for input using
a custom read function.
f. There is new support for conditionally testing the readline version in an
inputrc file, with a full set of arithmetic comparison operators available.
g. There is a simple variable comparison facility available for use within an
inputrc file. Allowable operators are equality and inequality; string
variables may be compared to a value; boolean variables must be compared to
either `on' or `off'; variable names are separated from the operator by
whitespace.
h. The history expansion library now understands command and process
substitution and extended globbing and allows them to appear anywhere in a
word.
i. The history library has a new variable that allows applications to set the
initial quoting state, so quoting state can be inherited from a previous
line.
j. Readline now allows application-defined keymap names; there is a new public
function, rl_set_keymap_name(), to do that.
k. The "Insert" keypad key, if available, now puts readline into overwrite
mode.
-------------------------------------------------------------------------------
The port consists of the usual three packages that have been produced
using djdev205 and can be downloaded from ftp.delorie.com and mirrors
as (time stamp 2019-01-10):
Readline and History 8.0 libraries, headers and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80b.zip
GNU Readline 8.0 dvi, html, ps and pdf format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80d.zip
GNU Readline 8.0 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln80s.zip
Send GNU Readline specific bug reports to <bug-readline AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -