diff options
Diffstat (limited to 'Objects/frameobject.c')
-rw-r--r-- | Objects/frameobject.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/frameobject.c b/Objects/frameobject.c index d02cf9d..be84d33 100644 --- a/Objects/frameobject.c +++ b/Objects/frameobject.c @@ -195,7 +195,10 @@ markblocks(PyCodeObject *code_obj, int len) break; case GET_ITER: case GET_AITER: - block_stack = push_block(block_stack, Loop); + // For-loops get a Loop block, but comprehensions do not. + if (_Py_OPCODE(code[i + 1]) != CALL_FUNCTION) { + block_stack = push_block(block_stack, Loop); + } blocks[i+1] = block_stack; break; case FOR_ITER: |