From 05764225d72b6e03ec5b0cc88a4cce080f39d389 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Sat, 1 Mar 2025 17:01:36 +0800 Subject: [PATCH] Update modules.c --- src/public/modules.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/public/modules.c b/src/public/modules.c index 9adcd670..a6fec4e2 100644 --- a/src/public/modules.c +++ b/src/public/modules.c @@ -619,8 +619,8 @@ static bool builtins_eval(int argc, py_Ref argv) { static bool pk_smartexec(const char* source, py_Ref module, enum py_CompileMode mode, va_list args) { if(module == NULL) module = &pk_current_vm->main; - pk_mappingproxy__namedict(py_pushtmp(), module); // globals - py_newdict(py_pushtmp()); // locals + py_newglobals(py_pushtmp()); // globals + py_newdict(py_pushtmp()); // locals bool ok = py_compile(source, "", mode, true); if(!ok) return false; py_push(py_retval()); @@ -658,7 +658,10 @@ static bool py_dict_setitem_by_str(locals, "_", val); } } - return pk_exec(co, module); + ok = pk_execdyn(co, module, py_peek(-3), locals); + if(!ok) return false; + py_shrink(3); + return true; } bool py_smartexec(const char* source, py_Ref module, ...) {