0
0
mirror of https://github.com/vim/vim.git synced 2025-09-28 04:24:06 -04:00

patch 8.2.3254: win_gettype() does not recognize a quickfix window

Problem:    win_gettype() does not recognize a quickfix window.
Solution:   Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes #8676)
This commit is contained in:
Yegappan Lakshmanan
2021-07-31 12:43:23 +02:00
committed by Bram Moolenaar
parent 890ee4e2be
commit 28d8421bfb
5 changed files with 32 additions and 5 deletions

View File

@@ -11661,10 +11661,12 @@ win_gettype([{nr}]) *win_gettype()*
Return the type of the window:
"autocmd" autocommand window. Temporary window
used to execute autocommands.
"popup" popup window |popup|
"preview" preview window |preview-window|
"command" command-line window |cmdwin|
(empty) normal window
"loclist" |location-list-window|
"popup" popup window |popup|
"preview" preview window |preview-window|
"quickfix" |quickfix-window|
"unknown" window {nr} not found
When {nr} is omitted return the type of the current window.

View File

@@ -953,6 +953,12 @@ f_win_gettype(typval_T *argvars, typval_T *rettv)
else if (wp == curwin && cmdwin_type != 0)
rettv->vval.v_string = vim_strsave((char_u *)"command");
#endif
#ifdef FEAT_QUICKFIX
else if (bt_quickfix(wp->w_buffer))
rettv->vval.v_string = vim_strsave((char_u *)
(wp->w_llist_ref != NULL ? "loclist" : "quickfix"));
#endif
}
/*

View File

@@ -1574,10 +1574,10 @@ ga_concat_len(garray_T *gap, char_u *s, size_t len)
{
if (s == NULL || *s == NUL)
return;
if (ga_grow(gap, len) == OK)
if (ga_grow(gap, (int)len) == OK)
{
mch_memmove((char *)gap->ga_data + gap->ga_len, s, (size_t)len);
gap->ga_len += len;
mch_memmove((char *)gap->ga_data + gap->ga_len, s, len);
gap->ga_len += (int)len;
}
}

View File

@@ -5587,4 +5587,21 @@ func Test_locationlist_open_in_newtab()
%bwipe!
endfunc
" Test for win_gettype() in quickfix and location list windows
func Test_win_gettype()
copen
call assert_equal("quickfix", win_gettype())
let wid = win_getid()
wincmd p
call assert_equal("quickfix", win_gettype(wid))
cclose
lexpr ''
lopen
call assert_equal("loclist", win_gettype())
let wid = win_getid()
wincmd p
call assert_equal("loclist", win_gettype(wid))
lclose
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -755,6 +755,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3254,
/**/
3253,
/**/