[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