mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
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 vim/vim#8565,
closes vim/vim#8566)
1557b16dad
This commit is contained in:
parent
64ad770fbe
commit
8738ce8c41
@ -3014,6 +3014,7 @@ static void qf_jump_newwin(qf_info_T *qi, int dir, int errornr, int forceit,
|
||||
}
|
||||
|
||||
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
|
||||
|
@ -5258,4 +5258,37 @@ func Test_qftextfunc_other_loclist()
|
||||
%bw!
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user