From fc62968b1d6979799805dd8e55a4017c3a1e087c Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Fri, 17 Jul 2020 00:00:12 -1000 Subject: Update readline to 8.0.004 --- data/readline/lendiff.diff | 16 +++++++++ data/readline/make.sh | 4 +-- data/readline/readline80-001.diff | 38 +++++++++++++++++++++ data/readline/readline80-001.sig | Bin 0 -> 95 bytes data/readline/readline80-002.diff | 60 +++++++++++++++++++++++++++++++++ data/readline/readline80-002.sig | Bin 0 -> 95 bytes data/readline/readline80-003.diff | 69 ++++++++++++++++++++++++++++++++++++++ data/readline/readline80-003.sig | Bin 0 -> 95 bytes data/readline/readline80-004.diff | 47 ++++++++++++++++++++++++++ data/readline/readline80-004.sig | Bin 0 -> 95 bytes 10 files changed, 232 insertions(+), 2 deletions(-) create mode 100644 data/readline/lendiff.diff create mode 100644 data/readline/readline80-001.diff create mode 100644 data/readline/readline80-001.sig create mode 100644 data/readline/readline80-002.diff create mode 100644 data/readline/readline80-002.sig create mode 100644 data/readline/readline80-003.diff create mode 100644 data/readline/readline80-003.sig create mode 100644 data/readline/readline80-004.diff create mode 100644 data/readline/readline80-004.sig diff --git a/data/readline/lendiff.diff b/data/readline/lendiff.diff new file mode 100644 index 000000000..b0be57161 --- /dev/null +++ b/data/readline/lendiff.diff @@ -0,0 +1,16 @@ +diff --git a/display.c b/display.c +index 4c6cc00..6471968 100644 +--- a/display.c ++++ b/display.c +@@ -2206,7 +2206,11 @@ clear_rest_of_line: + space_to_eol will insert too many spaces. XXX - maybe we should + adjust col_lendiff based on the difference between _rl_last_c_pos + and _rl_screenwidth */ ++#if 1 ++ if (col_lendiff) ++#else + if (col_lendiff && ((mb_cur_max == 1 || rl_byte_oriented) || (_rl_last_c_pos < _rl_screenwidth))) ++#endif + { + if (_rl_term_autowrap && current_line < inv_botlin) + space_to_eol (col_lendiff); diff --git a/data/readline/make.sh b/data/readline/make.sh index 202e6c796..48c10d298 100644 --- a/data/readline/make.sh +++ b/data/readline/make.sh @@ -7,8 +7,8 @@ done pkg:patch autoconf -pkg:configure ac_cv_func_strcoll_works=yes bash_cv_func_sigsetjmp=present bash_cv_func_ctype_nonascii=no bash_cv_must_reinstall_sighandlers=no bash_cv_func_strcoll_broken=yes -pkg:make CFLAGS='-O2' +CXXFLAGS="-O2" CFLAGS="-O2" pkg:configure ac_cv_func_strcoll_works=yes bash_cv_func_sigsetjmp=present bash_cv_func_ctype_nonascii=no bash_cv_must_reinstall_sighandlers=no bash_cv_func_strcoll_broken=yes +pkg:make pkg:install pkg: ln -s libreadline.5.2.dylib /usr/lib/libreadline.5.dylib pkg: ln -s libreadline.6.0.dylib /usr/lib/libreadline.5.2.dylib diff --git a/data/readline/readline80-001.diff b/data/readline/readline80-001.diff new file mode 100644 index 000000000..2ad3d7996 --- /dev/null +++ b/data/readline/readline80-001.diff @@ -0,0 +1,38 @@ + 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 diff --git a/data/readline/readline80-001.sig b/data/readline/readline80-001.sig new file mode 100644 index 000000000..9ca780d61 Binary files /dev/null and b/data/readline/readline80-001.sig differ diff --git a/data/readline/readline80-002.diff b/data/readline/readline80-002.diff new file mode 100644 index 000000000..135576e57 --- /dev/null +++ b/data/readline/readline80-002.diff @@ -0,0 +1,60 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.0 +Patch-ID: readline80-002 + +Bug-Reported-by: lessbug@qq.com +Bug-Reference-ID: +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 diff --git a/data/readline/readline80-002.sig b/data/readline/readline80-002.sig new file mode 100644 index 000000000..527055e64 Binary files /dev/null and b/data/readline/readline80-002.sig differ diff --git a/data/readline/readline80-003.diff b/data/readline/readline80-003.diff new file mode 100644 index 000000000..6bb262a34 --- /dev/null +++ b/data/readline/readline80-003.diff @@ -0,0 +1,69 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.0 +Patch-ID: readline80-003 + +Bug-Reported-by: HIROSE Masaaki +Bug-Reference-ID: +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 diff --git a/data/readline/readline80-003.sig b/data/readline/readline80-003.sig new file mode 100644 index 000000000..a0153b0a7 Binary files /dev/null and b/data/readline/readline80-003.sig differ diff --git a/data/readline/readline80-004.diff b/data/readline/readline80-004.diff new file mode 100644 index 000000000..5434e54bc --- /dev/null +++ b/data/readline/readline80-004.diff @@ -0,0 +1,47 @@ + READLINE PATCH REPORT + ===================== + +Readline-Release: 8.0 +Patch-ID: readline80-004 + +Bug-Reported-by: auroralanes@protonmail.ch +Bug-Reference-ID: +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 diff --git a/data/readline/readline80-004.sig b/data/readline/readline80-004.sig new file mode 100644 index 000000000..36a3d807b Binary files /dev/null and b/data/readline/readline80-004.sig differ -- cgit v1.2.3