mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14: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:
committed by
Bram Moolenaar
parent
890ee4e2be
commit
28d8421bfb
@@ -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.
|
||||
|
@@ -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
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -755,6 +755,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3254,
|
||||
/**/
|
||||
3253,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user