summaryrefslogtreecommitdiff
path: root/src/window.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.c')
-rw-r--r--src/window.c12
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)
{