diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-01-30 07:34:37 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-30 07:34:37 +0800 |
commit | a2070ba8773ca264f68a4cfb50cb3d12219838e7 (patch) | |
tree | 57ab3803bb61f7070d5227ef61c71be21090af9f /test/functional | |
parent | be5cf338362244a944cdeebf07520f85d7d93226 (diff) | |
download | rneovim-a2070ba8773ca264f68a4cfb50cb3d12219838e7.tar.gz rneovim-a2070ba8773ca264f68a4cfb50cb3d12219838e7.tar.bz2 rneovim-a2070ba8773ca264f68a4cfb50cb3d12219838e7.zip |
vim-patch:9.1.0065: Segfault with CompleteChanged autocommand (#27261)
Problem: Segfault with CompleteChanged autocommand
(markonm )
Solution: Test match->cp_prev for being NULL before accessing it
closes: vim/vim#13929
https://github.com/vim/vim/commit/fef66301665027f1801a18d796f74584666f41ef
Co-authored-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'test/functional')
-rw-r--r-- | test/functional/editor/completion_spec.lua | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/test/functional/editor/completion_spec.lua b/test/functional/editor/completion_spec.lua index a7704fe12b..33d0d47499 100644 --- a/test/functional/editor/completion_spec.lua +++ b/test/functional/editor/completion_spec.lua @@ -1078,7 +1078,24 @@ describe('completion', function() ]]) end) - it('does not crash if text is changed by first call to complete function #17489', function() + -- oldtest: Test_complete_changed_complete_info() + it('no crash calling complete_info() in CompleteChanged', function() + source([[ + set completeopt=menuone + autocmd CompleteChanged * call complete_info(['items']) + call feedkeys("iii\<cr>\<c-p>") + ]]) + screen:expect([[ + ii | + ii^ | + {2:ii }{0: }| + {0:~ }|*4 + {3:-- Keyword completion (^N^P) The only match} | + ]]) + assert_alive() + end) + + it('no crash if text changed by first call to complete function #17489', function() source([[ func Complete(findstart, base) abort if a:findstart @@ -1097,7 +1114,7 @@ describe('completion', function() assert_alive() end) - it('does not crash when using i_CTRL-X_CTRL-V to complete non-existent colorscheme', function() + it('no crash using i_CTRL-X_CTRL-V to complete non-existent colorscheme', function() feed('icolorscheme NOSUCHCOLORSCHEME<C-X><C-V>') expect('colorscheme NOSUCHCOLORSCHEME') assert_alive() |