[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Readline-8.3-rc2 available
From: |
Chet Ramey |
Subject: |
Readline-8.3-rc2 available |
Date: |
Tue, 3 Jun 2025 09:59:27 -0400 |
The second release candidate of the GNU Readline library, version 8.3,
is now available with the URLs
ftp://ftp.cwru.edu/pub/bash/readline-8.3-rc2.tar.gz
https://ftp.gnu.org/pub/gnu/readline/readline-8.3-rc2.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-rc2 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-rc2.
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 is a new bindable command that exports the list of possible
word completions in a format that is designed to be consumed by other
applications (e.g., emacs).
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.
bb. Make sure the bracketed-paste input buffer is null-terminated when read
returns an error.
cc. Fixed a small memory leak in execute-named-command if the command doesn't
exist or the function doesn't return.
dd. Fix for attempting to change case of invalid multibyte characters.
ee. Fix for possible completions that compare identically when using case-
insensitive completion but have different byte lengths.
ff. Fix to make non-incremental searches use undo lists and set the history
position the same way as incremental searches.
gg. Don't check for signals when handling a received signal.
hh. Fix off-by-one error when tokenizing words like $((expr)) while performing
history expansion.
ii. Fixes for incremental searches and redisplay in the C locale.
jj. Fixes for some use-after-free of the undo list errors when stacking multiple
commands that use rl_maybe_replace_line to save changes to a history entry.
kk. Fixes to ensure that completion-prefix-display-length and
colored-completion-prefix are mutually exclusive.
ll. Fixed a bug that allowed a history search to change the current history
list position.
mm. Fixed a bug that allowed ^G to retain a saved command to execute.
nn. Updates to new export-completions command to allow filename suffixes.
oo. Fixed a redisplay bug with prompts containing multiple sequences of
invisible characters that are longer than the screen width.
pp. The history library no longer skips blank lines while it is reading a
multiline history entry from a history file.
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.
j. Documentation has been significantly updated.
k. New `force-meta-prefix' bindable variable, which forces the use of ESC as
the meta prefix when using "\M-" in key bindings instead of overloading
convert-meta.
l. The default value for `readline-colored-completion-prefix' no longer has a
leading `.'; the original report was based on a misunderstanding.
m. There is a new bindable command, `export-completions', which writes the
possible completions for a word to the standard output in a defined format.
n. Readline can reset its idea of the screen dimensions when executing after
a SIGCONT.
--
``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/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Readline-8.3-rc2 available,
Chet Ramey <=