Mercurial > cpython-lru_cache-weakref
diff Python/ceval.c @ 20064:ef3034a60a3e legacy-trunk
Don't swap the arguments to PyFrame_BlockSetup when recreating the recently
popped frame-block. What an embarrassing bug! Especially for Jeremy, since
he accepted the patch :-)
This fixes SF bugs #463359 and #462937, and possibly other, *very* obscure
bugs with very deeply nested loops that continue the loop and then break out
of it or raise an exception.
| author | Thomas Wouters <thomas@python.org> |
|---|---|
| date | Mon, 24 Sep 2001 19:32:01 +0000 |
| parents | 3faabf54b8b8 |
| children | 233f9606ba8e |
line wrap: on
line diff
--- a/Python/ceval.c Mon Sep 24 18:47:40 2001 +0000 +++ b/Python/ceval.c Mon Sep 24 19:32:01 2001 +0000 @@ -2217,8 +2217,8 @@ if (b->b_type == SETUP_LOOP && why == WHY_CONTINUE) { /* For a continue inside a try block, don't pop the block for the loop. */ - PyFrame_BlockSetup(f, b->b_type, b->b_level, - b->b_handler); + PyFrame_BlockSetup(f, b->b_type, b->b_handler, + b->b_level); why = WHY_NOT; JUMPTO(PyInt_AS_LONG(retval)); Py_DECREF(retval);
