1
0
forked from aniani/vim

patch 8.2.3163: location list window may open a wrong file

Problem:    Location list window may open a wrong file.
Solution:   Also update the qf_ptr field. (Wei-Chung Wen, closes #8565,
            closes #8566)
This commit is contained in:
Wei-Chung Wen
2021-07-15 13:13:39 +02:00
committed by Bram Moolenaar
parent 1a71d31bf3
commit 1557b16dad
3 changed files with 36 additions and 0 deletions

View File

@@ -3461,6 +3461,7 @@ qf_jump_newwin(qf_info_T *qi,
}
qfl->qf_index = qf_index;
qfl->qf_ptr = qf_ptr;
if (qf_win_pos_update(qi, old_qf_index))
// No need to print the error message if it's visible in the error
// window

View File

@@ -5554,4 +5554,37 @@ func Test_vimgrep_fuzzy_match()
call delete('Xfile2')
endfunc
func Test_locationlist_open_in_newtab()
call s:create_test_file('Xqftestfile1')
call s:create_test_file('Xqftestfile2')
call s:create_test_file('Xqftestfile3')
%bwipe!
lgetexpr ['Xqftestfile1:5:Line5',
\ 'Xqftestfile2:10:Line10',
\ 'Xqftestfile3:16:Line16']
silent! llast
call assert_equal(1, tabpagenr('$'))
call assert_equal('Xqftestfile3', bufname())
set switchbuf=newtab
silent! lfirst
call assert_equal(2, tabpagenr('$'))
call assert_equal('Xqftestfile1', bufname())
silent! lnext
call assert_equal(3, tabpagenr('$'))
call assert_equal('Xqftestfile2', bufname())
call delete('Xqftestfile1')
call delete('Xqftestfile2')
call delete('Xqftestfile3')
set switchbuf&vim
%bwipe!
endfunc
" vim: shiftwidth=2 sts=2 expandtab

View File

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