From 31480fb91b69819ed9d37d8ffc1160cb03fe81ea Mon Sep 17 00:00:00 2001 From: Damien George Date: Sun, 17 Apr 2016 12:37:00 +0100 Subject: [PATCH] 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. --- py/frozenmod.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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;