summaryrefslogtreecommitdiffstats
path: root/package/readline/readline52-004.patch
diff options
context:
space:
mode:
authorLionel Landwerlin <llandwerlin@gmail.com>2010-01-27 02:08:58 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2010-01-28 22:31:27 +0100
commitfe6e67ba96b7fedf91faac7992813f7233a5e58b (patch)
tree46fe50138f19ff53e56245f5081ef07e2de6a309 /package/readline/readline52-004.patch
parent5ad8ad0c3729ccf7012f414969304950fb58c456 (diff)
downloadbuildroot-novena-fe6e67ba96b7fedf91faac7992813f7233a5e58b.tar.gz
buildroot-novena-fe6e67ba96b7fedf91faac7992813f7233a5e58b.zip
readline: convert to autotools infrastructure
[Peter: renamed patches to get picked up by infrastructure] Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/readline/readline52-004.patch')
-rw-r--r--package/readline/readline52-004.patch70
1 files changed, 70 insertions, 0 deletions
diff --git a/package/readline/readline52-004.patch b/package/readline/readline52-004.patch
new file mode 100644
index 000000000..b338bda93
--- /dev/null
+++ b/package/readline/readline52-004.patch
@@ -0,0 +1,70 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 5.2
+Patch-ID: readline52-004
+
+Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru>
+Bug-Reference-ID: <1173636022.7039.36.camel@localhost>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html
+
+Bug-Description:
+
+When restoring the original prompt after finishing an incremental search,
+bash sometimes places the cursor incorrectly if the primary prompt contains
+invisible characters.
+
+Patch:
+
+*** ../readline-5.2.3/display.c Fri Apr 20 13:30:16 2007
+--- ./display.c Fri Apr 20 15:17:01 2007
+***************
+*** 1599,1604 ****
+ if (temp > 0)
+ {
+ _rl_output_some_chars (nfd, temp);
+! _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
+ }
+ }
+--- 1599,1618 ----
+ if (temp > 0)
+ {
++ /* If nfd begins at the prompt, or before the invisible
++ characters in the prompt, we need to adjust _rl_last_c_pos
++ in a multibyte locale to account for the wrap offset and
++ set cpos_adjusted accordingly. */
+ _rl_output_some_chars (nfd, temp);
+! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
+! {
+! _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
+! if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
+! {
+! _rl_last_c_pos -= wrap_offset;
+! cpos_adjusted = 1;
+! }
+! }
+! else
+! _rl_last_c_pos += temp;
+ }
+ }
+***************
+*** 1608,1613 ****
+--- 1622,1639 ----
+ if (temp > 0)
+ {
++ /* If nfd begins at the prompt, or before the invisible
++ characters in the prompt, we need to adjust _rl_last_c_pos
++ in a multibyte locale to account for the wrap offset and
++ set cpos_adjusted accordingly. */
+ _rl_output_some_chars (nfd, temp);
+ _rl_last_c_pos += col_temp; /* XXX */
++ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
++ {
++ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
++ {
++ _rl_last_c_pos -= wrap_offset;
++ cpos_adjusted = 1;
++ }
++ }
+ }
+ lendiff = (oe - old) - (ne - new);