forked from aniani/vim
updated for version 7.3.197
Problem: When a QuickfixCmdPost event removes all errors, Vim still tries to jump to the first error, resulting in E42. Solution: Get the number of error after the autocmd event. (Mike Lundy)
This commit is contained in:
parent
e659c95b01
commit
efa8e80c0b
@ -2813,17 +2813,21 @@ ex_make(eap)
|
|||||||
(eap->cmdidx != CMD_grepadd
|
(eap->cmdidx != CMD_grepadd
|
||||||
&& eap->cmdidx != CMD_lgrepadd),
|
&& eap->cmdidx != CMD_lgrepadd),
|
||||||
*eap->cmdlinep);
|
*eap->cmdlinep);
|
||||||
|
if (wp != NULL)
|
||||||
|
qi = GET_LOC_LIST(wp);
|
||||||
#ifdef FEAT_AUTOCMD
|
#ifdef FEAT_AUTOCMD
|
||||||
if (au_name != NULL)
|
if (au_name != NULL)
|
||||||
|
{
|
||||||
apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
|
apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
|
||||||
curbuf->b_fname, TRUE, curbuf);
|
curbuf->b_fname, TRUE, curbuf);
|
||||||
|
if (qi->qf_curlist < qi->qf_listcount)
|
||||||
|
res = qi->qf_lists[qi->qf_curlist].qf_count;
|
||||||
|
else
|
||||||
|
res = 0;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
if (res > 0 && !eap->forceit)
|
if (res > 0 && !eap->forceit)
|
||||||
{
|
|
||||||
if (wp != NULL)
|
|
||||||
qi = GET_LOC_LIST(wp);
|
|
||||||
qf_jump(qi, 0, 0, FALSE); /* display first error */
|
qf_jump(qi, 0, 0, FALSE); /* display first error */
|
||||||
}
|
|
||||||
|
|
||||||
mch_remove(fname);
|
mch_remove(fname);
|
||||||
vim_free(fname);
|
vim_free(fname);
|
||||||
|
@ -709,6 +709,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
197,
|
||||||
/**/
|
/**/
|
||||||
196,
|
196,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user