<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython.git/Objects/tupleobject.c, branch v2.5b2</title>
<subtitle>
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/'/>
<entry>
<title>Use Py_VISIT in all tp_traverse methods, instead of traversing manually or</title>
<updated>2006-04-15T21:47:09+00:00</updated>
<author>
<name>Thomas Wouters</name>
<email>thomas@python.org</email>
</author>
<published>2006-04-15T21:47:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=58c4139c1d6d525e89bb2e6233422e5d2fc38e14'/>
<id>58c4139c1d6d525e89bb2e6233422e5d2fc38e14</id>
<content type='text'>
using a custom, nearly-identical macro. This probably changes how some of
these functions are compiled, which may result in fractionally slower (or
faster) execution. Considering the nature of traversal, visiting much of the
address space in unpredictable patterns, I'd argue the code readability and
maintainability is well worth it ;P
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
using a custom, nearly-identical macro. This probably changes how some of
these functions are compiled, which may result in fractionally slower (or
faster) execution. Considering the nature of traversal, visiting much of the
address space in unpredictable patterns, I'd argue the code readability and
maintainability is well worth it ;P
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove "static forward" declaration. Move constructors</title>
<updated>2006-04-11T09:04:12+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-04-11T09:04:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=57e44e8bce555c25fafab7059167a227306edc0c'/>
<id>57e44e8bce555c25fafab7059167a227306edc0c</id>
<content type='text'>
after the type objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
after the type objects.
</pre>
</div>
</content>
</entry>
<entry>
<title>More low-hanging fruit. Still need to re-arrange some code (or find a better</title>
<updated>2006-04-11T07:42:36+00:00</updated>
<author>
<name>Anthony Baxter</name>
<email>anthonybaxter@gmail.com</email>
</author>
<published>2006-04-11T07:42:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=ce14db458dd58f4d1ec0b60a9e82c1e76174e1f8'/>
<id>ce14db458dd58f4d1ec0b60a9e82c1e76174e1f8</id>
<content type='text'>
solution) in the same way as listobject.c got changed. Hoping for a better
solution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
solution) in the same way as listobject.c got changed. Hoping for a better
solution.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix some missing checks after PyTuple_New, PyList_New, PyDict_New</title>
<updated>2006-03-17T19:03:25+00:00</updated>
<author>
<name>Georg Brandl</name>
<email>georg@python.org</email>
</author>
<published>2006-03-17T19:03:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=dc96037cd72cb58df72e0025c7892f5b742276bb'/>
<id>dc96037cd72cb58df72e0025c7892f5b742276bb</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Checking in the code for PEP 357.</title>
<updated>2006-03-07T18:50:55+00:00</updated>
<author>
<name>Guido van Rossum</name>
<email>guido@python.org</email>
</author>
<published>2006-03-07T18:50:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=8cfdc49ae03974b726502ccd7175ab9b7ced9e7b'/>
<id>8cfdc49ae03974b726502ccd7175ab9b7ced9e7b</id>
<content type='text'>
This was mostly written by Travis Oliphant.
I've inspected it all; Neal Norwitz and MvL have also looked at it
(in an earlier incarnation).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was mostly written by Travis Oliphant.
I've inspected it all; Neal Norwitz and MvL have also looked at it
(in an earlier incarnation).
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert backwards-incompatible const changes.</title>
<updated>2006-02-27T16:46:16+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-02-27T16:46:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=49af04e5f18dc88fa2356acf9bac7e805dad6140'/>
<id>49af04e5f18dc88fa2356acf9bac7e805dad6140</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Use Py_ssize_t for counts and sizes.</title>
<updated>2006-02-16T14:32:27+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-02-16T14:32:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=4b3354f93da362a0fe7ea56b91018abdb5ad4f57'/>
<id>4b3354f93da362a0fe7ea56b91018abdb5ad4f57</id>
<content type='text'>
Convert Py_ssize_t using PyInt_FromSsize_t
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert Py_ssize_t using PyInt_FromSsize_t
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge ssize_t branch.</title>
<updated>2006-02-15T17:27:45+00:00</updated>
<author>
<name>Martin v. Löwis</name>
<email>martin@v.loewis.de</email>
</author>
<published>2006-02-15T17:27:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=26a6348f77faff1083d501950812ea9f68eb9547'/>
<id>26a6348f77faff1083d501950812ea9f68eb9547</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Renamed _length_cue() to __length_hint__().  See:</title>
<updated>2006-02-11T21:32:43+00:00</updated>
<author>
<name>Armin Rigo</name>
<email>arigo@tunes.org</email>
</author>
<published>2006-02-11T21:32:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=d94851f034767b2846d1ce081ba5a196518223a6'/>
<id>d94851f034767b2846d1ce081ba5a196518223a6</id>
<content type='text'>
http://mail.python.org/pipermail/python-dev/2006-February/060524.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
http://mail.python.org/pipermail/python-dev/2006-February/060524.html
</pre>
</div>
</content>
</entry>
<entry>
<title>Add const to several API functions that take char *.</title>
<updated>2005-12-10T18:50:16+00:00</updated>
<author>
<name>Jeremy Hylton</name>
<email>jeremy@alum.mit.edu</email>
</author>
<published>2005-12-10T18:50:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython.git/commit/?id=10b7308bdafd13a6e9ec459c09774cc7cd99d97e'/>
<id>10b7308bdafd13a6e9ec459c09774cc7cd99d97e</id>
<content type='text'>
In C++, it's an error to pass a string literal to a char* function
without a const_cast().  Rather than require every C++ extension
module to put a cast around string literals, fix the API to state the
const-ness.

I focused on parts of the API where people usually pass literals:
PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
slots, etc.  Predictably, there were a large set of functions that
needed to be fixed as a result of these changes.  The most pervasive
change was to make the keyword args list passed to
PyArg_ParseTupleAndKewords() to be a const char *kwlist[].

One cast was required as a result of the changes:  A type object
mallocs the memory for its tp_doc slot and later frees it.
PyTypeObject says that tp_doc is const char *; but if the type was
created by type_new(), we know it is safe to cast to char *.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In C++, it's an error to pass a string literal to a char* function
without a const_cast().  Rather than require every C++ extension
module to put a cast around string literals, fix the API to state the
const-ness.

I focused on parts of the API where people usually pass literals:
PyArg_ParseTuple() and friends, Py_BuildValue(), PyMethodDef, the type
slots, etc.  Predictably, there were a large set of functions that
needed to be fixed as a result of these changes.  The most pervasive
change was to make the keyword args list passed to
PyArg_ParseTupleAndKewords() to be a const char *kwlist[].

One cast was required as a result of the changes:  A type object
mallocs the memory for its tp_doc slot and later frees it.
PyTypeObject says that tp_doc is const char *; but if the type was
created by type_new(), we know it is safe to cast to char *.
</pre>
</div>
</content>
</entry>
</feed>
