Accepting request 862370 from Base:System

- Update to final readline-8.1
  which is mainly rc3
- Remove obsolate patches and the signatures
  * readline80-001
  * readline80-001.sig
  * readline80-002
  * readline80-002.sig
  * readline80-003
  * readline80-003.sig
  * readline80-004
  * readline80-004.sig
- Port patches
  * readline-5.2-conf.patch
  * readline-6.2-metamode.patch
  * readline-6.3-destdir.patch
  * readline-6.3-input.dif
  * readline-6.3-rltrace.patch
  * readline-7.0-screen.patch
- Port and rename patch readline-8.0.dif which is now readline-8.1.dif

- Update to readline-8.1-rc3 for testing 
  * Fixed a bug that could cause point to be set beyond the end of the line
    buffer when aborting an incremental search.

- Update to readline-8.1-rc2 for testing 
  * 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.
  * Terminals that are named "dumb" or unknown do not enable bracketed paste
    by default.
  * Ensure that disabling bracketed paste turns off highlighting the incremental

OBS-URL: https://build.opensuse.org/request/show/862370
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/readline?expand=0&rev=10
This commit is contained in:
Dominique Leuenberger 2021-01-20 17:22:43 +00:00 committed by Git OBS Bridge
commit 402a45291f
21 changed files with 140 additions and 302 deletions

View File

