From: Hirohito Higashi Date: Tue, 2 Dec 2025 19:58:01 +0000 (+0000) Subject: patch 9.1.1944: getwininfo() does not return if statusline is visible X-Git-Tag: v9.1.1944^0 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a04ab5f04c1a9e794ed45ff5f8f7e1f9c5e1a535;p=thirdparty%2Fvim.git patch 9.1.1944: getwininfo() does not return if statusline is visible Problem: gewininfo() does not return if statusline is visible Solution: Add status_height to the dict items returned by getwininfo() (Hirohito Higashi) closes: #18841 Signed-off-by: Hirohito Higashi Signed-off-by: Christian Brabandt --- diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index 90f873e1d2..0b5215d7ef 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 9.1. Last change: 2025 Nov 28 +*builtin.txt* For Vim version 9.1. Last change: 2025 Dec 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -5343,9 +5343,13 @@ getwininfo([{winid}]) *getwininfo()* {only with the +quickfix feature} quickfix 1 if quickfix or location list window {only with the +quickfix feature} + status_height status lines height (0 or 1) + tabnr tab page number terminal 1 if a terminal window {only with the +terminal feature} - tabnr tab page number + textoff number of columns occupied by any + 'foldcolumn', 'signcolumn' and line + number in front of the text topline first displayed buffer line variables a reference to the dictionary with window-local variables @@ -5354,9 +5358,6 @@ getwininfo([{winid}]) *getwininfo()* otherwise wincol leftmost screen column of the window; "col" from |win_screenpos()| - textoff number of columns occupied by any - 'foldcolumn', 'signcolumn' and line - number in front of the text winid |window-ID| winnr window number winrow topmost screen line of the window; diff --git a/src/evalwindow.c b/src/evalwindow.c index 05c3d1d9bb..9a4efaa8c3 100644 --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -416,6 +416,7 @@ get_win_info(win_T *wp, short tpnr, short winnr) 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, "status_height", wp->w_status_height); dict_add_number(dict, "winrow", wp->w_winrow + 1); dict_add_number(dict, "topline", wp->w_topline); dict_add_number(dict, "botline", wp->w_botline - 1); diff --git a/src/testdir/test_bufwintabinfo.vim b/src/testdir/test_bufwintabinfo.vim index f7318ff55a..96dc060233 100644 --- a/src/testdir/test_bufwintabinfo.vim +++ b/src/testdir/test_bufwintabinfo.vim @@ -204,4 +204,26 @@ func Test_getwininfo_au() bwipe! endfunc +func Test_getwininfo_status_height() + set laststatus=0 + vsplit + let info = getwininfo(win_getid())[0] + call assert_equal(0, info.status_height) + + set laststatus=2 + let info = getwininfo(win_getid())[0] + call assert_equal(1, info.status_height) + + set laststatus=1 + only + let info = getwininfo(win_getid())[0] + call assert_equal(0, info.status_height) + vsplit + let info = getwininfo(win_getid())[0] + call assert_equal(1, info.status_height) + + set laststatus&vim + bwipe! +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index d347aac56c..000561a9e0 100644 --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1944, /**/ 1943, /**/