Skip to content

Commit

Permalink
Changenote [skip ci]
Browse files Browse the repository at this point in the history
  • Loading branch information
jamadden committed Dec 19, 2016
1 parent c52adf9 commit 7c40c98
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
8 changes: 7 additions & 1 deletion CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
``persistent`` Changelog
========================

4.2.3 (unreleased)
------------------

- 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)
------------------

- Drop use of ``ctypes`` for determining maximum integer size, to increase
pure-Python compatibility.
pure-Python compatibility. See https://github.com/zopefoundation/persistent/pull/31

- Ensure that ``__slots__`` attributes are cleared when a persistent
object is ghostified. (This excluses classes that override
Expand Down
3 changes: 3 additions & 0 deletions persistent/timestamp.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ def _makeOctets(s):
# XXX: This is broken on 64-bit windows, where
# sizeof(long) != sizeof(Py_ssize_t)
# sizeof(long) == 4, sizeof(Py_ssize_t) == 8
# It can be fixed by setting _MAXINT = 2 ** 31 - 1 on all
# win32 platforms, but then that breaks PyPy3 64 bit for an unknown
# reason.
def _wraparound(x):
return int(((x + (_MAXINT + 1)) & ((_MAXINT << 1) + 1)) - (_MAXINT + 1))
else:
Expand Down

0 comments on commit 7c40c98

Please sign in to comment.