[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bash-announce] Readline-8.1-alpha available for download

From: Chet Ramey
Subject: [Bash-announce] Readline-8.1-alpha available for download
Date: Wed, 17 Jun 2020 10:50:28 -0400

The first alpha release of the GNU Readline library, version 8.1,
is now available for FTP with the URL

and from the readline-8.1-testing branch in the readline git repository

This distribution is essentially a standalone version of the
readline library that appears in bash-5.1-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.1-alpha.
There are more improvements in the programming interface and new
user-visible variables and bindable commands. There are several new
public API functions.

The most visible new feature is the addition of `faces', which highlights
the text between the point and mark. This shows the text inserted by
bracketed paste, and the text found by incremental and non-incremental
history searches. Several additional commands set the mark to take advantage
of this feature. Bracketed paste mode is supported in more places (e.g.,
in vi `overstrike' mode) and is currently enabled by default.

There are a few bug fixes in the redisplay code when the prompt string
contains invisible multibyte characters, and several in vi mode. Full
details are below.

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

Since this is an alpha release, please send readline bug reports to

As always, thanks for your help.


+========== CHANGES ==========+
This document details the changes between this version, readline-8.1, and
the previous version, readline-8.0.

1. Changes to Readline

a. There are a number of fixes that were found as the result of fuzzing with
   random input.

b. Changed the revert-all-at-newline behavior to make sure to start at the end
   of the history list when doing it, instead of the line where the user hit

c. When parsing `set' commands from the inputrc file or an application, readline
   now allows trailing whitespace.

d. Fixed a bug that left a file descriptor open to the history file if the
   file size was 0.

e. Fixed a problem with binding key sequences containing meta characters.

f. Fixed a bug that caused the wrong line to be displayed if the user tried to
   move back beyond the beginning of the history list, or forward past the end
   of the history list.

g. If readline catches SIGTSTP, it now sets a hook that allows the calling
   application to handle it if it desires.

h. Fixed a redisplay problem with a prompt string containing embedded newlines.

i. Fixed a problem with completing filenames containing invalid multibyte
   sequences when case-insensitive comparisons are enabled.

j. Fixed a redisplay problem with prompt strings containing invisible multibyte

k. Fixed a problem with multibyte characters mapped to editing commands that
   modify the search string in incremental search.

l. Fixed a bug with maintaining the key sequence while resolving a bound
   command in the presence of ambiguous sequences (sequences with a common
   prefix), in most cases while attempting to unbind it.

m. Fixed several buffer overflows found as the result of fuzzing.

n. Reworked backslash handling when translating key sequences for key binding
   to be more uniform and consistent, which introduces a slight backwards

o. Fixed a bug with saving the history that resulted in errors not being
   propagated to the calling application when the history file is not writable.

p. Readline only calls chown(2) on a newly-written history file if it really
   needs to, instead of having it be a no-op.

q. Readline now behaves better when operate-and-get-next is used when the
   history list is `full': when there are already $HISTSIZE entries.

r. Fixed a bug that could cause vi redo (`.') of a replace command not to work
   correctly in the C or POSIX locale.

s. Fixed a bug with vi-mode digit arguments that caused the last command to be
   set incorrectly. This prevents yank-last-arg from working as intended, for

2. New Features in Readline

a. If a second consecutive completion attempt produces matches where the first
   did not, treat it as a new completion attempt and insert a match as

b. Bracketed paste mode works in more places: incremental search strings, vi
   overstrike mode, character search, and reading numeric arguments.

c. Readline automatically switches to horizontal scrolling if the terminal has
   only one line.

d. Unbinding all key sequences bound to a particular readline function now
   descends into keymaps for multi-key sequences.

e. rl-clear-display: new bindable command that clears the screen and, if
   possible, the scrollback buffer (bound to emacs mode M-C-l by default).

f. New active mark and face feature: when enabled, it will highlight the text
   inserted by a bracketed paste (the `active region') and the text found by
   incremental and non-incremental history searches.

g. Readline sets the mark in several additional commands.

h. Bracketed paste mode is enabled by default (for now).

i. Readline tries to take advantage of the more regular structure of UTF-8
   characters to identify the beginning and end of characters when moving
   through the line buffer.

j. The bindable operate-and-get-next command (and its default bindings) are
   now part of readline instead of a bash-specific addition.

``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU

reply via email to

[Prev in Thread] Current Thread [Next in Thread]