bug-readline
[Top][All Lists]
Advanced

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

Readline-8.2 Release available


From: Chet Ramey
Subject: Readline-8.2 Release available
Date: Mon, 26 Sep 2022 15:39:17 -0400

The first public release of the GNU Readline library, version 8.2, is
now available for FTP with the URLs

ftp://ftp.cwru.edu/pub/bash/readline-8.2.tar.gz
ftp://ftp.gnu.org/pub/gnu/readline/readline-8.2.tar.gz

and from the master branch in the readline git repository
(http://git.savannah.gnu.org/cgit/readline.git/log)
and the usual GNU mirrors.

This distribution is essentially a standalone version of the readline
library that appears in bash-5.2 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.2.
There are more improvements in the programming interface and new
user-visible variables and bindable commands.  There are several new
public API functions, but there should be no incompatible changes to
existing APIs.

There is a new framework for readline timeouts, including new public
functions to set timeouts and query how much time is remaining before a
timeout hits, and a hook function that can trigger when readline times out. 
There is a new state value to indicate a timeout. There is a new option:
`enable-active-region'. This separates control of the active region and
bracketed-paste. It has the same default value as bracketed-paste, and
enabling bracketed paste enables the active region. Users can now turn off
the active region while leaving bracketed paste enabled. Two new bindable
string variables are available; their values are terminal escape sequences
that set the color used to display the active region and turn it off,
respectively. If set, these are used in place of terminal standout mode. 
Finally, Readline now checks for changes to locale settings
(LC_ALL/LC_CTYPE/LANG) each time it is called, and modifies the appropriate
locale-specific display and key binding variables when the locale changes. 

There are a few bug fixes in the redisplay code when restoring the prompt
after a digit-argument prompt or incremental search back to a prompt that
contains invisible multibyte characters. There are more checks for read
errors, especially in the middle of readline commands; previous versions
could loop or return incorrect data. 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
separately.

Please send readline bug reports to bug-readline@gnu.org.

As always, thanks for your help.

Chet

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

1. Changes to Readline

a. Fixed a problem with cleaning up active marks when using callback mode.

b. Fixed a problem with arithmetic comparison operators checking the version.

c. Fixed a problem that could cause readline not to build on systems without
   POSIX signal functions.

d. Fixed a bug that could cause readline to crash if the application removed
   the callback line handler before readline read all typeahead.

e. Added additional checks for read errors in the middle of readline commands.

f. Fixed a redisplay problem that occurred when switching from the digit-
   argument prompt `(arg: N)' back to the regular prompt and the regular
   prompt contained invisible characters.

g. Fixed a problem with restoring the prompt when aborting an incremental
   search.

h. Fix a problem with characters > 128 not being displayed correctly in certain
   single-byte encodings.

i. Fixed a problem with unix-filename-rubout that caused it to delete too much
   when applied to a pathname consisting only of one or more slashes.

j. Fixed a display problem that caused the prompt to be wrapped incorrectly if
   the screen changed dimensions during a call to readline() and the prompt
   became longer than the screen width.

k. Fixed a problem that caused the \r output by turning off bracketed paste
   to overwrite the line if terminal echo was disabled.

l. Fixed a bug that could cause colored-completion-prefix to not display if
   completion-prefix-display-length was set.

m. Fixed a problem with line wrapping prompts when a group of invisible
   characters runs to the right edge of the screen and the prompt extends
   longer then the screen width.

n. Fixed a couple problems that could cause rl_end to be set incorrectly by
   transpose-words.

o. Prevent some display problems when running a command as the result of a
   trap or one bound using `bind -x' and the command generates output.

p. Fixed an issue with multi-line prompt strings that have one or more
   invisible characters at the end of a physical line.

q. Fixed an issue that caused a history line's undo list to be cleared when
   it should not have been.

r. When replacing a history entry, make sure the existing entry has a non-NULL
   timestamp before copying it; it may have been added by the application, not
   the history library.

2. New Features in Readline

a. There is now an HS_HISTORY_VERSION containing the version number of the
   history library for applications to use.

b. History expansion better understands multiple history expansions that may
   contain strings that would ordinarily inhibit history expansion (e.g.,
   `abc!$!$').

c. There is a new framework for readline timeouts, including new public
   functions to set timeouts and query how much time is remaining before a
   timeout hits, and a hook function that can trigger when readline times
   out. There is a new state value to indicate a timeout.

d. Automatically bind termcap key sequences for page-up and page-down to
   history-search-backward and history-search-forward, respectively.

e. There is a new `fetch-history' bindable command that retrieves the history
   entry corresponding to its numeric argument. Negative arguments count back
   from the end of the history.

f. `vi-undo' is now a bindable command.

g. There is a new option: `enable-active-region'. This separates control of
   the active region and bracketed-paste. It has the same default value as
   bracketed-paste, and enabling bracketed paste enables the active region.
   Users can now turn off the active region while leaving bracketed paste
   enabled.

h. rl_completer_word_break_characters is now `const char *' like
   rl_basic_word_break_characters.

i. Readline looks in $LS_COLORS for a custom filename extension
   (*.readline-colored-completion-prefix) and uses that as the default color
   for the common prefix displayed when `colored-completion-prefix' is set.

j. Two new bindable string variables: active-region-start-color and
   active-region-end-color. The first sets the color used to display the
   active region; the second turns it off. If set, these are used in place
   of terminal standout mode.

k. New readline state (RL_STATE_EOF) and application-visible variable
   (rl_eof_found) to allow applications to detect when readline reads EOF
   before calling the deprep-terminal hook.

l. There is a new configuration option: --with-shared-termcap-library, which
   forces linking the shared readline library with the shared termcap (or
   curses/ncurses/termlib) library so applications don't have to do it.

m. Readline now checks for changes to locale settings (LC_ALL/LC_CTYPE/LANG)
   each time it is called, and modifies the appropriate locale-specific display
   and key binding variables when the locale changes.

-- 
``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]