mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.1.0259: no test for fixed quickfix issue
Problem: No test for fixed quickfix issue. Solution: Add a test. Clean up the code a bit. (Yegappan Lakshmanan)
This commit is contained in:
parent
af559d2c9f
commit
3f347e4716
@ -1506,7 +1506,6 @@ qf_list_empty(qf_info_T *qi, int qf_idx)
|
|||||||
return qi->qf_lists[qf_idx].qf_count <= 0;
|
return qi->qf_lists[qf_idx].qf_count <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allocate the fields used for parsing lines and populating a quickfix list.
|
* Allocate the fields used for parsing lines and populating a quickfix list.
|
||||||
*/
|
*/
|
||||||
@ -3717,7 +3716,7 @@ qf_view_result(int split)
|
|||||||
if (IS_LL_WINDOW(curwin))
|
if (IS_LL_WINDOW(curwin))
|
||||||
qi = GET_LOC_LIST(curwin);
|
qi = GET_LOC_LIST(curwin);
|
||||||
|
|
||||||
if (qi == NULL || qi->qf_lists[qi->qf_curlist].qf_count == 0)
|
if (qf_list_empty(qi, qi->qf_curlist))
|
||||||
{
|
{
|
||||||
EMSG(_(e_quickfix));
|
EMSG(_(e_quickfix));
|
||||||
return;
|
return;
|
||||||
@ -4349,7 +4348,8 @@ qf_jump_first(qf_info_T *qi, int_u save_qfid, int forceit)
|
|||||||
if (qi->qf_lists[qi->qf_curlist].qf_id != save_qfid)
|
if (qi->qf_lists[qi->qf_curlist].qf_id != save_qfid)
|
||||||
qi->qf_curlist = qf_id2nr(qi, save_qfid);
|
qi->qf_curlist = qf_id2nr(qi, save_qfid);
|
||||||
|
|
||||||
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
|
// Autocommands might have cleared the list, check for it
|
||||||
|
if (!qf_list_empty(qi, qi->qf_curlist))
|
||||||
qf_jump(qi, 0, 0, forceit);
|
qf_jump(qi, 0, 0, forceit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4873,10 +4873,8 @@ ex_cfile(exarg_T *eap)
|
|||||||
// free the list.
|
// free the list.
|
||||||
if (res > 0 && (eap->cmdidx == CMD_cfile || eap->cmdidx == CMD_lfile)
|
if (res > 0 && (eap->cmdidx == CMD_cfile || eap->cmdidx == CMD_lfile)
|
||||||
&& qflist_valid(wp, save_qfid))
|
&& qflist_valid(wp, save_qfid))
|
||||||
{
|
|
||||||
// display the first error
|
// display the first error
|
||||||
qf_jump_first(qi, save_qfid, eap->forceit);
|
qf_jump_first(qi, save_qfid, eap->forceit);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -6581,12 +6579,10 @@ ex_cbuffer(exarg_T *eap)
|
|||||||
if (res > 0 && (eap->cmdidx == CMD_cbuffer ||
|
if (res > 0 && (eap->cmdidx == CMD_cbuffer ||
|
||||||
eap->cmdidx == CMD_lbuffer)
|
eap->cmdidx == CMD_lbuffer)
|
||||||
&& qflist_valid(wp, save_qfid))
|
&& qflist_valid(wp, save_qfid))
|
||||||
{
|
|
||||||
// display the first error
|
// display the first error
|
||||||
qf_jump_first(qi, save_qfid, eap->forceit);
|
qf_jump_first(qi, save_qfid, eap->forceit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(FEAT_EVAL) || defined(PROTO)
|
#if defined(FEAT_EVAL) || defined(PROTO)
|
||||||
@ -6661,11 +6657,9 @@ ex_cexpr(exarg_T *eap)
|
|||||||
if (res > 0 && (eap->cmdidx == CMD_cexpr
|
if (res > 0 && (eap->cmdidx == CMD_cexpr
|
||||||
|| eap->cmdidx == CMD_lexpr)
|
|| eap->cmdidx == CMD_lexpr)
|
||||||
&& qflist_valid(wp, save_qfid))
|
&& qflist_valid(wp, save_qfid))
|
||||||
{
|
|
||||||
// display the first error
|
// display the first error
|
||||||
qf_jump_first(qi, save_qfid, eap->forceit);
|
qf_jump_first(qi, save_qfid, eap->forceit);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
else
|
||||||
EMSG(_("E777: String or List expected"));
|
EMSG(_("E777: String or List expected"));
|
||||||
free_tv(tv);
|
free_tv(tv);
|
||||||
|
@ -3478,6 +3478,30 @@ func Xautocmd_changelist(cchar)
|
|||||||
call assert_equal(5, line('.'))
|
call assert_equal(5, line('.'))
|
||||||
autocmd! QuickFixCmdPost
|
autocmd! QuickFixCmdPost
|
||||||
|
|
||||||
|
" Test for autocommands clearing the quickfix list before jumping to the
|
||||||
|
" first error. This should not result in an error
|
||||||
|
autocmd QuickFixCmdPost * call g:Xsetlist([], 'r')
|
||||||
|
let v:errmsg = ''
|
||||||
|
" Test for cfile/lfile
|
||||||
|
Xfile Xerr
|
||||||
|
call assert_true(v:errmsg !~# 'E42:')
|
||||||
|
" Test for cbuffer/lbuffer
|
||||||
|
edit Xerr
|
||||||
|
Xbuffer
|
||||||
|
call assert_true(v:errmsg !~# 'E42:')
|
||||||
|
" Test for cexpr/lexpr
|
||||||
|
Xexpr 'Xtestfile2:4:Line4'
|
||||||
|
call assert_true(v:errmsg !~# 'E42:')
|
||||||
|
" Test for grep/lgrep
|
||||||
|
" The grepprg may not be set on non-Unix systems
|
||||||
|
if has('unix')
|
||||||
|
silent Xgrep Line5 Xtestfile2
|
||||||
|
call assert_true(v:errmsg !~# 'E42:')
|
||||||
|
endif
|
||||||
|
" Test for vimgrep/lvimgrep
|
||||||
|
call assert_fails('silent Xvimgrep Line5 Xtestfile2', 'E480:')
|
||||||
|
autocmd! QuickFixCmdPost
|
||||||
|
|
||||||
call delete('Xerr')
|
call delete('Xerr')
|
||||||
call delete('Xtestfile1')
|
call delete('Xtestfile1')
|
||||||
call delete('Xtestfile2')
|
call delete('Xtestfile2')
|
||||||
|
@ -794,6 +794,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 */
|
||||||
|
/**/
|
||||||
|
259,
|
||||||
/**/
|
/**/
|
||||||
258,
|
258,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user