summaryrefslogtreecommitdiffstatshomepage
path: root/py
diff options
context:
space:
mode:
authorstijn <stijn@ignitron.net>2023-12-04 15:54:59 +0100
committerDamien George <damien@micropython.org>2023-12-15 11:43:39 +1100
commit85c02166cacb8c2a8bc82f9802814ca72cbf6017 (patch)
treeef19d9ed8905a2c03867182747944f99e314dff3 /py
parent05d3b223011a88a10c806be866db8e0d29f1e348 (diff)
downloadmicropython-85c02166cacb8c2a8bc82f9802814ca72cbf6017.tar.gz
micropython-85c02166cacb8c2a8bc82f9802814ca72cbf6017.zip
py/modsys: Implement optional sys.intern.
Signed-off-by: stijn <stijn@ignitron.net>
Diffstat (limited to 'py')
-rw-r--r--py/modsys.c8
-rw-r--r--py/mpconfig.h5
2 files changed, 13 insertions, 0 deletions
diff --git a/py/modsys.c b/py/modsys.c
index 12fa1101b9..2af81046f4 100644
--- a/py/modsys.c
+++ b/py/modsys.c
@@ -147,6 +147,10 @@ STATIC const MP_DEFINE_STR_OBJ(mp_sys_platform_obj, MICROPY_PY_SYS_PLATFORM);
MP_DEFINE_STR_OBJ(mp_sys_executable_obj, "");
#endif
+#if MICROPY_PY_SYS_INTERN
+MP_DEFINE_CONST_FUN_OBJ_1(mp_sys_intern_obj, mp_obj_str_intern_checked);
+#endif
+
// exit([retval]): raise SystemExit, with optional argument given to the exception
STATIC mp_obj_t mp_sys_exit(size_t n_args, const mp_obj_t *args) {
if (n_args == 0) {
@@ -293,6 +297,10 @@ STATIC const mp_rom_map_elem_t mp_module_sys_globals_table[] = {
#endif
#endif
+ #if MICROPY_PY_SYS_INTERN
+ { MP_ROM_QSTR(MP_QSTR_intern), MP_ROM_PTR(&mp_sys_intern_obj) },
+ #endif
+
#if MICROPY_PY_SYS_EXIT
{ MP_ROM_QSTR(MP_QSTR_exit), MP_ROM_PTR(&mp_sys_exit_obj) },
#endif
diff --git a/py/mpconfig.h b/py/mpconfig.h
index d14b1aa044..c025bca260 100644
--- a/py/mpconfig.h
+++ b/py/mpconfig.h
@@ -1434,6 +1434,11 @@ typedef double mp_float_t;
#define MICROPY_PY_SYS_EXECUTABLE (0)
#endif
+// Whether to provide "sys.intern"
+#ifndef MICROPY_PY_SYS_INTERN
+#define MICROPY_PY_SYS_INTERN (MICROPY_CONFIG_ROM_LEVEL_AT_LEAST_EVERYTHING)
+#endif
+
// Whether to provide "sys.exit" function
#ifndef MICROPY_PY_SYS_EXIT
#define MICROPY_PY_SYS_EXIT (1)