From 6433f71e8fbf54a035aa1a735f6f2e5c1c71e922 Mon Sep 17 00:00:00 2001 From: Tom Soulanille Date: Sat, 29 Aug 2015 17:33:21 -0700 Subject: [PATCH] py/objgetitemiter: Make it_iternext() recognize IndexError. --- py/objgetitemiter.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/py/objgetitemiter.c b/py/objgetitemiter.c index ab312c73cf..ae98db8c7b 100644 --- a/py/objgetitemiter.c +++ b/py/objgetitemiter.c @@ -47,8 +47,9 @@ STATIC mp_obj_t it_iternext(mp_obj_t self_in) { return value; } else { // an exception was raised - if (mp_obj_get_type(nlr.ret_val) == &mp_type_StopIteration) { - // return MP_OBJ_STOP_ITERATION instead of raising StopIteration + mp_obj_type_t *t = mp_obj_get_type(nlr.ret_val); + if (t == &mp_type_StopIteration || t == &mp_type_IndexError) { + // return MP_OBJ_STOP_ITERATION instead of raising return MP_OBJ_STOP_ITERATION; } else { // re-raise exception