[ANNOUNCEMENT] Updated: libreadline{7,-devel} 8.1 (problem of octave-gui)

Takashi Yano takashi.yano@nifty.ne.jp
Fri Sep 10 12:56:11 GMT 2021


On Sat, 04 Sep 2021 12:25:47 -0600
Cygwin readline Co-Maintainer wrote:
> The following packages have been upgraded in the Cygwin distribution:
> 
> * libreadline7		8.1
> * libreadline-devel	8.1
> 
> The readline library will read a line from the terminal and return it,
> allowing the user to edit the line with the standard emacs editing keys.
> It allows the programmer to give the user an easier-to-use and more
> intuitive interface.
> 
> For more information see the project home pages:
> 
> 	http://tiswww.cwru.edu/php/chet/readline/rltop.html
> 	https://sv.gnu.org/projects/readline/
> 
> For changes since the previous Cygwin release please see below or read
> /usr/share/doc/readline/NEWS after installation:
> 
> 	https://git.sv.gnu.org/gitweb/?p=readline.git;f=NEWS;hb=readline-8.1
> 
> 
> New features added to readline 8.1
> 
> 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
>    appropriate.
> 
> 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. This is tied to bracketed
>    paste and can be disabled by turning off bracketed paste.
> 
> g. Readline sets the mark in several additional commands.
> 
> h. Bracketed paste mode is enabled by default. There is a configure-time
>    option (--enable-bracketed-paste-default) to set the default to on or off.
> 
> 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.
> 
> k. The signal cleanup code now blocks SIGINT while processing after a SIGINT.  
> 
> 
> New features added to readline 8.0
> 
> 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.
> 
> h. The history expansion library now understands command and process
>    substitution and extended globbing and allows them to appear anywhere in a
>    word.
> 
> i. The history library has a new variable that allows applications to set the
>    initial quoting state, so quoting state can be inherited from a previous
>    line.
> 
> j. Readline now allows application-defined keymap names; there is a new public
>    function, rl_set_keymap_name(), to do that.
> 
> k. The "Insert" keypad key, if available, now puts readline into overwrite
>    mode.

After this update, octave-gui (5.2.0) in x-window shows strange string
at the prompt.

>> undecodable token: \001b(hex)[?2004l
undecodable token: \001b(hex)[?2004h

To reproduce this,
1) Start X with 'run XWin -multiwindow'
2) Start octave-gui with 'env DISPLAY=:0 octave --force-gui'

Does libreadline7 (8.1) break compatibility with old one?
Reverting libreadline7 to 7.0.3-3 solves the issue.

Setting
set enable-bracketed-paste off
in ~/.inputrc also solves the problem.

This may be a problem of octave side.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=975902
https://www.mail-archive.com/bug-readline@gnu.org/msg01416.html

Any idea?

-- 
Takashi Yano <takashi.yano@nifty.ne.jp>


More information about the Cygwin mailing list