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:
committed by
Bram Moolenaar
parent
1a71d31bf3
commit
1557b16dad
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -755,6 +755,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
3163,
|
||||
/**/
|
||||
3162,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user