From 4aee119f940b15da16c5e3609bb904f5e881a3df Mon Sep 17 00:00:00 2001
From: Paul Sokolovsky <pfalcon@users.sourceforge.net>
Date: Tue, 18 Feb 2014 00:06:37 +0200
Subject: [PATCH] stm: Initialize sys.path with ["0:/", "0:/src", "0:/lib"].

This is compatible with what search path was before sys.path refactor,
with addition of module library path ("0:/lib").
---
 py/makeqstrdata.py | 2 ++
 stm/main.c         | 5 +++++
 stm/qstrdefsport.h | 4 ++++
 3 files changed, 11 insertions(+)

diff --git a/py/makeqstrdata.py b/py/makeqstrdata.py
index f231a5d86..6ae229c73 100644
--- a/py/makeqstrdata.py
+++ b/py/makeqstrdata.py
@@ -10,6 +10,8 @@ elif platform.python_version_tuple()[0] == '3':
 
 # add some custom names to map characters that aren't in HTML
 codepoint2name[ord('.')] = 'dot'
+codepoint2name[ord(':')] = 'colon'
+codepoint2name[ord('/')] = 'slash'
 
 # this must match the equivalent function in qstr.c
 def compute_hash(qstr):
diff --git a/stm/main.c b/stm/main.c
index dabbaf1b0..33af85351 100644
--- a/stm/main.c
+++ b/stm/main.c
@@ -411,6 +411,11 @@ soft_reset:
     // Micro Python init
     qstr_init();
     rt_init();
+    mp_obj_t def_path[3];
+    def_path[0] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_);
+    def_path[1] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_src);
+    def_path[2] = MP_OBJ_NEW_QSTR(MP_QSTR_0_colon__slash_lib);
+    sys_path = mp_obj_new_list(3, def_path);
 
 #if MICROPY_HW_HAS_LCD
     // LCD init (just creates class, init hardware by calling LCD())
diff --git a/stm/qstrdefsport.h b/stm/qstrdefsport.h
index cc2041f82..02208875d 100644
--- a/stm/qstrdefsport.h
+++ b/stm/qstrdefsport.h
@@ -30,3 +30,7 @@ Q(Usart)
 Q(ADC)
 Q(open)
 Q(File)
+// Entries for sys.path
+Q(0:/)
+Q(0:/src)
+Q(0:/lib)
-- 
GitLab