From b47fbb40837512cdd2d8c25eaf9952154836b99d Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 12 Feb 2024 22:50:26 +0100 Subject: patch 9.1.0102: settabvar() may change the last accessed tabpage Problem: settabvar() may change the last accessed tabpage. Solution: Save and restore lastused_tabpage. (zeertzjq) closes: #14017 Signed-off-by: zeertzjq Signed-off-by: Christian Brabandt --- src/testdir/test_tabpage.vim | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/testdir') diff --git a/src/testdir/test_tabpage.vim b/src/testdir/test_tabpage.vim index 94f695323f..a531f19334 100644 --- a/src/testdir/test_tabpage.vim +++ b/src/testdir/test_tabpage.vim @@ -993,4 +993,21 @@ func Test_tabpage_drop_tabmove() bwipe! endfunc +" Test that settabvar() shouldn't change the last accessed tabpage. +func Test_lastused_tabpage_settabvar() + tabonly! + tabnew + tabnew + tabnew + call assert_equal(3, tabpagenr('#')) + + call settabvar(2, 'myvar', 'tabval') + call assert_equal('tabval', gettabvar(2, 'myvar')) + call assert_equal(3, tabpagenr('#')) + + bwipe! + bwipe! + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab -- cgit v1.2.3