Update modules.c

This commit is contained in:
blueloveTH 2025-03-01 17:01:36 +08:00
parent 68273017b8
commit 05764225d7

View File

@ -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, "<string>", 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, ...) {