Description of problem: In Bash 3.x when using vi-mode the repeat function (.) will stop working after a few lines of editing. Instead of repeating the previous command it will exhibit various bad behaviors (delete character under cursor or replace character under cursor with a different character). Version-Release number of selected component (if applicable): 3.00.15 How reproducible: Always Steps to Reproduce: 1. Start a new bash shell > 2. Type 'ls foo\ (bar)' >ls foo\ (bar) bash: syntax error near unexpected token `(' 3. Type <ESC>kwwwi\<ESC>ww.<ENTER> >ls foo\ \(bar\) ls: foo (bar): No such file or directory 4. Type <ESC>kk<ENTER> >ls foo\ (bar) bash: syntax error near unexpected token `(' 5. Type <ESC>kwwwi\<ESC>ww.<ENTER> >ls foo\ \(bar <--- This is wrong! ls: foo (bar: No such file or directory Actual results: Erases or replaces character under cursor. Expected results: Repeat last command. Additional info: This is confirmed as being fixed in bash 3.1.17. It is known to not be fixed in 3.1.7 (aka 3.1.6-2 in FC5). Unclear exactly which patch fixed the issue; appears to be a side effect.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
Tom: are you still seeing this problem? What does 'rpm -q bash' say?
As per comment #6 and comment #7 i'm moving this bug to RHEL-4.7.0 as Tim neither can reproduce the bug and in course find a fix for it, so we need more time to investigate. Read ya, Phil
It would be nice if the reporter verified whether the bug is really reproducible by the instructions he provided, but I think I found something that may be causing it. Whenever you do some non-inserting edit command, like 'x' or 'd', that becomes the command-to-repeat and no further insertions may be repeated. So, my reproducer for QA and whoever else: 1. Start a new bash shell 2. Type 'kekepop<esc>hxi\<esc>.' 3. You end up with 'kekepo' instead of 'kekep\\o'.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2008-0713.html