BASH PATCH REPORT ================= Bash-Release: 4.2 Patch-ID: bash42-002 Bug-Reported-by: Clark J. Wang Bug-Reference-ID: Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html Bug-Description: The readline vi-mode `cc', `dd', and `yy' commands failed to modify the entire line. Patch (apply with `patch -p0'): --- a/lib/readline/vi_mode.c +++ b/lib/readline/vi_mode.c @@ -1114,7 +1114,7 @@ rl_domove_read_callback (m) rl_beg_of_line (1, c); _rl_vi_last_motion = c; RL_UNSETSTATE (RL_STATE_VIMOTION); - return (0); + return (vidomove_dispatch (m)); } #if defined (READLINE_CALLBACKS) /* XXX - these need to handle rl_universal_argument bindings */ --- a/lib/readline/callback.c +++ b/lib/readline/callback.c @@ -148,6 +148,9 @@ rl_callback_read_char () eof = _rl_vi_domove_callback (_rl_vimvcxt); /* Should handle everything, including cleanup, numeric arguments, and turning off RL_STATE_VIMOTION */ + if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) + _rl_internal_char_cleanup (); + return; } #endif --- a/patchlevel.h +++ b/patchlevel.h @@ -25,6 +25,6 @@ regexp `^#define[ ]*PATCHLEVEL', since that's what support/mkversion.sh looks for to find the patch level (for the sccs version string). */ -#define PATCHLEVEL 1 +#define PATCHLEVEL 2 #endif /* _PATCHLEVEL_H_ */