summaryrefslogtreecommitdiffstatshomepage
path: root/py/builtinimport.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-05 18:32:08 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-05 18:32:08 +0100
commitea13f407a392593e7746131952a57bad222ee882 (patch)
tree240fb586f678808bb5039a22e06a6214408adfc3 /py/builtinimport.c
parent2a037408af77d4c9e9cc98f5f12ea77fab93cc0e (diff)
downloadmicropython-ea13f407a392593e7746131952a57bad222ee882.tar.gz
micropython-ea13f407a392593e7746131952a57bad222ee882.zip
py: Change nlr_jump to nlr_raise, to aid in debugging.
This does not affect code size or performance when debugging turned off. To address issue #420.
Diffstat (limited to 'py/builtinimport.c')
-rw-r--r--py/builtinimport.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/py/builtinimport.c b/py/builtinimport.c
index 8feb2a01ba..ae59ea795d 100644
--- a/py/builtinimport.c
+++ b/py/builtinimport.c
@@ -77,7 +77,7 @@ void do_load(mp_obj_t module_obj, vstr_t *file) {
if (lex == NULL) {
// we verified the file exists using stat, but lexer could still fail
- nlr_jump(mp_obj_new_exception_msg_varg(&mp_type_ImportError, "ImportError: No module named '%s'", vstr_str(file)));
+ nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ImportError, "ImportError: No module named '%s'", vstr_str(file)));
}
qstr source_name = mp_lexer_source_name(lex);
@@ -99,7 +99,7 @@ void do_load(mp_obj_t module_obj, vstr_t *file) {
// parse error; clean up and raise exception
mp_locals_set(old_locals);
mp_globals_set(old_globals);
- nlr_jump(mp_parse_make_exception(parse_error_kind));
+ nlr_raise(mp_parse_make_exception(parse_error_kind));
}
// compile the imported script
@@ -122,7 +122,7 @@ void do_load(mp_obj_t module_obj, vstr_t *file) {
// exception; restore context and re-raise same exception
mp_locals_set(old_locals);
mp_globals_set(old_globals);
- nlr_jump(nlr.ret_val);
+ nlr_raise(nlr.ret_val);
}
mp_locals_set(old_locals);
mp_globals_set(old_globals);
@@ -148,7 +148,7 @@ mp_obj_t mp_builtin___import__(uint n_args, mp_obj_t *args) {
}
if (level != 0) {
- nlr_jump(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
+ nlr_raise(mp_obj_new_exception_msg(&mp_type_NotImplementedError,
"Relative import is not implemented"));
}
@@ -197,7 +197,7 @@ mp_obj_t mp_builtin___import__(uint n_args, mp_obj_t *args) {
// fail if we couldn't find the file
if (stat == MP_IMPORT_STAT_NO_EXIST) {
- nlr_jump(mp_obj_new_exception_msg_varg(&mp_type_ImportError, "ImportError: No module named '%s'", qstr_str(mod_name)));
+ nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ImportError, "ImportError: No module named '%s'", qstr_str(mod_name)));
}
module_obj = mp_module_get(mod_name);
@@ -211,7 +211,7 @@ mp_obj_t mp_builtin___import__(uint n_args, mp_obj_t *args) {
vstr_add_str(&path, "__init__.py");
if (mp_import_stat(vstr_str(&path)) != MP_IMPORT_STAT_FILE) {
vstr_cut_tail_bytes(&path, sizeof("/__init__.py") - 1); // cut off /__init__.py
- nlr_jump(mp_obj_new_exception_msg_varg(&mp_type_ImportError,
+ nlr_raise(mp_obj_new_exception_msg_varg(&mp_type_ImportError,
"Per PEP-420 a dir without __init__.py (%s) is a namespace package; "
"namespace packages are not supported", vstr_str(&path)));
}