diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-08-10 18:36:54 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-08-10 18:36:54 +0200 |
commit | c95e32635c24465e618b67c312bcd0a038632759 (patch) | |
tree | fd472e16a7db1956ef85ae6032dbab8ebf3dd534 /src/quickfix.c | |
parent | 12bc1b5c9fa6b68993ac20a211529ff459523ada (diff) | |
download | vim-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.c | 24 |
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! |