forked from orbit-oss/flask
parent
724f04d305
commit
6e46d0cd39
2 changed files with 20 additions and 5 deletions
7
CHANGES
7
CHANGES
|
|
@ -3,6 +3,13 @@ Flask Changelog
|
||||||
|
|
||||||
Here you can see the full list of changes between each Flask release.
|
Here you can see the full list of changes between each Flask release.
|
||||||
|
|
||||||
|
Version 0.11.2
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Bugfix release, unreleased
|
||||||
|
|
||||||
|
- Fix crash when running under PyPy3, see pull request ``#1814``.
|
||||||
|
|
||||||
Version 0.11.1
|
Version 0.11.1
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -65,17 +65,25 @@ def with_metaclass(meta, *bases):
|
||||||
|
|
||||||
|
|
||||||
# Certain versions of pypy have a bug where clearing the exception stack
|
# Certain versions of pypy have a bug where clearing the exception stack
|
||||||
# breaks the __exit__ function in a very peculiar way. This is currently
|
# breaks the __exit__ function in a very peculiar way. The second level of
|
||||||
# true for pypy 2.2.1 for instance. The second level of exception blocks
|
# exception blocks is necessary because pypy seems to forget to check if an
|
||||||
# is necessary because pypy seems to forget to check if an exception
|
# exception happened until the next bytecode instruction?
|
||||||
# happened until the next bytecode instruction?
|
#
|
||||||
|
# Relevant PyPy bugfix commit:
|
||||||
|
# https://bitbucket.org/pypy/pypy/commits/77ecf91c635a287e88e60d8ddb0f4e9df4003301
|
||||||
|
# According to ronan on #pypy IRC, it is released in PyPy2 2.3 and later
|
||||||
|
# versions.
|
||||||
|
#
|
||||||
|
# Ubuntu 14.04 has PyPy 2.2.1, which does exhibit this bug.
|
||||||
BROKEN_PYPY_CTXMGR_EXIT = False
|
BROKEN_PYPY_CTXMGR_EXIT = False
|
||||||
if hasattr(sys, 'pypy_version_info'):
|
if hasattr(sys, 'pypy_version_info'):
|
||||||
class _Mgr(object):
|
class _Mgr(object):
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
return self
|
return self
|
||||||
def __exit__(self, *args):
|
def __exit__(self, *args):
|
||||||
sys.exc_clear()
|
if hasattr(sys, 'exc_clear'):
|
||||||
|
# Python 3 (PyPy3) doesn't have exc_clear
|
||||||
|
sys.exc_clear()
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
with _Mgr():
|
with _Mgr():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue