mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
updated for version 7.3.403
Problem: ":helpgrep" does not trigger QuickFixCmd* autocommands. Solution: Trigger the autocommands. (Christian Brabandt)
This commit is contained in:
@@ -3878,16 +3878,35 @@ ex_helpgrep(eap)
|
|||||||
qf_info_T *qi = &ql_info;
|
qf_info_T *qi = &ql_info;
|
||||||
int new_qi = FALSE;
|
int new_qi = FALSE;
|
||||||
win_T *wp;
|
win_T *wp;
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
|
char_u *au_name = NULL;
|
||||||
save_cpo = p_cpo;
|
#endif
|
||||||
p_cpo = empty_option;
|
|
||||||
|
|
||||||
#ifdef FEAT_MULTI_LANG
|
#ifdef FEAT_MULTI_LANG
|
||||||
/* Check for a specified language */
|
/* Check for a specified language */
|
||||||
lang = check_help_lang(eap->arg);
|
lang = check_help_lang(eap->arg);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
switch (eap->cmdidx)
|
||||||
|
{
|
||||||
|
case CMD_helpgrep: au_name = (char_u *)"helpgrep"; break;
|
||||||
|
case CMD_lhelpgrep: au_name = (char_u *)"lhelpgrep"; break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
if (au_name != NULL)
|
||||||
|
{
|
||||||
|
apply_autocmds(EVENT_QUICKFIXCMDPRE, au_name,
|
||||||
|
curbuf->b_fname, TRUE, curbuf);
|
||||||
|
if (did_throw || force_abort)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
|
||||||
|
save_cpo = p_cpo;
|
||||||
|
p_cpo = empty_option;
|
||||||
|
|
||||||
if (eap->cmdidx == CMD_lhelpgrep)
|
if (eap->cmdidx == CMD_lhelpgrep)
|
||||||
{
|
{
|
||||||
/* Find an existing help window */
|
/* Find an existing help window */
|
||||||
@@ -4036,6 +4055,17 @@ ex_helpgrep(eap)
|
|||||||
qf_update_buffer(qi);
|
qf_update_buffer(qi);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef FEAT_AUTOCMD
|
||||||
|
if (au_name != NULL)
|
||||||
|
{
|
||||||
|
apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
|
||||||
|
curbuf->b_fname, TRUE, curbuf);
|
||||||
|
if (!new_qi && qi != &ql_info && qf_find_buf(qi) == NULL)
|
||||||
|
/* autocommands made "qi" invalid */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Jump to first match. */
|
/* Jump to first match. */
|
||||||
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
|
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
|
||||||
qf_jump(qi, 0, 0, FALSE);
|
qf_jump(qi, 0, 0, FALSE);
|
||||||
|
@@ -714,6 +714,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 */
|
||||||
|
/**/
|
||||||
|
403,
|
||||||
/**/
|
/**/
|
||||||
402,
|
402,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user