diff --git a/Project.toml b/Project.toml index f9b793f..8a2eb36 100644 --- a/Project.toml +++ b/Project.toml @@ -1,6 +1,6 @@ name = "Infiltrator" uuid = "5903a43b-9cc3-4c30-8d17-598619ec4e9b" -version = "1.8.4" +version = "1.8.5" [deps] InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240" diff --git a/src/Infiltrator.jl b/src/Infiltrator.jl index ef1ab3d..dbbf5a4 100644 --- a/src/Infiltrator.jl +++ b/src/Infiltrator.jl @@ -525,12 +525,13 @@ function init_transient_eval_module(mod, locals) Expr(:call, Symbol("__MODULE__")), Expr(:block, mod)) ) + haskey(modns, Symbol("@__MODULE__")) && delete!(modns, Symbol("@__MODULE__")) # insert local variables into current scope Core.eval(newmod, Expr(:block, map(x->Expr(:(=), x...), [(k, maybe_quote(v)) for (k, v) in locals])...)) # insert variables in safehouse Core.eval(newmod, Expr(:block, map(x->Expr(:(=), x...), [(k, maybe_quote(v)) for (k, v) in get_store_names() if !isdefined(newmod, k)])...)) # insert all bindings from the source module that aren't already defined in the eval module - Core.eval(newmod, Expr(:block, map(x->Expr(:global, Expr(:(=), x...)), [(k, maybe_quote(v)) for (k, v) in modns if !isdefined(newmod, k)])...)) + Core.eval(newmod, Expr(:block, map(x->Expr(:(=), x...), [(k, maybe_quote(v)) for (k, v) in modns if !isdefined(newmod, k)])...)) return newmod end