Commit c6e818db authored by Jason Madden's avatar Jason Madden

change note

parent d03760b3
......@@ -15,3 +15,4 @@ coverage.xml
.installed.cfg
.dir-locals.el
dist
htmlcov
......@@ -7,15 +7,21 @@
- Fix the hashcode of Python ``TimeStamp`` objects on 64-bit Python on
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
transaction boundary) in pure-Python mode (PyPy). This means that
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
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
pure-Python compatibility. See https://github.com/zopefoundation/persistent/pull/31
......
......@@ -422,8 +422,11 @@ class Persistent(object):
_OSA(self, '_Persistent__flags', None)
if clear:
idict = _OGA(self, '__dict__', None)
if idict is not None:
try:
idict = _OGA(self, '__dict__')
except AttributeError:
pass
else:
idict.clear()
type_ = type(self)
# 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