diff options
author | Sam Bingner <sam@bingner.com> | 2018-08-03 15:06:38 -1000 |
---|---|---|
committer | Sam Bingner <sam@bingner.com> | 2018-08-03 15:06:38 -1000 |
commit | 135b410607f008d3709a7b1374f3f37924eb9fe4 (patch) | |
tree | f4756ef3a354f6001360db894db010df85177f76 /data/vim/patches/8.1.0187 | |
parent | bd1eb51da0d3f250793e1868d73babdf495c921f (diff) |
Update vim
Diffstat (limited to 'data/vim/patches/8.1.0187')
-rw-r--r-- | data/vim/patches/8.1.0187 | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0187 b/data/vim/patches/8.1.0187 new file mode 100644 index 000000000..0403ade73 --- /dev/null +++ b/data/vim/patches/8.1.0187 @@ -0,0 +1,233 @@ +To: vim_dev@googlegroups.com +Subject: Patch 8.1.0184 +Fcc: outbox +From: Bram Moolenaar <Bram@moolenaar.net> +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 8.1.0187 (after 8.1.0184) +Problem: getwininfo() and win_screenpos() return different numbers. +Solution: Add one to "wincol" and "winrow" from getwininfo(). +Files: src/evalfunc.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + + +*** ../vim-8.1.0186/src/evalfunc.c Sat Jul 14 21:41:38 2018 +--- src/evalfunc.c Sun Jul 15 16:51:34 2018 +*************** +*** 5648,5659 **** + 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); + #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, "bufnr", wp->w_buffer->b_fnum); + + #ifdef FEAT_TERMINAL +--- 5648,5659 ---- + 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 + 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 + 1); + dict_add_number(dict, "bufnr", wp->w_buffer->b_fnum); + + #ifdef FEAT_TERMINAL +*** ../vim-8.1.0186/src/testdir/test_bufwintabinfo.vim Sat Jul 14 22:23:44 2018 +--- src/testdir/test_bufwintabinfo.vim Sun Jul 15 16:57:49 2018 +*************** +*** 52,72 **** + 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(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[2].winnr) +! call assert_equal(tablineheight, winlist[2].winrow) +! call assert_equal(0, winlist[2].wincol) + +! call assert_equal(winlist[2].width + 1, winlist[3].wincol) +! call assert_equal(0, winlist[4].wincol) + + call assert_equal(1, winlist[0].tabnr) + call assert_equal(1, winlist[1].tabnr) +--- 52,73 ---- + let winlist = getwininfo() + call assert_equal(5, len(winlist)) + call assert_equal(winwidth(1), winlist[0].width) +! 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(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 + 1, winlist[2].winrow) +! call assert_equal(1, winlist[2].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) +*** ../vim-8.1.0186/runtime/doc/eval.txt Sat Jul 14 21:41:38 2018 +--- runtime/doc/eval.txt Sun Jul 15 16:54:29 2018 +*************** +*** 2196,2202 **** + any variable {varname} in tab {nr} or {def} + gettabwinvar({tabnr}, {winnr}, {name} [, {def}]) + any {name} in {winnr} in tab page {tabnr} +! getwininfo([{winid}]) List list of windows + getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window + getwinposx() Number X coord in pixels of the Vim window + getwinposy() Number Y coord in pixels of the Vim window +--- 2196,2202 ---- + any variable {varname} in tab {nr} or {def} + gettabwinvar({tabnr}, {winnr}, {name} [, {def}]) + any {name} in {winnr} in tab page {tabnr} +! getwininfo([{winid}]) List list of info about each window + getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window + getwinposx() Number X coord in pixels of the Vim window + getwinposy() Number Y coord in pixels of the Vim window +*************** +*** 4935,4940 **** +--- 4936,4976 ---- + :let list_is_on = gettabwinvar(1, 2, '&list') + :echo "myvar = " . gettabwinvar(3, 1, 'myvar') + < ++ getwininfo([{winid}]) *getwininfo()* ++ Returns information about windows as a List with Dictionaries. ++ ++ If {winid} is given Information about the window with that ID ++ is returned. If the window does not exist the result is an ++ empty list. ++ ++ Without {winid} information about all the windows in all the ++ tab pages is returned. ++ ++ Each List item is a Dictionary with the following entries: ++ bufnr number of buffer in the window ++ height window height (excluding winbar) ++ winbar 1 if the window has a toolbar, 0 ++ otherwise ++ loclist 1 if showing a location list ++ {only with the +quickfix feature} ++ quickfix 1 if quickfix or location list window ++ {only with the +quickfix feature} ++ terminal 1 if a terminal window ++ {only with the +terminal feature} ++ tabnr tab page number ++ variables a reference to the dictionary with ++ window-local variables ++ width window width ++ wincol leftmost screen column of the window, ++ col from |win_screenpos()| ++ winid |window-ID| ++ winnr window number ++ winrow topmost screen column of the window, ++ row from |win_screenpos()| ++ ++ To obtain all window-local variables use: > ++ gettabwinvar({tabnr}, {winnr}, '&') ++ + getwinpos([{timeout}]) *getwinpos()* + The result is a list with two numbers, the result of + getwinposx() and getwinposy() combined: +*************** +*** 4968,5006 **** + The result will be -1 if the information is not available. + The value can be used with `:winpos`. + +- getwininfo([{winid}]) *getwininfo()* +- Returns information about windows as a List with Dictionaries. +- +- If {winid} is given Information about the window with that ID +- is returned. If the window does not exist the result is an +- empty list. +- +- Without {winid} information about all the windows in all the +- tab pages is returned. +- +- Each List item is a Dictionary with the following entries: +- bufnr number of buffer in the window +- height window height (excluding winbar) +- winbar 1 if the window has a toolbar, 0 +- otherwise +- loclist 1 if showing a location list +- {only with the +quickfix feature} +- quickfix 1 if quickfix or location list window +- {only with the +quickfix feature} +- terminal 1 if a terminal window +- {only with the +terminal feature} +- tabnr tab page number +- variables a reference to the dictionary with +- window-local variables +- width window width +- wincol leftmost screen column of the window +- winid |window-ID| +- winnr window number +- winrow topmost screen column of the window +- +- To obtain all window-local variables use: > +- gettabwinvar({tabnr}, {winnr}, '&') +- + getwinvar({winnr}, {varname} [, {def}]) *getwinvar()* + Like |gettabwinvar()| for the current tabpage. + Examples: > +--- 5004,5009 ---- +*************** +*** 9047,9053 **** + win_screenpos({nr}) *win_screenpos()* + Return the screen position of window {nr} as a list with two + numbers: [row, col]. The first window always has position +! [1, 1]. + {nr} can be the window number or the |window-ID|. + Return [0, 0] if the window cannot be found in the current + tabpage. +--- 9051,9057 ---- + win_screenpos({nr}) *win_screenpos()* + Return the screen position of window {nr} as a list with two + numbers: [row, col]. The first window always has position +! [1, 1], unless there is a tabline, then it is [2, 1]. + {nr} can be the window number or the |window-ID|. + Return [0, 0] if the window cannot be found in the current + tabpage. +*** ../vim-8.1.0186/src/version.c Sat Jul 14 22:23:44 2018 +--- src/version.c Sun Jul 15 17:00:11 2018 +*************** +*** 791,792 **** +--- 791,794 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 187, + /**/ + +-- +hundred-and-one symptoms of being an internet addict: +251. You've never seen your closest friends who usually live WAY too far away. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |