diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-12-22 18:11:59 -0500 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-12-22 18:15:01 -0500 |
commit | b602fe74b075b5e3c4f095d907bed9abc98462f3 (patch) | |
tree | c1066da573559e85924cb783082917750cc9b09f /src | |
parent | 0561243771592b9d00a32fb7151592dd507c4709 (diff) | |
download | rneovim-b602fe74b075b5e3c4f095d907bed9abc98462f3.tar.gz rneovim-b602fe74b075b5e3c4f095d907bed9abc98462f3.tar.bz2 rneovim-b602fe74b075b5e3c4f095d907bed9abc98462f3.zip |
vim-patch:8.2.2189: cannot repeat a command that uses the small delete register
Problem: Cannot repeat a command that uses the small delete register.
Solution: Store the register name instead of the contents. (Christian
Brabandt, closes vim/vim#7527)
https://github.com/vim/vim/commit/032a2d050b82b146d70d6ff714838ee62c07d8ad
N/A patches for version.c:
vim-patch:8.2.2192: Codecov on github actions fails
Problem: Codecov on github actions fails.
Solution: Revert to codecov script. (Ozaki Kiichi, closes vim/vim#7529)
https://github.com/vim/vim/commit/e5492609b3a153c631f1d600ecdef1af1c913bef
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/ops.c | 8 | ||||
-rw-r--r-- | src/nvim/testdir/test_registers.vim | 11 |
2 files changed, 18 insertions, 1 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index 37db1bb7e2..8fddb1b561 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -1197,7 +1197,13 @@ int insert_reg( retval = FAIL; } else { for (size_t i = 0; i < reg->y_size; i++) { - stuffescaped((const char *)reg->y_array[i], literally); + if (regname == '-') { + AppendCharToRedobuff(Ctrl_R); + AppendCharToRedobuff(regname); + do_put(regname, NULL, BACKWARD, 1L, PUT_CURSEND); + } else { + stuffescaped((const char *)reg->y_array[i], literally); + } // Insert a newline between lines and after last line if // y_type is kMTLineWise. if (reg->y_type == kMTLineWise || i < reg->y_size - 1) { diff --git a/src/nvim/testdir/test_registers.vim b/src/nvim/testdir/test_registers.vim index 19a7c6c9d0..24e02cb385 100644 --- a/src/nvim/testdir/test_registers.vim +++ b/src/nvim/testdir/test_registers.vim @@ -254,4 +254,15 @@ func Test_ve_blockpaste() bwipe! endfunc +func Test_insert_small_delete() + new + call setline(1, ['foo foobar bar']) + call cursor(1,1) + exe ":norm! ciw'\<C-R>-'" + call assert_equal(getline(1), "'foo' foobar bar") + exe ":norm! w.w." + call assert_equal(getline(1), "'foo' 'foobar' 'bar'") + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab |