diff options
author | Christian Brabandt <cb@256bit.org> | 2024-01-29 21:46:58 +0100 |
---|---|---|
committer | Christian Brabandt <cb@256bit.org> | 2024-01-29 21:49:36 +0100 |
commit | fef66301665027f1801a18d796f74584666f41ef (patch) | |
tree | 5c60cc93730d095b5dd021fe4355a2a51a7b6b32 /src/testdir | |
parent | 6e0a18f82bd04a45e9682523c42af9cbbc37684c (diff) |
patch 9.1.0065: Segfault with CompleteChanged autocommandv9.1.0065
Problem: Segfault with CompleteChanged autocommand
(markonm )
Solution: Test match->cp_prev for being NULL before accessing it
closes: #13929
Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_ins_complete.vim | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index 61ddcd378b..1b6eafe8f0 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -2359,4 +2359,18 @@ func Test_complete_info_index() bwipe! endfunc -" vim: shiftwidth=2 sts=2 expandtab +func Test_complete_changed_complete_info() + CheckRunVimInTerminal + " this used to crash vim, see #13929 + let lines =<< trim END + set completeopt=menuone + autocmd CompleteChanged * call complete_info(['items']) + call feedkeys("iii\<cr>\<c-p>") + END + call writefile(lines, 'Xsegfault', 'D') + let buf = RunVimInTerminal('-S Xsegfault', #{rows: 5}) + call WaitForAssert({-> assert_match('^ii', term_getline(buf, 1))}, 1000) + call StopVimInTerminal(buf) +endfunc + +" vim: shiftwidth=2 sts=2 expandtab nofoldenable |