--- a/bash-3.2/lib/readline/text.c 2006-07-29 01:55:27.000000000 +1000 +++ lib/readline/text.c 2007-08-21 20:26:43.000000000 +1000 @@ -259,11 +259,7 @@ if (count > 0) { int end = rl_point + count; -#if defined (VI_MODE) - int lend = rl_end > 0 ? rl_end - (rl_editing_mode == vi_mode) : rl_end; -#else int lend = rl_end; -#endif if (end > lend) { --- b/bash-3.2/lib/readline/text.c 2007-08-21 20:29:37.000000000 +1000 +++ lib/readline/text.c 2007-08-21 20:40:09.000000000 +1000 @@ -294,11 +294,6 @@ { point = _rl_find_next_mbchar (rl_line_buffer, rl_point, count, MB_FIND_NONZERO); -#if defined (VI_MODE) - if (rl_end <= point && rl_editing_mode == vi_mode) - point = _rl_find_prev_mbchar (rl_line_buffer, rl_end, MB_FIND_NONZERO); -#endif - if (rl_point == point) rl_ding ();