From http://ftp.gnu.org/pub/gnu/readline/readline-6.3-patches/readline63-006 Signed-off-by: Gustavo Zacarias READLINE PATCH REPORT ===================== Readline-Release: 6.3 Patch-ID: readline63-006 Bug-Reported-by: Bug-Reference-ID: Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html Bug-Description: Using reverse-i-search when horizontal scrolling is enabled does not redisplay the entire line containing the successful search results. Patch (apply with `patch -p0'): *** a/readline-6.3-patched/display.c 2014-04-08 18:19:36.000000000 -0400 --- b/display.c 2014-04-20 18:32:52.000000000 -0400 *************** *** 1638,1642 **** the spot of first difference is before the end of the invisible chars, lendiff needs to be adjusted. */ ! if (current_line == 0 && !_rl_horizontal_scroll_mode && current_invis_chars != visible_wrap_offset) { --- 1638,1642 ---- the spot of first difference is before the end of the invisible chars, lendiff needs to be adjusted. */ ! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ current_invis_chars != visible_wrap_offset) { *************** *** 1826,1831 **** _rl_last_c_pos += bytes_to_insert; if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) ! goto clear_rest_of_line; } } --- 1826,1836 ---- _rl_last_c_pos += bytes_to_insert; + /* XXX - we only want to do this if we are at the end of the line + so we move there with _rl_move_cursor_relative */ if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) ! { ! _rl_move_cursor_relative (ne-new, new); ! goto clear_rest_of_line; ! } } } *** a/readline-6.3/patchlevel 2013-11-15 08:11:11.000000000 -0500 --- b/patchlevel 2014-03-21 08:28:40.000000000 -0400 *************** *** 1,3 **** # Do not edit -- exists only for use by patch ! 5 --- 1,3 ---- # Do not edit -- exists only for use by patch ! 6