diff options
-rw-r--r-- | runtime/doc/eval.txt | 6 | ||||
-rw-r--r-- | src/evalwindow.c | 6 | ||||
-rw-r--r-- | src/misc2.c | 6 | ||||
-rw-r--r-- | src/testdir/test_quickfix.vim | 17 | ||||
-rw-r--r-- | src/version.c | 2 |
5 files changed, 32 insertions, 5 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 5054904db..5f047e6bd 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -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. diff --git a/src/evalwindow.c b/src/evalwindow.c index 737ca7dbd..f043c6f4d 100644 --- a/src/evalwindow.c +++ b/src/evalwindow.c @@ -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 + } /* diff --git a/src/misc2.c b/src/misc2.c index bbf55bb00..2e83d2dd1 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -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; } } diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index e5a6d6cdb..e22f6b28d 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -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 diff --git a/src/version.c b/src/version.c index b01127c34..c901996df 100644 --- a/src/version.c +++ b/src/version.c @@ -756,6 +756,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3254, +/**/ 3253, /**/ 3252, |