[Checkins] [zopefoundation/zope.interface] 979979: The _empty singleton has no-op subscribe/unsubscri...

Jason Madden noreply at github.com
Tue Jan 28 23:04:42 CET 2020

  Branch: refs/heads/issue162
  Home:   https://github.com/zopefoundation/zope.interface
  Commit: 97997956d1a17a0cfb064dfe0487291e8f8ee181
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2020-01-28 (Tue, 28 Jan 2020)

  Changed paths:
    M CHANGES.rst
    M src/zope/interface/declarations.py
    M src/zope/interface/interface.py
    M src/zope/interface/tests/test_adapter.py

  Log Message:
  The _empty singleton has no-op subscribe/unsubscribe methods.

Turns out they can be called in some very strange error cases. See #162 and #163 for details.

This should fix #162 (at least the provided test case, five.intid, passes now).

It also does enough work on #163 that (a) the test can be written and run in pure-python mode, which was needed to debug it and (b) five.intid runs in pure-python mode (well, with a bunch of other small hacks to Acquisition, ExtensionClass, DocumentTemplate and AccessControl), but I won't claim that it fully fixes #163. For one thing, there are no specific tests. For another, I see more such differences.

More information about the checkins mailing list