Hi Bram!

On Mo, 04 Mai 2015, Bram Moolenaar wrote:

> 
> 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.
> Files:      src/quickfix.c

The same problem occurs in qf_update_buffer() later on as noticed by the neovim 
guys.

Attached patch fixes it (and tests for it).

Best,
Christian
-- 
"Vis superba formae." Ein schönes Wort von Johannes Secundus.
                -- Goethe, Maximen und Reflektionen, Nr. 498

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
commit 58a07ec1567c4045b13b4990dce96026cb334971
Author: Christian Brabandt <c...@256bit.org>
Date:   Fri Jan 22 12:57:11 2016 +0100

    set quickfix title earlier

diff --git a/src/quickfix.c b/src/quickfix.c
index 014b93d..da405ed 100644
--- 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);
 
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index a4d0f20..5e68450 100644
--- 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

Raspunde prin e-mail lui