diff options
-rw-r--r-- | src/nvim/testdir/test_window_id.vim | 9 | ||||
-rw-r--r-- | src/nvim/window.c | 6 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/nvim/testdir/test_window_id.vim b/src/nvim/testdir/test_window_id.vim index 66656e1d0a..b3b506d04d 100644 --- a/src/nvim/testdir/test_window_id.vim +++ b/src/nvim/testdir/test_window_id.vim @@ -92,3 +92,12 @@ func Test_win_getid() only! endfunc + +func Test_win_getid_curtab() + tabedit X + tabfirst + copen + only + call assert_equal(win_getid(1), win_getid(1, 1)) + tabclose! +endfunc diff --git a/src/nvim/window.c b/src/nvim/window.c index 15482d9061..ce322e1185 100644 --- a/src/nvim/window.c +++ b/src/nvim/window.c @@ -5821,7 +5821,11 @@ int win_getid(typval_T *argvars) if (tp == NULL) { return -1; } - wp = tp->tp_firstwin; + if (tp == curtab) { + wp = firstwin; + } else { + wp = tp->tp_firstwin; + } } for ( ; wp != NULL; wp = wp->w_next) { if (--winnr == 0) { |