[Zope-dev] Yet another bug. (Re: [Zope-dev] Bug?)

Phillip J. Eby pje@telecommunity.com
Tue, 20 Jun 2000 08:58:08 -0500


At 08:45 PM 6/19/00 +0800, mike wrote:
>It looks like retrieved items have no _v_dm_ set. I fixed it (not sure
>this is right) with:
>
>File: Rack.py
>
>    def getItem(self, key):
>        """Get an item from the rack by key"""
>        
>        # Borrow canonicals map for per-transaction item cache
>        k = key,
>        item = self._canonicalForm(k,_marker)
>        
>        if item is _marker:
>            item = self.retrieveItem(key)
>            self._registerCanonical(k,item) # XXX Should we cache
>non-existence?
>            
>        if item is not None: item._setRack(self.aq_inner)
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>        return item

Okay, I've tracked this one down now.  It's retrieveItem() that's broken;
the _setRack(self.aq_inner) call should go right before the _setSlot(slot)
call.  Checking this one in now...  Will upload an alpha3 release shortly.