Commit c6e818db authored by Jason Madden's avatar Jason Madden

change note

parent d03760b3
...@@ -15,3 +15,4 @@ coverage.xml ...@@ -15,3 +15,4 @@ coverage.xml
.installed.cfg .installed.cfg
.dir-locals.el .dir-locals.el
dist dist
htmlcov
...@@ -7,15 +7,21 @@ ...@@ -7,15 +7,21 @@
- Fix the hashcode of Python ``TimeStamp`` objects on 64-bit Python on - Fix the hashcode of Python ``TimeStamp`` objects on 64-bit Python on
Windows. See https://github.com/zopefoundation/persistent/pull/55 Windows. See https://github.com/zopefoundation/persistent/pull/55
4.2.2 (2016-11-29)
------------------
- Stop calling ``gc.collect`` every time ``PickleCache.incrgc`` is called (every - Stop calling ``gc.collect`` every time ``PickleCache.incrgc`` is called (every
transaction boundary) in pure-Python mode (PyPy). This means that transaction boundary) in pure-Python mode (PyPy). This means that
the reported size of the cache may be wrong (until the next GC), but the reported size of the cache may be wrong (until the next GC), but
it is much faster. This should not have any observable effects for it is much faster. This should not have any observable effects for
user code. user code.
- Stop clearing the dict and slots of objects added to
``PickleCache.new_ghost`` (typically these values are passed to
``__new__`` from the pickle data) in pure-Python mode (PyPy). This
matches the behaviour of the C code.
4.2.2 (2016-11-29)
------------------
- Drop use of ``ctypes`` for determining maximum integer size, to increase - Drop use of ``ctypes`` for determining maximum integer size, to increase
pure-Python compatibility. See https://github.com/zopefoundation/persistent/pull/31 pure-Python compatibility. See https://github.com/zopefoundation/persistent/pull/31
......
...@@ -422,8 +422,11 @@ class Persistent(object): ...@@ -422,8 +422,11 @@ class Persistent(object):
_OSA(self, '_Persistent__flags', None) _OSA(self, '_Persistent__flags', None)
if clear: if clear:
idict = _OGA(self, '__dict__', None) try:
if idict is not None: idict = _OGA(self, '__dict__')
except AttributeError:
pass
else:
idict.clear() idict.clear()
type_ = type(self) type_ = type(self)
# for backward-compatibility reason we release __slots__ only if # for backward-compatibility reason we release __slots__ only if
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment