diff options
Diffstat (limited to 'src/window.c')
-rw-r--r-- | src/window.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/window.c b/src/window.c index bb2647cff..6bb9c4674 100644 --- a/src/window.c +++ b/src/window.c @@ -518,8 +518,9 @@ newwindow: */ if (bt_quickfix(curbuf)) { - sprintf((char *)cbuf, "split +%ldcc", - (long)curwin->w_cursor.lnum); + sprintf((char *)cbuf, "split +%ld%s", + (long)curwin->w_cursor.lnum, + (curwin->w_llist_ref == NULL) ? "cc" : "ll"); do_cmdline_cmd(cbuf); } #endif @@ -817,6 +818,9 @@ win_split_ins(size, flags, newwin, dir) #ifdef FEAT_JUMPLIST copy_jumplist(curwin, wp); #endif +#ifdef FEAT_QUICKFIX + copy_loclist(curwin, wp); +#endif if (curwin->w_localdir != NULL) wp->w_localdir = vim_strsave(curwin->w_localdir); @@ -3182,6 +3186,10 @@ win_free(wp) free_jumplist(wp); #endif +#ifdef FEAT_QUICKFIX + qf_free_all(wp); +#endif + #ifdef FEAT_GUI if (gui.in_use) { |