From 4f576be881a590172fa620214af6c9a42e98d132 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 2 Aug 2022 05:52:54 +0800 Subject: vim-patch:8.2.4956: reading past end of line with "gf" in Visual block mode Problem: Reading past end of line with "gf" in Visual block mode. Solution: Do not include the NUL in the length. https://github.com/vim/vim/commit/395bd1f6d3edc9f7edb5d1f2d7deaf5a9e3ab93c Omit trailing space: removed in patch 9.0.0126. --- src/nvim/testdir/test_gf.vim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src') diff --git a/src/nvim/testdir/test_gf.vim b/src/nvim/testdir/test_gf.vim index c48e56976e..feae44e5ee 100644 --- a/src/nvim/testdir/test_gf.vim +++ b/src/nvim/testdir/test_gf.vim @@ -138,6 +138,22 @@ func Test_gf_visual() call assert_equal('Xtest_gf_visual', bufname('%')) call assert_equal(3, getcurpos()[1]) + " do not include the NUL at the end + call writefile(['x'], 'X') + let save_enc = &enc + " for enc in ['latin1', 'utf-8'] + for enc in ['utf-8'] + exe "set enc=" .. enc + new + call setline(1, 'X') + set nomodified + exe "normal \$gf" + call assert_equal('X', bufname()) + bwipe! + endfor + let &enc = save_enc + call delete('X') + " line number in visual area is used for file name if has('unix') bwipe! -- cgit