patch 8.2.2217: Vim9: command modifiers not restored in catch block
Problem: Vim9: command modifiers not restored in catch block.
Solution: Restore command modifiers. (closes #7542)
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 4150592..4d88991 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -2286,6 +2286,13 @@
{
garray_T *trystack = &ectx.ec_trystack;
+ if (restore_cmdmod)
+ {
+ cmdmod.cmod_filter_regmatch.regprog = NULL;
+ undo_cmdmod(&cmdmod);
+ cmdmod = save_cmdmod;
+ restore_cmdmod = FALSE;
+ }
if (trystack->ga_len > 0)
{
trycmd_T *trycmd = ((trycmd_T *)trystack->ga_data)