diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-07-10 19:29:31 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2020-07-19 11:38:35 -0400 |
commit | be9de61012047b82e0f57742205e25a9a11ecf1c (patch) | |
tree | 5302a6fe47cbb7a8bd8f3352fb31af79efd368ee | |
parent | 0c498200f42036a3aad9a7c2046016a0d2de6a7f (diff) | |
download | rneovim-be9de61012047b82e0f57742205e25a9a11ecf1c.tar.gz rneovim-be9de61012047b82e0f57742205e25a9a11ecf1c.tar.bz2 rneovim-be9de61012047b82e0f57742205e25a9a11ecf1c.zip |
vim-patch:8.2.1170: cursor off by one with block paste while 'virtualedit' "all"
Problem: Cursor off by one with block paste while 'virtualedit' is "all".
Solution: Adjust condition. (Hugo Gualandi, closes vim/vim#6430)
https://github.com/vim/vim/commit/ef85a9b2d9e992ab594e089af3883e381cfad426
N/A patches for version.c:
vim-patch:8.2.1114: terminal test sometimes times out
Problem: Terminal test sometimes times out.
Solution: Split the test in two parts.
https://github.com/vim/vim/commit/1112c0febb509d0cb219f3a2479fd36833507167
vim-patch:8.2.1171: possible crash when out of memory
Problem: Possible crash when out of memory.
Solution: Check for NULL pointer. (Dominique Pellé, closes vim/vim#6432)
https://github.com/vim/vim/commit/58bb61cf5ee008254eb331bc3574eac87d2dcc4a
vim-patch:8.2.1172: error messages when doing "make clean" in doc or tee
Problem: Error messages when doing "make clean" in the runtime/doc or
src/tee directories.
Solution: Use "rm -f".
https://github.com/vim/vim/commit/08fc48492acc07259d91293df12bf66447819443
vim-patch:8.2.1173: tee doesn't build on some systems
Problem: Tee doesn't build on some systems.
Solution: Include header files. (Dominique Pelle, closes vim/vim#6431)
https://github.com/vim/vim/commit/40043152924827fa8c4064951065ff507c610164
vim-patch:8.2.1177: terminal2 test sometimes hangs in the GUI
Problem: Terminal2 test sometimes hangs in the GUI.
Solution: Move some tests to other files to further locate the problem.
Set the GUI to a fixed screen size.
https://github.com/vim/vim/commit/18aa13d13b69c090dbe186cd4939896488c433e3
vim-patch:8.2.1179: Test_termwinscroll() sometimes hangs in the GUI
Problem: Test_termwinscroll() sometimes hangs in the GUI.
Solution: Skip the test in the GUI.
https://github.com/vim/vim/commit/f65927fc8d0102ef2d0fea776381caedf4c51e32
vim-patch:8.2.1180: build failure in small version
Problem: Build failure in small version.
Solution: Add #ifdef.
https://github.com/vim/vim/commit/1e624c912dff19e889c9398b56fe537952c02fef
vim-patch:8.2.1181: json code not fully tested
Problem: Json code not fully tested.
Solution: Add more test coverage. (Dominique Pellé, closes vim/vim#6433)
https://github.com/vim/vim/commit/21e5bdd271fa4d0ff4511cf74b160315e1d17cff
-rw-r--r-- | src/nvim/ops.c | 10 | ||||
-rw-r--r-- | src/nvim/testdir/test_registers.vim | 18 |
2 files changed, 24 insertions, 4 deletions
diff --git a/src/nvim/ops.c b/src/nvim/ops.c index e905029dae..595a699563 100644 --- a/src/nvim/ops.c +++ b/src/nvim/ops.c @@ -3080,10 +3080,12 @@ void do_put(int regname, yankreg_T *reg, int dir, long count, int flags) if (ve_flags == VE_ALL && (curwin->w_cursor.coladd > 0 || endcol2 == curwin->w_cursor.col)) { - if (dir == FORWARD && c == NUL) - ++col; - if (dir != FORWARD && c != NUL) - ++curwin->w_cursor.col; + if (dir == FORWARD && c == NUL) { + col++; + } + if (dir != FORWARD && c != NUL && curwin->w_cursor.coladd > 0) { + curwin->w_cursor.col++; + } if (c == TAB) { if (dir == BACKWARD && curwin->w_cursor.col) curwin->w_cursor.col--; diff --git a/src/nvim/testdir/test_registers.vim b/src/nvim/testdir/test_registers.vim index d4f58af10a..d20f8d1eef 100644 --- a/src/nvim/testdir/test_registers.vim +++ b/src/nvim/testdir/test_registers.vim @@ -167,4 +167,22 @@ func Test_set_register() enew! endfunc +func Test_ve_blockpaste() + new + set ve=all + 0put =['QWERTZ','ASDFGH'] + call cursor(1,1) + exe ":norm! \<C-V>3ljdP" + call assert_equal(1, col('.')) + call assert_equal(getline(1, 2), ['QWERTZ', 'ASDFGH']) + call cursor(1,1) + exe ":norm! \<C-V>3ljd" + call cursor(1,1) + norm! $3lP + call assert_equal(5, col('.')) + call assert_equal(getline(1, 2), ['TZ QWER', 'GH ASDF']) + set ve&vim + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab |