diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-05-04 12:34:22 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-05-04 12:34:22 +0200 |
commit | 81278efadf45ad745ec9733fdd9970f070571544 (patch) | |
tree | 46bc04082fadd173dc3f764f923ca28d79c9bce8 | |
parent | 1cd5e613b0d8947d52762af0e17351d5e49869de (diff) |
patch 7.4.718v7.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.
-rw-r--r-- | src/quickfix.c | 14 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/quickfix.c b/src/quickfix.c index 186520a9fb..d4db0d253d 100644 --- 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); } diff --git a/src/version.c b/src/version.c index ee6d301b06..ab9d100af9 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 718, +/**/ 717, /**/ 716, |