patch 8.2.3609: internal error when ModeChanged is triggered recursively
Problem: Internal error when ModeChanged is triggered when v:event is
already in use.
Solution: Save and restore v:event if needed.
diff --git a/src/testdir/test_edit.vim b/src/testdir/test_edit.vim
index 0abc47a..957f248 100644
--- a/src/testdir/test_edit.vim
+++ b/src/testdir/test_edit.vim
@@ -2034,6 +2034,12 @@
unlet! g:i_to_any
endfunc
+func Test_recursive_ModeChanged()
+ au! ModeChanged * norm 0u
+ sil! norm
+ au!
+endfunc
+
" Test toggling of input method. See :help i_CTRL-^
func Test_edit_CTRL_hat()
CheckFeature xim