patch 8.1.0187: getwininfo() and win_screenpos() return different numbers
Problem: getwininfo() and win_screenpos() return different numbers.
Solution: Add one to "wincol" and "winrow" from getwininfo().
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 13c60b9..2e06c20 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -5648,12 +5648,12 @@
dict_add_number(dict, "winnr", winnr);
dict_add_number(dict, "winid", wp->w_id);
dict_add_number(dict, "height", wp->w_height);
- dict_add_number(dict, "winrow", wp->w_winrow);
+ dict_add_number(dict, "winrow", wp->w_winrow + 1);
#ifdef FEAT_MENU
dict_add_number(dict, "winbar", wp->w_winbar_height);
#endif
dict_add_number(dict, "width", wp->w_width);
- dict_add_number(dict, "wincol", wp->w_wincol);
+ dict_add_number(dict, "wincol", wp->w_wincol + 1);
dict_add_number(dict, "bufnr", wp->w_buffer->b_fnum);
#ifdef FEAT_TERMINAL
diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim
index d88b061..0e8c7d1 100644
--- a/src/testdir/test_bufwintabinfo.vim
+++ b/src/testdir/test_bufwintabinfo.vim
@@ -52,21 +52,22 @@
let winlist = getwininfo()
call assert_equal(5, len(winlist))
call assert_equal(winwidth(1), winlist[0].width)
- call assert_equal(0, winlist[0].wincol)
- let tablineheight = winlist[0].winrow == 1 ? 1 : 0
- call assert_equal(tablineheight, winlist[0].winrow) " tabline adds one
+ call assert_equal(1, winlist[0].wincol)
+ " tabline adds one row in terminal, not in GUI
+ let tablineheight = winlist[0].winrow == 2 ? 1 : 0
+ call assert_equal(tablineheight + 1, winlist[0].winrow)
call assert_equal(winbufnr(2), winlist[1].bufnr)
call assert_equal(winheight(2), winlist[1].height)
- call assert_equal(0, winlist[1].wincol)
- call assert_equal(tablineheight + winheight(1) + 1, winlist[1].winrow)
+ call assert_equal(1, winlist[1].wincol)
+ call assert_equal(tablineheight + winheight(1) + 2, winlist[1].winrow)
call assert_equal(1, winlist[2].winnr)
- call assert_equal(tablineheight, winlist[2].winrow)
- call assert_equal(0, winlist[2].wincol)
+ call assert_equal(tablineheight + 1, winlist[2].winrow)
+ call assert_equal(1, winlist[2].wincol)
- call assert_equal(winlist[2].width + 1, winlist[3].wincol)
- call assert_equal(0, winlist[4].wincol)
+ call assert_equal(winlist[2].width + 2, winlist[3].wincol)
+ call assert_equal(1, winlist[4].wincol)
call assert_equal(1, winlist[0].tabnr)
call assert_equal(1, winlist[1].tabnr)
diff --git a/src/version.c b/src/version.c
index 08e39b4..559d8be 100644
--- a/src/version.c
+++ b/src/version.c
@@ -790,6 +790,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 187,
+/**/
186,
/**/
185,