changeset 7710:bf58e9f8d52a v7.4.1153

commit https://github.com/vim/vim/commit/6920c72d4d62c8dc5596e9f392e38204f561d7af Author: Bram Moolenaar <Bram@vim.org> Date: Fri Jan 22 22:44:10 2016 +0100 patch 7.4.1153 Problem: Autocommands triggered by quickfix cannot always get the current title value. Solution: Call qf_fill_buffer() later. (Christian Brabandt)
author Christian Brabandt <cb@256bit.org>
date Fri, 22 Jan 2016 22:45:05 +0100
parents b2e910bfdce8
children 5fe266fb2a6e
files src/quickfix.c src/testdir/test_quickfix.vim src/version.c
diffstat 3 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -2605,17 +2605,16 @@ qf_update_buffer(qi)
 	/* set curwin/curbuf to buf and save a few things */
 	aucmd_prepbuf(&aco, buf);
 
-	qf_fill_buffer(qi);
-
 	if ((win = qf_find_win(qi)) != NULL)
 	{
 	    curwin_save = curwin;
 	    curwin = win;
 	    qf_set_title_var(qi);
 	    curwin = curwin_save;
-
 	}
 
+	qf_fill_buffer(qi);
+
 	/* restore curwin/curbuf and a few other things */
 	aucmd_restbuf(&aco);
 
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -302,3 +302,17 @@ function Test_helpgrep()
   cclose
 endfunc
 
+func Test_errortitle()
+  augroup QfBufWinEnter
+    au!
+    au BufWinEnter * :let g:a=get(w:, 'quickfix_title', 'NONE')
+  augroup END
+  copen
+  let a=[{'lnum': 308, 'bufnr': bufnr(''), 'col': 58, 'valid': 1, 'vcol': 0, 'nr': 0, 'type': '', 'pattern': '', 'text': '    au BufWinEnter * :let g:a=get(w:, ''quickfix_title'', ''NONE'')'}]
+  call setqflist(a)
+  call assert_equal(':setqflist()', g:a)
+  augroup QfBufWinEnter
+    au!
+  augroup END
+  augroup! QfBufWinEnter
+endfunc
--- 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 */
 /**/
+    1153,
+/**/
     1152,
 /**/
     1151,