summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-04-17 12:37:00 +0100
committerDamien George <damien.p.george@gmail.com>2016-04-17 12:37:00 +0100
commit31480fb91b69819ed9d37d8ffc1160cb03fe81ea (patch)
tree76efbde0a8327757204e2d8c708ca7569626a33a
parent5e247a5192548630342576adf8f58c6ad6f59bcb (diff)
downloadmicropython-31480fb91b69819ed9d37d8ffc1160cb03fe81ea.tar.gz
micropython-31480fb91b69819ed9d37d8ffc1160cb03fe81ea.zip
py/frozenmod: Pass the source name of the frozen module to the lexer.
This allows for better error messages, since the name of the file (sans .py) can now be printed when an exception occurs within a frozen script.
-rw-r--r--py/frozenmod.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/py/frozenmod.c b/py/frozenmod.c
index 92afdb9a5e..18beb0f8e4 100644
--- a/py/frozenmod.c
+++ b/py/frozenmod.c
@@ -50,7 +50,8 @@ STATIC mp_lexer_t *mp_find_frozen_str(const char *str, size_t len) {
for (int i = 0; *name != 0; i++) {
size_t l = strlen(name);
if (l == len && !memcmp(str, name, l)) {
- mp_lexer_t *lex = MICROPY_MODULE_FROZEN_LEXER(MP_QSTR_, mp_frozen_str_content + offset, mp_frozen_str_sizes[i], 0);
+ qstr source = qstr_from_strn(name, l);
+ mp_lexer_t *lex = MICROPY_MODULE_FROZEN_LEXER(source, mp_frozen_str_content + offset, mp_frozen_str_sizes[i], 0);
return lex;
}
name += l + 1;