neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 50672e3850ddd0ddacfcdcd536922440fb719093
parent 4f576be881a590172fa620214af6c9a42e98d132
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue,  2 Aug 2022 05:55:07 +0800

vim-patch:8.2.5013: after text formatting cursor may be in an invalid position

Problem:    After text formatting the cursor may be in an invalid position.
Solution:   Correct the cursor position after formatting.
https://github.com/vim/vim/commit/78d52883e10d71f23ab72a3d8b9733b00da8c9ad

Diffstat:
Msrc/nvim/ops.c | 3+++
Msrc/nvim/testdir/test_textformat.vim | 12++++++++++++
2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/src/nvim/ops.c b/src/nvim/ops.c @@ -4349,6 +4349,9 @@ static void op_format(oparg_T *oap, int keep_cursor) if (keep_cursor) { curwin->w_cursor = saved_cursor; saved_cursor.lnum = 0; + + // formatting may have made the cursor position invalid + check_cursor(); } if (oap->is_VIsual) { diff --git a/src/nvim/testdir/test_textformat.vim b/src/nvim/testdir/test_textformat.vim @@ -1534,4 +1534,16 @@ func Test_autoformat_comments() close! endfunc +" This was leaving the cursor after the end of a line. Complicated way to +" have the problem show up with valgrind. +func Test_correct_cursor_position() + " set encoding=iso8859 + new + norm a000“0 + sil! norm gggg0i0gw0gg + + bwipe! + set encoding=utf8 +endfunc + " vim: shiftwidth=2 sts=2 expandtab