Mercurial > vim
diff src/testdir/test_iminsert.vim @ 26452:65b4109a4297 v8.2.3756
patch 8.2.3756: might crash when callback is not valid
Commit: https://github.com/vim/vim/commit/4dc24eb5adbcc76838fae1e900936dd230209d96
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Dec 7 12:23:57 2021 +0000
patch 8.2.3756: might crash when callback is not valid
Problem: might crash when callback is not valid.
Solution: Check for valid callback. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/9293)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 07 Dec 2021 13:30:05 +0100 |
parents | 65ab0b035dd8 |
children | 13ba00ef7687 |
line wrap: on
line diff
--- a/src/testdir/test_iminsert.vim +++ b/src/testdir/test_iminsert.vim @@ -257,6 +257,19 @@ func Test_imactivatefunc_imstatusfunc_ca set imstatusfunc=()\ =>\ IMstatusfunc1(a) call assert_fails('normal! i', 'E117:') + " set 'imactivatefunc' and 'imstatusfunc' to a non-existing function + set imactivatefunc=IMactivatefunc1 + set imstatusfunc=IMstatusfunc1 + call assert_fails("set imactivatefunc=function('NonExistingFunc')", 'E700:') + call assert_fails("set imstatusfunc=function('NonExistingFunc')", 'E700:') + call assert_fails("let &imactivatefunc = function('NonExistingFunc')", 'E700:') + call assert_fails("let &imstatusfunc = function('NonExistingFunc')", 'E700:') + let g:IMactivatefunc_called = 0 + let g:IMstatusfunc_called = 0 + normal! i + call assert_equal(2, g:IMactivatefunc_called) + call assert_equal(2, g:IMstatusfunc_called) + " cleanup delfunc IMactivatefunc1 delfunc IMstatusfunc1