1
0
forked from aniani/vim

updated for version 7.3.403

Problem:    ":helpgrep" does not trigger QuickFixCmd* autocommands.
Solution:   Trigger the autocommands. (Christian Brabandt)
This commit is contained in:
Bram Moolenaar
2012-01-20 13:39:07 +01:00
parent 8f55d103db
commit 73633f84d6
2 changed files with 36 additions and 4 deletions

View File

@@ -3878,16 +3878,35 @@ ex_helpgrep(eap)
qf_info_T *qi = &ql_info;
int new_qi = FALSE;
win_T *wp;
/* Make 'cpoptions' empty, the 'l' flag should not be used here. */
save_cpo = p_cpo;
p_cpo = empty_option;
#ifdef FEAT_AUTOCMD
char_u *au_name = NULL;
#endif
#ifdef FEAT_MULTI_LANG
/* Check for a specified language */
lang = check_help_lang(eap->arg);
#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)
{
/* Find an existing help window */
@@ -4036,6 +4055,17 @@ ex_helpgrep(eap)
qf_update_buffer(qi);
#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. */
if (qi->qf_lists[qi->qf_curlist].qf_count > 0)
qf_jump(qi, 0, 0, FALSE);