READLINE PATCH REPORT ===================== Readline-Release: 5.2 Patch-ID: readline52-010 Bug-Reported-by: Miroslav Lichvar 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; }