diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-10-13 12:18:51 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-13 12:18:51 +0800 |
| commit | b55742fafd7f04f0441aa5a2fdfa46cc29e1f3b3 (patch) | |
| tree | 71e353d9378d9f70ef2616e1f1c8d090a6bda90a /src/nvim/testdir | |
| parent | 186c489fd6b1073feefef0e2c3774d908bd06615 (diff) | |
| parent | f72ae4514c51bb2a7c0fdfc8e2a469037dd36666 (diff) | |
| download | rneovim-b55742fafd7f04f0441aa5a2fdfa46cc29e1f3b3.tar.gz rneovim-b55742fafd7f04f0441aa5a2fdfa46cc29e1f3b3.tar.bz2 rneovim-b55742fafd7f04f0441aa5a2fdfa46cc29e1f3b3.zip | |
Merge pull request #20630 from zeertzjq/vim-9.0.0260
vim-patch:9.0.{0260,0286}: quickfix fixes
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_quickfix.vim | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_quickfix.vim b/src/nvim/testdir/test_quickfix.vim index e19766775d..4802d1f188 100644 --- a/src/nvim/testdir/test_quickfix.vim +++ b/src/nvim/testdir/test_quickfix.vim @@ -5839,4 +5839,69 @@ func Test_getqflist_wiped_out_buffer() %bw! endfunc +" Test for the status message that is displayed when opening a new quickfix +" list +func Test_qflist_statusmsg() + cexpr "1\n2" + cexpr "1\n2\n3\ntest_quickfix.vim:1:msg" + call assert_equal('(4 of 4): msg', v:statusmsg) + call setqflist([], 'f') + %bw! + + " When creating a new quickfix list, if an autocmd changes the quickfix list + " in the stack, then an error message should be displayed. + augroup QF_Test + au! + au BufEnter test_quickfix.vim colder + augroup END + cexpr "1\n2" + call assert_fails('cexpr "1\n2\n3\ntest_quickfix.vim:1:msg"', 'E925:') + call setqflist([], 'f') + augroup QF_Test + au! + augroup END + %bw! + + augroup QF_Test + au! + au BufEnter test_quickfix.vim caddexpr "4" + augroup END + call assert_fails('cexpr "1\n2\n3\ntest_quickfix.vim:1:msg"', 'E925:') + call setqflist([], 'f') + augroup QF_Test + au! + augroup END + %bw! +endfunc + +func Test_quickfixtextfunc_recursive() + func s:QFTfunc(o) + cgete '0' + endfunc + copen + let &quickfixtextfunc = 's:QFTfunc' + cex "" + + let &quickfixtextfunc = '' + cclose +endfunc + +" Test for replacing the location list from an autocmd. This used to cause a +" read from freed memory. +func Test_loclist_replace_autocmd() + %bw! + call setloclist(0, [], 'f') + let s:bufnr = bufnr() + cal setloclist(0, [{'0': 0, '': ''}]) + au BufEnter * cal setloclist(1, [{'t': ''}, {'bufnr': s:bufnr}], 'r') + lopen + try + exe "norm j\<CR>" + catch + endtry + lnext + %bw! + call setloclist(0, [], 'f') +endfunc + " vim: shiftwidth=2 sts=2 expandtab |