Hello,
Readline-7.0 was released few months ago and I have rebased it in rawhide to version 7.0.
I have created a compatibility package compat-readline6 to avoid breaking any existing
applications.
Update to readline-7.0 caused a build failure with gdb that was fixed by this commit [1].
I am providing abidiff report for the changes between readline-6.3 and readline-7.0 :
ELF SONAME changed
Functions changes summary: 2 Removed, 2 Changed (1 filtered out), 17 Added functions
Variables changes summary: 0 Removed, 1 Changed, 15 Added variables
SONAME changed from 'libreadline.so.6' to 'libreadline.so.7'
2 Removed functions:
'function void _rl_audit_tty(char*)' {_rl_audit_tty}
'function void replace_history_data(int, histdata_t*, histdata_t*)'
{replace_history_data}
17 Added functions:
'function void _hs_append_history_line(int, const char*)'
{_hs_append_history_line}
'function void _hs_replace_history_data(int, histdata_t*, histdata_t*)'
{_hs_replace_history_data}
'function int _rl_find_prev_mbchar_internal(char*, int, int)'
{_rl_find_prev_mbchar_internal}
'function int _rl_isearch_cleanup(int)' {_rl_isearch_cleanup}
'function int _rl_nsearch_cleanup(int)' {_rl_nsearch_cleanup}
'function bool _rl_print_prefix_color()' {_rl_print_prefix_color}
'function void _rl_ttyflush()' {_rl_ttyflush}
'function int _rl_vi_domove_motion_cleanup(int)'
{_rl_vi_domove_motion_cleanup}
'function int _rl_vi_motion_command(int)' {_rl_vi_motion_command}
'function int rl_bracketed_paste_begin(int, int)' {rl_bracketed_paste_begin}
'function void rl_callback_sigcleanup()' {rl_callback_sigcleanup}
'function int rl_clear_visible_line()' {rl_clear_visible_line}
'function int rl_pending_signal()' {rl_pending_signal}
'function void rl_redraw_prompt_last_line()' {rl_redraw_prompt_last_line}
'function int rl_tty_set_echoing(int)' {rl_tty_set_echoing}
'function int rl_vi_unix_word_rubout(int, int)' {rl_vi_unix_word_rubout}
'function int rl_vi_yank_pop(int, int)' {rl_vi_yank_pop}
2 functions with some indirect sub-type change:
[C]'function bool _rl_print_color_indicator(char*)' at colors.c:123:1 has some
indirect sub-type changes:
parameter 1 of type 'char*' changed:
in pointed to type 'char':
entity changed from 'char' to 'const char'
[C]'function int rl_restore_state(readline_state*)' at readline.c:1405:1 has
some indirect sub-type changes:
parameter 1 of type 'readline_state*' has sub-type changes:
in pointed to type 'struct readline_state' at readline.h:894:1:
type size changed from 1536 to 1792 bits
2 data member insertions:
'char* readline_state::kseq', at offset 576 (in bits) at
readline.h:913:1
'char* readline_state::wordbreakchars', at offset 1216 (in bits) at
readline.h:932:1
13 data member changes:
'int readline_state::buflen' offset changed from 192 to 96 (in bits)
'UNDO_LIST* readline_state::ul' offset changed from 256 to 192 (in bits)
'char* readline_state::prompt' offset changed from 320 to 256 (in bits)
'int readline_state::rlstate' offset changed from 384 to 320 (in bits)
'int readline_state::done' offset changed from 416 to 352 (in bits)
'Keymap readline_state::kmap' offset changed from 448 to 384 (in bits)
'int readline_state::insmode' offset changed from 576 to 512 (in bits)
'int readline_state::edmode' offset changed from 608 to 544 (in bits)
'int readline_state::pendingin' offset changed from 832 to 672 (in bits)
'char* readline_state::macro' offset changed from 896 to 832 (in bits)
'int readline_state::catchsigs' offset changed from 960 to 896 (in bits)
'int readline_state::catchsigwinch' offset changed from 992 to 928 (in
bits)
'char readline_state::reserved[64]' offset changed from 1024 to 1280 (in
bits)
15 Added variables:
'int _rl_colored_completion_prefix' {_rl_colored_completion_prefix}
'char* _rl_emacs_mode_str' {_rl_emacs_mode_str}
'int _rl_emacs_modestr_len' {_rl_emacs_modestr_len}
'int _rl_enable_bracketed_paste' {_rl_enable_bracketed_paste}
'int _rl_optimize_typeahead' {_rl_optimize_typeahead}
'char* _rl_vi_cmd_mode_str' {_rl_vi_cmd_mode_str}
'int _rl_vi_cmd_modestr_len' {_rl_vi_cmd_modestr_len}
'char* _rl_vi_ins_mode_str' {_rl_vi_ins_mode_str}
'int _rl_vi_ins_modestr_len' {_rl_vi_ins_modestr_len}
'int _rl_vi_redoing' {_rl_vi_redoing}
'int history_file_version' {history_file_version}
'int history_lines_read_from_file' {history_lines_read_from_file}
'int history_lines_written_to_file' {history_lines_written_to_file}
'int history_multiline_entries' {history_multiline_entries}
'int rl_persistent_signal_handlers' {rl_persistent_signal_handlers}
1 Changed variable:
[C]'int rl_readline_state' was changed to 'unsigned long int
rl_readline_state' at readline.h:500:1:
size of symbol (in bytes) changed from 4 to 8
type of variable changed:
type name changed from 'int' to 'unsigned long int'
type size changed from 32 to 64 bits
I would be happy to help if any package maintainers need my help with updating to
readline-7.0.
[1]
https://src.fedoraproject.org/cgit/rpms/gdb.git/commit/?id=194c0860de7383...
--
--
Siteshwar Vashisht