Mark Shannon <m...@hotpy.org> added the comment:

> It looks like the build core dumped on Travis-CI

I failed to account for the extra stuff left on the stack when handling 
exceptions and jumping out of a finally block due to a `break`. Caught by 
Serhiy's tests in https://github.com/python/cpython/pull/5078.
I could add a work around, but it would be a bit hacky.

I'm now convinced that code duplication is the only way to do this properly. 
The only real advantage of JSR-style finally blocks is the ease of 
implementation of `frame.set_lineno()`.

Rather than go around in circles any more, I suggest that we merge Serhiy's PR 
(PR 5006). I can then cherry-pick my commits to clean up the implementation of 
the `with` statement (as a new PR).

I then plan to implement `try-finally` using code duplication, but that might 
not make it into 3.7 and we shouldn't hold up this issue any longer.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue17611>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to