From: Christian Brabandt Date: Thu, 9 Sep 2021 10:12:03 +0000 (+0200) Subject: patch 8.2.3418: garbage collection while evaluating may cause trouble X-Git-Tag: v8.2.3418 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=070ac3433b0ebefd6dc6cd49707fcfa1421b9e67;p=vim patch 8.2.3418: garbage collection while evaluating may cause trouble Problem: Garbage collection while evaluating may cause trouble. Solution: Disable garbage collection while evaluating an expression. (Christian Brabandt, issue #8848) --- diff --git a/src/eval.c b/src/eval.c index 6b3d78aa6..aceba5e2d 100644 --- a/src/eval.c +++ b/src/eval.c @@ -561,16 +561,19 @@ eval_to_string_safe( char_u *retval; funccal_entry_T funccal_entry; int save_sc_version = current_sctx.sc_version; + int save_garbage = may_garbage_collect; current_sctx.sc_version = 1; save_funccal(&funccal_entry); if (use_sandbox) ++sandbox; ++textwinlock; + may_garbage_collect = FALSE; retval = eval_to_string(arg, FALSE); if (use_sandbox) --sandbox; --textwinlock; + may_garbage_collect = save_garbage; restore_funccal(); current_sctx.sc_version = save_sc_version; return retval; diff --git a/src/version.c b/src/version.c index 41b79a713..b6216e98b 100644 --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3418, /**/ 3417, /**/