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

patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic

Problem:    Running lhelpgrep twice in a help window doesn't jump to the help
            topic.
Solution:   Check whether any window with the location list is present.
            (Yegappan Lakshmanan, closes #6215)
This commit is contained in:
Bram Moolenaar
2020-06-08 19:35:59 +02:00
parent 7ba5a7eff3
commit ec98e93a82
3 changed files with 23 additions and 2 deletions

View File

@@ -7963,9 +7963,10 @@ ex_helpgrep(exarg_T *eap)
{
apply_autocmds(EVENT_QUICKFIXCMDPOST, au_name,
curbuf->b_fname, TRUE, curbuf);
if (!new_qi && IS_LL_STACK(qi) && qf_find_buf(qi) == NULL)
// When adding a location list to an existing location list stack,
// if the autocmd made the stack invalid, then just return.
if (!new_qi && IS_LL_STACK(qi) && qf_find_win_with_loclist(qi) == NULL)
{
// autocommands made "qi" invalid
decr_quickfix_busy();
return;
}

View File

@@ -4918,4 +4918,22 @@ func Test_qftextfunc()
call Xtest_qftextfunc('l')
endfunc
" Running :lhelpgrep command more than once in a help window, doesn't jump to
" the help topic
func Test_lhelpgrep_from_help_window()
call mkdir('Xtestdir/doc', 'p')
call writefile(['window'], 'Xtestdir/doc/a.txt')
call writefile(['buffer'], 'Xtestdir/doc/b.txt')
let save_rtp = &rtp
let &rtp = 'Xtestdir'
lhelpgrep window
lhelpgrep buffer
call assert_equal('b.txt', fnamemodify(@%, ":p:t"))
lhelpgrep window
call assert_equal('a.txt', fnamemodify(@%, ":p:t"))
let &rtp = save_rtp
call delete('Xtestdir', 'rf')
new | only!
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

@@ -754,6 +754,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
934,
/**/
933,
/**/