On Wed, Oct 7, 2020 at 2:49 PM Roman Perepelitsa wrote: > > If zle-line-pre-redraw is defined, vi-repeat-change behaves as if the > numeric argument was always 1. > > To reproduce from `zsh -f`: > > % function zle-line-pre-redraw() {} > % zle -N zle-line-pre-redraw > % bindkey -v > % 123456<2X><.> > > The last line in more detail: > > - "123456" is self-insert > - ESC is vi-cmd-mode > - "2X" is vi-backward-delete-char with NUMERIC = 2 > - "." is vi-repeat-change > > Expected: BUFFER contains "16". > > Actual: BUFFER contains "126". > > The actual behavior is unchanged if <.> is replaced with <3.>. The > expected BUFFER in this case is "6". GammaFunction@vivaldi.net (CC-ed) has sent https://github.com/zsh-users/zsh/pull/69 that fixes the two tests I've described above. Here's the patch from the PR. Roman.