summaryrefslogtreecommitdiff
path: root/source/a/bash/bash-5.0-patches/bash50-012
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/bash/bash-5.0-patches/bash50-012')
-rw-r--r--source/a/bash/bash-5.0-patches/bash50-01264
1 files changed, 64 insertions, 0 deletions
diff --git a/source/a/bash/bash-5.0-patches/bash50-012 b/source/a/bash/bash-5.0-patches/bash50-012
new file mode 100644
index 00000000..7470e766
--- /dev/null
+++ b/source/a/bash/bash-5.0-patches/bash50-012
@@ -0,0 +1,64 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.0
+Patch-ID: bash50-012
+
+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'):
+
+*** ../bash-5.0-patched/lib/readline/misc.c 2017-07-07 17:30:12.000000000 -0400
+--- lib/readline/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 ();
+ }
+*** ../bash-5.0/patchlevel.h 2016-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2016-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */