diff options
author | Damien George <damien.p.george@gmail.com> | 2016-04-17 12:37:00 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-04-17 12:37:00 +0100 |
commit | 31480fb91b69819ed9d37d8ffc1160cb03fe81ea (patch) | |
tree | 76efbde0a8327757204e2d8c708ca7569626a33a | |
parent | 5e247a5192548630342576adf8f58c6ad6f59bcb (diff) | |
download | micropython-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.c | 3 |
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; |