[Checkins] [zopefoundation/persistent] 629cc8: Add support for Python 3.9.

Jason Madden noreply at github.com
Tue Feb 18 17:08:04 CET 2020


  Branch: refs/heads/issue124
  Home:   https://github.com/zopefoundation/persistent
  Commit: 629cc8204f6087c40b458d45be9564c550ad9ddf
      https://github.com/zopefoundation/persistent/commit/629cc8204f6087c40b458d45be9564c550ad9ddf
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2020-02-18 (Tue, 18 Feb 2020)

  Changed paths:
    M CHANGES.rst
    M persistent/cPersistence.c
    M persistent/cPickleCache.c
    M setup.py

  Log Message:
  -----------
  Add support for Python 3.9.

Guard use of the internal functions _Py_*Reference behind correct ifdefs.

Also fix use of deprecated function PyEval_CallObject to be PyObject_CallObject.

Fixes #124


  Commit: 02799453967add7eddbbd7b4dcb0379eff82e847
      https://github.com/zopefoundation/persistent/commit/02799453967add7eddbbd7b4dcb0379eff82e847
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2020-02-18 (Tue, 18 Feb 2020)

  Changed paths:
    M persistent/cPickleCache.c

  Log Message:
  -----------
  Extra guards around _Py_RefTotal usage.

Testing in a Python 3.9 interpreter with Py_TRACE_REFS defined revealed another issue, the separation of Py_RefTotal out to depend on Py_REF_DEBUG.


  Commit: 3d222327d07b2af0bd70a9df93008b1bbd697d31
      https://github.com/zopefoundation/persistent/commit/3d222327d07b2af0bd70a9df93008b1bbd697d31
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2020-02-18 (Tue, 18 Feb 2020)

  Changed paths:
    M CHANGES.rst
    M persistent/cPickleCache.c

  Log Message:
  -----------
  Remove usage of _Py_NewReference/ForgetReference and _Py_RefTotal.

The extension functions fine even without them even when the core interpreter is built with Py_TRACE_REFS, and it wasn't 100% clear that they were actually being used as expected for modern interpreters. Plus the nesting of defines was getting ugly.


Compare: https://github.com/zopefoundation/persistent/compare/629cc8204f60%5E...3d222327d07b


More information about the checkins mailing list