Mercurial > vim
changeset 6793:e1d59836eecc v7.4.718
patch 7.4.718
Problem: Autocommands triggered by quickfix cannot get the current title
value.
Solution: Set w:quickfix_title earlier. (Yannick)
Also move the check for a title into the function.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 04 May 2015 12:34:22 +0200 |
parents | 321af9150ab9 |
children | 0598637d7276 |
files | src/quickfix.c src/version.c |
diffstat | 2 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/quickfix.c +++ b/src/quickfix.c @@ -2452,14 +2452,13 @@ ex_copen(eap) prevwin = win; } + qf_set_title_var(qi); + /* * Fill the buffer with the quickfix list. */ qf_fill_buffer(qi); - if (qi->qf_lists[qi->qf_curlist].qf_title != NULL) - qf_set_title_var(qi); - curwin->w_cursor.lnum = qi->qf_lists[qi->qf_curlist].qf_index; curwin->w_cursor.col = 0; check_cursor(); @@ -2608,8 +2607,7 @@ qf_update_buffer(qi) qf_fill_buffer(qi); - if (qi->qf_lists[qi->qf_curlist].qf_title != NULL - && (win = qf_find_win(qi)) != NULL) + if ((win = qf_find_win(qi)) != NULL) { curwin_save = curwin; curwin = win; @@ -2625,11 +2623,15 @@ qf_update_buffer(qi) } } +/* + * Set "w:quickfix_title" if "qi" has a title. + */ static void qf_set_title_var(qi) qf_info_T *qi; { - set_internal_string_var((char_u *)"w:quickfix_title", + 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); }