From 7bdb606d4958c5ab8671cee0b835d5fb440d1c67 Mon Sep 17 00:00:00 2001 From: Henrik Bengtsson Date: Thu, 2 Jan 2025 19:51:36 -0800 Subject: [PATCH] evalFuture(): Name local() environment 'future:evalenv' --- R/expressions.R | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/R/expressions.R b/R/expressions.R index 9644e9f4..7fdbc36d 100644 --- a/R/expressions.R +++ b/R/expressions.R @@ -314,7 +314,12 @@ evalFuture <- function( ## ----------------------------------------------------------------- ## Evaluate expression in a local() environment? if (local) { - tmpl_expr_local <- bquote_compile(base::local(.(expr))) + tmpl_expr_local <- bquote_compile(base::local({ + env <- base::environment() + base::attr(env, "name") <- "future:evalenv" + base::rm(list = "env") + .(expr) + })) expr <- bquote_apply(tmpl_expr_local) ## WORKAROUND: This makes assumption about withCallingHandlers() ## and local(). In case this changes, provide internal options to