summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-03-25 11:57:59 +1100
committerDamien George <damien@micropython.org>2022-03-28 16:09:58 +1100
commitb312a7abf5504d0e68846d5728c09899119f2621 (patch)
tree5867d964dec1c41aab7c4a0ce8e23a041404ccd6
parent6d11c69983f8084459e5bb037d931d5e2d283c78 (diff)
py/builtinimport: Alias sys to usys if import weak links aren't enabled.
The sys module should always be available (if it's compiled in), eg to change sys.path for importing. So provide an explicit alias from "sys" to "usys" so that "import sys" can always work. Signed-off-by: Damien George <damien@micropython.org>
-rw-r--r--py/builtinimport.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/py/builtinimport.c b/py/builtinimport.c
index 094959f97..cd9636ccd 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -373,6 +373,10 @@ STATIC mp_obj_t process_import_at_level(qstr full_mod_name, qstr level_mod_name,
qstr umodule_name = qstr_from_str(umodule_buf);
module_obj = mp_module_get_builtin(umodule_name);
}
+ #elif MICROPY_PY_SYS
+ if (stat == MP_IMPORT_STAT_NO_EXIST && module_obj == MP_OBJ_NULL && level_mod_name == MP_QSTR_sys) {
+ module_obj = MP_OBJ_FROM_PTR(&mp_module_sys);
+ }
#endif
} else {
DEBUG_printf("Searching for sub-module\n");