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

Bash-Release: 3.0
Patch-ID: bash30-005

Bug-Reported-by: [email protected]
Bug-Reference-ID: <[email protected]>
Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2004-08/msg00004.html

Bug-Description:

Moving upwards in the history (with previous-history) and back again
clobbers the last history line.

Patch:

*** ../bash-3.0/lib/readline/misc.c     Wed Jul  7 08:56:32 2004
--- lib/readline/misc.c Sat Aug  7 22:38:53 2004
***************
*** 277,286 ****
       _rl_saved_line_for_history->data = (char *)rl_undo_list;
     }
-   else if (STREQ (rl_line_buffer, _rl_saved_line_for_history->line) == 0)
-     {
-       free (_rl_saved_line_for_history->line);
-       _rl_saved_line_for_history->line = savestring (rl_line_buffer);
-       _rl_saved_line_for_history->data = (char *)rl_undo_list;        /* XXX possible memleak */
-     }

   return 0;
--- 277,280 ----
*** ../bash-3.0/lib/readline/vi_mode.c  Tue Jul 13 14:08:27 2004
--- lib/readline/vi_mode.c      Tue Aug 17 00:12:09 2004
***************
*** 273,280 ****
--- 273,282 ----
     {
     case '?':
+       _rl_free_saved_history_line ();
       rl_noninc_forward_search (count, key);
       break;

     case '/':
+       _rl_free_saved_history_line ();
       rl_noninc_reverse_search (count, key);
       break;

*** ../bash-3.0/patchlevel.h    Wed Aug 22 08:05:39 2001
--- patchlevel.h        Thu Sep  2 15:04:32 2004
***************
*** 26,30 ****
    looks for to find the patch level (for the sccs version string). */

! #define PATCHLEVEL 4

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

! #define PATCHLEVEL 5

 #endif /* _PATCHLEVEL_H_ */