[Python-Dev] Re: API change in 2.2.1c1

Jeremy Hylton jeremy@zope.com
Wed, 20 Mar 2002 11:23:11 -0500


M.--

Sorry I didn't respond earlier.  I've been nearly unable to
send mail for the last week.  (New office, new firewall, bad
SMTP server :-).

I think the cell change is a pure bug fix.  The VAR_HEAD was
leftover from the days (perhaps just one day) when I thought
that a cell would contain multiple pointers.  The cell
objects aren't documented (so far as I know) and are only
used internally to implemented nested scopes.

I had originally thought that each scope with "cell
variables" would store all the pointers in a single cell.
That ended up being a bad idea, because a single escaping
cell var would keep all the other objects in the cell alive.
The one-object-per-cell model minimizes that amount of
garbage kept alive by escaping variables.

Jeremy