From bd01bd6564790d977095447ae70082c97fbbd480 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 26 May 2025 06:51:15 +0800 Subject: vim-patch:9.1.1407: Can't use getpos('v') in OptionSet when using setbufvar() (#34177) Problem: Can't use getpos('v') in OptionSet when using setbufvar(). Solution: Don't reset Visual selection when switching to the same buffer (zeertzjq). closes: vim/vim#17373 https://github.com/vim/vim/commit/5717ee33db0048a496e8bed0b0cb20133b3f76ca --- test/functional/lua/vim_spec.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/functional/lua/vim_spec.lua') diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua index 0a76af70d1..1cada42403 100644 --- a/test/functional/lua/vim_spec.lua +++ b/test/functional/lua/vim_spec.lua @@ -3955,6 +3955,17 @@ stack traceback: ]] ) end) + + it('can get Visual selection in current buffer #34162', function() + insert('foo bar baz') + feed('gg0fbvtb') + local text = exec_lua([[ + return vim.api.nvim_buf_call(0, function() + return vim.fn.getregion(vim.fn.getpos('.'), vim.fn.getpos('v')) + end) + ]]) + eq({ 'bar ' }, text) + end) end) describe('vim.api.nvim_win_call', function() -- cgit