summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/testdir/test_window_id.vim9
-rw-r--r--src/version.c2
-rw-r--r--src/window.c5
3 files changed, 15 insertions, 1 deletions
diff --git a/src/testdir/test_window_id.vim b/src/testdir/test_window_id.vim
index 66656e1d0..b3b506d04 100644
--- a/src/testdir/test_window_id.vim
+++ b/src/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/version.c b/src/version.c
index e85192247..c7f00a876 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 83,
+/**/
82,
/**/
81,
diff --git a/src/window.c b/src/window.c
index 8e5336883..ee5f7aa8a 100644
--- a/src/window.c
+++ b/src/window.c
@@ -7133,7 +7133,10 @@ win_getid(typval_T *argvars)
break;
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)