summaryrefslogtreecommitdiff
path: root/src/quickfix.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-08-10 18:36:54 +0200
committerBram Moolenaar <Bram@vim.org>2011-08-10 18:36:54 +0200
commitc95e32635c24465e618b67c312bcd0a038632759 (patch)
treefd472e16a7db1956ef85ae6032dbab8ebf3dd534 /src/quickfix.c
parent12bc1b5c9fa6b68993ac20a211529ff459523ada (diff)
downloadvim-c95e32635c24465e618b67c312bcd0a038632759.zip
updated for version 7.3.280
Problem: ":lmake" does not update the quickfix window title. Solution: Update the title. (Lech Lorens)
Diffstat (limited to 'src/quickfix.c')
-rw-r--r--src/quickfix.c24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/quickfix.c b/src/quickfix.c
index 17d85837c..0502392c9 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -126,6 +126,7 @@ static int is_qf_win __ARGS((win_T *win, qf_info_T *qi));
static win_T *qf_find_win __ARGS((qf_info_T *qi));
static buf_T *qf_find_buf __ARGS((qf_info_T *qi));
static void qf_update_buffer __ARGS((qf_info_T *qi));
+static void qf_set_title __ARGS((qf_info_T *qi));
static void qf_fill_buffer __ARGS((qf_info_T *qi));
#endif
static char_u *get_mef_name __ARGS((void));
@@ -2388,8 +2389,7 @@ ex_copen(eap)
qf_fill_buffer(qi);
if (qi->qf_lists[qi->qf_curlist].qf_title != NULL)
- set_internal_string_var((char_u *)"w:quickfix_title",
- qi->qf_lists[qi->qf_curlist].qf_title);
+ qf_set_title(qi);
curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index;
curwin->w_cursor.col = 0;
@@ -2526,6 +2526,8 @@ qf_update_buffer(qi)
qf_info_T *qi;
{
buf_T *buf;
+ win_T *win;
+ win_T *curwin_save;
aco_save_T aco;
/* Check if a buffer for the quickfix list exists. Update it. */
@@ -2537,6 +2539,16 @@ qf_update_buffer(qi)
qf_fill_buffer(qi);
+ if (qi->qf_lists[qi->qf_curlist].qf_title != NULL
+ && (win = qf_find_win(qi)) != NULL)
+ {
+ curwin_save = curwin;
+ curwin = win;
+ qf_set_title(qi);
+ curwin = curwin_save;
+
+ }
+
/* restore curwin/curbuf and a few other things */
aucmd_restbuf(&aco);
@@ -2544,6 +2556,14 @@ qf_update_buffer(qi)
}
}
+ static void
+qf_set_title(qi)
+ qf_info_T *qi;
+{
+ set_internal_string_var((char_u *)"w:quickfix_title",
+ qi->qf_lists[qi->qf_curlist].qf_title);
+}
+
/*
* Fill current buffer with quickfix errors, replacing any previous contents.
* curbuf must be the quickfix buffer!