|
Tim Waugh |
b13041 |
BASH PATCH REPORT
|
|
Tim Waugh |
b13041 |
=================
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
Bash-Release: 3.2
|
|
Tim Waugh |
b13041 |
Patch-ID: bash32-017
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
Bug-Reported-by: Peter Volkov <torre_cremata@mail.ru>
|
|
Tim Waugh |
b13041 |
Bug-Reference-ID: <1173636022.7039.36.camel@localhost>
|
|
Tim Waugh |
b13041 |
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2007-03/msg00039.html
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
Bug-Description:
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
When restoring the original prompt after finishing an incremental search,
|
|
Tim Waugh |
b13041 |
bash sometimes places the cursor incorrectly if the primary prompt contains
|
|
Tim Waugh |
b13041 |
invisible characters.
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
Patch:
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
*** ../bash-3.2.16/lib/readline/display.c Fri Apr 20 13:30:16 2007
|
|
Tim Waugh |
b13041 |
--- lib/readline/display.c Fri Apr 20 15:17:01 2007
|
|
Tim Waugh |
b13041 |
***************
|
|
Tim Waugh |
b13041 |
*** 1599,1604 ****
|
|
Tim Waugh |
b13041 |
if (temp > 0)
|
|
Tim Waugh |
b13041 |
{
|
|
Tim Waugh |
b13041 |
_rl_output_some_chars (nfd, temp);
|
|
Tim Waugh |
b13041 |
! _rl_last_c_pos += _rl_col_width (nfd, 0, temp);;
|
|
Tim Waugh |
b13041 |
}
|
|
Tim Waugh |
b13041 |
}
|
|
Tim Waugh |
b13041 |
--- 1599,1618 ----
|
|
Tim Waugh |
b13041 |
if (temp > 0)
|
|
Tim Waugh |
b13041 |
{
|
|
Tim Waugh |
b13041 |
+ /* If nfd begins at the prompt, or before the invisible
|
|
Tim Waugh |
b13041 |
+ characters in the prompt, we need to adjust _rl_last_c_pos
|
|
Tim Waugh |
b13041 |
+ in a multibyte locale to account for the wrap offset and
|
|
Tim Waugh |
b13041 |
+ set cpos_adjusted accordingly. */
|
|
Tim Waugh |
b13041 |
_rl_output_some_chars (nfd, temp);
|
|
Tim Waugh |
b13041 |
! if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
|
Tim Waugh |
b13041 |
! {
|
|
Tim Waugh |
b13041 |
! _rl_last_c_pos += _rl_col_width (nfd, 0, temp);
|
|
Tim Waugh |
b13041 |
! if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
|
|
Tim Waugh |
b13041 |
! {
|
|
Tim Waugh |
b13041 |
! _rl_last_c_pos -= wrap_offset;
|
|
Tim Waugh |
b13041 |
! cpos_adjusted = 1;
|
|
Tim Waugh |
b13041 |
! }
|
|
Tim Waugh |
b13041 |
! }
|
|
Tim Waugh |
b13041 |
! else
|
|
Tim Waugh |
b13041 |
! _rl_last_c_pos += temp;
|
|
Tim Waugh |
b13041 |
}
|
|
Tim Waugh |
b13041 |
}
|
|
Tim Waugh |
b13041 |
***************
|
|
Tim Waugh |
b13041 |
*** 1608,1613 ****
|
|
Tim Waugh |
b13041 |
--- 1622,1639 ----
|
|
Tim Waugh |
b13041 |
if (temp > 0)
|
|
Tim Waugh |
b13041 |
{
|
|
Tim Waugh |
b13041 |
+ /* If nfd begins at the prompt, or before the invisible
|
|
Tim Waugh |
b13041 |
+ characters in the prompt, we need to adjust _rl_last_c_pos
|
|
Tim Waugh |
b13041 |
+ in a multibyte locale to account for the wrap offset and
|
|
Tim Waugh |
b13041 |
+ set cpos_adjusted accordingly. */
|
|
Tim Waugh |
b13041 |
_rl_output_some_chars (nfd, temp);
|
|
Tim Waugh |
b13041 |
_rl_last_c_pos += col_temp; /* XXX */
|
|
Tim Waugh |
b13041 |
+ if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
|
Tim Waugh |
b13041 |
+ {
|
|
Tim Waugh |
b13041 |
+ if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible))
|
|
Tim Waugh |
b13041 |
+ {
|
|
Tim Waugh |
b13041 |
+ _rl_last_c_pos -= wrap_offset;
|
|
Tim Waugh |
b13041 |
+ cpos_adjusted = 1;
|
|
Tim Waugh |
b13041 |
+ }
|
|
Tim Waugh |
b13041 |
+ }
|
|
Tim Waugh |
b13041 |
}
|
|
Tim Waugh |
b13041 |
lendiff = (oe - old) - (ne - new);
|
|
Tim Waugh |
b13041 |
*** ../bash-3.2/patchlevel.h Thu Apr 13 08:31:04 2006
|
|
Tim Waugh |
b13041 |
--- patchlevel.h Mon Oct 16 14:22:54 2006
|
|
Tim Waugh |
b13041 |
***************
|
|
Tim Waugh |
b13041 |
*** 26,30 ****
|
|
Tim Waugh |
b13041 |
looks for to find the patch level (for the sccs version string). */
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
! #define PATCHLEVEL 16
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
#endif /* _PATCHLEVEL_H_ */
|
|
Tim Waugh |
b13041 |
--- 26,30 ----
|
|
Tim Waugh |
b13041 |
looks for to find the patch level (for the sccs version string). */
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
! #define PATCHLEVEL 17
|
|
Tim Waugh |
b13041 |
|
|
Tim Waugh |
b13041 |
#endif /* _PATCHLEVEL_H_ */
|