patch 7.4.1591
Problem: The quickfix title is truncated.
Solution: Save the command before it is truncated. (Anton Lindqvist)
diff --git a/src/quickfix.c b/src/quickfix.c
index eb6433e..8dfad2e 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3286,6 +3286,7 @@
int fcount;
char_u **fnames;
char_u *fname;
+ char_u *title;
char_u *s;
char_u *p;
int fi;
@@ -3354,6 +3355,7 @@
/* Get the search pattern: either white-separated or enclosed in // */
regmatch.regprog = NULL;
+ title = vim_strsave(*eap->cmdlinep);
p = skip_vimgrep_pat(eap->arg, &s, &flags);
if (p == NULL)
{
@@ -3390,7 +3392,7 @@
eap->cmdidx != CMD_vimgrepadd && eap->cmdidx != CMD_lvimgrepadd)
|| qi->qf_curlist == qi->qf_listcount)
/* make place for a new list */
- qf_new_list(qi, *eap->cmdlinep);
+ qf_new_list(qi, title != NULL ? title : *eap->cmdlinep);
else if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
/* Adding to existing list, find last entry. */
for (prevp = qi->qf_lists[qi->qf_curlist].qf_start;
@@ -3669,6 +3671,7 @@
}
theend:
+ vim_free(title);
vim_free(dirname_now);
vim_free(dirname_start);
vim_free(target_dir);
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index d551feb..5982aee 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -317,6 +317,23 @@
augroup! QfBufWinEnter
endfunc
+func Test_vimgreptitle()
+ augroup QfBufWinEnter
+ au!
+ au BufWinEnter * :let g:a=get(w:, 'quickfix_title', 'NONE')
+ augroup END
+ try
+ vimgrep /pattern/j file
+ catch /E480/
+ endtry
+ copen
+ call assert_equal(': vimgrep /pattern/j file', g:a)
+ augroup QfBufWinEnter
+ au!
+ augroup END
+ augroup! QfBufWinEnter
+endfunc
+
function XqfTitleTests(cchar)
let Xgetexpr = a:cchar . 'getexpr'
if a:cchar == 'c'
diff --git a/src/version.c b/src/version.c
index a64d608..f2e7d67 100644
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1591,
+/**/
1590,
/**/
1589,