<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython.git/Modules/_weakref.c, branch v2.5b2</title>
<subtitle>
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/'/>
<entry>
<title>Make weak references subclassable:</title>
<updated>2004-07-02T18:57:45+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2004-07-02T18:57:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=b2f80ec91de4ec374477be3d9fa1abb5f48ae63e'/>
<id>b2f80ec91de4ec374477be3d9fa1abb5f48ae63e</id>
<content type='text'>
- weakref.ref and weakref.ReferenceType will become aliases for each
  other

- weakref.ref will be a modern, new-style class with proper __new__
  and __init__ methods

- weakref.WeakValueDictionary will have a lighter memory footprint,
  using a new weakref.ref subclass to associate the key with the
  value, allowing us to have only a single object of overhead for each
  dictionary entry (currently, there are 3 objects of overhead per
  entry: a weakref to the value, a weakref to the dictionary, and a
  function object used as a weakref callback; the weakref to the
  dictionary could be avoided without this change)

- a new macro, PyWeakref_CheckRefExact(), will be added

- PyWeakref_CheckRef() will check for subclasses of weakref.ref

This closes SF patch #983019.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- weakref.ref and weakref.ReferenceType will become aliases for each
  other

- weakref.ref will be a modern, new-style class with proper __new__
  and __init__ methods

- weakref.WeakValueDictionary will have a lighter memory footprint,
  using a new weakref.ref subclass to associate the key with the
  value, allowing us to have only a single object of overhead for each
  dictionary entry (currently, there are 3 objects of overhead per
  entry: a weakref to the value, a weakref to the dictionary, and a
  function object used as a weakref callback; the weakref to the
  dictionary could be avoided without this change)

- a new macro, PyWeakref_CheckRefExact(), will be added

- PyWeakref_CheckRef() will check for subclasses of weakref.ref

This closes SF patch #983019.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix ref(), proxy() docstrings, based on comments from David Abrahams.</title>
<updated>2002-08-02T20:23:40+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2002-08-02T20:23:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=180e0c432397b9feb1b9271f480aebed937feb21'/>
<id>180e0c432397b9feb1b9271f480aebed937feb21</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Excise DL_EXPORT/DL_IMPORT from Modules/*.  Required adding a prototype</title>
<updated>2002-08-02T02:27:13+00:00</updated>
<author>
<name>Mark Hammond</name>
<email>mhammond@skippinet.com.au</email>
</author>
<published>2002-08-02T02:27:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=9243e35e239d360574351efc20828c798a6f99ae'/>
<id>9243e35e239d360574351efc20828c798a6f99ae</id>
<content type='text'>
for Py_Main().

Thanks to Kalle Svensson and Skip Montanaro for the patches.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
for Py_Main().

Thanks to Kalle Svensson and Skip Montanaro for the patches.
</pre>
</div>
</content>
</entry>
<entry>
<title>Patch #568124: Add doc string macros.</title>
<updated>2002-06-13T20:33:02+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2002-06-13T20:33:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=1117ad5b1849b0fe151357058bf6f240c120039a'/>
<id>1117ad5b1849b0fe151357058bf6f240c120039a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert the ref() and proxy() implementations to use the new</title>
<updated>2001-10-23T21:12:47+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2001-10-23T21:12:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=b5322be25e9c4f81b39d6086a704fd31c83a1f30'/>
<id>b5322be25e9c4f81b39d6086a704fd31c83a1f30</id>
<content type='text'>
PyArg_UnpackTuple() function (serves as an example and test case).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PyArg_UnpackTuple() function (serves as an example and test case).
</pre>
</div>
</content>
</entry>
<entry>
<title>Adjust the _weakref module to use the public API for the weak reference</title>
<updated>2001-10-05T22:00:24+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2001-10-05T22:00:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=9104cdf5a586fcf2459f892f94a58cebfe8eda46'/>
<id>9104cdf5a586fcf2459f892f94a58cebfe8eda46</id>
<content type='text'>
objects.  This is now simply a shim to give weakref.py access to the
underlying implementation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
objects.  This is now simply a shim to give weakref.py access to the
underlying implementation.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use new GC API.</title>
<updated>2001-08-29T23:54:21+00:00</updated>
<author>
<name>Neil Schemenauer</name>
<email>nascheme@enme.ucalgary.ca</email>
</author>
<published>2001-08-29T23:54:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=b0976865759d626c0f9e890620c1a13c1253844c'/>
<id>b0976865759d626c0f9e890620c1a13c1253844c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use METH_O where possible (two functions).  This does not lead to real</title>
<updated>2001-08-16T14:11:30+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2001-08-16T14:11:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=a24427ad172df8eef0f1c5001fd023a6240597a3'/>
<id>a24427ad172df8eef0f1c5001fd023a6240597a3</id>
<content type='text'>
performance changes since the affected functions are not expected to be
used frequently, but reduces the volume of code.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
performance changes since the affected functions are not expected to be
used frequently, but reduces the volume of code.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove an obsolete comment and a "return" before fallig off the end of a</title>
<updated>2001-05-03T16:05:46+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2001-05-03T16:05:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=8ad34395e84d1fd317bd96603ac48225f685c4df'/>
<id>8ad34395e84d1fd317bd96603ac48225f685c4df</id>
<content type='text'>
void function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
void function.
</pre>
</div>
</content>
</entry>
<entry>
<title>cleanup_helper():  Make sure we invalidate all reference objects</title>
<updated>2001-04-13T17:15:47+00:00</updated>
<author>
<name>Fred Drake</name>
<email>fdrake@acm.org</email>
</author>
<published>2001-04-13T17:15:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=711df425eed61c982631f3855280b83f2b785293'/>
<id>711df425eed61c982631f3855280b83f2b785293</id>
<content type='text'>
                   before calling any callbacks.  This is important
                   since the callback objects only look at themselves
                   to determine that they are invalide.  This change
                   avoids a segfault when callbacks use a different
                   reference to an object in the process of being
                   deallocated.

This fixes SF bug #415660.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
                   before calling any callbacks.  This is important
                   since the callback objects only look at themselves
                   to determine that they are invalide.  This change
                   avoids a segfault when callbacks use a different
                   reference to an object in the process of being
                   deallocated.

This fixes SF bug #415660.
</pre>
</div>
</content>
</entry>
</feed>
