diff --git a/lib/Components/ExtensionClass/Acquisition.c b/lib/Components/ExtensionClass/Acquisition.c index d6870709e8e7032139f3d558919e5958b9a912e3..d3b4d04968e7f55f07b605c6225d52f11ce4a3ee 100644 --- a/lib/Components/ExtensionClass/Acquisition.c +++ b/lib/Components/ExtensionClass/Acquisition.c @@ -1,6 +1,6 @@ /* - $Id: Acquisition.c,v 1.11 1997/11/07 19:00:34 jim Exp $ + $Id: Acquisition.c,v 1.12 1997/11/19 13:39:32 jim Exp $ Acquisition Wrappers -- Implementation of acquisition through wrappers @@ -379,7 +379,7 @@ Wrapper_acquire(Wrapper *self, PyObject *oname, else if(has__of__(r)) ASSIGN(r,CallMethodO(r,py__of__,Build("(O)", self), NULL)); if(filter) - switch(apply_filter(filter,self->obj,oname,r,extra,orig)) + switch(apply_filter(filter,self,oname,r,extra,orig)) { case -1: return NULL; case 1: return r; @@ -623,14 +623,11 @@ static PyMappingMethods Wrapper_as_mapping = { static PyObject * Wrapper_acquire_method(Wrapper *self, PyObject *args) { - PyObject *name, *filter=0, *extra=Py_None, *orig; + PyObject *name, *filter=0, *extra=Py_None; UNLESS(PyArg_ParseTuple(args,"O|OO",&name,&filter,&extra)) return NULL; - if(self->obj) orig=self->obj; - else orig=Py_None; - - return Wrapper_acquire(self,name,filter,extra,orig); + return Wrapper_acquire(self,name,filter,extra,self); } static struct PyMethodDef Wrapper_methods[] = { @@ -755,7 +752,7 @@ void initAcquisition() { PyObject *m, *d; - char *rev="$Revision: 1.11 $"; + char *rev="$Revision: 1.12 $"; PURE_MIXIN_CLASS(Acquirer, "Base class for objects that implicitly" " acquire attributes from containers\n" @@ -770,7 +767,7 @@ initAcquisition() /* Create the module and add the functions */ m = Py_InitModule4("Acquisition", methods, "Provide base classes for acquiring objects\n\n" - "$Id: Acquisition.c,v 1.11 1997/11/07 19:00:34 jim Exp $\n", + "$Id: Acquisition.c,v 1.12 1997/11/19 13:39:32 jim Exp $\n", (PyObject*)NULL,PYTHON_API_VERSION); d = PyModule_GetDict(m); @@ -792,6 +789,10 @@ initAcquisition() /***************************************************************************** $Log: Acquisition.c,v $ + Revision 1.12 1997/11/19 13:39:32 jim + Changed filter machinery so that wrapped objects are used as + inst and parent in filter. + Revision 1.11 1997/11/07 19:00:34 jim Added compile option to implicitly acquire __roles__. diff --git a/lib/Components/ExtensionClass/src/Acquisition.c b/lib/Components/ExtensionClass/src/Acquisition.c index d6870709e8e7032139f3d558919e5958b9a912e3..d3b4d04968e7f55f07b605c6225d52f11ce4a3ee 100644 --- a/lib/Components/ExtensionClass/src/Acquisition.c +++ b/lib/Components/ExtensionClass/src/Acquisition.c @@ -1,6 +1,6 @@ /* - $Id: Acquisition.c,v 1.11 1997/11/07 19:00:34 jim Exp $ + $Id: Acquisition.c,v 1.12 1997/11/19 13:39:32 jim Exp $ Acquisition Wrappers -- Implementation of acquisition through wrappers @@ -379,7 +379,7 @@ Wrapper_acquire(Wrapper *self, PyObject *oname, else if(has__of__(r)) ASSIGN(r,CallMethodO(r,py__of__,Build("(O)", self), NULL)); if(filter) - switch(apply_filter(filter,self->obj,oname,r,extra,orig)) + switch(apply_filter(filter,self,oname,r,extra,orig)) { case -1: return NULL; case 1: return r; @@ -623,14 +623,11 @@ static PyMappingMethods Wrapper_as_mapping = { static PyObject * Wrapper_acquire_method(Wrapper *self, PyObject *args) { - PyObject *name, *filter=0, *extra=Py_None, *orig; + PyObject *name, *filter=0, *extra=Py_None; UNLESS(PyArg_ParseTuple(args,"O|OO",&name,&filter,&extra)) return NULL; - if(self->obj) orig=self->obj; - else orig=Py_None; - - return Wrapper_acquire(self,name,filter,extra,orig); + return Wrapper_acquire(self,name,filter,extra,self); } static struct PyMethodDef Wrapper_methods[] = { @@ -755,7 +752,7 @@ void initAcquisition() { PyObject *m, *d; - char *rev="$Revision: 1.11 $"; + char *rev="$Revision: 1.12 $"; PURE_MIXIN_CLASS(Acquirer, "Base class for objects that implicitly" " acquire attributes from containers\n" @@ -770,7 +767,7 @@ initAcquisition() /* Create the module and add the functions */ m = Py_InitModule4("Acquisition", methods, "Provide base classes for acquiring objects\n\n" - "$Id: Acquisition.c,v 1.11 1997/11/07 19:00:34 jim Exp $\n", + "$Id: Acquisition.c,v 1.12 1997/11/19 13:39:32 jim Exp $\n", (PyObject*)NULL,PYTHON_API_VERSION); d = PyModule_GetDict(m); @@ -792,6 +789,10 @@ initAcquisition() /***************************************************************************** $Log: Acquisition.c,v $ + Revision 1.12 1997/11/19 13:39:32 jim + Changed filter machinery so that wrapped objects are used as + inst and parent in filter. + Revision 1.11 1997/11/07 19:00:34 jim Added compile option to implicitly acquire __roles__.