bug-readline
[Top][All Lists]
Advanced

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

Readline-8.3-alpha available


From: Chet Ramey
Subject: Readline-8.3-alpha available
Date: Tue, 23 Apr 2024 09:11:06 -0400

The first alpha release of the GNU Readline library, version 8.3,
is now available with the URLs

ftp://ftp.cwru.edu/pub/bash/readline-8.3-alpha.tar.gz
https://ftp.gnu.org/pub/gnu/readline/readline-8.3-alpha.tar.gz

and from the readline-8.3-testing branch in the readline git repository
(http://git.savannah.gnu.org/cgit/readline.git/log/?h=readline-8.3-testing).

You can use

git clone --branch readline-8.3-testing git://git.savannah.gnu.org/readline.git

to clone the testing branch.

The CWRU FTP site works best if your client supports Extended Passive
(EPSV) mode.

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

The most visible new feature is the addition of a new option which forces
history searches to be case-insensitive, and incremental and non-incremental
searches allow ^V/^Q for quoted-insert of the next search string character.
There is a new bindable command that allows the user to execute a readline
command by name (e.g., backward-word). There is a new application-settable
variable that forces readline to quote word completions as if they are
filenames.

There are bug fixes for cases where the undo list was freed multiple times
if it appeared in a history list entry. There are several fixes for display
errors when displaying multibyte characters in a single-byte locale.
Loading very large history files should now be much faster.

Full details of the changes and bug fixes 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
separately.

Since this is a testing release, please send readline bug reports to
chet.ramey@case.edu.

As always, thanks for your help.

Chet

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

1. Changes to Readline

a. Fixed a bug in clearing the visible line structure before redisplay.

b. Fix a bug where setlocale(3) returning NULL caused a crash.

c. Fixed signal checking in callback mode to handle signals that arrive before
   readline restore's the application's signal handlers.

d. Fixed a bug with word completion where the directory name needs to be
   dequoted and tilde-expanded.

e. Fixed a bug that caused compilation to fail on systems with select but not
   pselect.

f. System-specific changes for: WIN32, z/OS, Cygwin, MSYS

g. Fixed a bug that caused word completion mismatches if the quoted text the
   user typed was longer than the unquoted match.

h. Fixes for freeing undo lists that might appear in history list entries
   after non-incremental searches.

i. Fixes for some errors revealed by address sanitizer.

j. In vi mode, if an `f' or `F' move command associated with a `c' or `C'
   command fails, don't enter insert mode.

k. Fixed bug with truncating a history file containing timestamps that caused
   the timestamp associated with the first history entry not to be written.

l. Fix vi-mode so that a motion command attached to d/D, y/Y, or t/T must
   consume or delete at least one character.

m. Fix a redisplay error when displaying meta characters as octal sequences
   and other C locale issues.

n. Fix error that caused characters composing an incomplete multibyte
   character not to be inserted into the line.

o. In callback mode, let the application echo the signal characters (e.g., ^C)
   when the application's signal handlers are installed.

p. Added some support for lines that consume more than the physical number of
   screen lines.

q. Make sure dump-variables returns the string values for 
active-region-start-color
   and active-region-end-color if they're set.

r. Fixes to how characters between 128 and 159 are printed when displaying
   macro values (use symbolic notation instead of directly printing the
   character).

s. Don't convert meta characters that contain NULL (\M-\C-@) to actual NULs,
   which prematurely terminates the macro value.

t. Fix typo in the readline color prefix extension that it uses for coloring
   filename prefixes when displaying possible completions.

u. Call the filename rewrite hook on the word being completed before comparing
   it against possible completions from the file system to get consistent
   strings.

v. Fix infinite recursion that can happen if someone binds a key that doesn't
   have a different upper and lower case represenation to do-lowercase-version.

w. Check for non-ANSI (dumb) terminals a little more thoroughly.

x. Don't attempt to history-expand the `quick substitution' character at the
   beginning of a line if the application has set the quoting state to single
   quotes.

y. Fix small memory leak if non-incremental or incremental search is
   interrupted by a signal.

z. Loading very large history files should be much faster.

aa. Retry opening startup files if the open is interrupted by a signal
    and is not automatically restarted.

2. New Features in Readline

a. Output a newline if there is no prompt and readline reads an empty line.

b. The history library falls back to stdio when writing the history list if
   mmap fails.

c. New bindable variable `search-ignore-case', causes readline to perform
   case-insensitive incremental and non-incremental history searches.

d. rl_full_quoting_desired: new application-settable variable, causes all
   completions to be quoted as if they were filenames.

e. rl_macro_display_hook: new application-settable function pointer, used if
   the application wants to print macro values itself instead of letting
   readline do it

f. rl_reparse_colors: new application-callable function, reparses $LS_COLORS
   (presumably after the user changes it)

g. rl_completion_rewrite_hook: new application-settable function pointer,
   called to modify the word being completed before comparing it against
   pathnames from the file system.

h. execute-named-command: a new bindable command that reads the name of a
   readline command from the standard input and executes it. Bound to M-x
   in emacs mode by default.

i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former
   case, anything bound to quoted-insert) to quote characters in the search
   string.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/



reply via email to

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