0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 9.0.0097: long quickfix line is truncated for :clist

Problem:    Long quickfix line is truncated for :clist.
Solution:   Allocate a buffer if needed.
This commit is contained in:
Bram Moolenaar
2022-07-28 11:56:01 +01:00
parent f6782732ab
commit 5f30e26f69
3 changed files with 35 additions and 7 deletions

View File

@@ -3622,13 +3622,31 @@ qf_list_entry(qfline_T *qfp, int qf_idx, int cursel)
}
msg_puts(" ");
// Remove newlines and leading whitespace from the text. For an
// unrecognized line keep the indent, the compiler may mark a word
// with ^^^^.
qf_fmt_text((fname != NULL || qfp->qf_lnum != 0)
? skipwhite(qfp->qf_text) : qfp->qf_text,
IObuff, IOSIZE);
msg_prt_line(IObuff, FALSE);
{
char_u *tbuf = IObuff;
size_t tbuflen = IOSIZE;
size_t len = STRLEN(qfp->qf_text) + 3;
if (len > IOSIZE)
{
tbuf = alloc(len);
if (tbuf != NULL)
tbuflen = len;
else
tbuf = IObuff;
}
// Remove newlines and leading whitespace from the text. For an
// unrecognized line keep the indent, the compiler may mark a word
// with ^^^^.
qf_fmt_text((fname != NULL || qfp->qf_lnum != 0)
? skipwhite(qfp->qf_text) : qfp->qf_text,
tbuf, tbuflen);
msg_prt_line(tbuf, FALSE);
if (tbuf != IObuff)
vim_free(tbuf);
}
out_flush(); // show one line at a time
}