@ -5,8 +5,8 @@
3 files changed, 47 insertions(+), 13 deletions(-)
--- lib/readline/bind.c
+++ lib/readline/bind.c 2018-11-29 08:33:08.921317296 +0000
@@ -850,6 +850,9 @@ rl_function_of_keyseq_len (const char *k
+++ lib/readline/bind.c 2020-10-12 15:12:54.125334682 +0000
@@ -883,6 +883,9 @@ rl_function_of_keyseq_len (const char *k
/* The last key bindings file read. */
static char *last_readline_init_file = (char *)NULL;
@ -16,7 +16,7 @@
/* The file we're currently reading key bindings from. */
static const char *current_readline_init_file;
static int current_readline_init_include_level;
@@ -917,11 +920,14 @@ rl_re_read_init_file (int count, int ign
@@ -950,11 +953,14 @@ rl_re_read_init_file (int count, int ign
return r;
}
@ -32,7 +32,7 @@
4. /etc/inputrc
If the file existed and could be opened and read, 0 is returned,
otherwise errno is returned. */
@@ -930,18 +936,39 @@ rl_read_init_file (const char *filename)
@@ -963,18 +969,39 @@ rl_read_init_file (const char *filename)
{
/* Default the filename. */
if (filename == 0)
@ -80,7 +80,7 @@
#if defined (__MSDOS__)
if (_rl_read_init_file (filename, 0) == 0)
return 0;
@@ -1681,7 +1708,14 @@ remove_trailing:
@@ -1725,7 +1752,14 @@ rl_parse_and_bind (char *string)
rl_macro_bind (seq, &funname[1], _rl_keymap);
}
else
@ -96,7 +96,7 @@
xfree (seq);
return 0;
@@ -1850,7 +1884,6 @@ typedef int _rl_sv_func_t PARAMS((const
@@ -1896,7 +1930,6 @@ typedef int _rl_sv_func_t PARAMS((const
#define V_INT 2
/* Forward declarations */
@ -105,7 +105,7 @@
static int sv_dispprefix PARAMS((const char *));
static int sv_compquery PARAMS((const char *));
--- lib/readline/doc/rluser.texi
+++ lib/readline/doc/rluser.texi 2018-11-29 08:33:08.921317296 +0000
+++ lib/readline/doc/rluser.texi 2020-10-12 15:14:44.599242113 +0000
@@ -349,7 +349,8 @@ file is taken from the value of the envi
@end ifclear
that variable is unset, the default is @file{~/.inputrc}. If that
@ -113,11 +113,11 @@
-@file{/etc/inputrc}.
+@file{/etc/inputrc}. If both @file{~/.inputrc} and @file{/etc/inputrc}
+exist Readline will read first @file{/etc/inputrc} and then @file{~/.inputrc}.
When a program which uses the Readline library starts up, the
init file is read, and the key bindings are set.
@ifset BashFeatures
The @w{@code{bind}} builtin command can also be used to set Readline
keybindings and variables.
--- lib/readline/rlconf.h
+++ lib/readline/rlconf.h 2018-11-29 08:33:08.921317296 +0000
+++ lib/readline/rlconf.h 2020-10-12 15:12:54.125334682 +0000
@@ -37,7 +37,7 @@
#define HANDLE_SIGNALS

View File

@ -4,7 +4,7 @@
--- lib/readline/bind.c
+++ lib/readline/bind.c 2018-09-20 06:40:06.799183658 +0000
@@ -1827,6 +1827,7 @@ static const struct {
@@ -1871,6 +1871,7 @@ static const struct {
#if defined (VISIBLE_STATS)
{ "visible-stats", &rl_visible_stats, 0 },
#endif /* VISIBLE_STATS */

View File

@ -1,10 +1,10 @@
---
shlib/Makefile.in | 9 +++++----
support/shlib-install | 47 +++++++++++++++++++++++++++--------------------
2 files changed, 32 insertions(+), 24 deletions(-)
support/shlib-install | 39 +++++++++++++++++++++++----------------
2 files changed, 28 insertions(+), 20 deletions(-)
--- shlib/Makefile.in
+++ shlib/Makefile.in 2018-09-20 06:43:10.055842585 +0000
+++ shlib/Makefile.in 2020-10-12 15:18:05.027444750 +0000
@@ -59,6 +59,7 @@ bindir = @bindir@
libdir = @libdir@
datadir = @datadir@
@ -36,7 +36,7 @@
uninstall-unsupported:
--- support/shlib-install
+++ support/shlib-install 2018-09-20 06:44:54.757933583 +0000
+++ support/shlib-install 2020-10-12 15:24:18.932389177 +0000
@@ -3,7 +3,7 @@
# shlib-install - install a shared library and do any necessary host-specific
# post-installation configuration (like ldconfig)
@ -46,7 +46,7 @@
#
# Chet Ramey
# chet@po.cwru.edu
@@ -12,10 +12,12 @@
@@ -12,7 +12,9 @@
# defaults
#
INSTALLDIR=/usr/local/lib
@ -55,11 +55,7 @@
+DESTDIR=
PROGNAME=`basename $0`
-USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
+USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] [-l linkage-dir] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
# process options
USAGE="$PROGNAME [-D] -O host_os [-V host_vendor] -d installation-dir [-b bin-dir] -i install-prog [-U] library"
@@ -24,14 +26,19 @@ while [ $# -gt 0 ]; do
-O) shift; host_os="$1"; shift ;;
-V) shift; host_vendor="$1"; shift ;;
@ -126,7 +122,7 @@
# Create symlinks to the installed library. This section is incomplete.
@@ -120,27 +127,27 @@ INSTALL_LINK2='${echo} cd $INSTALLDIR &&
case "$host_os-$host_vendor" in
*linux*|freebsd*-gentoo)
*linux*|freebsd*|dragonfly*)
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
@ -166,31 +162,8 @@
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -159,19 +166,19 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
freebsd3*|freebsdaout*)
if [ -x /usr/bin/objformat ] && [ "`/usr/bin/objformat`" = "elf" ]; then
# libname.so -> libname.so.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
else
# libname.so.M -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK2
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK2
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK2
fi
@@ -156,7 +163,7 @@ solaris2*|aix4.[2-9]*|aix[5-9]*|osf*|iri
# libname.so -> libname.so.M.N
- ${echo} ${RM} ${INSTALLDIR}/$LINK1
+ ${echo} ${RM} ${DESTDIR}${INSTALLDIR}/$LINK1
if [ -z "$uninstall" ]; then
eval $INSTALL_LINK1
fi
@@ -188,7 +195,7 @@ freebsd[4-9]*|freebsd1[0-9]*|freebsdelf*
hpux1*)
# libname.sl -> libname.M
- ${echo} ${RM} ${INSTALLDIR}/$LINK1.sl

View File

@ -5,7 +5,7 @@
--- lib/readline/input.c
+++ lib/readline/input.c 2018-11-29 08:29:58.432878428 +0000
@@ -501,6 +501,8 @@ rl_read_key (void)
@@ -520,6 +520,8 @@ rl_read_key (void)
return (c);
}
@ -14,7 +14,7 @@
int
rl_getc (FILE *stream)
{
@@ -542,7 +544,10 @@ rl_getc (FILE *stream)
@@ -561,7 +563,10 @@ rl_getc (FILE *stream)
/* If zero characters are returned, then the file that we are
reading from is empty! Return EOF in that case. */
if (result == 0)
@ -28,7 +28,7 @@
if (errno == EINTR)
--- lib/readline/readline.c
+++ lib/readline/readline.c 2018-11-29 08:29:58.432878428 +0000
@@ -525,6 +525,9 @@ _rl_internal_char_cleanup (void)
@@ -538,6 +538,9 @@ _rl_internal_char_cleanup (void)
_rl_erase_entire_line ();
}
@ -38,7 +38,7 @@
STATIC_CALLBACK int
#if defined (READLINE_CALLBACKS)
readline_internal_char (void)
@@ -573,6 +576,10 @@ readline_internal_charloop (void)
@@ -586,6 +589,10 @@ readline_internal_charloop (void)
c = rl_read_key ();
RL_UNSETSTATE(RL_STATE_READCMD);

View File

@ -7,7 +7,7 @@ temporary files from public location without O_EXCL (bcn#868822).
--- lib/readline/util.c
+++ lib/readline/util.c 2018-09-20 06:47:51.238715688 +0000
@@ -487,10 +487,12 @@ _rl_trace (va_alist)
@@ -488,10 +488,12 @@ _rl_trace (va_alist)
if (_rl_tracefp == 0)
_rl_tropen ();
@ -21,7 +21,7 @@ temporary files from public location without O_EXCL (bcn#868822).
va_end (args);
}
@@ -510,7 +512,7 @@ _rl_tropen (void)
@@ -511,7 +513,7 @@ _rl_tropen (void)
#endif
snprintf (fnbuf, sizeof (fnbuf), "%s/rltrace.%ld", x, (long)getpid());
unlink(fnbuf);
@ -30,7 +30,7 @@ temporary files from public location without O_EXCL (bcn#868822).
return _rl_tracefp != 0;
}
@@ -519,7 +521,8 @@ _rl_trclose (void)
@@ -520,7 +522,8 @@ _rl_trclose (void)
{
int r;

View File

@ -10,7 +10,7 @@ This helps to get /etc/inputrc work for most users.
--- lib/readline/bind.c
+++ lib/readline/bind.c 2019-08-16 08:26:42.327029248 +0000
@@ -1195,19 +1195,34 @@ parser_if (char *args)
@@ -1228,19 +1228,34 @@ parser_if (char *args)
word in ARGS is the same as the value stored in rl_readline_name. */
if (rl_terminal_name && _rl_strnicmp (args, "term=", 5) == 0)
{

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
size 2975937

Binary file not shown.

View File

@ -10,7 +10,7 @@
8 files changed, 27 insertions(+), 12 deletions(-)
--- Makefile.in
+++ Makefile.in 2018-09-20 06:52:00.770160356 +0000
+++ Makefile.in 2020-10-12 15:26:20.198100393 +0000
@@ -251,10 +251,8 @@ uninstall-pc:
maybe-uninstall-pc: uninstall-pc
@ -32,8 +32,8 @@
uninstall-doc:
--- complete.c
+++ complete.c 2018-09-20 06:51:00.535262270 +0000
@@ -1133,7 +1133,7 @@ _rl_find_completion_word (int *fp, int *
+++ complete.c 2020-10-12 15:26:20.202100317 +0000
@@ -1146,7 +1146,7 @@ _rl_find_completion_word (int *fp, int *
/* We didn't find an unclosed quoted substring upon which to do
completion, so use the word break characters to find the
substring on which to complete. */
@ -42,7 +42,7 @@
{
scan = rl_line_buffer[rl_point];
@@ -2182,7 +2182,7 @@ rl_completion_matches (const char *text,
@@ -2214,7 +2214,7 @@ rl_completion_matches (const char *text,
match_list = (char **)xmalloc ((match_list_size + 1) * sizeof (char *));
match_list[1] = (char *)NULL;
@ -51,7 +51,7 @@
{
if (RL_SIG_RECEIVED ())
{
@@ -2254,7 +2254,7 @@ rl_username_completion_function (const c
@@ -2286,7 +2286,7 @@ rl_username_completion_function (const c
}
#if defined (HAVE_GETPWENT)
@ -61,7 +61,7 @@
/* Null usernames should result in all users as possible completions. */
if (namelen == 0 || (STREQN (username, entry->pw_name, namelen)))
--- doc/Makefile.in
+++ doc/Makefile.in 2018-09-20 06:51:00.535262270 +0000
+++ doc/Makefile.in 2020-10-12 15:26:20.202100317 +0000
@@ -107,7 +107,7 @@ DIST_DOCS = $(DVIOBJ) $(PSOBJ) $(HTMLOBJ
# $(RM) $@
# -${TEXI2PDF} $<
@ -72,7 +72,7 @@
xdist: $(DIST_DOCS)
--- doc/readline.3
+++ doc/readline.3 2018-09-20 06:51:00.535262270 +0000
+++ doc/readline.3 2020-10-12 15:26:20.202100317 +0000
@@ -119,6 +119,14 @@ environment variable. If that variable
.IR ~/.inputrc .
If that file does not exist or cannot be read, the ultimate default is
@ -88,7 +88,7 @@
When a program which uses the readline library starts up, the
init file is read, and the key bindings and variables are set.
There are only a few basic constructs allowed in the
@@ -1505,6 +1513,9 @@ VI Command Mode functions
@@ -1511,6 +1519,9 @@ VI Command Mode functions
.TP
.FN ~/.inputrc
Individual \fBreadline\fP initialization file
@ -99,7 +99,7 @@
.SH AUTHORS
Brian Fox, Free Software Foundation
--- history.h
+++ history.h 2018-09-20 06:51:00.535262270 +0000
+++ history.h 2020-10-12 15:26:20.202100317 +0000
@@ -32,6 +32,7 @@ extern "C" {
# include "rlstdc.h"
# include "rltypedefs.h"
@ -109,8 +109,8 @@
# include <readline/rltypedefs.h>
#endif
--- readline.c
+++ readline.c 2018-09-20 06:51:00.535262270 +0000
@@ -844,8 +844,11 @@ _rl_dispatch_subseq (register int key, K
+++ readline.c 2020-10-12 15:26:20.202100317 +0000
@@ -879,8 +879,11 @@ _rl_dispatch_subseq (register int key, K
{
/* Special case rl_do_lowercase_version (). */
if (func == rl_do_lowercase_version)
@ -125,7 +125,7 @@
rl_executing_keymap = map;
rl_executing_key = key;
--- readline.h
+++ readline.h 2018-09-20 06:51:00.535262270 +0000
+++ readline.h 2020-10-12 15:26:20.202100317 +0000
@@ -32,6 +32,7 @@ extern "C" {
# include "keymaps.h"
# include "tilde.h"
@ -134,7 +134,7 @@
# include <readline/rlstdc.h>
# include <readline/rltypedefs.h>
# include <readline/keymaps.h>
@@ -477,7 +478,7 @@ extern char *rl_filename_completion_func
@@ -487,7 +488,7 @@ extern char *rl_filename_completion_func
extern int rl_completion_mode PARAMS((rl_command_func_t *));
@ -144,9 +144,9 @@
extern void free_undo_list PARAMS((void));
extern int maybe_save_line PARAMS((void));
--- support/shobj-conf
+++ support/shobj-conf 2018-09-20 06:51:00.535262270 +0000
+++ support/shobj-conf 2020-10-12 15:28:41.255437276 +0000
@@ -126,10 +126,11 @@ sunos5*|solaris2*)
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*|dragonfly*)
SHOBJ_CFLAGS=-fPIC
SHOBJ_LD='${CC}'
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
@ -158,4 +158,4 @@
+ echo 'int main () { return 0; }' | gcc -ltinfo -o /dev/null -xc - > /dev/null 2>&1 && SHLIB_LIBS=-ltinfo || SHLIB_LIBS=-lncurses
;;
freebsd2*)
# Darwin/MacOS X

3
readline-8.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f8ceb4ee131e3232226a17f51b164afc46cd0b9e6cef344be87c65962cb82b02
size 2993288

BIN
readline-8.1.tar.gz.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,46 @@
-------------------------------------------------------------------
Mon Jan 11 11:21:58 UTC 2021 - Dr. Werner Fink <werner@suse.de>
- Update to final readline-8.1
which is mainly rc3
- Remove obsolate patches and the signatures
* readline80-001
* readline80-001.sig
* readline80-002
* readline80-002.sig
* readline80-003
* readline80-003.sig
* readline80-004
* readline80-004.sig
- Port patches
* readline-5.2-conf.patch
* readline-6.2-metamode.patch
* readline-6.3-destdir.patch
* readline-6.3-input.dif
* readline-6.3-rltrace.patch
* readline-7.0-screen.patch
- Port and rename patch readline-8.0.dif which is now readline-8.1.dif
-------------------------------------------------------------------
Mon Nov 23 07:57:15 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Update to readline-8.1-rc3 for testing
* Fixed a bug that could cause point to be set beyond the end of the line
buffer when aborting an incremental search.
-------------------------------------------------------------------
Tue Nov 10 10:09:11 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Update to readline-8.1-rc2 for testing
* 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.
* Terminals that are named "dumb" or unknown do not enable bracketed paste
by default.
* Ensure that disabling bracketed paste turns off highlighting the incremental
search string when the search is successful.
- Remove patch readline-8.1-bracketed_paste_off.patch and use the
new build time configuration
-------------------------------------------------------------------
Wed Oct 28 14:04:30 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
@ -5,6 +48,53 @@ Wed Oct 28 14:04:30 UTC 2020 - Ludwig Nussel <lnussel@suse.de>
anyways (boo#1029961)
- remove deprecated %install_info
-------------------------------------------------------------------
Fri Oct 16 11:59:55 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Add patch readline-8.1-bracketed_paste_off.patch
simply to disable the new bracketed paste feature
-------------------------------------------------------------------
Mon Oct 12 17:12:10 UTC 2020 - Dr. Werner Fink <werner@suse.de>
- Update to readline-8.1-rc1 for testing
* 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.
* Bracketed paste mode works in more places: incremental search strings, vi
overstrike mode, character search, and reading numeric arguments.
* Readline automatically switches to horizontal scrolling if the terminal has
only one line.
* Unbinding all key sequences bound to a particular readline function now
descends into keymaps for multi-key sequences.
* 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).
* 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.
* Readline sets the mark in several additional commands.
* Bracketed paste mode is enabled by default (for now).
* 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.
* The bindable operate-and-get-next command (and its default bindings) are
now part of readline instead of a bash-specific addition.
* The signal cleanup code now blocks SIGINT while processing after a SIGINT.
- Remove old upstream patches
* readline80-001
* readline80-002
* readline80-003
* readline80-004
- Port and rename patch readline-8.0.dif which is now readline-8.1.dif
- Port patches
* readline-5.2-conf.patch
* readline-6.2-metamode.patch
* readline-6.3-destdir.patch
* readline-6.3-input.dif
* readline-6.3-rltrace.patch
* readline-7.0-screen.patch
-------------------------------------------------------------------
Thu Jul 16 19:13:54 UTC 2020 - Andreas Stieger <andreas.stieger@gmx.de>

View File

@ -1,7 +1,7 @@
#
# spec file for package readline
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,7 +18,7 @@
%define rl_major 8
Name: readline
Version: 8.0
Version: 8.1
Release: 0
Summary: The readline library
License: GPL-3.0-or-later
@ -30,15 +30,7 @@ Source1: ftp://ftp.gnu.org/gnu/readline/readline-%{version}.tar.gz.sig
Source2: baselibs.conf
Source4: https://tiswww.case.edu/php/chet/gpgkey.asc#/%{name}.keyring
# signatures for official patches
Source101: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-001.sig
Source102: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-002.sig
Source103: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-003.sig
Source104: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-004.sig
# official patches
Patch101: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-001
Patch102: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-002
Patch103: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-003
Patch104: ftp://ftp.gnu.org/gnu/readline/readline-%{version}-patches/readline80-004
# local patches
Patch200: readline-%{version}.dif
Patch201: readline-6.3-input.dif
@ -109,10 +101,6 @@ as well as programming with the interface of the readline library.
%prep
%setup -q
# official patches
%patch101 -b .001
%patch102 -b .002
%patch103 -b .003
%patch104 -b .004
# local patches
%patch201 -p2 -b .zerotty
%patch202 -p2 -b .conf
@ -201,6 +189,7 @@ export CC_FOR_BUILD CFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD CFLAGS LDFLAGS CC
--enable-static \
--enable-shared \
--enable-multibyte \
--disable-bracketed-paste-default \
--prefix=%{_prefix} \
--with-curses \
--mandir=%{_mandir} \

View File

@ -1,38 +0,0 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.0
Patch-ID: readline80-001
Bug-Reported-by: chet.ramey@case.edu
Bug-Reference-ID:
Bug-Reference-URL:
Bug-Description:
The history file reading code doesn't close the file descriptor open to
the history file when it encounters a zero-length file.
Patch (apply with `patch -p0'):
*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
--- histfile.c 2019-05-16 15:55:57.000000000 -0400
***************
*** 306,309 ****
--- 312,316 ----
{
free (input);
+ close (file);
return 0; /* don't waste time if we don't have to */
}
*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
***************
*** 1,3 ****
# Do not edit -- exists only for use by patch
! 0
--- 1,3 ----
# Do not edit -- exists only for use by patch
! 1

Binary file not shown.

View File

@ -1,60 +0,0 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.0
Patch-ID: readline80-002
Bug-Reported-by: lessbug@qq.com
Bug-Reference-ID: <tencent_6AA531D9A5CC4121D86BD5CDA2E0DA98C605@qq.com>
Bug-Reference-URL:
Bug-Description:
When using previous-history to go back beyond the beginning of the history list,
it's possible to move to an incorrect partial line.
Patch (apply with `patch -p0'):
*** ../readline-8.0-patched/misc.c 2017-07-07 17:30:12.000000000 -0400
--- misc.c 2019-05-16 11:43:46.000000000 -0400
***************
*** 577,580 ****
--- 590,594 ----
{
HIST_ENTRY *old_temp, *temp;
+ int had_saved_line;
if (count < 0)
***************
*** 589,592 ****
--- 603,607 ----
/* If we don't have a line saved, then save this one. */
+ had_saved_line = _rl_saved_line_for_history != 0;
rl_maybe_save_line ();
***************
*** 612,616 ****
if (temp == 0)
{
! rl_maybe_unsave_line ();
rl_ding ();
}
--- 627,632 ----
if (temp == 0)
{
! if (had_saved_line == 0)
! _rl_free_saved_history_line ();
rl_ding ();
}
*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
***************
*** 1,3 ****
# Do not edit -- exists only for use by patch
! 1
--- 1,3 ----
# Do not edit -- exists only for use by patch
! 2

Binary file not shown.

View File

@ -1,69 +0,0 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.0
Patch-ID: readline80-003
Bug-Reported-by: HIROSE Masaaki <hirose31@gmail.com>
Bug-Reference-ID: <CAGSOfA-RqiTe=+GsXsDKyZrrMWH4bDbXgMVVegMa6OjqC5xbnQ@mail.gmail.com>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2019-05/msg00038.html
Bug-Description:
Reading history entries with timestamps can result in history entries joined
by linefeeds.
Patch (apply with `patch -p0'):
*** ../readline-8.0-patched/histfile.c 2018-06-11 09:14:52.000000000 -0400
--- histfile.c 2019-05-16 15:55:57.000000000 -0400
***************
*** 370,376 ****
has_timestamps = HIST_TIMESTAMP_START (buffer);
! history_multiline_entries += has_timestamps && history_write_timestamps;
/* Skip lines until we are at FROM. */
for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
if (*line_end == '\n')
--- 370,378 ----
has_timestamps = HIST_TIMESTAMP_START (buffer);
! history_multiline_entries += has_timestamps && history_write_timestamps;
/* Skip lines until we are at FROM. */
+ if (has_timestamps)
+ last_ts = buffer;
for (line_start = line_end = buffer; line_end < bufend && current_line < from; line_end++)
if (*line_end == '\n')
***************
*** 381,385 ****
--- 383,398 ----
if (HIST_TIMESTAMP_START(p) == 0)
current_line++;
+ else
+ last_ts = p;
line_start = p;
+ /* If we are at the last line (current_line == from) but we have
+ timestamps (has_timestamps), then line_start points to the
+ text of the last command, and we need to skip to its end. */
+ if (current_line >= from && has_timestamps)
+ {
+ for (line_end = p; line_end < bufend && *line_end != '\n'; line_end++)
+ ;
+ line_start = (*line_end == '\n') ? line_end + 1 : line_end;
+ }
}
*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
***************
*** 1,3 ****
# Do not edit -- exists only for use by patch
! 2
--- 1,3 ----
# Do not edit -- exists only for use by patch
! 3

Binary file not shown.

View File

@ -1,47 +0,0 @@
READLINE PATCH REPORT
=====================
Readline-Release: 8.0
Patch-ID: readline80-004
Bug-Reported-by: auroralanes@protonmail.ch
Bug-Reference-ID: <WikEDKluAyoha9IDLp83rbN7_Uinr2rrpvSV_z4wmt9qur9piN-FNOn17P0cAizEVah1Fvc9d641vIIWX_7SC6EUTz0CatnOH-C-UK3rPYc=@protonmail.ch>
Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2020-01/msg00008.html
Bug-Description:
If writing the history file fails, and renaming the backup history file fails,
it's possible for readline's history code to return the wrong error to its
caller.
Patch (apply with `patch -p0'):
*** ../bash-20200124/lib/readline/histfile.c 2019-11-19 10:31:58.000000000 -0500
--- histfile.c 2020-02-01 16:28:29.000000000 -0500
***************
*** 621,624 ****
--- 621,625 ----
if (rv != 0)
{
+ rv = errno;
if (tempname)
unlink (tempname);
***************
*** 768,771 ****
--- 769,773 ----
if (rv != 0)
{
+ rv = errno;
if (tempname)
unlink (tempname);
*** ../readline-8.0/patchlevel 2013-11-15 08:11:11.000000000 -0500
--- patchlevel 2014-03-21 08:28:40.000000000 -0400
***************
*** 1,3 ****
# Do not edit -- exists only for use by patch
! 3
--- 1,3 ----
# Do not edit -- exists only for use by patch
! 4

Binary file not shown.