Mail Archives: djgpp-announce/2017/07/10/14:47:56
This is a port of GNU Readline and History libraries 7.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. 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 6.3) to this one:
-------------------------------------------------------------------------------
This is a terse description of the new features added to readline-7.0 since
the release of readline-6.3.
New Features in Readline
a. The history truncation code now uses the same error recovery mechansim as
the history writing code, and restores the old version of the history file
on error. The error recovery mechanism handles symlinked history files.
b. There is a new bindable variable, `enable-bracketed-paste', which enables
support for a terminal's bracketed paste mode.
c. The editing mode indicators can now be strings and are user-settable
(new `emacs-mode-string', `vi-cmd-mode-string' and `vi-ins-mode-string'
variables). Mode strings can contain invisible character sequences.
Setting mode strings to null strings restores the defaults.
d. Prompt expansion adds the mode string to the last line of a multi-line
prompt (one with embedded newlines).
e. There is a new bindable variable, `colored-completion-prefix', which, if
set, causes the common prefix of a set of possible completions to be
displayed in color.
f. There is a new bindable command `vi-yank-pop', a vi-mode version of emacs-
mode yank-pop.
g. The redisplay code underwent several efficiency improvements for multibyte
locales.
h. The insert-char function attempts to batch-insert all pending typeahead
that maps to self-insert, as long as it is coming from the terminal.
i. rl_callback_sigcleanup: a new application function that can clean up and
unset any state set by readline's callback mode. Intended to be used
after a signal.
j. If an incremental search string has its last character removed with DEL, the
resulting empty search string no longer matches the previous line.
k. If readline reads a history file that begins with `#' (or the value of
the history comment character) and has enabled history timestamps, the history
entries are assumed to be delimited by timestamps. This allows multi-line
history entries.
l. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
-------------------------------------------------------------------------------
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 2017-07-09):
Readline and History 7.0 libraries, headers and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln70b.zip
GNU Readline 7.0 dvi, html, ps and pdf format documentation:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln70d.zip
GNU Readline 7.0 source:
ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/rdln70s.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 -