[tagged "Priority==medium" since this was one of the first complaints I had when I first installed FreeBSD and "first impressions count"] Assorted problems with the history edit functions in libedit. This affects sh, ftp (and others?). (All command keys assume the vi- mode of editing). 1) The 'r' command does not reposition the cursor when it is done. [ed_insert() needs to return CC_CURSOR since it automatically calls vi_command_mode() if MODE_REPLACE_1]. 2) The [count] prefix to commands does not work. [read_getcmd() looped while "cmd==0", but ED_ARGUMENT_DIGIT is the first (lexographically) command and is assigned a command code of 0. read_getcmd() needs to loop while ED_UNASSIGNED]. [vi_replace_char() and vi_replace_mode() need to return CC_ARGHACK instead of CC_NORM since both commands require another argument (the character to substitute)]. 3) The 'w' and 'b' commands use the emacs(?) definition of a word instead of the vi definition of a word. 4) The 'u' command does not work after the 'r' command. [ed_insert() needs to set ...c_undo.action=CHANGE if MODE_REPLACE*]. 5) There is no 'U' command (to undo *all* editing on the current line). There are more bugs in libedit, but these are the (IMO) big ones I have found (they are the ones that bothered me). How-To-Repeat: (try to) use the vi- style commands above.
State Changed From-To: open->suspended awaiting committer
Responsible Changed From-To: freebsd-bugs->brian I'll do this
State Changed From-To: suspended->closed Patches applied to -current. Will MFC in a few days if nobody complains.