diff options
Diffstat (limited to 'data/bash/bash40-027')
-rw-r--r-- | data/bash/bash40-027 | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/data/bash/bash40-027 b/data/bash/bash40-027 new file mode 100644 index 000000000..a96ce4b1a --- /dev/null +++ b/data/bash/bash40-027 @@ -0,0 +1,67 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.0 +Patch-ID: bash40-027 + +Bug-Reported-by: jim@jim.sh +Bug-Reference-ID: <200905262140.n4QLeO4X030664@psychosis.jim.sh> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2009-05/msg00074.html + +Bug-Description: + +There are occasional cursor positioning errors when using readline's +horizontal scroll mode. + +Patch: + +*** ../bash-4.0-patched/lib/readline/display.c 2009-05-22 12:32:25.000000000 -0400 +--- lib/readline/display.c 2009-05-29 23:32:20.000000000 -0400 +*************** +*** 1190,1196 **** + line[t - 1] = '>'; + +! if (!rl_display_fixed || forced_display || lmargin != last_lmargin) + { + forced_display = 0; + update_line (&visible_line[last_lmargin], + &invisible_line[lmargin], +--- 1192,1200 ---- + line[t - 1] = '>'; + +! if (rl_display_fixed == 0 || forced_display || lmargin != last_lmargin) + { + forced_display = 0; ++ o_cpos = _rl_last_c_pos; ++ cpos_adjusted = 0; + update_line (&visible_line[last_lmargin], + &invisible_line[lmargin], +*************** +*** 1200,1203 **** +--- 1204,1214 ---- + 0); + ++ if ((MB_CUR_MAX > 1 && rl_byte_oriented == 0) && ++ cpos_adjusted == 0 && ++ _rl_last_c_pos != o_cpos && ++ _rl_last_c_pos > wrap_offset && ++ o_cpos < prompt_last_invisible) ++ _rl_last_c_pos -= prompt_invis_chars_first_line; /* XXX - was wrap_offset */ ++ + /* If the visible new line is shorter than the old, but the number + of invisible characters is greater, and we are at the end of +*** ../bash-4.0/patchlevel.h 2009-01-04 14:32:40.000000000 -0500 +--- patchlevel.h 2009-02-22 16:11:31.000000000 -0500 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ |