diff options
author | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-08-23 07:31:39 -0400 |
---|---|---|
committer | Jan Edmund Lazo <jan.lazo@mail.utoronto.ca> | 2019-08-23 07:46:51 -0400 |
commit | 2a1887c2df27c5f91f0f2f6ad6c70da60239cfce (patch) | |
tree | d3fcdf232e623f322a64f0fd3b79518bfe4d7429 /src | |
parent | c58054c231f11cfd911795b572029e9360835bbb (diff) | |
download | rneovim-2a1887c2df27c5f91f0f2f6ad6c70da60239cfce.tar.gz rneovim-2a1887c2df27c5f91f0f2f6ad6c70da60239cfce.tar.bz2 rneovim-2a1887c2df27c5f91f0f2f6ad6c70da60239cfce.zip |
vim-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().
https://github.com/vim/vim/commit/7132ddc1014a4e1230f0080e418221e5843e1277
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/eval.c | 4 | ||||
-rw-r--r-- | src/nvim/testdir/test_bufwintabinfo.vim | 19 |
2 files changed, 12 insertions, 11 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 94f559c0dc..3d56522f79 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -10839,12 +10839,12 @@ static dict_T *get_win_info(win_T *wp, int16_t tpnr, int16_t winnr) tv_dict_add_nr(dict, S_LEN("winnr"), winnr); tv_dict_add_nr(dict, S_LEN("winid"), wp->handle); tv_dict_add_nr(dict, S_LEN("height"), wp->w_height); - tv_dict_add_nr(dict, S_LEN("winrow"), wp->w_winrow); + tv_dict_add_nr(dict, S_LEN("winrow"), wp->w_winrow + 1); tv_dict_add_nr(dict, S_LEN("topline"), wp->w_topline); tv_dict_add_nr(dict, S_LEN("botline"), wp->w_botline - 1); tv_dict_add_nr(dict, S_LEN("width"), wp->w_width); tv_dict_add_nr(dict, S_LEN("bufnr"), wp->w_buffer->b_fnum); - tv_dict_add_nr(dict, S_LEN("wincol"), wp->w_wincol); + tv_dict_add_nr(dict, S_LEN("wincol"), wp->w_wincol + 1); tv_dict_add_nr(dict, S_LEN("terminal"), bt_terminal(wp->w_buffer)); tv_dict_add_nr(dict, S_LEN("quickfix"), bt_quickfix(wp->w_buffer)); diff --git a/src/nvim/testdir/test_bufwintabinfo.vim b/src/nvim/testdir/test_bufwintabinfo.vim index d88b061ac7..0e8c7d1dc1 100644 --- a/src/nvim/testdir/test_bufwintabinfo.vim +++ b/src/nvim/testdir/test_bufwintabinfo.vim @@ -52,21 +52,22 @@ function Test_getbufwintabinfo() 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) |