vim-patch:8.2.1984: cannot use :vimgrep in omni completion

Problem:    Cannot use :vimgrep in omni completion, causing C completion to
            fail.
Solution:   Add the EX_LOCK_OK flag to :vimgrep. (closes vim/vim#7292)
33aecb1f2c

Cherry-pick Test_resize_from_copen() indent change from patch 8.2.1432.
This commit is contained in:
zeertzjq
2022-07-17 13:11:46 +08:00
parent 7e79cb56c5
commit 656a1889ee
2 changed files with 76 additions and 16 deletions

View File

@@ -1636,13 +1636,13 @@ module.cmds = {
},
{
command='lvimgrep',
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
{
command='lvimgrepadd',
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
@@ -3073,13 +3073,13 @@ module.cmds = {
},
{
command='vimgrep',
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},
{
command='vimgrepadd',
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE),
flags=bit.bor(RANGE, BANG, NEEDARG, EXTRA, NOTRLCOM, TRLBAR, XFILE, LOCK_OK),
addr_type='ADDR_OTHER',
func='ex_vimgrep',
},

View File

@@ -3140,6 +3140,66 @@ func Test_resize_from_copen()
endtry
endfunc
func Test_vimgrep_with_textlock()
new
" Simple way to execute something with "textwinlock" set.
" Check that vimgrep without jumping can be executed.
au InsertCharPre * vimgrep /RunTheTest/j runtest.vim
normal ax
let qflist = getqflist()
call assert_true(len(qflist) > 0)
call assert_match('RunTheTest', qflist[0].text)
call setqflist([], 'r')
au! InsertCharPre
" Check that vimgrepadd without jumping can be executed.
au InsertCharPre * vimgrepadd /RunTheTest/j runtest.vim
normal ax
let qflist = getqflist()
call assert_true(len(qflist) > 0)
call assert_match('RunTheTest', qflist[0].text)
call setqflist([], 'r')
au! InsertCharPre
" Check that lvimgrep without jumping can be executed.
au InsertCharPre * lvimgrep /RunTheTest/j runtest.vim
normal ax
let qflist = getloclist(0)
call assert_true(len(qflist) > 0)
call assert_match('RunTheTest', qflist[0].text)
call setloclist(0, [], 'r')
au! InsertCharPre
" Check that lvimgrepadd without jumping can be executed.
au InsertCharPre * lvimgrepadd /RunTheTest/j runtest.vim
normal ax
let qflist = getloclist(0)
call assert_true(len(qflist) > 0)
call assert_match('RunTheTest', qflist[0].text)
call setloclist(0, [], 'r')
au! InsertCharPre
" trying to jump will give an error
au InsertCharPre * vimgrep /RunTheTest/ runtest.vim
call assert_fails('normal ax', 'E565:')
au! InsertCharPre
au InsertCharPre * vimgrepadd /RunTheTest/ runtest.vim
call assert_fails('normal ax', 'E565:')
au! InsertCharPre
au InsertCharPre * lvimgrep /RunTheTest/ runtest.vim
call assert_fails('normal ax', 'E565:')
au! InsertCharPre
au InsertCharPre * lvimgrepadd /RunTheTest/ runtest.vim
call assert_fails('normal ax', 'E565:')
au! InsertCharPre
bwipe!
endfunc
" Tests for the quickfix buffer b:changedtick variable
func Xchangedtick_tests(cchar)
call s:setup_commands(a:cchar)