BASH PATCH REPORT
                            =================

Bash-Release:   4.3
Patch-ID:       bash43-013

Bug-Reported-by:        <[email protected]>
Bug-Reference-ID:       <[email protected]>
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'):
*** ../bash-4.3-patched/lib/readline/display.c  2014-04-08 18:19:36.000000000 -0400
--- lib/readline/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;
!               }
           }
       }
*** ../bash-4.3/patchlevel.h    2012-12-29 10:47:57.000000000 -0500
--- patchlevel.h        2014-03-20 20:01:28.000000000 -0400
***************
*** 26,30 ****
    looks for to find the patch level (for the sccs version string). */

! #define PATCHLEVEL 12

 #endif /* _PATCHLEVEL_H_ */
--- 26,30 ----
    looks for to find the patch level (for the sccs version string). */

! #define PATCHLEVEL 13

 #endif /* _PATCHLEVEL_H_ */