diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-11-14 17:25:51 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-11-14 17:25:51 +0100 |
commit | 33aecb1f2c85711d53858b71f5f3c2cbe076435f (patch) | |
tree | 016b412ce49af282744f25ca2bbe7331c488d245 | |
parent | f4d61bc559f8cb6adc4880183a4fd216865c0c30 (diff) | |
download | vim-git-33aecb1f2c85711d53858b71f5f3c2cbe076435f.tar.gz |
patch 8.2.1984: cannot use :vimgrep in omni completionv8.2.1984
Problem: Cannot use :vimgrep in omni completion, causing C completion to
fail.
Solution: Add the EX_LOCK_OK flag to :vimgrep. (closes #7292)
-rw-r--r-- | src/ex_cmds.h | 8 | ||||
-rw-r--r-- | src/testdir/test_quickfix.vim | 60 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 66 insertions, 4 deletions
diff --git a/src/ex_cmds.h b/src/ex_cmds.h index 4fe62cafe..88734843c 100644 --- a/src/ex_cmds.h +++ b/src/ex_cmds.h @@ -929,10 +929,10 @@ EXCMD(CMD_luafile, "luafile", ex_luafile, EX_RANGE|EX_FILE1|EX_NEEDARG|EX_CMDWIN|EX_LOCK_OK|EX_RESTRICT, ADDR_LINES), EXCMD(CMD_lvimgrep, "lvimgrep", ex_vimgrep, - EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE, + EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_lvimgrepadd, "lvimgrepadd", ex_vimgrep, - EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE, + EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_lwindow, "lwindow", ex_cwindow, EX_RANGE|EX_COUNT|EX_TRLBAR, @@ -1673,10 +1673,10 @@ EXCMD(CMD_view, "view", ex_edit, EX_BANG|EX_FILE1|EX_CMDARG|EX_ARGOPT|EX_TRLBAR, ADDR_NONE), EXCMD(CMD_vimgrep, "vimgrep", ex_vimgrep, - EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE, + EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_vimgrepadd, "vimgrepadd", ex_vimgrep, - EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE, + EX_RANGE|EX_BANG|EX_NEEDARG|EX_EXTRA|EX_NOTRLCOM|EX_TRLBAR|EX_XFILE|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_vim9script, "vim9script", ex_vim9script, EX_CMDWIN|EX_LOCK_OK, diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 395ecc6e1..cbdc610bb 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -3091,6 +3091,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) diff --git a/src/version.c b/src/version.c index 43cd9cb23..8d21a4aab 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1984, +/**/ 1983, /**/ 1982, |