[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-readline] Readline-8.0-alpha available
From: |
Chet Ramey |
Subject: |
[Bug-readline] Readline-8.0-alpha available |
Date: |
Wed, 23 May 2018 15:35:30 -0400 |
The first alpha release of the GNU Readline library, version 8.0,
is now available for FTP with the URL
ftp://ftp.cwru.edu/pub/bash/readline-8.0-alpha.tar.gz
and from the readline-8.0-testing branch in the readline git repository
(http://git.savannah.gnu.org/cgit/readline.git/log/?h=readline-8.0-testing).
This distribution is essentially a standalone version of the
readline library that appears in bash-5.0-alpha together with
an `autoconf' framework. The documentation has been updated and
is current. Postscript, DVI, and Info versions of the Readline
and History manuals are included. A list of changes in this
release is appended to this announcement.
This release accompanies the simultaneous release of bash-5.0-alpha.
There are more improvements in the programming interface and new
user-visible variables and bindable commands. There are a few additional
public API functions, which required a change to the major version number.
The inputrc file syntax now supports a way to test readline's major
version number, with a full set of arithmetic comparison operators. The
inputrc now supports a simple variable comparison facility: string
variables may be compared to a value, and boolean variables may be compared
to `on' or `off'.
There are a number of bug fixes in the code that calculates line breaks
when expanding prompts that span several lines, contain multibyte
characters, and contain invisible character sequences. There are fixes
for several out-of-bounds memory errors discovered as the result of
fuzzing. There are terminal (and terminal-emulator) specific fixes for
line wrapping and bracketed paste mode.
GNU Readline is a library which provides programs with an input
facility including command-line editing and history. Editing
commands similar to both emacs and vi are included. The GNU
History library, which provides facilities for managing a list of
previously-typed command lines and an interactive command line
recall facility similar to that provided by csh, is also present.
The history library is built as part of the readline as well as
separately.
Since this is an alpha release, please send readline bug reports to
address@hidden
As always, thanks for your help.
Chet
+========== CHANGES ==========+
This document details the changes between this version, readline-8.0, and the
previous version, readline-7.0.
1. Changes to Readline
a. Added a guard to prevent nested macros from causing an infinite expansion
loop.
b. Instead of allocating enough history list entries to hold the maximum list
size, cap the number allocated initially.
c. Added a strategy to avoid allocating huge amounts of memory if a block of
history entries without timestamps occurs after a block with timestamps.
d. Added support for keyboard timeouts when an ESC character is the last
character in a macro.
e. There are several performance improvements when in a UTF-8 locale.
f. Readline does a better job of preserving the original set of blocked
signals when using pselect() to wait for input.
g. Fixed a bug that caused multibyte characters in macros to be mishandled.
h. Fixed several bugs in the code that calculates line breaks when expanding
prompts that span several lines, contain multibyte characters, and contain
invisible character seqeuences.
i. Fixed several bugs in cursor positioning when displaying lines with prompts
containing invisible characters and multibyte characters.
j. When performing case-insensitive completion, Readline no longer sorts the
list of matches unless directed to do so.
k. Fixed a problem with key sequences ending with a backslash.
l. Fixed out-of-bounds and free memory read errors found via fuzzing.
m. Fixed several cases where the mark was set to an invalid value.
n. Fixed a problem with the case-changing operators in the case where the
lower and upper case versions of a character do not have the same number
of bytes.
o. Handle incremental and non-incremental search character reads returning EOF.
p. Handle the case where a failing readline command at the end of a multi-key
sequence could be misinterpreted.
q. The history library now prints a meaningful error message if the history
file isn't a regular file.
r. Fixed a problem with vi-mode redo (`.') on a command when trying to replace
a multibyte character.
s. The key binding code now attempts to remove a keymap if a key unbinding
leaves it empty.
t. Fixed a line-wrapping issue that caused problems for some terminal
emulators.
u. If there is a key bound to the tty's VDISCARD special character, readline
disables VDISCARD while it is active.
v. Fixed a problem with exiting bracketed paste mode on terminals that assume
the bracketed paste mode character sequence contains visible characters.
w. Fixed a bug that could cause a key binding command to refer to an
uninitialized variable.
2. 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.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU address@hidden http://tiswww.cwru.edu/~chet/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Bug-readline] Readline-8.0-alpha available,
Chet Ramey <=