Dieter Maurer wrote:
Looks like an acquisition bug:
obj.aq_inContextOf(context, 1) is recursively defined by:
True, if "obj.aq_base == context.aq_base"
or "container(obj) is not None"
and "container(obj).aq_inContextOf(context, 1)"
where "container(obj)" is "aq_parent(aq_inner(obj))"
which is the container containing "obj".
which is equivalent to (resolving the recursing):
iff for some (hierarchie) ancestor "a" of obj,
"a.aq_base == context.aq_base".
Given this definition, you can check which implementation
is wrong and file a bug report.
Looking at the relevant *Acquisition.c files, both implementations of
aq_inContextOf(2.7.6 & 2.8.0b2) are identical. The implementation of
macros used in this method (isWrapper, WRAPPER, and OBJECT) are also
identitcal, there being nothing else immediately obvious that looks
like it could have been implemented differently there.
I would hence suspect the wrapping, and/or behaviour of the object
and/or context to be somehow different?
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -