summaryrefslogtreecommitdiff
path: root/src/quickfix.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-03-18 21:00:51 +0100
committerBram Moolenaar <Bram@vim.org>2016-03-18 21:00:51 +0100
commit5584df65a0ca2315d1eebc13c54a448bee4d0758 (patch)
tree496f385985c5f9a36945328c3b8ca3d4395f587c /src/quickfix.c
parent3f242a844e83a5a04943869f6e3bcbf8650dc465 (diff)
downloadvim-git-5584df65a0ca2315d1eebc13c54a448bee4d0758.tar.gz
patch 7.4.1591v7.4.1591
Problem: The quickfix title is truncated. Solution: Save the command before it is truncated. (Anton Lindqvist)
Diffstat (limited to 'src/quickfix.c')
-rw-r--r--src/quickfix.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/quickfix.c b/src/quickfix.c
index eb6433eaf..8dfad2ec8 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3286,6 +3286,7 @@ ex_vimgrep(exarg_T *eap)
int fcount;
char_u **fnames;
char_u *fname;
+ char_u *title;
char_u *s;
char_u *p;
int fi;
@@ -3354,6 +3355,7 @@ ex_vimgrep(exarg_T *eap)
/* 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 @@ ex_vimgrep(exarg_T *eap)
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 @@ ex_vimgrep(exarg_T *eap)
}
theend:
+ vim_free(title);
vim_free(dirname_now);
vim_free(dirname_start);
vim_free(target_dir);