patch 8.2.2725: Vim9: message about compiling is wrong when using try/catch
Problem: Vim9: message about compiling is wrong when using try/catch.
Solution: Store the compiling flag with the message. (closes #8071)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index b4e3553..c8cb11b 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1266,7 +1266,7 @@
if (did_throw)
{
char *p = NULL;
- msglist_T *messages = NULL, *next;
+ msglist_T *messages = NULL;
/*
* If the uncaught exception is a user exception, report it as an
@@ -1303,12 +1303,16 @@
{
do
{
- next = messages->next;
+ msglist_T *next = messages->next;
+ int save_compiling = estack_compiling;
+
+ estack_compiling = messages->msg_compiling;
emsg(messages->msg);
vim_free(messages->msg);
vim_free(messages->sfile);
vim_free(messages);
messages = next;
+ estack_compiling = save_compiling;
}
while (messages != NULL);
}