aboutsummaryrefslogtreecommitdiff
path: root/py/builtinimport.c
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 /py/builtinimport.c
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>
Diffstat (limited to 'py/builtinimport.c')
-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");