| READLINE PATCH REPORT |
| ===================== |
| |
| Readline-Release: 5.2 |
| Patch-ID: readline52-010 |
| |
| Bug-Reported-by: Miroslav Lichvar <mlichvar@redhat.com> |
| Bug-Reference-ID: Fri, 02 Nov 2007 14:07:45 +0100 |
| Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2007-11/msg00000.html |
| |
| Bug-Description: |
| |
| In certain cases when outputting characters at the end of the line, |
| e.g., when displaying the prompt string, readline positions the cursor |
| incorrectly if the prompt string contains invisible characters and the |
| text being drawn begins before the last invisible character in the line. |
| |
| Patch: |
| |
| *** ../readline-5.2-patched/display.c 2007-08-25 13:47:08.000000000 -0400 |
| --- ./display.c 2007-11-10 17:51:29.000000000 -0500 |
| *************** |
| *** 1566,1574 **** |
| else |
| { |
| - /* We have horizontal scrolling and we are not inserting at |
| - the end. We have invisible characters in this line. This |
| - is a dumb update. */ |
| _rl_output_some_chars (nfd, temp); |
| _rl_last_c_pos += col_temp; |
| return; |
| } |
| --- 1619,1632 ---- |
| else |
| { |
| _rl_output_some_chars (nfd, temp); |
| _rl_last_c_pos += col_temp; |
| + /* If nfd begins before any invisible characters in the prompt, |
| + adjust _rl_last_c_pos to account for wrap_offset and set |
| + cpos_adjusted to let the caller know. */ |
| + if (current_line == 0 && wrap_offset && ((nfd - new) <= prompt_last_invisible)) |
| + { |
| + _rl_last_c_pos -= wrap_offset; |
| + cpos_adjusted = 1; |
| + } |
| return; |
| } |