[Pythonjp-checkins] [python-doc-ja] 2 new revisions pushed by songo****@gmail***** on 2011-03-19 15:35 GMT

Back to archive index

pytho****@googl***** pytho****@googl*****
2011年 3月 20日 (日) 00:45:33 JST


2 new revisions:

Revision: 913f71bf00a0
Author:   Naoki INADA  <inada****@klab*****>
Date:     Sat Mar 19 08:30:15 2011
Log:      c-api, distutils, documenting, extending, install, reference,...
http://code.google.com/p/python-doc-ja/source/detail?r=913f71bf00a0

Revision: 013b5348d951
Author:   Naoki INADA  <inada****@klab*****>
Date:     Sat Mar 19 08:34:47 2011
Log:      merge
http://code.google.com/p/python-doc-ja/source/detail?r=013b5348d951

==============================================================================
Revision: 913f71bf00a0
Author:   Naoki INADA  <inada****@klab*****>
Date:     Sat Mar 19 08:30:15 2011
Log:      c-api, distutils, documenting, extending, install, reference,
using の diff を追加.
http://code.google.com/p/python-doc-ja/source/detail?r=913f71bf00a0

Added:
  /c-api/diff/allocation.rst.diff
  /c-api/diff/allocation.rst.html
  /c-api/diff/arg.rst.diff
  /c-api/diff/arg.rst.html
  /c-api/diff/buffer.rst.diff
  /c-api/diff/buffer.rst.html
  /c-api/diff/bytearray.rst.diff
  /c-api/diff/bytearray.rst.html
  /c-api/diff/datetime.rst.diff
  /c-api/diff/datetime.rst.html
  /c-api/diff/dict.rst.diff
  /c-api/diff/dict.rst.html
  /c-api/diff/exceptions.rst.diff
  /c-api/diff/exceptions.rst.html
  /c-api/diff/float.rst.diff
  /c-api/diff/float.rst.html
  /c-api/diff/gcsupport.rst.diff
  /c-api/diff/gcsupport.rst.html
  /c-api/diff/import.rst.diff
  /c-api/diff/import.rst.html
  /c-api/diff/init.rst.diff
  /c-api/diff/init.rst.html
  /c-api/diff/int.rst.diff
  /c-api/diff/int.rst.html
  /c-api/diff/intro.rst.diff
  /c-api/diff/intro.rst.html
  /c-api/diff/list.rst.diff
  /c-api/diff/list.rst.html
  /c-api/diff/long.rst.diff
  /c-api/diff/long.rst.html
  /c-api/diff/mapping.rst.diff
  /c-api/diff/mapping.rst.html
  /c-api/diff/marshal.rst.diff
  /c-api/diff/marshal.rst.html
  /c-api/diff/method.rst.diff
  /c-api/diff/method.rst.html
  /c-api/diff/objbuffer.rst.diff
  /c-api/diff/objbuffer.rst.html
  /c-api/diff/object.rst.diff
  /c-api/diff/object.rst.html
  /c-api/diff/sequence.rst.diff
  /c-api/diff/sequence.rst.html
  /c-api/diff/set.rst.diff
  /c-api/diff/set.rst.html
  /c-api/diff/slice.rst.diff
  /c-api/diff/slice.rst.html
  /c-api/diff/string.rst.diff
  /c-api/diff/string.rst.html
  /c-api/diff/structures.rst.diff
  /c-api/diff/structures.rst.html
  /c-api/diff/sys.rst.diff
  /c-api/diff/sys.rst.html
  /c-api/diff/tuple.rst.diff
  /c-api/diff/tuple.rst.html
  /c-api/diff/type.rst.diff
  /c-api/diff/type.rst.html
  /c-api/diff/typeobj.rst.diff
  /c-api/diff/typeobj.rst.html
  /c-api/diff/unicode.rst.diff
  /c-api/diff/unicode.rst.html
  /c-api/diff/weakref.rst.diff
  /c-api/diff/weakref.rst.html
  /distutils/diff/apiref.rst.diff
  /distutils/diff/apiref.rst.html
  /distutils/diff/builtdist.rst.diff
  /distutils/diff/builtdist.rst.html
  /distutils/diff/extending.rst.diff
  /distutils/diff/extending.rst.html
  /distutils/diff/setupscript.rst.diff
  /distutils/diff/setupscript.rst.html
  /distutils/diff/sourcedist.rst.diff
  /distutils/diff/sourcedist.rst.html
  /documenting/diff/index.rst.diff
  /documenting/diff/index.rst.html
  /documenting/diff/markup.rst.diff
  /documenting/diff/markup.rst.html
  /documenting/diff/style.rst.diff
  /documenting/diff/style.rst.html
  /extending/diff/extending.rst.diff
  /extending/diff/extending.rst.html
  /extending/diff/newtypes.rst.diff
  /extending/diff/newtypes.rst.html
  /install/diff/index.rst.diff
  /install/diff/index.rst.html
  /reference/diff/compound_stmts.rst.diff
  /reference/diff/compound_stmts.rst.html
  /reference/diff/datamodel.rst.diff
  /reference/diff/datamodel.rst.html
  /reference/diff/executionmodel.rst.diff
  /reference/diff/executionmodel.rst.html
  /reference/diff/expressions.rst.diff
  /reference/diff/expressions.rst.html
  /reference/diff/lexical_analysis.rst.diff
  /reference/diff/lexical_analysis.rst.html
  /reference/diff/simple_stmts.rst.diff
  /reference/diff/simple_stmts.rst.html
  /using/diff/cmdline.rst.diff
  /using/diff/cmdline.rst.html
  /using/diff/mac.rst.diff
  /using/diff/mac.rst.html
  /using/diff/unix.rst.diff
  /using/diff/unix.rst.html
  /using/diff/windows.rst.diff
  /using/diff/windows.rst.html

=======================================
--- /dev/null
+++ /c-api/diff/allocation.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,165 @@
+--- r262/c-api/allocation.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/allocation.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -2,103 +2,121 @@
+
+ .. _allocating-objects:
+
+ Allocating Objects on the Heap
+ ==============================
+
+
+ .. cfunction:: PyObject* _PyObject_New(PyTypeObject *type)
+
+
+ .. cfunction:: PyVarObject* _PyObject_NewVar(PyTypeObject *type,  
Py_ssize_t size)
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: void _PyObject_Del(PyObject *op)
+
+
+ .. cfunction:: PyObject* PyObject_Init(PyObject *op, PyTypeObject *type)
+
+-   Initialize a newly-allocated object *op* with its type and initial  
reference.
+-   Returns the initialized object.  If *type* indicates that the object
+-   participates in the cyclic garbage detector, it is added to the  
detector's set
+-   of observed objects. Other fields of the object are not affected.
++   Initialize a newly-allocated object *op* with its type and initial
++   reference.  Returns the initialized object.  If *type* indicates that  
the
++   object participates in the cyclic garbage detector, it is added to the
++   detector's set of observed objects. Other fields of the object are not
++   affected.
+
+
+ .. cfunction:: PyVarObject* PyObject_InitVar(PyVarObject *op,  
PyTypeObject *type, Py_ssize_t size)
+
+    This does everything :cfunc:`PyObject_Init` does, and also initializes  
the
+    length information for a variable-size object.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: TYPE* PyObject_New(TYPE, PyTypeObject *type)
+
+-   Allocate a new Python object using the C structure type *TYPE* and the  
Python
+-   type object *type*.  Fields not defined by the Python object header  
are not
+-   initialized; the object's reference count will be one.  The size of  
the memory
+-   allocation is determined from the :attr:`tp_basicsize` field of the  
type object.
++   Allocate a new Python object using the C structure type *TYPE* and the
++   Python type object *type*.  Fields not defined by the Python object  
header
++   are not initialized; the object's reference count will be one.  The  
size of
++   the memory allocation is determined from the :attr:`tp_basicsize`  
field of
++   the type object.
+
+
+ .. cfunction:: TYPE* PyObject_NewVar(TYPE, PyTypeObject *type, Py_ssize_t  
size)
+
+-   Allocate a new Python object using the C structure type *TYPE* and the  
Python
+-   type object *type*.  Fields not defined by the Python object header  
are not
+-   initialized.  The allocated memory allows for the *TYPE* structure  
plus *size*
+-   fields of the size given by the :attr:`tp_itemsize` field of *type*.   
This is
+-   useful for implementing objects like tuples, which are able to  
determine their
+-   size at construction time.  Embedding the array of fields into the same
+-   allocation decreases the number of allocations, improving the memory  
management
+-   efficiency.
++   Allocate a new Python object using the C structure type *TYPE* and the
++   Python type object *type*.  Fields not defined by the Python object  
header
++   are not initialized.  The allocated memory allows for the *TYPE*  
structure
++   plus *size* fields of the size given by the :attr:`tp_itemsize` field  
of
++   *type*.  This is useful for implementing objects like tuples, which are
++   able to determine their size at construction time.  Embedding the  
array of
++   fields into the same allocation decreases the number of allocations,
++   improving the memory management efficiency.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: void PyObject_Del(PyObject *op)
+
+    Releases memory allocated to an object using :cfunc:`PyObject_New` or
+-   :cfunc:`PyObject_NewVar`.  This is normally called from  
the :attr:`tp_dealloc`
+-   handler specified in the object's type.  The fields of the object  
should not be
+-   accessed after this call as the memory is no longer a valid Python  
object.
++   :cfunc:`PyObject_NewVar`.  This is normally called from the
++   :attr:`tp_dealloc` handler specified in the object's type.  The fields  
of
++   the object should not be accessed after this call as the memory is no
++   longer a valid Python object.
+
+
+ .. cfunction:: PyObject* Py_InitModule(char *name, PyMethodDef *methods)
+
+-   Create a new module object based on a name and table of functions,  
returning the
+-   new module object.
++   Create a new module object based on a name and table of functions,
++   returning the new module object.
+
+    .. versionchanged:: 2.3
+-      Older versions of Python did not support *NULL* as the value for  
the *methods*
+-      argument.
++      Older versions of Python did not support *NULL* as the value for the
++      *methods* argument.
+
+
+ .. cfunction:: PyObject* Py_InitModule3(char *name, PyMethodDef *methods,  
char *doc)
+
+-   Create a new module object based on a name and table of functions,  
returning the
+-   new module object.  If *doc* is non-*NULL*, it will be used to define  
the
+-   docstring for the module.
++   Create a new module object based on a name and table of functions,
++   returning the new module object.  If *doc* is non-*NULL*, it will be  
used
++   to define the docstring for the module.
+
+    .. versionchanged:: 2.3
+-      Older versions of Python did not support *NULL* as the value for  
the *methods*
+-      argument.
++      Older versions of Python did not support *NULL* as the value for the
++      *methods* argument.
+
+
+ .. cfunction:: PyObject* Py_InitModule4(char *name, PyMethodDef *methods,  
char *doc, PyObject *self, int apiver)
+
+-   Create a new module object based on a name and table of functions,  
returning the
+-   new module object.  If *doc* is non-*NULL*, it will be used to define  
the
+-   docstring for the module.  If *self* is non-*NULL*, it will passed to  
the
+-   functions of the module as their (otherwise *NULL*) first parameter.   
(This was
+-   added as an experimental feature, and there are no known uses in the  
current
+-   version of Python.)  For *apiver*, the only value which should be  
passed is
+-   defined by the constant :const:`PYTHON_API_VERSION`.
++   Create a new module object based on a name and table of functions,
++   returning the new module object.  If *doc* is non-*NULL*, it will be  
used
++   to define the docstring for the module.  If *self* is non-*NULL*, it  
will
++   passed to the functions of the module as their (otherwise *NULL*) first
++   parameter.  (This was added as an experimental feature, and there are  
no
++   known uses in the current version of Python.)  For *apiver*, the only  
value
++   which should be passed is defined by the constant
++   :const:`PYTHON_API_VERSION`.
+
+    .. note::
+
+-      Most uses of this function should probably be using  
the :cfunc:`Py_InitModule3`
+-      instead; only use this if you are sure you need it.
++      Most uses of this function should probably be using the
++      :cfunc:`Py_InitModule3` instead; only use this if you are sure you  
need
++      it.
+
+    .. versionchanged:: 2.3
+-      Older versions of Python did not support *NULL* as the value for  
the *methods*
+-      argument.
++      Older versions of Python did not support *NULL* as the value for the
++      *methods* argument.
+
+
+ .. cvar:: PyObject _Py_NoneStruct
+
+-   Object which is visible in Python as ``None``.  This should only be  
accessed
+-   using the ``Py_None`` macro, which evaluates to a pointer to this  
object.
++   Object which is visible in Python as ``None``.  This should only be
++   accessed using the ``Py_None`` macro, which evaluates to a pointer to  
this
++   object.
=======================================
--- /dev/null
+++ /c-api/diff/allocation.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,148 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to2__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/allocation.rst =&gt;  
r266/c-api/allocation.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to2__0"></td><td  
class="diff_header" id="from2_6">6</td><td  
nowrap="nowrap">==============================</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_7">7</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_8">8</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_9">9</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;_PyObject_New(PyTypeObject&nbsp;*type)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_10">10</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_11">11</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_12">12</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyVarObject*&nbsp;_PyObject_NewVar(PyTypeObject&nbsp;*type,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_13">13</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__1">n</a></td><td  
class="diff_header" id="to2_14">14+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_15">15+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__1"></td><td  
class="diff_header" id="to2_16">16+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_17">17+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_14">14</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_15">15</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;_PyObject_Del(PyObject&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_17">17</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_18">18</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyObject_Init(PyObject&nbsp;*op,&nbsp;PyTypeObject&nbsp;*type)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_19">19</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__2">n</a></td><td  
class="diff_header" id="from2_20">20-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Initialize&nbsp;a&nbsp;newly-allocated&nbsp;object&nbsp;*op*&nbsp;with&nbsp;its&nbsp;type&nbsp;and&nbsp;initial<span  
class="diff_sub">&nbsp;reference.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__2">n</a></td><td  
class="diff_header" id="to2_24">24+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Initialize&nbsp;a&nbsp;newly-allocated&nbsp;object&nbsp;*op*&nbsp;with&nbsp;its&nbsp;type&nbsp;and&nbsp;initial</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_21">21-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;the&nbsp;initialized&nbsp;object.&nbsp;&nbsp;If&nbsp;*type*&nbsp;indicates&nbsp;that&nbsp;the<span  
class="diff_sub">&nbsp;object</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_25">25+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;reference.</span>&nbsp;&nbsp;Returns&nbsp;the&nbsp;initialized&nbsp;object.&nbsp;&nbsp;If&nbsp;*type*&nbsp;indicates&nbsp;that&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_22">22-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;participates&nbsp;in&nbsp;the&nbsp;cyclic&nbsp;garbage&nbsp;detector,&nbsp;it&nbsp;is&nbsp;added&nbsp;to&nbsp;the<span  
class="diff_sub">&nbsp;detector's&nbsp;set</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_26">26+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;object</span>&nbsp;participates&nbsp;in&nbsp;the&nbsp;cyclic&nbsp;garbage&nbsp;detector,&nbsp;it&nbsp;is&nbsp;added&nbsp;to&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_23">23-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;of&nbsp;observed&nbsp;objects.&nbsp;Other&nbsp;fields&nbsp;of&nbsp;the&nbsp;object&nbsp;are&nbsp;not<span  
class="diff_sub">&nbsp;affected.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_27">27+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;detector's&nbsp;set</span>&nbsp;of&nbsp;observed&nbsp;objects.&nbsp;Other&nbsp;fields&nbsp;of&nbsp;the&nbsp;object&nbsp;are&nbsp;not</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__2"></td><td  
class="diff_header" id="to2_28">28+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;affected.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_24">24</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_25">25</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_26">26</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyVarObject*&nbsp;PyObject_InitVar(PyVarObject&nbsp;*op,&nbsp;PyTypeObject&nbsp;*type,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_27">27</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_28">28</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;does&nbsp;everything&nbsp;:cfunc:`PyObject_Init`&nbsp;does,&nbsp;and&nbsp;also&nbsp;initializes&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_29">29</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;length&nbsp;information&nbsp;for&nbsp;a&nbsp;variable-size&nbsp;object.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to2__3"></td><td  
class="diff_header" id="from2_30">30</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to2__3">n</a></td><td class="diff_header"  
id="to2_36">36+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_37">37+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_38">38+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_39">39+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_31">31</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_32">32</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;TYPE*&nbsp;PyObject_New(TYPE,&nbsp;PyTypeObject&nbsp;*type)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_33">33</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__4">n</a></td><td  
class="diff_header" id="from2_34">34-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Allocate&nbsp;a&nbsp;new&nbsp;Python&nbsp;object&nbsp;using&nbsp;the&nbsp;C&nbsp;structure&nbsp;type&nbsp;*TYPE*&nbsp;and&nbsp;the<span  
class="diff_sub">&nbsp;Python</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__4">n</a></td><td  
class="diff_header" id="to2_43">43+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Allocate&nbsp;a&nbsp;new&nbsp;Python&nbsp;object&nbsp;using&nbsp;the&nbsp;C&nbsp;structure&nbsp;type&nbsp;*TYPE*&nbsp;and&nbsp;the</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__4"></td><td  
class="diff_header" id="from2_35">35-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;type&nbsp;object&nbsp;*type*.&nbsp;&nbsp;Fields&nbsp;not&nbsp;defined&nbsp;by&nbsp;the&nbsp;Python&nbsp;object&nbsp;header<span  
class="diff_sub">&nbsp;are&nbsp;not</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__4"></td><td  
class="diff_header" id="to2_44">44+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python</span>&nbsp;type&nbsp;object&nbsp;*type*.&nbsp;&nbsp;Fields&nbsp;not&nbsp;defined&nbsp;by&nbsp;the&nbsp;Python&nbsp;object&nbsp;header</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_36">36-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;initialized;&nbsp;the&nbsp;object's&nbsp;reference&nbsp;count&nbsp;will&nbsp;be&nbsp;one.&nbsp;&nbsp;The&nbsp;size&nbsp;of<span  
class="diff_sub">&nbsp;the&nbsp;memory</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_45">45+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;are&nbsp;not</span>&nbsp;initialized;&nbsp;the&nbsp;object's&nbsp;reference&nbsp;count&nbsp;will&nbsp;be&nbsp;one.&nbsp;&nbsp;The&nbsp;size&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_37">37-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;allocation&nbsp;is&nbsp;determined&nbsp;from&nbsp;the&nbsp;:attr:`tp_basicsize`&nbsp;field&nbsp;of<span  
class="diff_sub">&nbsp;the&nbsp;type&nbsp;object.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_46">46+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the&nbsp;memory</span>&nbsp;allocation&nbsp;is&nbsp;determined&nbsp;from&nbsp;the&nbsp;:attr:`tp_basicsize`&nbsp;field&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_47">47+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;type&nbsp;object.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_38">38</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_39">39</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_40">40</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;TYPE*&nbsp;PyObject_NewVar(TYPE,&nbsp;PyTypeObject&nbsp;*type,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_41">41</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__5">n</a></td><td  
class="diff_header" id="from2_42">42-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Allocate&nbsp;a&nbsp;new&nbsp;Python&nbsp;object&nbsp;using&nbsp;the&nbsp;C&nbsp;structure&nbsp;type&nbsp;*TYPE*&nbsp;and&nbsp;the<span  
class="diff_sub">&nbsp;Python</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__5">n</a></td><td  
class="diff_header" id="to2_52">52+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Allocate&nbsp;a&nbsp;new&nbsp;Python&nbsp;object&nbsp;using&nbsp;the&nbsp;C&nbsp;structure&nbsp;type&nbsp;*TYPE*&nbsp;and&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_43">43-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;type&nbsp;object&nbsp;*type*.&nbsp;&nbsp;Fields&nbsp;not&nbsp;defined&nbsp;by&nbsp;the&nbsp;Python&nbsp;object&nbsp;header<span  
class="diff_sub">&nbsp;are&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_53">53+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python</span>&nbsp;type&nbsp;object&nbsp;*type*.&nbsp;&nbsp;Fields&nbsp;not&nbsp;defined&nbsp;by&nbsp;the&nbsp;Python&nbsp;object&nbsp;header</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_44">44-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;initialized.&nbsp;&nbsp;The&nbsp;allocated&nbsp;memory&nbsp;allows&nbsp;for&nbsp;the&nbsp;*TYPE*&nbsp;structure<span  
class="diff_sub">&nbsp;plus&nbsp;*size*</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_54">54+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;are&nbsp;not</span>&nbsp;initialized.&nbsp;&nbsp;The&nbsp;allocated&nbsp;memory&nbsp;allows&nbsp;for&nbsp;the&nbsp;*TYPE*&nbsp;structure</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_45">45-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;fields&nbsp;of&nbsp;the&nbsp;size&nbsp;given&nbsp;by&nbsp;the&nbsp;:attr:`tp_itemsize`&nbsp;field&nbsp;of<span  
class="diff_sub">&nbsp;*type*.&nbsp;&nbsp;This&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_55">55+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;plus&nbsp;*size*</span>&nbsp;fields&nbsp;of&nbsp;the&nbsp;size&nbsp;given&nbsp;by&nbsp;the&nbsp;:attr:`tp_itemsize`&nbsp;field&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_46">46-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;useful&nbsp;for&nbsp;implementing&nbsp;objects&nbsp;like&nbsp;tuples,&nbsp;which&nbsp;are&nbsp;able&nbsp;to&nbsp;determine&nbsp;their</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_56">56+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*type*.&nbsp;&nbsp;This&nbsp;is&nbsp;useful&nbsp;for&nbsp;implementing&nbsp;objects&nbsp;like&nbsp;tuples,&nbsp;which&nbsp;are</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_47">47-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;size&nbsp;at&nbsp;construction&nbsp;time.&nbsp;&nbsp;Embedding&nbsp;the&nbsp;array&nbsp;of&nbsp;fields&nbsp;into&nbsp;the&nbsp;same</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_57">57+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;able&nbsp;to&nbsp;determine&nbsp;their&nbsp;size&nbsp;at&nbsp;construction&nbsp;time.&nbsp;&nbsp;Embedding&nbsp;the&nbsp;array&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_48">48-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;allocation&nbsp;decreases&nbsp;the&nbsp;number&nbsp;of&nbsp;allocations,&nbsp;improving&nbsp;the&nbsp;memory&nbsp;management</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_58">58+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;fields&nbsp;into&nbsp;the&nbsp;same&nbsp;allocation&nbsp;decreases&nbsp;the&nbsp;number&nbsp;of&nbsp;allocations,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_49">49-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;efficiency.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_59">59+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;improving&nbsp;the&nbsp;memory&nbsp;management&nbsp;efficiency.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_60">60+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__5"></td><td  
class="diff_header" id="to2_61">61+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_62">62+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_50">50</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_51">51</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_52">52</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyObject_Del(PyObject&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_53">53</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Releases&nbsp;memory&nbsp;allocated&nbsp;to&nbsp;an&nbsp;object&nbsp;using&nbsp;:cfunc:`PyObject_New`&nbsp;or</td></tr><tr><td  
class="diff_next" id="difflib_chg_to2__6"><a  
href="#difflib_chg_to2__6">n</a></td><td class="diff_header"  
id="from2_55">55-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_NewVar`.&nbsp;&nbsp;This&nbsp;is&nbsp;normally&nbsp;called&nbsp;from&nbsp;the<span  
class="diff_sub">&nbsp;:attr:`tp_dealloc`</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__6"><a  
href="#difflib_chg_to2__6">n</a></td><td class="diff_header"  
id="to2_69">69+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_NewVar`.&nbsp;&nbsp;This&nbsp;is&nbsp;normally&nbsp;called&nbsp;from&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_56">56-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;handler&nbsp;specified&nbsp;in&nbsp;the&nbsp;object's&nbsp;type.&nbsp;&nbsp;The&nbsp;fields&nbsp;of&nbsp;the&nbsp;object&nbsp;should&nbsp;not&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_70">70+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:attr:`tp_dealloc`&nbsp;handler&nbsp;specified&nbsp;in&nbsp;the&nbsp;object's&nbsp;type.&nbsp;&nbsp;The&nbsp;fields&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_57">57-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;accessed&nbsp;after&nbsp;this&nbsp;call&nbsp;as&nbsp;the&nbsp;memory&nbsp;is&nbsp;no&nbsp;longer&nbsp;a&nbsp;valid&nbsp;Python&nbsp;object.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;object&nbsp;should&nbsp;not&nbsp;be&nbsp;accessed&nbsp;after&nbsp;this&nbsp;call&nbsp;as&nbsp;the&nbsp;memory&nbsp;is&nbsp;no</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;longer&nbsp;a&nbsp;valid&nbsp;Python&nbsp;object.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to2__7"></td><td  
class="diff_header" id="from2_58">58</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_59">59</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_60">60</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_InitModule(char&nbsp;*name,&nbsp;PyMethodDef&nbsp;*methods)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_61">61</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__7">n</a></td><td  
class="diff_header" id="from2_62">62-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,<span  
class="diff_sub">&nbsp;returning&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__7">n</a></td><td  
class="diff_header" id="to2_77">77+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_63">63-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;new&nbsp;module&nbsp;object.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_78">78+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returning&nbsp;the</span>&nbsp;new&nbsp;module&nbsp;object.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to2__8"></td><td  
class="diff_header" id="from2_64">64</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_65">65</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.3</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__8">n</a></td><td  
class="diff_header" id="from2_66">66-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the<span  
class="diff_sub">&nbsp;*methods*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__8">n</a></td><td  
class="diff_header" id="to2_81">81+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_67">67-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_82">82+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*methods*</span>&nbsp;argument.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_68">68</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to2__9"></td><td class="diff_header"  
id="from2_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_70">70</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_InitModule3(char&nbsp;*name,&nbsp;PyMethodDef&nbsp;*methods,&nbsp;char&nbsp;*doc)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_71">71</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__9">n</a></td><td  
class="diff_header" id="from2_72">72-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,<span  
class="diff_sub">&nbsp;returning&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__9">n</a></td><td  
class="diff_header" id="to2_87">87+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_73">73-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;new&nbsp;module&nbsp;object.&nbsp;&nbsp;If&nbsp;*doc*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will&nbsp;be&nbsp;used<span  
class="diff_sub">&nbsp;to&nbsp;define&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_88">88+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returning&nbsp;the</span>&nbsp;new&nbsp;module&nbsp;object.&nbsp;&nbsp;If&nbsp;*doc*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will&nbsp;be&nbsp;used</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_74">74-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;docstring&nbsp;for&nbsp;the&nbsp;module.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_89">89+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to&nbsp;define&nbsp;the</span>&nbsp;docstring&nbsp;for&nbsp;the&nbsp;module.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to2__10"></td><td  
class="diff_header" id="from2_75">75</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_76">76</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.3</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__10">n</a></td><td  
class="diff_header" id="from2_77">77-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the<span  
class="diff_sub">&nbsp;*methods*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__10">n</a></td><td  
class="diff_header" id="to2_92">92+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_78">78-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_93">93+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*methods*</span>&nbsp;argument.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_79">79</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_80">80</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_81">81</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_InitModule4(char&nbsp;*name,&nbsp;PyMethodDef&nbsp;*methods,&nbsp;char&nbsp;*doc,&nbsp;PyObject&nbsp;*self,&nbsp;int&nbsp;apiver)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_82">82</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__11">n</a></td><td  
class="diff_header" id="from2_83">83-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,<span  
class="diff_sub">&nbsp;returning&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__11">n</a></td><td  
class="diff_header" id="to2_98">98+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;module&nbsp;object&nbsp;based&nbsp;on&nbsp;a&nbsp;name&nbsp;and&nbsp;table&nbsp;of&nbsp;functions,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_84">84-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;new&nbsp;module&nbsp;object.&nbsp;&nbsp;If&nbsp;*doc*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will&nbsp;be&nbsp;used<span  
class="diff_sub">&nbsp;to&nbsp;define&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_99">99+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returning&nbsp;the</span>&nbsp;new&nbsp;module&nbsp;object.&nbsp;&nbsp;If&nbsp;*doc*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will&nbsp;be&nbsp;used</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_85">85-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;docstring&nbsp;for&nbsp;the&nbsp;module.&nbsp;&nbsp;If&nbsp;*self*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will<span  
class="diff_sub">&nbsp;passed&nbsp;to&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_100">100+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to&nbsp;define&nbsp;the</span>&nbsp;docstring&nbsp;for&nbsp;the&nbsp;module.&nbsp;&nbsp;If&nbsp;*self*&nbsp;is&nbsp;non-*NULL*,&nbsp;it&nbsp;will</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__11"></td><td  
class="diff_header" id="from2_86">86-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;functions&nbsp;of&nbsp;the&nbsp;module&nbsp;as&nbsp;their&nbsp;(otherwise&nbsp;*NULL*)&nbsp;first<span  
class="diff_sub">&nbsp;parameter.&nbsp;&nbsp;(This&nbsp;was</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to2__11"></td><td  
class="diff_header" id="to2_101">101+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;passed&nbsp;to&nbsp;the</span>&nbsp;functions&nbsp;of&nbsp;the&nbsp;module&nbsp;as&nbsp;their&nbsp;(otherwise&nbsp;*NULL*)&nbsp;first</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_87">87-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;added&nbsp;as&nbsp;an&nbsp;experimental&nbsp;feature,&nbsp;and&nbsp;there&nbsp;are&nbsp;no&nbsp;known&nbsp;uses&nbsp;in&nbsp;the&nbsp;current</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_102">102+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;parameter.&nbsp;&nbsp;(This&nbsp;was&nbsp;added&nbsp;as&nbsp;an&nbsp;experimental&nbsp;feature,&nbsp;and&nbsp;there&nbsp;are&nbsp;no</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_88">88-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;version&nbsp;of&nbsp;Python.)&nbsp;&nbsp;For&nbsp;*apiver*,&nbsp;the&nbsp;only&nbsp;value&nbsp;which&nbsp;should&nbsp;be&nbsp;passed&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_103">103+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;known&nbsp;uses&nbsp;in&nbsp;the&nbsp;current&nbsp;version&nbsp;of&nbsp;Python.)&nbsp;&nbsp;For&nbsp;*apiver*,&nbsp;the&nbsp;only&nbsp;value</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_89">89-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;defined&nbsp;by&nbsp;the&nbsp;constant&nbsp;:const:`PYTHON_API_VERSION`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_104">104+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;which&nbsp;should&nbsp;be&nbsp;passed&nbsp;is&nbsp;defined&nbsp;by&nbsp;the&nbsp;constant</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_105">105+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:const:`PYTHON_API_VERSION`.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to2__12"></td><td  
class="diff_header" id="from2_90">90</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_91">91</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;note::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_92">92</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__12">n</a></td><td  
class="diff_header" id="from2_93">93-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Most&nbsp;uses&nbsp;of&nbsp;this&nbsp;function&nbsp;should&nbsp;probably&nbsp;be&nbsp;using&nbsp;the<span  
class="diff_sub">&nbsp;:cfunc:`Py_InitModule3`</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__12">n</a></td><td  
class="diff_header" id="to2_109">109+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Most&nbsp;uses&nbsp;of&nbsp;this&nbsp;function&nbsp;should&nbsp;probably&nbsp;be&nbsp;using&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_94">94-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instead;&nbsp;only&nbsp;use&nbsp;this&nbsp;if&nbsp;you&nbsp;are&nbsp;sure&nbsp;you&nbsp;need<span  
class="diff_sub">&nbsp;it.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_110">110+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;:cfunc:`Py_InitModule3`</span>&nbsp;instead;&nbsp;only&nbsp;use&nbsp;this&nbsp;if&nbsp;you&nbsp;are&nbsp;sure&nbsp;you&nbsp;need</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_111">111+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;it.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to2__13"></td><td  
class="diff_header" id="from2_95">95</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_96">96</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.3</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__13">n</a></td><td  
class="diff_header" id="from2_97">97-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the<span  
class="diff_sub">&nbsp;*methods*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__13">n</a></td><td  
class="diff_header" id="to2_114">114+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Older&nbsp;versions&nbsp;of&nbsp;Python&nbsp;did&nbsp;not&nbsp;support&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;value&nbsp;for&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_98">98-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_115">115+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*methods*</span>&nbsp;argument.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from2_99">99</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from2_100">100</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from2_101">101</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;PyObject&nbsp;_Py_NoneStruct</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_102">102</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to2__top">t</a></td><td  
class="diff_header" id="from2_103">103-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Object&nbsp;which&nbsp;is&nbsp;visible&nbsp;in&nbsp;Python&nbsp;as&nbsp;``None``.&nbsp;&nbsp;This&nbsp;should&nbsp;only&nbsp;be<span  
class="diff_sub">&nbsp;accessed</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to2__top">t</a></td><td  
class="diff_header" id="to2_120">120+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Object&nbsp;which&nbsp;is&nbsp;visible&nbsp;in&nbsp;Python&nbsp;as&nbsp;``None``.&nbsp;&nbsp;This&nbsp;should&nbsp;only&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from2_104">104-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;using&nbsp;the&nbsp;``Py_None``&nbsp;macro,&nbsp;which&nbsp;evaluates&nbsp;to&nbsp;a&nbsp;pointer&nbsp;to&nbsp;this<span  
class="diff_sub">&nbsp;object.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_121">121+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;accessed</span>&nbsp;using&nbsp;the&nbsp;``Py_None``&nbsp;macro,&nbsp;which&nbsp;evaluates&nbsp;to&nbsp;a&nbsp;pointer&nbsp;to&nbsp;this</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to2_122">122+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;object.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/arg.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,817 @@
+--- r262/c-api/arg.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/arg.rst	2010-04-03 17:42:35.767391000 +0900
+@@ -1,542 +1,559 @@
+ .. highlightlang:: c
+
+ .. _arg-parsing:
+
+ Parsing arguments and building values
+ =====================================
+
+ These functions are useful when creating your own extensions functions and
+ methods.  Additional information and examples are available in
+ :ref:`extending-index`.
+
+ The first three of these functions described, :cfunc:`PyArg_ParseTuple`,
+-:cfunc:`PyArg_ParseTupleAndKeywords`, and :cfunc:`PyArg_Parse`, all use  
*format
+-strings* which are used to tell the function about the expected  
arguments.  The
+-format strings use the same syntax for each of these functions.
++:cfunc:`PyArg_ParseTupleAndKeywords`, and :cfunc:`PyArg_Parse`, all use
++*format strings* which are used to tell the function about the expected
++arguments.  The format strings use the same syntax for each of these
++functions.
+
+ A format string consists of zero or more "format units."  A format unit
+-describes one Python object; it is usually a single character or a  
parenthesized
+-sequence of format units.  With a few exceptions, a format unit that is  
not a
+-parenthesized sequence normally corresponds to a single address argument  
to
+-these functions.  In the following description, the quoted form is the  
format
+-unit; the entry in (round) parentheses is the Python object type that  
matches
+-the format unit; and the entry in [square] brackets is the type of the C
+-variable(s) whose address should be passed.
+-
+-``s`` (string or Unicode object) [const char \*]
+-   Convert a Python string or Unicode object to a C pointer to a  
character string.
+-   You must not provide storage for the string itself; a pointer to an  
existing
+-   string is stored into the character pointer variable whose address you  
pass.
+-   The C string is NUL-terminated.  The Python string must not contain  
embedded NUL
+-   bytes; if it does, a :exc:`TypeError` exception is raised. Unicode  
objects are
+-   converted to C strings using the default encoding.  If this conversion  
fails, a
+-   :exc:`UnicodeError` is raised.
++describes one Python object; it is usually a single character or a
++parenthesized sequence of format units.  With a few exceptions, a format  
unit
++that is not a parenthesized sequence normally corresponds to a single  
address
++argument to these functions.  In the following description, the quoted  
form is
++the format unit; the entry in (round) parentheses is the Python object  
type
++that matches the format unit; and the entry in [square] brackets is the  
type
++of the C variable(s) whose address should be passed.
++
++``s`` (string or Unicode) [const char \*]
++   Convert a Python string or Unicode object to a C pointer to a character
++   string.  You must not provide storage for the string itself; a pointer  
to
++   an existing string is stored into the character pointer variable whose
++   address you pass.  The C string is NUL-terminated.  The Python string  
must
++   not contain embedded NUL bytes; if it does, a :exc:`TypeError`  
exception is
++   raised. Unicode objects are converted to C strings using the default
++   encoding.  If this conversion fails, a :exc:`UnicodeError` is raised.
+
+ ``s#`` (string, Unicode or any read buffer compatible object) [const char  
\*, int (or :ctype:`Py_ssize_t`, see below)]
+-   This variant on ``s`` stores into two C variables, the first one a  
pointer to a
+-   character string, the second one its length.  In this case the Python  
string may
+-   contain embedded null bytes.  Unicode objects pass back a pointer to  
the default
+-   encoded string version of the object if such a conversion is  
possible.  All
+-   other read-buffer compatible objects pass back a reference to the raw  
internal
+-   data representation.
+-
+-   Starting with Python 2.5 the type of the length argument can be
+-   controlled by defining the macro :cmacro:`PY_SSIZE_T_CLEAN` before
+-   including :file:`Python.h`.  If the macro is defined, length is a
+-   :ctype:`Py_ssize_t` rather than an int.
+-
+-``s*`` (string, Unicode, or any buffer compatible object) [Py_buffer \*]
+-   Similar to ``s#``, this code fills a Py_buffer structure provided by  
the caller.
+-   The buffer gets locked, so that the caller can subsequently use the  
buffer even
+-   inside a ``Py_BEGIN_ALLOW_THREADS`` block; the caller is responsible  
for calling
+-   ``PyBuffer_Release`` with the structure after it has processed the  
data.
++   This variant on ``s`` stores into two C variables, the first one a  
pointer
++   to a character string, the second one its length.  In this case the  
Python
++   string may contain embedded null bytes.  Unicode objects pass back a
++   pointer to the default encoded string version of the object if such a
++   conversion is possible.  All other read-buffer compatible objects pass  
back
++   a reference to the raw internal data representation.
++
++   Starting with Python 2.5 the type of the length argument can be  
controlled
++   by defining the macro :cmacro:`PY_SSIZE_T_CLEAN` before including
++   :file:`Python.h`.  If the macro is defined, length is  
a :ctype:`Py_ssize_t`
++   rather than an int.
++
++``s*`` (string, Unicode, or any buffer compatible object) [Py_buffer]
++   Similar to ``s#``, this code fills a Py_buffer structure provided by  
the
++   caller.  The buffer gets locked, so that the caller can subsequently  
use
++   the buffer even inside a ``Py_BEGIN_ALLOW_THREADS`` block; the caller  
is
++   responsible for calling ``PyBuffer_Release`` with the structure after  
it
++   has processed the data.
+
+    .. versionadded:: 2.6
+
+-``z`` (string or ``None``) [const char \*]
++``z`` (string, Unicode  or ``None``) [const char \*]
+    Like ``s``, but the Python object may also be ``None``, in which case  
the C
+    pointer is set to *NULL*.
+
+-``z#`` (string or ``None`` or any read buffer compatible object) [const  
char \*, int]
++``z#`` (string, Unicode, ``None`` or any read buffer compatible object)  
[const char \*, int]
+    This is to ``s#`` as ``z`` is to ``s``.
+
+-``z*`` (string or ``None`` or any buffer compatible object) [Py_buffer*]
++``z*`` (string, Unicode, ``None`` or any buffer compatible object)  
[Py_buffer]
+    This is to ``s*`` as ``z`` is to ``s``.
+
+    .. versionadded:: 2.6
+
+-``u`` (Unicode object) [Py_UNICODE \*]
+-   Convert a Python Unicode object to a C pointer to a NUL-terminated  
buffer of
+-   16-bit Unicode (UTF-16) data.  As with ``s``, there is no need to  
provide
+-   storage for the Unicode data buffer; a pointer to the existing Unicode  
data is
+-   stored into the :ctype:`Py_UNICODE` pointer variable whose address you  
pass.
+-
+-``u#`` (Unicode object) [Py_UNICODE \*, int]
+-   This variant on ``u`` stores into two C variables, the first one a  
pointer to a
+-   Unicode data buffer, the second one its length. Non-Unicode objects  
are handled
+-   by interpreting their read-buffer pointer as pointer to  
a :ctype:`Py_UNICODE`
+-   array.
+-
+-``es`` (string, Unicode object or character buffer compatible object)  
[const char \*encoding, char \*\*buffer]
+-   This variant on ``s`` is used for encoding Unicode and objects  
convertible to
+-   Unicode into a character buffer. It only works for encoded data  
without embedded
+-   NUL bytes.
++``u`` (Unicode) [Py_UNICODE \*]
++   Convert a Python Unicode object to a C pointer to a NUL-terminated  
buffer
++   of 16-bit Unicode (UTF-16) data.  As with ``s``, there is no need to
++   provide storage for the Unicode data buffer; a pointer to the existing
++   Unicode data is stored into the :ctype:`Py_UNICODE` pointer variable  
whose
++   address you pass.
++
++``u#`` (Unicode) [Py_UNICODE \*, int]
++   This variant on ``u`` stores into two C variables, the first one a  
pointer
++   to a Unicode data buffer, the second one its length. Non-Unicode  
objects
++   are handled by interpreting their read-buffer pointer as pointer to a
++   :ctype:`Py_UNICODE` array.
++
++``es`` (string, Unicode or character buffer compatible object) [const  
char \*encoding, char \*\*buffer]
++   This variant on ``s`` is used for encoding Unicode and objects  
convertible
++   to Unicode into a character buffer. It only works for encoded data  
without
++   embedded NUL bytes.
+
+    This format requires two arguments.  The first is only used as input,  
and
+-   must be a :ctype:`const char\*` which points to the name of an  
encoding as a
+-   NUL-terminated string, or *NULL*, in which case the default encoding  
is used.
+-   An exception is raised if the named encoding is not known to Python.   
The
+-   second argument must be a :ctype:`char\*\*`; the value of the pointer  
it
+-   references will be set to a buffer with the contents of the argument  
text.
+-   The text will be encoded in the encoding specified by the first  
argument.
+-
+-   :cfunc:`PyArg_ParseTuple` will allocate a buffer of the needed size,  
copy the
+-   encoded data into this buffer and adjust *\*buffer* to reference the  
newly
+-   allocated storage.  The caller is responsible for  
calling :cfunc:`PyMem_Free` to
+-   free the allocated buffer after use.
++   must be a :ctype:`const char\*` which points to the name of an  
encoding as
++   a NUL-terminated string, or *NULL*, in which case the default encoding  
is
++   used.  An exception is raised if the named encoding is not known to  
Python.
++   The second argument must be a :ctype:`char\*\*`; the value of the  
pointer
++   it references will be set to a buffer with the contents of the argument
++   text.  The text will be encoded in the encoding specified by the first
++   argument.
++
++   :cfunc:`PyArg_ParseTuple` will allocate a buffer of the needed size,  
copy
++   the encoded data into this buffer and adjust *\*buffer* to reference  
the
++   newly allocated storage.  The caller is responsible for calling
++   :cfunc:`PyMem_Free` to free the allocated buffer after use.
+
+-``et`` (string, Unicode object or character buffer compatible object)  
[const char \*encoding, char \*\*buffer]
++``et`` (string, Unicode or character buffer compatible object) [const  
char \*encoding, char \*\*buffer]
+    Same as ``es`` except that 8-bit string objects are passed through  
without
+-   recoding them.  Instead, the implementation assumes that the string  
object uses
+-   the encoding passed in as parameter.
++   recoding them.  Instead, the implementation assumes that the string  
object
++   uses the encoding passed in as parameter.
+
+-``es#`` (string, Unicode object or character buffer compatible object)  
[const char \*encoding, char \*\*buffer, int \*buffer_length]
+-   This variant on ``s#`` is used for encoding Unicode and objects  
convertible to
+-   Unicode into a character buffer.  Unlike the ``es`` format, this  
variant allows
+-   input data which contains NUL characters.
+-
+-   It requires three arguments.  The first is only used as input, and  
must be a
+-   :ctype:`const char\*` which points to the name of an encoding as a
+-   NUL-terminated string, or *NULL*, in which case the default encoding  
is used.
+-   An exception is raised if the named encoding is not known to Python.   
The
+-   second argument must be a :ctype:`char\*\*`; the value of the pointer  
it
+-   references will be set to a buffer with the contents of the argument  
text.
+-   The text will be encoded in the encoding specified by the first  
argument.
+-   The third argument must be a pointer to an integer; the referenced  
integer
+-   will be set to the number of bytes in the output buffer.
++``es#`` (string, Unicode or character buffer compatible object) [const  
char \*encoding, char \*\*buffer, int \*buffer_length]
++   This variant on ``s#`` is used for encoding Unicode and objects  
convertible
++   to Unicode into a character buffer.  Unlike the ``es`` format, this  
variant
++   allows input data which contains NUL characters.
++
++   It requires three arguments.  The first is only used as input, and  
must be
++   a :ctype:`const char\*` which points to the name of an encoding as a
++   NUL-terminated string, or *NULL*, in which case the default encoding is
++   used.  An exception is raised if the named encoding is not known to  
Python.
++   The second argument must be a :ctype:`char\*\*`; the value of the  
pointer
++   it references will be set to a buffer with the contents of the argument
++   text.  The text will be encoded in the encoding specified by the first
++   argument.  The third argument must be a pointer to an integer; the
++   referenced integer will be set to the number of bytes in the output  
buffer.
+
+    There are two modes of operation:
+
+-   If *\*buffer* points a *NULL* pointer, the function will allocate a  
buffer of
+-   the needed size, copy the encoded data into this buffer and set  
*\*buffer* to
+-   reference the newly allocated storage.  The caller is responsible for  
calling
+-   :cfunc:`PyMem_Free` to free the allocated buffer after usage.
++   If *\*buffer* points a *NULL* pointer, the function will allocate a  
buffer
++   of the needed size, copy the encoded data into this buffer and set
++   *\*buffer* to reference the newly allocated storage.  The caller is
++   responsible for calling :cfunc:`PyMem_Free` to free the allocated  
buffer
++   after usage.
+
+    If *\*buffer* points to a non-*NULL* pointer (an already allocated  
buffer),
+-   :cfunc:`PyArg_ParseTuple` will use this location as the buffer and  
interpret the
+-   initial value of *\*buffer_length* as the buffer size.  It will then  
copy the
+-   encoded data into the buffer and NUL-terminate it.  If the buffer is  
not large
+-   enough, a :exc:`ValueError` will be set.
++   :cfunc:`PyArg_ParseTuple` will use this location as the buffer and
++   interpret the initial value of *\*buffer_length* as the buffer size.   
It
++   will then copy the encoded data into the buffer and NUL-terminate it.   
If
++   the buffer is not large enough, a :exc:`ValueError` will be set.
+
+    In both cases, *\*buffer_length* is set to the length of the encoded  
data
+    without the trailing NUL byte.
+
+-``et#`` (string, Unicode object or character buffer compatible object)  
[const char \*encoding, char \*\*buffer]
+-   Same as ``es#`` except that string objects are passed through without  
recoding
+-   them. Instead, the implementation assumes that the string object uses  
the
+-   encoding passed in as parameter.
++``et#`` (string, Unicode or character buffer compatible object) [const  
char \*encoding, char \*\*buffer, int \*buffer_length]
++   Same as ``es#`` except that string objects are passed through without
++   recoding them. Instead, the implementation assumes that the string  
object
++   uses the encoding passed in as parameter.
+
+ ``b`` (integer) [unsigned char]
+    Convert a nonnegative Python integer to an unsigned tiny int, stored  
in a C
+    :ctype:`unsigned char`.
+
+ ``B`` (integer) [unsigned char]
+-   Convert a Python integer to a tiny int without overflow checking,  
stored in a C
+-   :ctype:`unsigned char`.
++   Convert a Python integer to a tiny int without overflow checking,  
stored in
++   a C :ctype:`unsigned char`.
+
+    .. versionadded:: 2.3
+
+ ``h`` (integer) [short int]
+    Convert a Python integer to a C :ctype:`short int`.
+
+ ``H`` (integer) [unsigned short int]
+-   Convert a Python integer to a C :ctype:`unsigned short int`, without  
overflow
+-   checking.
++   Convert a Python integer to a C :ctype:`unsigned short int`, without
++   overflow checking.
+
+    .. versionadded:: 2.3
+
+ ``i`` (integer) [int]
+    Convert a Python integer to a plain C :ctype:`int`.
+
+ ``I`` (integer) [unsigned int]
+    Convert a Python integer to a C :ctype:`unsigned int`, without overflow
+    checking.
+
+    .. versionadded:: 2.3
+
+ ``l`` (integer) [long int]
+    Convert a Python integer to a C :ctype:`long int`.
+
+ ``k`` (integer) [unsigned long]
+-   Convert a Python integer or long integer to a C :ctype:`unsigned long`  
without
+-   overflow checking.
++   Convert a Python integer or long integer to a C :ctype:`unsigned long`
++   without overflow checking.
+
+    .. versionadded:: 2.3
+
+ ``L`` (integer) [PY_LONG_LONG]
+    Convert a Python integer to a C :ctype:`long long`.  This format is  
only
+-   available on platforms that support :ctype:`long long`  
(or :ctype:`_int64` on
+-   Windows).
++   available on platforms that support :ctype:`long long`  
(or :ctype:`_int64`
++   on Windows).
+
+ ``K`` (integer) [unsigned PY_LONG_LONG]
+    Convert a Python integer or long integer to a C :ctype:`unsigned long  
long`
+    without overflow checking.  This format is only available on platforms  
that
+-   support :ctype:`unsigned long long` (or :ctype:`unsigned _int64` on  
Windows).
++   support :ctype:`unsigned long long` (or :ctype:`unsigned _int64` on
++   Windows).
+
+    .. versionadded:: 2.3
+
+ ``n`` (integer) [Py_ssize_t]
+    Convert a Python integer or long integer to a C :ctype:`Py_ssize_t`.
+
+    .. versionadded:: 2.5
+
+ ``c`` (string of length 1) [char]
+    Convert a Python character, represented as a string of length 1, to a C
+    :ctype:`char`.
+
+ ``f`` (float) [float]
+    Convert a Python floating point number to a C :ctype:`float`.
+
+ ``d`` (float) [double]
+    Convert a Python floating point number to a C :ctype:`double`.
+
+ ``D`` (complex) [Py_complex]
+    Convert a Python complex number to a C :ctype:`Py_complex` structure.
+
+ ``O`` (object) [PyObject \*]
+-   Store a Python object (without any conversion) in a C object pointer.   
The C
+-   program thus receives the actual object that was passed.  The object's  
reference
+-   count is not increased.  The pointer stored is not *NULL*.
++   Store a Python object (without any conversion) in a C object pointer.   
The
++   C program thus receives the actual object that was passed.  The  
object's
++   reference count is not increased.  The pointer stored is not *NULL*.
+
+ ``O!`` (object) [*typeobject*, PyObject \*]
+    Store a Python object in a C object pointer.  This is similar to  
``O``, but
+-   takes two C arguments: the first is the address of a Python type  
object, the
+-   second is the address of the C variable (of type :ctype:`PyObject\*`)  
into which
+-   the object pointer is stored.  If the Python object does not have the  
required
+-   type, :exc:`TypeError` is raised.
++   takes two C arguments: the first is the address of a Python type  
object,
++   the second is the address of the C variable (of  
type :ctype:`PyObject\*`)
++   into which the object pointer is stored.  If the Python object does not
++   have the required type, :exc:`TypeError` is raised.
+
+ ``O&`` (object) [*converter*, *anything*]
+-   Convert a Python object to a C variable through a *converter*  
function.  This
+-   takes two arguments: the first is a function, the second is the  
address of a C
+-   variable (of arbitrary type), converted to :ctype:`void \*`.  The  
*converter*
+-   function in turn is called as follows::
++   Convert a Python object to a C variable through a *converter* function.
++   This takes two arguments: the first is a function, the second is the
++   address of a C variable (of arbitrary type), converted to :ctype:`void  
\*`.
++   The *converter* function in turn is called as follows::
+
+       status = converter(object, address);
+
+    where *object* is the Python object to be converted and *address* is  
the
+-   :ctype:`void\*` argument that was passed to the :cfunc:`PyArg_Parse\*`  
function.
+-   The returned *status* should be ``1`` for a successful conversion and  
``0`` if
+-   the conversion has failed.  When the conversion fails, the *converter*  
function
+-   should raise an exception and leave the content of *address*  
unmodified.
++   :ctype:`void\*` argument that was passed to the :cfunc:`PyArg_Parse\*`
++   function.  The returned *status* should be ``1`` for a successful
++   conversion and ``0`` if the conversion has failed.  When the conversion
++   fails, the *converter* function should raise an exception and leave the
++   content of *address* unmodified.
+
+ ``S`` (string) [PyStringObject \*]
+    Like ``O`` but requires that the Python object is a string object.   
Raises
+-   :exc:`TypeError` if the object is not a string object.  The C variable  
may also
+-   be declared as :ctype:`PyObject\*`.
++   :exc:`TypeError` if the object is not a string object.  The C variable  
may
++   also be declared as :ctype:`PyObject\*`.
+
+ ``U`` (Unicode string) [PyUnicodeObject \*]
+    Like ``O`` but requires that the Python object is a Unicode object.   
Raises
+-   :exc:`TypeError` if the object is not a Unicode object.  The C  
variable may also
+-   be declared as :ctype:`PyObject\*`.
++   :exc:`TypeError` if the object is not a Unicode object.  The C  
variable may
++   also be declared as :ctype:`PyObject\*`.
+
+ ``t#`` (read-only character buffer) [char \*, int]
+    Like ``s#``, but accepts any object which implements the read-only  
buffer
+-   interface.  The :ctype:`char\*` variable is set to point to the first  
byte of
+-   the buffer, and the :ctype:`int` is set to the length of the buffer.   
Only
+-   single-segment buffer objects are accepted; :exc:`TypeError` is raised  
for all
+-   others.
++   interface.  The :ctype:`char\*` variable is set to point to the first  
byte
++   of the buffer, and the :ctype:`int` is set to the length of the buffer.
++   Only single-segment buffer objects are accepted; :exc:`TypeError` is  
raised
++   for all others.
+
+ ``w`` (read-write character buffer) [char \*]
+-   Similar to ``s``, but accepts any object which implements the  
read-write buffer
+-   interface.  The caller must determine the length of the buffer by  
other means,
+-   or use ``w#`` instead.  Only single-segment buffer objects are  
accepted;
+-   :exc:`TypeError` is raised for all others.
++   Similar to ``s``, but accepts any object which implements the  
read-write
++   buffer interface.  The caller must determine the length of the buffer  
by
++   other means, or use ``w#`` instead.  Only single-segment buffer  
objects are
++   accepted; :exc:`TypeError` is raised for all others.
+
+ ``w#`` (read-write character buffer) [char \*, Py_ssize_t]
+    Like ``s#``, but accepts any object which implements the read-write  
buffer
+-   interface.  The :ctype:`char \*` variable is set to point to the first  
byte of
+-   the buffer, and the :ctype:`int` is set to the length of the buffer.   
Only
+-   single-segment buffer objects are accepted; :exc:`TypeError` is raised  
for all
+-   others.
++   interface.  The :ctype:`char \*` variable is set to point to the first  
byte
++   of the buffer, and the :ctype:`Py_ssize_t` is set to the length of the
++   buffer.  Only single-segment buffer objects are  
accepted; :exc:`TypeError`
++   is raised for all others.
+
+-``w*`` (read-write byte-oriented buffer) [Py_buffer \*]
++``w*`` (read-write byte-oriented buffer) [Py_buffer]
+    This is to ``w`` what ``s*`` is to ``s``.
+
+    .. versionadded:: 2.6
+
+ ``(items)`` (tuple) [*matching-items*]
+-   The object must be a Python sequence whose length is the number of  
format units
+-   in *items*.  The C arguments must correspond to the individual format  
units in
+-   *items*.  Format units for sequences may be nested.
++   The object must be a Python sequence whose length is the number of  
format
++   units in *items*.  The C arguments must correspond to the individual  
format
++   units in *items*.  Format units for sequences may be nested.
+
+    .. note::
+
+-      Prior to Python version 1.5.2, this format specifier only accepted  
a tuple
+-      containing the individual parameters, not an arbitrary sequence.   
Code which
+-      previously caused :exc:`TypeError` to be raised here may now  
proceed without an
+-      exception.  This is not expected to be a problem for existing code.
++      Prior to Python version 1.5.2, this format specifier only accepted a
++      tuple containing the individual parameters, not an arbitrary  
sequence.
++      Code which previously caused :exc:`TypeError` to be raised here may  
now
++      proceed without an exception.  This is not expected to be a problem  
for
++      existing code.
+
+ It is possible to pass Python long integers where integers are requested;
+ however no proper range checking is done --- the most significant bits are
+ silently truncated when the receiving field is too small to receive the  
value
+-(actually, the semantics are inherited from downcasts in C --- your  
mileage may
+-vary).
++(actually, the semantics are inherited from downcasts in C --- your  
mileage
++may vary).
+
+ A few other characters have a meaning in a format string.  These may not  
occur
+ inside nested parentheses.  They are:
+
+ ``|``
+-   Indicates that the remaining arguments in the Python argument list are  
optional.
+-   The C variables corresponding to optional arguments should be  
initialized to
+-   their default value --- when an optional argument is not specified,
+-   :cfunc:`PyArg_ParseTuple` does not touch the contents of the  
corresponding C
+-   variable(s).
++   Indicates that the remaining arguments in the Python argument list are
++   optional.  The C variables corresponding to optional arguments should  
be
++   initialized to their default value --- when an optional argument is not
++   specified, :cfunc:`PyArg_ParseTuple` does not touch the contents of the
++   corresponding C variable(s).
+
+ ``:``
+-   The list of format units ends here; the string after the colon is used  
as the
+-   function name in error messages (the "associated value" of the  
exception that
+-   :cfunc:`PyArg_ParseTuple` raises).
++   The list of format units ends here; the string after the colon is used  
as
++   the function name in error messages (the "associated value" of the
++   exception that :cfunc:`PyArg_ParseTuple` raises).
+
+ ``;``
+-   The list of format units ends here; the string after the semicolon is  
used as
+-   the error message *instead* of the default error message.  ``:`` and  
``;``
+-   mutually exclude each other.
++   The list of format units ends here; the string after the semicolon is  
used
++   as the error message *instead* of the default error message.  ``:`` and
++   ``;`` mutually exclude each other.
+
+ Note that any Python object references which are provided to the caller  
are
+ *borrowed* references; do not decrement their reference count!
+
+ Additional arguments passed to these functions must be addresses of  
variables
+ whose type is determined by the format string; these are used to store  
values
+-from the input tuple.  There are a few cases, as described in the list of  
format
+-units above, where these parameters are used as input values; they should  
match
+-what is specified for the corresponding format unit in that case.
+-
+-For the conversion to succeed, the *arg* object must match the format
+-and the format must be exhausted.  On success, the
+-:cfunc:`PyArg_Parse\*` functions return true, otherwise they return
+-false and raise an appropriate exception. When the
+-:cfunc:`PyArg_Parse\*` functions fail due to conversion failure in one
+-of the format units, the variables at the addresses corresponding to that
++from the input tuple.  There are a few cases, as described in the list of
++format units above, where these parameters are used as input values; they
++should match what is specified for the corresponding format unit in that  
case.
++
++For the conversion to succeed, the *arg* object must match the format and  
the
++format must be exhausted.  On success, the :cfunc:`PyArg_Parse\*`  
functions
++return true, otherwise they return false and raise an appropriate  
exception.
++When the :cfunc:`PyArg_Parse\*` functions fail due to conversion failure  
in
++one of the format units, the variables at the addresses corresponding to  
that
+ and the following format units are left untouched.
+
+
+ .. cfunction:: int PyArg_ParseTuple(PyObject *args, const char  
*format, ...)
+
+-   Parse the parameters of a function that takes only positional  
parameters into
+-   local variables.  Returns true on success; on failure, it returns  
false and
+-   raises the appropriate exception.
++   Parse the parameters of a function that takes only positional  
parameters
++   into local variables.  Returns true on success; on failure, it returns
++   false and raises the appropriate exception.
+
+
+ .. cfunction:: int PyArg_VaParse(PyObject *args, const char *format,  
va_list vargs)
+
+-   Identical to :cfunc:`PyArg_ParseTuple`, except that it accepts a  
va_list rather
+-   than a variable number of arguments.
++   Identical to :cfunc:`PyArg_ParseTuple`, except that it accepts a  
va_list
++   rather than a variable number of arguments.
+
+
+ .. cfunction:: int PyArg_ParseTupleAndKeywords(PyObject *args, PyObject  
*kw, const char *format, char *keywords[], ...)
+
+    Parse the parameters of a function that takes both positional and  
keyword
+    parameters into local variables.  Returns true on success; on failure,  
it
+    returns false and raises the appropriate exception.
+
+
+ .. cfunction:: int PyArg_VaParseTupleAndKeywords(PyObject *args, PyObject  
*kw, const char *format, char *keywords[], va_list vargs)
+
+    Identical to :cfunc:`PyArg_ParseTupleAndKeywords`, except that it  
accepts a
+    va_list rather than a variable number of arguments.
+
+
+ .. cfunction:: int PyArg_Parse(PyObject *args, const char *format, ...)
+
+-   Function used to deconstruct the argument lists of "old-style"  
functions ---
+-   these are functions which use the :const:`METH_OLDARGS` parameter  
parsing
+-   method.  This is not recommended for use in parameter parsing in new  
code, and
+-   most code in the standard interpreter has been modified to no longer  
use this
+-   for that purpose.  It does remain a convenient way to decompose other  
tuples,
+-   however, and may continue to be used for that purpose.
++   Function used to deconstruct the argument lists of "old-style"  
functions
++   --- these are functions which use the :const:`METH_OLDARGS` parameter
++   parsing method.  This is not recommended for use in parameter parsing  
in
++   new code, and most code in the standard interpreter has been modified  
to no
++   longer use this for that purpose.  It does remain a convenient way to
++   decompose other tuples, however, and may continue to be used for that
++   purpose.
+
+
+ .. cfunction:: int PyArg_UnpackTuple(PyObject *args, const char *name,  
Py_ssize_t min, Py_ssize_t max, ...)
+
+    A simpler form of parameter retrieval which does not use a format  
string to
+-   specify the types of the arguments.  Functions which use this method  
to retrieve
+-   their parameters should be declared as :const:`METH_VARARGS` in  
function or
+-   method tables.  The tuple containing the actual parameters should be  
passed as
+-   *args*; it must actually be a tuple.  The length of the tuple must be  
at least
+-   *min* and no more than *max*; *min* and *max* may be equal.  Additional
+-   arguments must be passed to the function, each of which should be a  
pointer to a
+-   :ctype:`PyObject\*` variable; these will be filled in with the values  
from
+-   *args*; they will contain borrowed references.  The variables which  
correspond
+-   to optional parameters not given by *args* will not be filled in;  
these should
+-   be initialized by the caller. This function returns true on success  
and false if
+-   *args* is not a tuple or contains the wrong number of elements; an  
exception
+-   will be set if there was a failure.
++   specify the types of the arguments.  Functions which use this method to
++   retrieve their parameters should be declared as :const:`METH_VARARGS`  
in
++   function or method tables.  The tuple containing the actual parameters
++   should be passed as *args*; it must actually be a tuple.  The length  
of the
++   tuple must be at least *min* and no more than *max*; *min* and *max*  
may be
++   equal.  Additional arguments must be passed to the function, each of  
which
++   should be a pointer to a :ctype:`PyObject\*` variable; these will be  
filled
++   in with the values from *args*; they will contain borrowed  
references.  The
++   variables which correspond to optional parameters not given by *args*  
will
++   not be filled in; these should be initialized by the caller. This  
function
++   returns true on success and false if *args* is not a tuple or contains  
the
++   wrong number of elements; an exception will be set if there was a  
failure.
+
+-   This is an example of the use of this function, taken from the sources  
for the
+-   :mod:`_weakref` helper module for weak references::
++   This is an example of the use of this function, taken from the sources  
for
++   the :mod:`_weakref` helper module for weak references::
+
+       static PyObject *
+       weakref_ref(PyObject *self, PyObject *args)
+       {
+           PyObject *object;
+           PyObject *callback = NULL;
+           PyObject *result = NULL;
+
+           if (PyArg_UnpackTuple(args, "ref", 1, 2, &object, &callback)) {
+               result = PyWeakref_NewRef(object, callback);
+           }
+           return result;
+       }
+
+-   The call to :cfunc:`PyArg_UnpackTuple` in this example is entirely  
equivalent to
+-   this call to :cfunc:`PyArg_ParseTuple`::
++   The call to :cfunc:`PyArg_UnpackTuple` in this example is entirely
++   equivalent to this call to :cfunc:`PyArg_ParseTuple`::
+
+       PyArg_ParseTuple(args, "O|O:ref", &object, &callback)
+
+    .. versionadded:: 2.2
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *min* and *max*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* Py_BuildValue(const char *format, ...)
+
+-   Create a new value based on a format string similar to those accepted  
by the
+-   :cfunc:`PyArg_Parse\*` family of functions and a sequence of values.   
Returns
+-   the value or *NULL* in the case of an error; an exception will be  
raised if
+-   *NULL* is returned.
+-
+-   :cfunc:`Py_BuildValue` does not always build a tuple.  It builds a  
tuple only if
+-   its format string contains two or more format units.  If the format  
string is
+-   empty, it returns ``None``; if it contains exactly one format unit, it  
returns
+-   whatever object is described by that format unit.  To force it to  
return a tuple
+-   of size 0 or one, parenthesize the format string.
+-
+-   When memory buffers are passed as parameters to supply data to build  
objects, as
+-   for the ``s`` and ``s#`` formats, the required data is copied.   
Buffers provided
+-   by the caller are never referenced by the objects created by
+-   :cfunc:`Py_BuildValue`.  In other words, if your code  
invokes :cfunc:`malloc`
+-   and passes the allocated memory to :cfunc:`Py_BuildValue`, your code is
+-   responsible for calling :cfunc:`free` for that memory once
++   Create a new value based on a format string similar to those accepted  
by
++   the :cfunc:`PyArg_Parse\*` family of functions and a sequence of  
values.
++   Returns the value or *NULL* in the case of an error; an exception will  
be
++   raised if *NULL* is returned.
++
++   :cfunc:`Py_BuildValue` does not always build a tuple.  It builds a  
tuple
++   only if its format string contains two or more format units.  If the  
format
++   string is empty, it returns ``None``; if it contains exactly one format
++   unit, it returns whatever object is described by that format unit.  To
++   force it to return a tuple of size 0 or one, parenthesize the format
++   string.
++
++   When memory buffers are passed as parameters to supply data to build
++   objects, as for the ``s`` and ``s#`` formats, the required data is  
copied.
++   Buffers provided by the caller are never referenced by the objects  
created
++   by :cfunc:`Py_BuildValue`.  In other words, if your code invokes
++   :cfunc:`malloc` and passes the allocated memory  
to :cfunc:`Py_BuildValue`,
++   your code is responsible for calling :cfunc:`free` for that memory once
+    :cfunc:`Py_BuildValue` returns.
+
+-   In the following description, the quoted form is the format unit; the  
entry in
+-   (round) parentheses is the Python object type that the format unit  
will return;
+-   and the entry in [square] brackets is the type of the C value(s) to be  
passed.
+-
+-   The characters space, tab, colon and comma are ignored in format  
strings (but
+-   not within format units such as ``s#``).  This can be used to make  
long format
+-   strings a tad more readable.
++   In the following description, the quoted form is the format unit; the  
entry
++   in (round) parentheses is the Python object type that the format unit  
will
++   return; and the entry in [square] brackets is the type of the C  
value(s) to
++   be passed.
++
++   The characters space, tab, colon and comma are ignored in format  
strings
++   (but not within format units such as ``s#``).  This can be used to make
++   long format strings a tad more readable.
+
+    ``s`` (string) [char \*]
+-      Convert a null-terminated C string to a Python object.  If the C  
string pointer
+-      is *NULL*, ``None`` is used.
++      Convert a null-terminated C string to a Python object.  If the C  
string
++      pointer is *NULL*, ``None`` is used.
+
+    ``s#`` (string) [char \*, int]
+-      Convert a C string and its length to a Python object.  If the C  
string pointer
+-      is *NULL*, the length is ignored and ``None`` is returned.
++      Convert a C string and its length to a Python object.  If the C  
string
++      pointer is *NULL*, the length is ignored and ``None`` is returned.
+
+    ``z`` (string or ``None``) [char \*]
+       Same as ``s``.
+
+    ``z#`` (string or ``None``) [char \*, int]
+       Same as ``s#``.
+
+    ``u`` (Unicode string) [Py_UNICODE \*]
+-      Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data  
to a Python
+-      Unicode object.  If the Unicode buffer pointer is *NULL*, ``None``  
is returned.
++      Convert a null-terminated buffer of Unicode (UCS-2 or UCS-4) data  
to a
++      Python Unicode object.  If the Unicode buffer pointer is *NULL*,
++      ``None`` is returned.
+
+    ``u#`` (Unicode string) [Py_UNICODE \*, int]
+-      Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a  
Python
+-      Unicode object.   If the Unicode buffer pointer is *NULL*, the  
length is ignored
+-      and ``None`` is returned.
++      Convert a Unicode (UCS-2 or UCS-4) data buffer and its length to a
++      Python Unicode object.   If the Unicode buffer pointer is *NULL*,  
the
++      length is ignored and ``None`` is returned.
+
+    ``i`` (integer) [int]
+       Convert a plain C :ctype:`int` to a Python integer object.
+
+    ``b`` (integer) [char]
+       Convert a plain C :ctype:`char` to a Python integer object.
+
+    ``h`` (integer) [short int]
+       Convert a plain C :ctype:`short int` to a Python integer object.
+
+    ``l`` (integer) [long int]
+       Convert a C :ctype:`long int` to a Python integer object.
+
+    ``B`` (integer) [unsigned char]
+       Convert a C :ctype:`unsigned char` to a Python integer object.
+
+    ``H`` (integer) [unsigned short int]
+       Convert a C :ctype:`unsigned short int` to a Python integer object.
+
+    ``I`` (integer/long) [unsigned int]
+-      Convert a C :ctype:`unsigned int` to a Python integer object or a  
Python long
+-      integer object, if it is larger than ``sys.maxint``.
++      Convert a C :ctype:`unsigned int` to a Python integer object or a  
Python
++      long integer object, if it is larger than ``sys.maxint``.
+
+    ``k`` (integer/long) [unsigned long]
+-      Convert a C :ctype:`unsigned long` to a Python integer object or a  
Python long
+-      integer object, if it is larger than ``sys.maxint``.
++      Convert a C :ctype:`unsigned long` to a Python integer object or a
++      Python long integer object, if it is larger than ``sys.maxint``.
+
+    ``L`` (long) [PY_LONG_LONG]
+-      Convert a C :ctype:`long long` to a Python long integer object.  
Only available
+-      on platforms that support :ctype:`long long`.
++      Convert a C :ctype:`long long` to a Python long integer object. Only
++      available on platforms that support :ctype:`long long`.
+
+    ``K`` (long) [unsigned PY_LONG_LONG]
+-      Convert a C :ctype:`unsigned long long` to a Python long integer  
object. Only
+-      available on platforms that support :ctype:`unsigned long long`.
++      Convert a C :ctype:`unsigned long long` to a Python long integer  
object.
++      Only available on platforms that support :ctype:`unsigned long  
long`.
+
+    ``n`` (int) [Py_ssize_t]
+       Convert a C :ctype:`Py_ssize_t` to a Python integer or long integer.
+
+       .. versionadded:: 2.5
+
+    ``c`` (string of length 1) [char]
+-      Convert a C :ctype:`int` representing a character to a Python  
string of length
+-      1.
++      Convert a C :ctype:`int` representing a character to a Python  
string of
++      length 1.
+
+    ``d`` (float) [double]
+       Convert a C :ctype:`double` to a Python floating point number.
+
+    ``f`` (float) [float]
+       Same as ``d``.
+
+    ``D`` (complex) [Py_complex \*]
+       Convert a C :ctype:`Py_complex` structure to a Python complex  
number.
+
+    ``O`` (object) [PyObject \*]
+       Pass a Python object untouched (except for its reference count,  
which is
+-      incremented by one).  If the object passed in is a *NULL* pointer,  
it is assumed
+-      that this was caused because the call producing the argument found  
an error and
+-      set an exception. Therefore, :cfunc:`Py_BuildValue` will return  
*NULL* but won't
+-      raise an exception.  If no exception has been raised  
yet, :exc:`SystemError` is
+-      set.
++      incremented by one).  If the object passed in is a *NULL* pointer,  
it is
++      assumed that this was caused because the call producing the argument
++      found an error and set an exception.  
Therefore, :cfunc:`Py_BuildValue`
++      will return *NULL* but won't raise an exception.  If no exception  
has
++      been raised yet, :exc:`SystemError` is set.
+
+    ``S`` (object) [PyObject \*]
+       Same as ``O``.
+
+    ``N`` (object) [PyObject \*]
+-      Same as ``O``, except it doesn't increment the reference count on  
the object.
+-      Useful when the object is created by a call to an object  
constructor in the
+-      argument list.
++      Same as ``O``, except it doesn't increment the reference count on  
the
++      object.  Useful when the object is created by a call to an object
++      constructor in the argument list.
+
+    ``O&`` (object) [*converter*, *anything*]
+-      Convert *anything* to a Python object through a *converter*  
function.  The
+-      function is called with *anything* (which should be compatible  
with :ctype:`void
+-      \*`) as its argument and should return a "new" Python object, or  
*NULL* if an
+-      error occurred.
++      Convert *anything* to a Python object through a *converter*  
function.
++      The function is called with *anything* (which should be compatible  
with
++      :ctype:`void \*`) as its argument and should return a "new" Python
++      object, or *NULL* if an error occurred.
+
+    ``(items)`` (tuple) [*matching-items*]
+-      Convert a sequence of C values to a Python tuple with the same  
number of items.
++      Convert a sequence of C values to a Python tuple with the same  
number of
++      items.
+
+    ``[items]`` (list) [*matching-items*]
+-      Convert a sequence of C values to a Python list with the same  
number of items.
++      Convert a sequence of C values to a Python list with the same  
number of
++      items.
+
+    ``{items}`` (dictionary) [*matching-items*]
+-      Convert a sequence of C values to a Python dictionary.  Each pair  
of consecutive
+-      C values adds one item to the dictionary, serving as key and value,
+-      respectively.
++      Convert a sequence of C values to a Python dictionary.  Each pair of
++      consecutive C values adds one item to the dictionary, serving as  
key and
++      value, respectively.
+
+-   If there is an error in the format string, the :exc:`SystemError`  
exception is
+-   set and *NULL* returned.
++   If there is an error in the format string, the :exc:`SystemError`  
exception
++   is set and *NULL* returned.
+
+ .. cfunction:: PyObject* Py_VaBuildValue(const char *format, va_list  
vargs)
+
+    Identical to :cfunc:`Py_BuildValue`, except that it accepts a va_list
+    rather than a variable number of arguments.
=======================================
--- /dev/null
+++ /c-api/diff/arg.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,559 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to3__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/arg.rst =&gt;  
r266/c-api/arg.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to3__0"></td><td  
class="diff_header" id="from3_5">5</td><td  
nowrap="nowrap">Parsing&nbsp;arguments&nbsp;and&nbsp;building&nbsp;values</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_6">6</td><td  
nowrap="nowrap">=====================================</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_7">7</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_8">8</td><td  
nowrap="nowrap">These&nbsp;functions&nbsp;are&nbsp;useful&nbsp;when&nbsp;creating&nbsp;your&nbsp;own&nbsp;extensions&nbsp;functions&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_9">9</td><td  
nowrap="nowrap">methods.&nbsp;&nbsp;Additional&nbsp;information&nbsp;and&nbsp;examples&nbsp;are&nbsp;available&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_10">10</td><td  
nowrap="nowrap">:ref:`extending-index`.</td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__1"></td><td class="diff_header"  
id="from3_11">11</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_12">12</td><td  
nowrap="nowrap">The&nbsp;first&nbsp;three&nbsp;of&nbsp;these&nbsp;functions&nbsp;described,&nbsp;:cfunc:`PyArg_ParseTuple`,</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__1">n</a></td><td  
class="diff_header" id="from3_13">13-</td><td  
nowrap="nowrap">:cfunc:`PyArg_ParseTupleAndKeywords`,&nbsp;and&nbsp;:cfunc:`PyArg_Parse`,&nbsp;all&nbsp;use<span  
class="diff_sub">&nbsp;*format</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__1">n</a></td><td  
class="diff_header" id="to3_13">13+</td><td  
nowrap="nowrap">:cfunc:`PyArg_ParseTupleAndKeywords`,&nbsp;and&nbsp;:cfunc:`PyArg_Parse`,&nbsp;all&nbsp;use</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_14">14-</td><td  
nowrap="nowrap">strings*&nbsp;which&nbsp;are&nbsp;used&nbsp;to&nbsp;tell&nbsp;the&nbsp;function&nbsp;about&nbsp;the&nbsp;expected<span  
class="diff_sub">&nbsp;arguments.&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_14">14+</td><td nowrap="nowrap"><span  
class="diff_add">*format&nbsp;</span>strings*&nbsp;which&nbsp;are&nbsp;used&nbsp;to&nbsp;tell&nbsp;the&nbsp;function&nbsp;about&nbsp;the&nbsp;expected</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_15">15-</td><td  
nowrap="nowrap">format&nbsp;strings&nbsp;use&nbsp;the&nbsp;same&nbsp;syntax&nbsp;for&nbsp;each&nbsp;of&nbsp;these<span  
class="diff_sub">&nbsp;functions.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_15">15+</td><td nowrap="nowrap"><span  
class="diff_add">arguments.&nbsp;&nbsp;The&nbsp;</span>format&nbsp;strings&nbsp;use&nbsp;the&nbsp;same&nbsp;syntax&nbsp;for&nbsp;each&nbsp;of&nbsp;these</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_16">16+</td><td nowrap="nowrap"><span  
class="diff_add">functions.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_17">17</td><td  
nowrap="nowrap">A&nbsp;format&nbsp;string&nbsp;consists&nbsp;of&nbsp;zero&nbsp;or&nbsp;more&nbsp;"format&nbsp;units."&nbsp;&nbsp;A&nbsp;format&nbsp;unit</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__2"><a  
href="#difflib_chg_to3__2">n</a></td><td class="diff_header"  
id="from3_18">18-</td><td  
nowrap="nowrap">describes&nbsp;one&nbsp;Python&nbsp;object;&nbsp;it&nbsp;is&nbsp;usually&nbsp;a&nbsp;single&nbsp;character&nbsp;or&nbsp;a<span  
class="diff_sub">&nbsp;parenthesized</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__2"><a  
href="#difflib_chg_to3__2">n</a></td><td class="diff_header"  
id="to3_19">19+</td><td  
nowrap="nowrap">describes&nbsp;one&nbsp;Python&nbsp;object;&nbsp;it&nbsp;is&nbsp;usually&nbsp;a&nbsp;single&nbsp;character&nbsp;or&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_19">19-</td><td  
nowrap="nowrap">sequence&nbsp;of&nbsp;format&nbsp;units.&nbsp;&nbsp;With&nbsp;a&nbsp;few&nbsp;exceptions,&nbsp;a&nbsp;format&nbsp;unit<span  
class="diff_sub">&nbsp;that&nbsp;is&nbsp;not&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_20">20+</td><td nowrap="nowrap"><span  
class="diff_add">parenthesized&nbsp;</span>sequence&nbsp;of&nbsp;format&nbsp;units.&nbsp;&nbsp;With&nbsp;a&nbsp;few&nbsp;exceptions,&nbsp;a&nbsp;format&nbsp;unit</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_20">20-</td><td  
nowrap="nowrap">parenthesized&nbsp;sequence&nbsp;normally&nbsp;corresponds&nbsp;to&nbsp;a&nbsp;single&nbsp;address<span  
class="diff_sub">&nbsp;argument&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_21">21+</td><td nowrap="nowrap"><span  
class="diff_add">that&nbsp;is&nbsp;not&nbsp;a&nbsp;</span>parenthesized&nbsp;sequence&nbsp;normally&nbsp;corresponds&nbsp;to&nbsp;a&nbsp;single&nbsp;address</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_21">21-</td><td  
nowrap="nowrap">these&nbsp;functions.&nbsp;&nbsp;In&nbsp;the&nbsp;following&nbsp;description,&nbsp;the&nbsp;quoted&nbsp;form&nbsp;is<span  
class="diff_sub">&nbsp;the&nbsp;format</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_22">22+</td><td nowrap="nowrap"><span  
class="diff_add">argument&nbsp;to&nbsp;</span>these&nbsp;functions.&nbsp;&nbsp;In&nbsp;the&nbsp;following&nbsp;description,&nbsp;the&nbsp;quoted&nbsp;form&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_22">22-</td><td  
nowrap="nowrap">unit;&nbsp;the&nbsp;entry&nbsp;in&nbsp;(round)&nbsp;parentheses&nbsp;is&nbsp;the&nbsp;Python&nbsp;object&nbsp;type<span  
class="diff_sub">&nbsp;that&nbsp;matches</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_23">23+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;format&nbsp;</span>unit;&nbsp;the&nbsp;entry&nbsp;in&nbsp;(round)&nbsp;parentheses&nbsp;is&nbsp;the&nbsp;Python&nbsp;object&nbsp;type</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_23">23-</td><td  
nowrap="nowrap">the&nbsp;format&nbsp;unit;&nbsp;and&nbsp;the&nbsp;entry&nbsp;in&nbsp;[square]&nbsp;brackets&nbsp;is&nbsp;the&nbsp;type<span  
class="diff_sub">&nbsp;of&nbsp;the&nbsp;C</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">that&nbsp;matches&nbsp;</span>the&nbsp;format&nbsp;unit;&nbsp;and&nbsp;the&nbsp;entry&nbsp;in&nbsp;[square]&nbsp;brackets&nbsp;is&nbsp;the&nbsp;type</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_24">24-</td><td  
nowrap="nowrap">variable(s)&nbsp;whose&nbsp;address&nbsp;should&nbsp;be&nbsp;passed.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">of&nbsp;the&nbsp;C&nbsp;</span>variable(s)&nbsp;whose&nbsp;address&nbsp;should&nbsp;be&nbsp;passed.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_25">25</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__3">n</a></td><td  
class="diff_header" id="from3_26">26-</td><td  
nowrap="nowrap">``s``&nbsp;(string&nbsp;or&nbsp;Unicode<span  
class="diff_sub">&nbsp;object</span>)&nbsp;[const&nbsp;char&nbsp;\*]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__3">n</a></td><td  
class="diff_header" id="to3_27">27+</td><td  
nowrap="nowrap">``s``&nbsp;(string&nbsp;or&nbsp;Unicode)&nbsp;[const&nbsp;char&nbsp;\*]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_27">27-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;string&nbsp;or&nbsp;Unicode&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;pointer&nbsp;to&nbsp;a&nbsp;character<span  
class="diff_sub">&nbsp;string.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_28">28+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;string&nbsp;or&nbsp;Unicode&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;pointer&nbsp;to&nbsp;a&nbsp;character</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__3"></td><td  
class="diff_header" id="from3_28">28-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;You&nbsp;must&nbsp;not&nbsp;provide&nbsp;storage&nbsp;for&nbsp;the&nbsp;string&nbsp;itself;&nbsp;a&nbsp;pointer&nbsp;to<span  
class="diff_sub">&nbsp;an&nbsp;existing</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__3"></td><td  
class="diff_header" id="to3_29">29+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;string.</span>&nbsp;&nbsp;You&nbsp;must&nbsp;not&nbsp;provide&nbsp;storage&nbsp;for&nbsp;the&nbsp;string&nbsp;itself;&nbsp;a&nbsp;pointer&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_29">29-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;string&nbsp;is&nbsp;stored&nbsp;into&nbsp;the&nbsp;character&nbsp;pointer&nbsp;variable&nbsp;whose<span  
class="diff_sub">&nbsp;address&nbsp;you&nbsp;pass.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_30">30+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;an&nbsp;existing</span>&nbsp;string&nbsp;is&nbsp;stored&nbsp;into&nbsp;the&nbsp;character&nbsp;pointer&nbsp;variable&nbsp;whose</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_30">30-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;The&nbsp;C&nbsp;string&nbsp;is&nbsp;NUL-terminated.&nbsp;&nbsp;The&nbsp;Python&nbsp;string&nbsp;must&nbsp;not&nbsp;contain&nbsp;embedded&nbsp;NUL</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_31">31+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;address&nbsp;you&nbsp;pass.&nbsp;&nbsp;The&nbsp;C&nbsp;string&nbsp;is&nbsp;NUL-terminated.&nbsp;&nbsp;The&nbsp;Python&nbsp;string&nbsp;must</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_31">31-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;bytes;&nbsp;if&nbsp;it&nbsp;does,&nbsp;a&nbsp;:exc:`TypeError`&nbsp;exception&nbsp;is&nbsp;raised.&nbsp;Unicode&nbsp;objects&nbsp;are</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_32">32+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;not&nbsp;contain&nbsp;embedded&nbsp;NUL&nbsp;bytes;&nbsp;if&nbsp;it&nbsp;does,&nbsp;a&nbsp;:exc:`TypeError`&nbsp;exception&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_32">32-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;converted&nbsp;to&nbsp;C&nbsp;strings&nbsp;using&nbsp;the&nbsp;default&nbsp;encoding.&nbsp;&nbsp;If&nbsp;this&nbsp;conversion&nbsp;fails,&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_33">33+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;raised.&nbsp;Unicode&nbsp;objects&nbsp;are&nbsp;converted&nbsp;to&nbsp;C&nbsp;strings&nbsp;using&nbsp;the&nbsp;default</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_33">33-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:exc:`UnicodeError`&nbsp;is&nbsp;raised.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_34">34+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;encoding.&nbsp;&nbsp;If&nbsp;this&nbsp;conversion&nbsp;fails,&nbsp;a&nbsp;:exc:`UnicodeError`&nbsp;is&nbsp;raised.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_34">34</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__4"></td><td class="diff_header"  
id="from3_35">35</td><td  
nowrap="nowrap">``s#``&nbsp;(string,&nbsp;Unicode&nbsp;or&nbsp;any&nbsp;read&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*,&nbsp;int&nbsp;(or&nbsp;:ctype:`Py_ssize_t`,&nbsp;see&nbsp;below)]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__4">n</a></td><td  
class="diff_header" id="from3_36">36-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s``&nbsp;stores&nbsp;into&nbsp;two&nbsp;C&nbsp;variables,&nbsp;the&nbsp;first&nbsp;one&nbsp;a&nbsp;pointer<span  
class="diff_sub">&nbsp;to&nbsp;a</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__4">n</a></td><td  
class="diff_header" id="to3_37">37+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s``&nbsp;stores&nbsp;into&nbsp;two&nbsp;C&nbsp;variables,&nbsp;the&nbsp;first&nbsp;one&nbsp;a&nbsp;pointer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_37">37-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;character&nbsp;string,&nbsp;the&nbsp;second&nbsp;one&nbsp;its&nbsp;length.&nbsp;&nbsp;In&nbsp;this&nbsp;case&nbsp;the&nbsp;Python<span  
class="diff_sub">&nbsp;string&nbsp;may</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_38">38+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to&nbsp;a</span>&nbsp;character&nbsp;string,&nbsp;the&nbsp;second&nbsp;one&nbsp;its&nbsp;length.&nbsp;&nbsp;In&nbsp;this&nbsp;case&nbsp;the&nbsp;Python</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_38">38-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;contain&nbsp;embedded&nbsp;null&nbsp;bytes.&nbsp;&nbsp;Unicode&nbsp;objects&nbsp;pass&nbsp;back&nbsp;a<span  
class="diff_sub">&nbsp;pointer&nbsp;to&nbsp;the&nbsp;default</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_39">39+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;string&nbsp;may</span>&nbsp;contain&nbsp;embedded&nbsp;null&nbsp;bytes.&nbsp;&nbsp;Unicode&nbsp;objects&nbsp;pass&nbsp;back&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_39">39-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;encoded&nbsp;string&nbsp;version&nbsp;of&nbsp;the&nbsp;object&nbsp;if&nbsp;such&nbsp;a&nbsp;conversion&nbsp;is&nbsp;possible.&nbsp;&nbsp;All</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_40">40+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;pointer&nbsp;to&nbsp;the&nbsp;default&nbsp;encoded&nbsp;string&nbsp;version&nbsp;of&nbsp;the&nbsp;object&nbsp;if&nbsp;such&nbsp;a</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__5"></td><td  
class="diff_header" id="from3_40">40-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;other&nbsp;read-buffer&nbsp;compatible&nbsp;objects&nbsp;pass&nbsp;back&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;raw&nbsp;internal</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__5"></td><td  
class="diff_header" id="to3_41">41+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;conversion&nbsp;is&nbsp;possible.&nbsp;&nbsp;All&nbsp;other&nbsp;read-buffer&nbsp;compatible&nbsp;objects&nbsp;pass&nbsp;back</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_41">41-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;data&nbsp;representation.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_42">42+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;raw&nbsp;internal&nbsp;data&nbsp;representation.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_42">42</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__5">n</a></td><td  
class="diff_header" id="from3_43">43-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Starting&nbsp;with&nbsp;Python&nbsp;2.5&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;length&nbsp;argument&nbsp;can&nbsp;be</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__5">n</a></td><td  
class="diff_header" id="to3_44">44+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Starting&nbsp;with&nbsp;Python&nbsp;2.5&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;length&nbsp;argument&nbsp;can&nbsp;be<span  
class="diff_add">&nbsp;controlled</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_44">44-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;controlled</span>&nbsp;by&nbsp;defining&nbsp;the&nbsp;macro&nbsp;:cmacro:`PY_SSIZE_T_CLEAN`&nbsp;before</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_45">45+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;by&nbsp;defining&nbsp;the&nbsp;macro&nbsp;:cmacro:`PY_SSIZE_T_CLEAN`&nbsp;before<span  
class="diff_add">&nbsp;including</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_45">45-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;including</span>&nbsp;:file:`Python.h`.&nbsp;&nbsp;If&nbsp;the&nbsp;macro&nbsp;is&nbsp;defined,&nbsp;length&nbsp;is&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_46">46+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:file:`Python.h`.&nbsp;&nbsp;If&nbsp;the&nbsp;macro&nbsp;is&nbsp;defined,&nbsp;length&nbsp;is&nbsp;a<span  
class="diff_add">&nbsp;:ctype:`Py_ssize_t`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_46">46-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:ctype:`Py_ssize_t`&nbsp;rather&nbsp;than&nbsp;an&nbsp;int.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_47">47+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;rather&nbsp;than&nbsp;an&nbsp;int.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_47">47</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__6">n</a></td><td  
class="diff_header" id="from3_48">48-</td><td  
nowrap="nowrap">``s*``&nbsp;(string,&nbsp;Unicode,&nbsp;or&nbsp;any&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[Py_buffer<span  
class="diff_sub">&nbsp;\*</span>]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__6">n</a></td><td  
class="diff_header" id="to3_49">49+</td><td  
nowrap="nowrap">``s*``&nbsp;(string,&nbsp;Unicode,&nbsp;or&nbsp;any&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[Py_buffer]</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__6"></td><td  
class="diff_header" id="from3_49">49-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;``s#``,&nbsp;this&nbsp;code&nbsp;fills&nbsp;a&nbsp;Py_buffer&nbsp;structure&nbsp;provided&nbsp;by&nbsp;the<span  
class="diff_sub">&nbsp;caller.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__6"></td><td  
class="diff_header" id="to3_50">50+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;``s#``,&nbsp;this&nbsp;code&nbsp;fills&nbsp;a&nbsp;Py_buffer&nbsp;structure&nbsp;provided&nbsp;by&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_50">50-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;buffer&nbsp;gets&nbsp;locked,&nbsp;so&nbsp;that&nbsp;the&nbsp;caller&nbsp;can&nbsp;subsequently&nbsp;use<span  
class="diff_sub">&nbsp;the&nbsp;buffer&nbsp;even</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_51">51+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;caller.</span>&nbsp;&nbsp;The&nbsp;buffer&nbsp;gets&nbsp;locked,&nbsp;so&nbsp;that&nbsp;the&nbsp;caller&nbsp;can&nbsp;subsequently&nbsp;use</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_51">51-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;inside&nbsp;a&nbsp;``Py_BEGIN_ALLOW_THREADS``&nbsp;block;&nbsp;the&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;calling</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_52">52+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;buffer&nbsp;even&nbsp;inside&nbsp;a&nbsp;``Py_BEGIN_ALLOW_THREADS``&nbsp;block;&nbsp;the&nbsp;caller&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_52">52-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;``PyBuffer_Release``&nbsp;with&nbsp;the&nbsp;structure&nbsp;after&nbsp;it&nbsp;has&nbsp;processed&nbsp;the&nbsp;data.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_53">53+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;responsible&nbsp;for&nbsp;calling&nbsp;``PyBuffer_Release``&nbsp;with&nbsp;the&nbsp;structure&nbsp;after&nbsp;it</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__7"></td><td  
class="diff_header" id="to3_54">54+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;has&nbsp;processed&nbsp;the&nbsp;data.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_53">53</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__8"></td><td  
class="diff_header" id="from3_55">55</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__7">n</a></td><td class="diff_header"  
id="from3_56">56-</td><td  
nowrap="nowrap">``z``&nbsp;(string&nbsp;or&nbsp;``None``)&nbsp;[const&nbsp;char&nbsp;\*]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__7">n</a></td><td  
class="diff_header" id="to3_58">58+</td><td  
nowrap="nowrap">``z``&nbsp;(string<span  
class="diff_add">,&nbsp;Unicode&nbsp;</span>&nbsp;or&nbsp;``None``)&nbsp;[const&nbsp;char&nbsp;\*]</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_57">57</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Like&nbsp;``s``,&nbsp;but&nbsp;the&nbsp;Python&nbsp;object&nbsp;may&nbsp;also&nbsp;be&nbsp;``None``,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;C</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_58">58</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;pointer&nbsp;is&nbsp;set&nbsp;to&nbsp;*NULL*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_59">59</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__9"><a  
href="#difflib_chg_to3__8">n</a></td><td class="diff_header"  
id="from3_60">60-</td><td nowrap="nowrap">``z#``&nbsp;(string<span  
class="diff_chg">&nbsp;</span>o<span  
class="diff_chg">r</span>&nbsp;``None``&nbsp;or&nbsp;any&nbsp;read&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*,&nbsp;int]</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__9"><a  
href="#difflib_chg_to3__8">n</a></td><td class="diff_header"  
id="to3_62">62+</td><td nowrap="nowrap">``z#``&nbsp;(string<span  
class="diff_chg">,&nbsp;Unic</span>o<span  
class="diff_chg">de,</span>&nbsp;``None``&nbsp;or&nbsp;any&nbsp;read&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*,&nbsp;int]</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_61">61</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;to&nbsp;``s#``&nbsp;as&nbsp;``z``&nbsp;is&nbsp;to&nbsp;``s``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_62">62</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__9">n</a></td><td  
class="diff_header" id="from3_63">63-</td><td  
nowrap="nowrap">``z*``&nbsp;(string<span  
class="diff_chg">&nbsp;</span>o<span  
class="diff_chg">r</span>&nbsp;``None``&nbsp;or&nbsp;any&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[Py_buffer<span  
class="diff_sub">*</span>]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__9">n</a></td><td  
class="diff_header" id="to3_65">65+</td><td  
nowrap="nowrap">``z*``&nbsp;(string<span  
class="diff_chg">,&nbsp;Unic</span>o<span  
class="diff_chg">de,</span>&nbsp;``None``&nbsp;or&nbsp;any&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[Py_buffer]</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;to&nbsp;``s*``&nbsp;as&nbsp;``z``&nbsp;is&nbsp;to&nbsp;``s``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_65">65</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_66">66</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__10"></td><td  
class="diff_header" id="from3_67">67</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__10">n</a></td><td class="diff_header"  
id="from3_68">68-</td><td nowrap="nowrap">``u``&nbsp;(Unicode<span  
class="diff_sub">&nbsp;object</span>)&nbsp;[Py_UNICODE&nbsp;\*]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__10">n</a></td><td  
class="diff_header" id="to3_70">70+</td><td  
nowrap="nowrap">``u``&nbsp;(Unicode)&nbsp;[Py_UNICODE&nbsp;\*]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_69">69-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;Unicode&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;pointer&nbsp;to&nbsp;a&nbsp;NUL-terminated&nbsp;buffer<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_71">71+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;Unicode&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;pointer&nbsp;to&nbsp;a&nbsp;NUL-terminated&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_70">70-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;16-bit&nbsp;Unicode&nbsp;(UTF-16)&nbsp;data.&nbsp;&nbsp;As&nbsp;with&nbsp;``s``,&nbsp;there&nbsp;is&nbsp;no&nbsp;need&nbsp;to<span  
class="diff_sub">&nbsp;provide</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_72">72+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;of</span>&nbsp;16-bit&nbsp;Unicode&nbsp;(UTF-16)&nbsp;data.&nbsp;&nbsp;As&nbsp;with&nbsp;``s``,&nbsp;there&nbsp;is&nbsp;no&nbsp;need&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_71">71-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;storage&nbsp;for&nbsp;the&nbsp;Unicode&nbsp;data&nbsp;buffer;&nbsp;a&nbsp;pointer&nbsp;to&nbsp;the&nbsp;existing<span  
class="diff_sub">&nbsp;Unicode&nbsp;data&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_73">73+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;provide</span>&nbsp;storage&nbsp;for&nbsp;the&nbsp;Unicode&nbsp;data&nbsp;buffer;&nbsp;a&nbsp;pointer&nbsp;to&nbsp;the&nbsp;existing</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_72">72-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;stored&nbsp;into&nbsp;the&nbsp;:ctype:`Py_UNICODE`&nbsp;pointer&nbsp;variable&nbsp;whose<span  
class="diff_sub">&nbsp;address&nbsp;you&nbsp;pass.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_74">74+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Unicode&nbsp;data&nbsp;is</span>&nbsp;stored&nbsp;into&nbsp;the&nbsp;:ctype:`Py_UNICODE`&nbsp;pointer&nbsp;variable&nbsp;whose</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__11"></td><td  
class="diff_header" id="to3_75">75+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;address&nbsp;you&nbsp;pass.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_73">73</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__11">n</a></td><td  
class="diff_header" id="from3_74">74-</td><td  
nowrap="nowrap">``u#``&nbsp;(Unicode<span  
class="diff_sub">&nbsp;object</span>)&nbsp;[Py_UNICODE&nbsp;\*,&nbsp;int]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__11">n</a></td><td  
class="diff_header" id="to3_77">77+</td><td  
nowrap="nowrap">``u#``&nbsp;(Unicode)&nbsp;[Py_UNICODE&nbsp;\*,&nbsp;int]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_75">75-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``u``&nbsp;stores&nbsp;into&nbsp;two&nbsp;C&nbsp;variables,&nbsp;the&nbsp;first&nbsp;one&nbsp;a&nbsp;pointer<span  
class="diff_sub">&nbsp;to&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_78">78+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``u``&nbsp;stores&nbsp;into&nbsp;two&nbsp;C&nbsp;variables,&nbsp;the&nbsp;first&nbsp;one&nbsp;a&nbsp;pointer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_76">76-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Unicode&nbsp;data&nbsp;buffer,&nbsp;the&nbsp;second&nbsp;one&nbsp;its&nbsp;length.&nbsp;Non-Unicode&nbsp;objects<span  
class="diff_sub">&nbsp;are&nbsp;handled</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_79">79+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to&nbsp;a</span>&nbsp;Unicode&nbsp;data&nbsp;buffer,&nbsp;the&nbsp;second&nbsp;one&nbsp;its&nbsp;length.&nbsp;Non-Unicode&nbsp;objects</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_77">77-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;by&nbsp;interpreting&nbsp;their&nbsp;read-buffer&nbsp;pointer&nbsp;as&nbsp;pointer&nbsp;to&nbsp;a<span  
class="diff_sub">&nbsp;:ctype:`Py_UNICODE`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_80">80+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;are&nbsp;handled</span>&nbsp;by&nbsp;interpreting&nbsp;their&nbsp;read-buffer&nbsp;pointer&nbsp;as&nbsp;pointer&nbsp;to&nbsp;a</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__12"></td><td  
class="diff_header" id="from3_78">78-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;array.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__12"></td><td  
class="diff_header" id="to3_81">81+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:ctype:`Py_UNICODE`&nbsp;array.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_79">79</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__12">n</a></td><td  
class="diff_header" id="from3_80">80-</td><td  
nowrap="nowrap">``es``&nbsp;(string,&nbsp;Unicode&nbsp;<span  
class="diff_sub">object&nbsp;</span>or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__12">n</a></td><td  
class="diff_header" id="to3_83">83+</td><td  
nowrap="nowrap">``es``&nbsp;(string,&nbsp;Unicode&nbsp;or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_81">81-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s``&nbsp;is&nbsp;used&nbsp;for&nbsp;encoding&nbsp;Unicode&nbsp;and&nbsp;objects&nbsp;convertible<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_84">84+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s``&nbsp;is&nbsp;used&nbsp;for&nbsp;encoding&nbsp;Unicode&nbsp;and&nbsp;objects&nbsp;convertible</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_82">82-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Unicode&nbsp;into&nbsp;a&nbsp;character&nbsp;buffer.&nbsp;It&nbsp;only&nbsp;works&nbsp;for&nbsp;encoded&nbsp;data&nbsp;without<span  
class="diff_sub">&nbsp;embedded</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_85">85+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to</span>&nbsp;Unicode&nbsp;into&nbsp;a&nbsp;character&nbsp;buffer.&nbsp;It&nbsp;only&nbsp;works&nbsp;for&nbsp;encoded&nbsp;data&nbsp;without</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_83">83-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;NUL&nbsp;bytes.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_86">86+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;embedded&nbsp;NUL&nbsp;bytes.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_84">84</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_85">85</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;format&nbsp;requires&nbsp;two&nbsp;arguments.&nbsp;&nbsp;The&nbsp;first&nbsp;is&nbsp;only&nbsp;used&nbsp;as&nbsp;input,&nbsp;and</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__13"><a  
href="#difflib_chg_to3__13">n</a></td><td class="diff_header"  
id="from3_86">86-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`const&nbsp;char\*`&nbsp;which&nbsp;points&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;an&nbsp;encoding&nbsp;as<span  
class="diff_sub">&nbsp;a</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__13"><a  
href="#difflib_chg_to3__13">n</a></td><td class="diff_header"  
id="to3_89">89+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`const&nbsp;char\*`&nbsp;which&nbsp;points&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;an&nbsp;encoding&nbsp;as</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_87">87-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;NUL-terminated&nbsp;string,&nbsp;or&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;default&nbsp;encoding&nbsp;is<span  
class="diff_sub">&nbsp;used.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_90">90+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;a</span>&nbsp;NUL-terminated&nbsp;string,&nbsp;or&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;default&nbsp;encoding&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_88">88-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;An&nbsp;exception&nbsp;is&nbsp;raised&nbsp;if&nbsp;the&nbsp;named&nbsp;encoding&nbsp;is&nbsp;not&nbsp;known&nbsp;to&nbsp;Python.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_91">91+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;used.</span>&nbsp;&nbsp;An&nbsp;exception&nbsp;is&nbsp;raised&nbsp;if&nbsp;the&nbsp;named&nbsp;encoding&nbsp;is&nbsp;not&nbsp;known&nbsp;to&nbsp;Python.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_89">89-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;second&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`char\*\*`;&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;pointer<span  
class="diff_sub">&nbsp;it</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_92">92+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;second&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`char\*\*`;&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;pointer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_90">90-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;references&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;a&nbsp;buffer&nbsp;with&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;argument<span  
class="diff_sub">&nbsp;text.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_93">93+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;it</span>&nbsp;references&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;a&nbsp;buffer&nbsp;with&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;argument</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__14"></td><td  
class="diff_header" id="from3_91">91-</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;The</span>&nbsp;text&nbsp;will&nbsp;be&nbsp;encoded&nbsp;in&nbsp;the&nbsp;encoding&nbsp;specified&nbsp;by&nbsp;the&nbsp;first<span  
class="diff_sub">&nbsp;argument.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__14"></td><td  
class="diff_header" id="to3_94">94+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;text<span  
class="diff_add">.&nbsp;&nbsp;The&nbsp;text</span>&nbsp;will&nbsp;be&nbsp;encoded&nbsp;in&nbsp;the&nbsp;encoding&nbsp;specified&nbsp;by&nbsp;the&nbsp;first</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_95">95+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;argument.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__15"></td><td  
class="diff_header" id="from3_92">92</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__14">n</a></td><td class="diff_header"  
id="from3_93">93-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;will&nbsp;allocate&nbsp;a&nbsp;buffer&nbsp;of&nbsp;the&nbsp;needed&nbsp;size,&nbsp;copy<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__14">n</a></td><td  
class="diff_header" id="to3_97">97+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;will&nbsp;allocate&nbsp;a&nbsp;buffer&nbsp;of&nbsp;the&nbsp;needed&nbsp;size,&nbsp;copy</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_94">94-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;encoded&nbsp;data&nbsp;into&nbsp;this&nbsp;buffer&nbsp;and&nbsp;adjust&nbsp;*\*buffer*&nbsp;to&nbsp;reference&nbsp;the<span  
class="diff_sub">&nbsp;newly</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_98">98+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;encoded&nbsp;data&nbsp;into&nbsp;this&nbsp;buffer&nbsp;and&nbsp;adjust&nbsp;*\*buffer*&nbsp;to&nbsp;reference&nbsp;the</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__16"></td><td  
class="diff_header" id="from3_95">95-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;allocated&nbsp;storage.&nbsp;&nbsp;The&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;calling<span  
class="diff_sub">&nbsp;:cfunc:`PyMem_Free`&nbsp;to</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__16"></td><td  
class="diff_header" id="to3_99">99+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;newly</span>&nbsp;allocated&nbsp;storage.&nbsp;&nbsp;The&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;calling</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_96">96-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;free&nbsp;the&nbsp;allocated&nbsp;buffer&nbsp;after&nbsp;use.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_100">100+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;:cfunc:`PyMem_Free`&nbsp;to</span>&nbsp;free&nbsp;the&nbsp;allocated&nbsp;buffer&nbsp;after&nbsp;use.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_97">97</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__15">n</a></td><td  
class="diff_header" id="from3_98">98-</td><td  
nowrap="nowrap">``et``&nbsp;(string,&nbsp;Unicode&nbsp;<span  
class="diff_sub">object&nbsp;</span>or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__15">n</a></td><td  
class="diff_header" id="to3_102">102+</td><td  
nowrap="nowrap">``et``&nbsp;(string,&nbsp;Unicode&nbsp;or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer]</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_99">99</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``es``&nbsp;except&nbsp;that&nbsp;8-bit&nbsp;string&nbsp;objects&nbsp;are&nbsp;passed&nbsp;through&nbsp;without</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__17"><a  
href="#difflib_chg_to3__16">n</a></td><td class="diff_header"  
id="from3_100">100-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;recoding&nbsp;them.&nbsp;&nbsp;Instead,&nbsp;the&nbsp;implementation&nbsp;assumes&nbsp;that&nbsp;the&nbsp;string&nbsp;object<span  
class="diff_sub">&nbsp;uses</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__17"><a  
href="#difflib_chg_to3__16">n</a></td><td class="diff_header"  
id="to3_104">104+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;recoding&nbsp;them.&nbsp;&nbsp;Instead,&nbsp;the&nbsp;implementation&nbsp;assumes&nbsp;that&nbsp;the&nbsp;string&nbsp;object</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_101">101-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;encoding&nbsp;passed&nbsp;in&nbsp;as&nbsp;parameter.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_105">105+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;uses</span>&nbsp;the&nbsp;encoding&nbsp;passed&nbsp;in&nbsp;as&nbsp;parameter.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_102">102</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__17">n</a></td><td  
class="diff_header" id="from3_103">103-</td><td  
nowrap="nowrap">``es#``&nbsp;(string,&nbsp;Unicode&nbsp;<span  
class="diff_sub">object&nbsp;</span>or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer,&nbsp;int&nbsp;\*buffer_length]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__17">n</a></td><td  
class="diff_header" id="to3_107">107+</td><td  
nowrap="nowrap">``es#``&nbsp;(string,&nbsp;Unicode&nbsp;or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer,&nbsp;int&nbsp;\*buffer_length]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_104">104-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s#``&nbsp;is&nbsp;used&nbsp;for&nbsp;encoding&nbsp;Unicode&nbsp;and&nbsp;objects&nbsp;convertible<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_108">108+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;variant&nbsp;on&nbsp;``s#``&nbsp;is&nbsp;used&nbsp;for&nbsp;encoding&nbsp;Unicode&nbsp;and&nbsp;objects&nbsp;convertible</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_105">105-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Unicode&nbsp;into&nbsp;a&nbsp;character&nbsp;buffer.&nbsp;&nbsp;Unlike&nbsp;the&nbsp;``es``&nbsp;format,&nbsp;this&nbsp;variant<span  
class="diff_sub">&nbsp;allows</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_109">109+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to</span>&nbsp;Unicode&nbsp;into&nbsp;a&nbsp;character&nbsp;buffer.&nbsp;&nbsp;Unlike&nbsp;the&nbsp;``es``&nbsp;format,&nbsp;this&nbsp;variant</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_106">106-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;input&nbsp;data&nbsp;which&nbsp;contains&nbsp;NUL&nbsp;characters.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_110">110+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;allows</span>&nbsp;input&nbsp;data&nbsp;which&nbsp;contains&nbsp;NUL&nbsp;characters.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_107">107</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__18">n</a></td><td  
class="diff_header" id="from3_108">108-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;It&nbsp;requires&nbsp;three&nbsp;arguments.&nbsp;&nbsp;The&nbsp;first&nbsp;is&nbsp;only&nbsp;used&nbsp;as&nbsp;input,&nbsp;and&nbsp;must&nbsp;be<span  
class="diff_sub">&nbsp;a</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__18">n</a></td><td  
class="diff_header" id="to3_112">112+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;It&nbsp;requires&nbsp;three&nbsp;arguments.&nbsp;&nbsp;The&nbsp;first&nbsp;is&nbsp;only&nbsp;used&nbsp;as&nbsp;input,&nbsp;and&nbsp;must&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_109">109-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`const&nbsp;char\*`&nbsp;which&nbsp;points&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;an&nbsp;encoding&nbsp;as&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_113">113+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;a</span>&nbsp;:ctype:`const&nbsp;char\*`&nbsp;which&nbsp;points&nbsp;to&nbsp;the&nbsp;name&nbsp;of&nbsp;an&nbsp;encoding&nbsp;as&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_110">110-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;NUL-terminated&nbsp;string,&nbsp;or&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;default&nbsp;encoding&nbsp;is<span  
class="diff_sub">&nbsp;used.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_114">114+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;NUL-terminated&nbsp;string,&nbsp;or&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the&nbsp;default&nbsp;encoding&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_111">111-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;An&nbsp;exception&nbsp;is&nbsp;raised&nbsp;if&nbsp;the&nbsp;named&nbsp;encoding&nbsp;is&nbsp;not&nbsp;known&nbsp;to&nbsp;Python.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_115">115+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;used.</span>&nbsp;&nbsp;An&nbsp;exception&nbsp;is&nbsp;raised&nbsp;if&nbsp;the&nbsp;named&nbsp;encoding&nbsp;is&nbsp;not&nbsp;known&nbsp;to&nbsp;Python.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__18"></td><td  
class="diff_header" id="from3_112">112-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;second&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`char\*\*`;&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;pointer<span  
class="diff_sub">&nbsp;it</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__18"></td><td  
class="diff_header" id="to3_116">116+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;second&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;:ctype:`char\*\*`;&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;pointer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_113">113-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;references&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;a&nbsp;buffer&nbsp;with&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;argument<span  
class="diff_sub">&nbsp;text.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_117">117+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;it</span>&nbsp;references&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;a&nbsp;buffer&nbsp;with&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;argument</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_114">114-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;The</span>&nbsp;text&nbsp;will&nbsp;be&nbsp;encoded&nbsp;in&nbsp;the&nbsp;encoding&nbsp;specified&nbsp;by&nbsp;the&nbsp;first<span  
class="diff_sub">&nbsp;argument.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_118">118+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;text<span  
class="diff_add">.&nbsp;&nbsp;The&nbsp;text</span>&nbsp;will&nbsp;be&nbsp;encoded&nbsp;in&nbsp;the&nbsp;encoding&nbsp;specified&nbsp;by&nbsp;the&nbsp;first</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_115">115-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;The&nbsp;third&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;pointer&nbsp;to&nbsp;an&nbsp;integer;&nbsp;the&nbsp;referenced&nbsp;integer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_119">119+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;argument.&nbsp;&nbsp;The&nbsp;third&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;pointer&nbsp;to&nbsp;an&nbsp;integer;&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_116">116-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;bytes&nbsp;in&nbsp;the&nbsp;output&nbsp;buffer.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_120">120+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;referenced&nbsp;integer</span>&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;number&nbsp;of&nbsp;bytes&nbsp;in&nbsp;the&nbsp;output&nbsp;buffer.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_117">117</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_118">118</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;There&nbsp;are&nbsp;two&nbsp;modes&nbsp;of&nbsp;operation:</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__19"></td><td  
class="diff_header" id="from3_119">119</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__19">n</a></td><td class="diff_header"  
id="from3_120">120-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;*\*buffer*&nbsp;points&nbsp;a&nbsp;*NULL*&nbsp;pointer,&nbsp;the&nbsp;function&nbsp;will&nbsp;allocate&nbsp;a&nbsp;buffer<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__19">n</a></td><td  
class="diff_header" id="to3_124">124+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;*\*buffer*&nbsp;points&nbsp;a&nbsp;*NULL*&nbsp;pointer,&nbsp;the&nbsp;function&nbsp;will&nbsp;allocate&nbsp;a&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_121">121-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;needed&nbsp;size,&nbsp;copy&nbsp;the&nbsp;encoded&nbsp;data&nbsp;into&nbsp;this&nbsp;buffer&nbsp;and&nbsp;set<span  
class="diff_sub">&nbsp;*\*buffer*&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_125">125+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;of</span>&nbsp;the&nbsp;needed&nbsp;size,&nbsp;copy&nbsp;the&nbsp;encoded&nbsp;data&nbsp;into&nbsp;this&nbsp;buffer&nbsp;and&nbsp;set</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_122">122-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;reference&nbsp;the&nbsp;newly&nbsp;allocated&nbsp;storage.&nbsp;&nbsp;The&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;calling</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_126">126+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*\*buffer*&nbsp;to&nbsp;reference&nbsp;the&nbsp;newly&nbsp;allocated&nbsp;storage.&nbsp;&nbsp;The&nbsp;caller&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_123">123-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:cfunc:`PyMem_Free`&nbsp;to&nbsp;free&nbsp;the&nbsp;allocated&nbsp;buffer&nbsp;after&nbsp;usage.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_127">127+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;responsible&nbsp;for&nbsp;calling&nbsp;:cfunc:`PyMem_Free`&nbsp;to&nbsp;free&nbsp;the&nbsp;allocated&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_128">128+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;after&nbsp;usage.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_124">124</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_125">125</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;*\*buffer*&nbsp;points&nbsp;to&nbsp;a&nbsp;non-*NULL*&nbsp;pointer&nbsp;(an&nbsp;already&nbsp;allocated&nbsp;buffer),</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__20"><a  
href="#difflib_chg_to3__20">n</a></td><td class="diff_header"  
id="from3_126">126-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;will&nbsp;use&nbsp;this&nbsp;location&nbsp;as&nbsp;the&nbsp;buffer&nbsp;and<span  
class="diff_sub">&nbsp;interpret&nbsp;the</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__20"><a  
href="#difflib_chg_to3__20">n</a></td><td class="diff_header"  
id="to3_131">131+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;will&nbsp;use&nbsp;this&nbsp;location&nbsp;as&nbsp;the&nbsp;buffer&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_127">127-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;initial&nbsp;value&nbsp;of&nbsp;*\*buffer_length*&nbsp;as&nbsp;the&nbsp;buffer&nbsp;size.&nbsp;&nbsp;It<span  
class="diff_sub">&nbsp;will&nbsp;then&nbsp;copy&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_132">132+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;interpret&nbsp;the</span>&nbsp;initial&nbsp;value&nbsp;of&nbsp;*\*buffer_length*&nbsp;as&nbsp;the&nbsp;buffer&nbsp;size.&nbsp;&nbsp;It</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_128">128-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;encoded&nbsp;data&nbsp;into&nbsp;the&nbsp;buffer&nbsp;and&nbsp;NUL-terminate&nbsp;it.&nbsp;&nbsp;If&nbsp;the&nbsp;buffer&nbsp;is&nbsp;not&nbsp;large</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_133">133+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;will&nbsp;then&nbsp;copy&nbsp;the&nbsp;encoded&nbsp;data&nbsp;into&nbsp;the&nbsp;buffer&nbsp;and&nbsp;NUL-terminate&nbsp;it.&nbsp;&nbsp;If</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_129">129-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;enough,&nbsp;a&nbsp;:exc:`ValueError`&nbsp;will&nbsp;be&nbsp;set.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_134">134+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the&nbsp;buffer&nbsp;is&nbsp;not&nbsp;large</span>&nbsp;enough,&nbsp;a&nbsp;:exc:`ValueError`&nbsp;will&nbsp;be&nbsp;set.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_130">130</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_131">131</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;In&nbsp;both&nbsp;cases,&nbsp;*\*buffer_length*&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;encoded&nbsp;data</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_132">132</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;without&nbsp;the&nbsp;trailing&nbsp;NUL&nbsp;byte.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_133">133</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__21">n</a></td><td  
class="diff_header" id="from3_134">134-</td><td  
nowrap="nowrap">``et#``&nbsp;(string,&nbsp;Unicode&nbsp;<span  
class="diff_sub">object&nbsp;</span>or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__21">n</a></td><td  
class="diff_header" id="to3_139">139+</td><td  
nowrap="nowrap">``et#``&nbsp;(string,&nbsp;Unicode&nbsp;or&nbsp;character&nbsp;buffer&nbsp;compatible&nbsp;object)&nbsp;[const&nbsp;char&nbsp;\*encoding,&nbsp;char&nbsp;\*\*buffer<span  
class="diff_add">,&nbsp;int&nbsp;\*buffer_length</span>]</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_135">135-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``es#``&nbsp;except&nbsp;that&nbsp;string&nbsp;objects&nbsp;are&nbsp;passed&nbsp;through&nbsp;without<span  
class="diff_sub">&nbsp;recoding</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_140">140+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``es#``&nbsp;except&nbsp;that&nbsp;string&nbsp;objects&nbsp;are&nbsp;passed&nbsp;through&nbsp;without</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__21"></td><td  
class="diff_header" id="from3_136">136-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;them.&nbsp;Instead,&nbsp;the&nbsp;implementation&nbsp;assumes&nbsp;that&nbsp;the&nbsp;string&nbsp;object<span  
class="diff_sub">&nbsp;uses&nbsp;the</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__21"></td><td  
class="diff_header" id="to3_141">141+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;recoding</span>&nbsp;them.&nbsp;Instead,&nbsp;the&nbsp;implementation&nbsp;assumes&nbsp;that&nbsp;the&nbsp;string&nbsp;object</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_137">137-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;encoding&nbsp;passed&nbsp;in&nbsp;as&nbsp;parameter.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_142">142+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;uses&nbsp;the</span>&nbsp;encoding&nbsp;passed&nbsp;in&nbsp;as&nbsp;parameter.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_138">138</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_139">139</td><td  
nowrap="nowrap">``b``&nbsp;(integer)&nbsp;[unsigned&nbsp;char]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_140">140</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;nonnegative&nbsp;Python&nbsp;integer&nbsp;to&nbsp;an&nbsp;unsigned&nbsp;tiny&nbsp;int,&nbsp;stored&nbsp;in&nbsp;a&nbsp;C</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_141">141</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`unsigned&nbsp;char`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_142">142</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_143">143</td><td  
nowrap="nowrap">``B``&nbsp;(integer)&nbsp;[unsigned&nbsp;char]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__22">n</a></td><td  
class="diff_header" id="from3_144">144-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;tiny&nbsp;int&nbsp;without&nbsp;overflow&nbsp;checking,&nbsp;stored&nbsp;in<span  
class="diff_sub">&nbsp;a&nbsp;C</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__22">n</a></td><td  
class="diff_header" id="to3_149">149+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;tiny&nbsp;int&nbsp;without&nbsp;overflow&nbsp;checking,&nbsp;stored&nbsp;in</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__22"></td><td  
class="diff_header" id="from3_145">145-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`unsigned&nbsp;char`.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__22"></td><td  
class="diff_header" id="to3_150">150+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;a&nbsp;C</span>&nbsp;:ctype:`unsigned&nbsp;char`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_146">146</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_147">147</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_148">148</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_149">149</td><td  
nowrap="nowrap">``h``&nbsp;(integer)&nbsp;[short&nbsp;int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_150">150</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`short&nbsp;int`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_151">151</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_152">152</td><td  
nowrap="nowrap">``H``&nbsp;(integer)&nbsp;[unsigned&nbsp;short&nbsp;int]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__23">n</a></td><td  
class="diff_header" id="from3_153">153-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;short&nbsp;int`,&nbsp;without<span  
class="diff_sub">&nbsp;overflow</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__23">n</a></td><td  
class="diff_header" id="to3_158">158+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;short&nbsp;int`,&nbsp;without</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_154">154-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;checking.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_159">159+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;overflow&nbsp;checking.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_155">155</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_156">156</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_157">157</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_158">158</td><td  
nowrap="nowrap">``i``&nbsp;(integer)&nbsp;[int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_159">159</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;plain&nbsp;C&nbsp;:ctype:`int`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_160">160</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_161">161</td><td  
nowrap="nowrap">``I``&nbsp;(integer)&nbsp;[unsigned&nbsp;int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_162">162</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;int`,&nbsp;without&nbsp;overflow</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__23"></td><td  
class="diff_header" id="from3_163">163</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;checking.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_164">164</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_165">165</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_166">166</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_167">167</td><td  
nowrap="nowrap">``l``&nbsp;(integer)&nbsp;[long&nbsp;int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_168">168</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`long&nbsp;int`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_169">169</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__24"></td><td class="diff_header"  
id="from3_170">170</td><td  
nowrap="nowrap">``k``&nbsp;(integer)&nbsp;[unsigned&nbsp;long]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__24">n</a></td><td  
class="diff_header" id="from3_171">171-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long`<span  
class="diff_sub">&nbsp;without</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__24">n</a></td><td  
class="diff_header" id="to3_176">176+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_172">172-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;overflow&nbsp;checking.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_177">177+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;without</span>&nbsp;overflow&nbsp;checking.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_173">173</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_174">174</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_175">175</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__25"></td><td class="diff_header"  
id="from3_176">176</td><td  
nowrap="nowrap">``L``&nbsp;(integer)&nbsp;[PY_LONG_LONG]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_177">177</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`long&nbsp;long`.&nbsp;&nbsp;This&nbsp;format&nbsp;is&nbsp;only</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__25">n</a></td><td  
class="diff_header" id="from3_178">178-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;available&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`long&nbsp;long`&nbsp;(or&nbsp;:ctype:`_int64`<span  
class="diff_sub">&nbsp;on</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__25">n</a></td><td  
class="diff_header" id="to3_183">183+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;available&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`long&nbsp;long`&nbsp;(or&nbsp;:ctype:`_int64`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_179">179-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Windows).</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_184">184+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;on</span>&nbsp;Windows).</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_180">180</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_181">181</td><td  
nowrap="nowrap">``K``&nbsp;(integer)&nbsp;[unsigned&nbsp;PY_LONG_LONG]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_182">182</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_183">183</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;without&nbsp;overflow&nbsp;checking.&nbsp;&nbsp;This&nbsp;format&nbsp;is&nbsp;only&nbsp;available&nbsp;on&nbsp;platforms&nbsp;that</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__26">n</a></td><td  
class="diff_header" id="from3_184">184-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;support&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`&nbsp;(or&nbsp;:ctype:`unsigned&nbsp;_int64`&nbsp;on<span  
class="diff_sub">&nbsp;Windows).</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__26">n</a></td><td  
class="diff_header" id="to3_189">189+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;support&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`&nbsp;(or&nbsp;:ctype:`unsigned&nbsp;_int64`&nbsp;on</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_190">190+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Windows).</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_185">185</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_186">186</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_187">187</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_188">188</td><td  
nowrap="nowrap">``n``&nbsp;(integer)&nbsp;[Py_ssize_t]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_189">189</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`Py_ssize_t`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_190">190</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_191">191</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.5</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_192">192</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to3__26"></td><td  
class="diff_header" id="from3_199">199</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_200">200</td><td  
nowrap="nowrap">``d``&nbsp;(float)&nbsp;[double]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_201">201</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;floating&nbsp;point&nbsp;number&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`double`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_202">202</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_203">203</td><td  
nowrap="nowrap">``D``&nbsp;(complex)&nbsp;[Py_complex]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_204">204</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;complex&nbsp;number&nbsp;to&nbsp;a&nbsp;C&nbsp;:ctype:`Py_complex`&nbsp;structure.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__27"></td><td  
class="diff_header" id="from3_205">205</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_206">206</td><td  
nowrap="nowrap">``O``&nbsp;(object)&nbsp;[PyObject&nbsp;\*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__27">n</a></td><td  
class="diff_header" id="from3_207">207-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Store&nbsp;a&nbsp;Python&nbsp;object&nbsp;(without&nbsp;any&nbsp;conversion)&nbsp;in&nbsp;a&nbsp;C&nbsp;object&nbsp;pointer.&nbsp;&nbsp;The<span  
class="diff_sub">&nbsp;C</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__27">n</a></td><td  
class="diff_header" id="to3_213">213+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Store&nbsp;a&nbsp;Python&nbsp;object&nbsp;(without&nbsp;any&nbsp;conversion)&nbsp;in&nbsp;a&nbsp;C&nbsp;object&nbsp;pointer.&nbsp;&nbsp;The</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_208">208-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;program&nbsp;thus&nbsp;receives&nbsp;the&nbsp;actual&nbsp;object&nbsp;that&nbsp;was&nbsp;passed.&nbsp;&nbsp;The&nbsp;object's<span  
class="diff_sub">&nbsp;reference</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_214">214+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;C</span>&nbsp;program&nbsp;thus&nbsp;receives&nbsp;the&nbsp;actual&nbsp;object&nbsp;that&nbsp;was&nbsp;passed.&nbsp;&nbsp;The&nbsp;object's</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_209">209-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;count&nbsp;is&nbsp;not&nbsp;increased.&nbsp;&nbsp;The&nbsp;pointer&nbsp;stored&nbsp;is&nbsp;not&nbsp;*NULL*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_215">215+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;reference</span>&nbsp;count&nbsp;is&nbsp;not&nbsp;increased.&nbsp;&nbsp;The&nbsp;pointer&nbsp;stored&nbsp;is&nbsp;not&nbsp;*NULL*.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_210">210</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__28"></td><td class="diff_header"  
id="from3_211">211</td><td  
nowrap="nowrap">``O!``&nbsp;(object)&nbsp;[*typeobject*,&nbsp;PyObject&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_212">212</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Store&nbsp;a&nbsp;Python&nbsp;object&nbsp;in&nbsp;a&nbsp;C&nbsp;object&nbsp;pointer.&nbsp;&nbsp;This&nbsp;is&nbsp;similar&nbsp;to&nbsp;``O``,&nbsp;but</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__28">n</a></td><td  
class="diff_header" id="from3_213">213-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;takes&nbsp;two&nbsp;C&nbsp;arguments:&nbsp;the&nbsp;first&nbsp;is&nbsp;the&nbsp;address&nbsp;of&nbsp;a&nbsp;Python&nbsp;type&nbsp;object,<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__28">n</a></td><td  
class="diff_header" id="to3_219">219+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;takes&nbsp;two&nbsp;C&nbsp;arguments:&nbsp;the&nbsp;first&nbsp;is&nbsp;the&nbsp;address&nbsp;of&nbsp;a&nbsp;Python&nbsp;type&nbsp;object,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_214">214-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;second&nbsp;is&nbsp;the&nbsp;address&nbsp;of&nbsp;the&nbsp;C&nbsp;variable&nbsp;(of&nbsp;type&nbsp;:ctype:`PyObject\*`)<span  
class="diff_sub">&nbsp;into&nbsp;which</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_220">220+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;second&nbsp;is&nbsp;the&nbsp;address&nbsp;of&nbsp;the&nbsp;C&nbsp;variable&nbsp;(of&nbsp;type&nbsp;:ctype:`PyObject\*`)</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_215">215-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;object&nbsp;pointer&nbsp;is&nbsp;stored.&nbsp;&nbsp;If&nbsp;the&nbsp;Python&nbsp;object&nbsp;does&nbsp;not<span  
class="diff_sub">&nbsp;have&nbsp;the&nbsp;required</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_221">221+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;into&nbsp;which</span>&nbsp;the&nbsp;object&nbsp;pointer&nbsp;is&nbsp;stored.&nbsp;&nbsp;If&nbsp;the&nbsp;Python&nbsp;object&nbsp;does&nbsp;not</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_216">216-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;type,&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_222">222+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;have&nbsp;the&nbsp;required</span>&nbsp;type,&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_217">217</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_218">218</td><td  
nowrap="nowrap">``O&amp;``&nbsp;(object)&nbsp;[*converter*,&nbsp;*anything*]</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__29"><a  
href="#difflib_chg_to3__29">n</a></td><td class="diff_header"  
id="from3_219">219-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;variable&nbsp;through&nbsp;a&nbsp;*converter*&nbsp;function.<span  
class="diff_sub">&nbsp;&nbsp;This</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__29"><a  
href="#difflib_chg_to3__29">n</a></td><td class="diff_header"  
id="to3_225">225+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Python&nbsp;object&nbsp;to&nbsp;a&nbsp;C&nbsp;variable&nbsp;through&nbsp;a&nbsp;*converter*&nbsp;function.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_220">220-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;takes&nbsp;two&nbsp;arguments:&nbsp;the&nbsp;first&nbsp;is&nbsp;a&nbsp;function,&nbsp;the&nbsp;second&nbsp;is&nbsp;the<span  
class="diff_sub">&nbsp;address&nbsp;of&nbsp;a&nbsp;C</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_226">226+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;This</span>&nbsp;takes&nbsp;two&nbsp;arguments:&nbsp;the&nbsp;first&nbsp;is&nbsp;a&nbsp;function,&nbsp;the&nbsp;second&nbsp;is&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_221">221-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;variable&nbsp;(of&nbsp;arbitrary&nbsp;type),&nbsp;converted&nbsp;to&nbsp;:ctype:`void&nbsp;\*`.<span  
class="diff_sub">&nbsp;&nbsp;The&nbsp;*converter*</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_227">227+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;address&nbsp;of&nbsp;a&nbsp;C</span>&nbsp;variable&nbsp;(of&nbsp;arbitrary&nbsp;type),&nbsp;converted&nbsp;to&nbsp;:ctype:`void&nbsp;\*`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_222">222-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;in&nbsp;turn&nbsp;is&nbsp;called&nbsp;as&nbsp;follows::</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_228">228+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The&nbsp;*converter*</span>&nbsp;function&nbsp;in&nbsp;turn&nbsp;is&nbsp;called&nbsp;as&nbsp;follows::</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_223">223</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_224">224</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status&nbsp;=&nbsp;converter(object,&nbsp;address);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_225">225</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_226">226</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;where&nbsp;*object*&nbsp;is&nbsp;the&nbsp;Python&nbsp;object&nbsp;to&nbsp;be&nbsp;converted&nbsp;and&nbsp;*address*&nbsp;is&nbsp;the</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__30"><a  
href="#difflib_chg_to3__30">n</a></td><td class="diff_header"  
id="from3_227">227-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`void\*`&nbsp;argument&nbsp;that&nbsp;was&nbsp;passed&nbsp;to&nbsp;the&nbsp;:cfunc:`PyArg_Parse\*`<span  
class="diff_sub">&nbsp;function.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__30"><a  
href="#difflib_chg_to3__30">n</a></td><td class="diff_header"  
id="to3_233">233+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`void\*`&nbsp;argument&nbsp;that&nbsp;was&nbsp;passed&nbsp;to&nbsp;the&nbsp;:cfunc:`PyArg_Parse\*`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_228">228-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;returned&nbsp;*status*&nbsp;should&nbsp;be&nbsp;``1``&nbsp;for&nbsp;a&nbsp;successful<span  
class="diff_sub">&nbsp;conversion&nbsp;and&nbsp;``0``&nbsp;if</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_234">234+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;function.</span>&nbsp;&nbsp;The&nbsp;returned&nbsp;*status*&nbsp;should&nbsp;be&nbsp;``1``&nbsp;for&nbsp;a&nbsp;successful</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_229">229-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;conversion&nbsp;has&nbsp;failed.&nbsp;&nbsp;When&nbsp;the&nbsp;conversion&nbsp;fails,&nbsp;the&nbsp;*converter*&nbsp;function</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_235">235+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;conversion&nbsp;and&nbsp;``0``&nbsp;if&nbsp;the&nbsp;conversion&nbsp;has&nbsp;failed.&nbsp;&nbsp;When&nbsp;the&nbsp;conversion</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_230">230-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;should&nbsp;raise&nbsp;an&nbsp;exception&nbsp;and&nbsp;leave&nbsp;the&nbsp;content&nbsp;of&nbsp;*address*&nbsp;unmodified.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_236">236+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;fails,&nbsp;the&nbsp;*converter*&nbsp;function&nbsp;should&nbsp;raise&nbsp;an&nbsp;exception&nbsp;and&nbsp;leave&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_237">237+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;content&nbsp;of&nbsp;*address*&nbsp;unmodified.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__31"></td><td  
class="diff_header" id="from3_231">231</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_232">232</td><td  
nowrap="nowrap">``S``&nbsp;(string)&nbsp;[PyStringObject&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_233">233</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Like&nbsp;``O``&nbsp;but&nbsp;requires&nbsp;that&nbsp;the&nbsp;Python&nbsp;object&nbsp;is&nbsp;a&nbsp;string&nbsp;object.&nbsp;&nbsp;Raises</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__31">n</a></td><td  
class="diff_header" id="from3_234">234-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;if&nbsp;the&nbsp;object&nbsp;is&nbsp;not&nbsp;a&nbsp;string&nbsp;object.&nbsp;&nbsp;The&nbsp;C&nbsp;variable&nbsp;may<span  
class="diff_sub">&nbsp;also</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__31">n</a></td><td  
class="diff_header" id="to3_241">241+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;if&nbsp;the&nbsp;object&nbsp;is&nbsp;not&nbsp;a&nbsp;string&nbsp;object.&nbsp;&nbsp;The&nbsp;C&nbsp;variable&nbsp;may</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_235">235-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;be&nbsp;declared&nbsp;as&nbsp;:ctype:`PyObject\*`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_242">242+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;also</span>&nbsp;be&nbsp;declared&nbsp;as&nbsp;:ctype:`PyObject\*`.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__32"></td><td  
class="diff_header" id="from3_236">236</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_237">237</td><td  
nowrap="nowrap">``U``&nbsp;(Unicode&nbsp;string)&nbsp;[PyUnicodeObject&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_238">238</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Like&nbsp;``O``&nbsp;but&nbsp;requires&nbsp;that&nbsp;the&nbsp;Python&nbsp;object&nbsp;is&nbsp;a&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;Raises</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__32">n</a></td><td  
class="diff_header" id="from3_239">239-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;if&nbsp;the&nbsp;object&nbsp;is&nbsp;not&nbsp;a&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;The&nbsp;C&nbsp;variable&nbsp;may<span  
class="diff_sub">&nbsp;also</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__32">n</a></td><td  
class="diff_header" id="to3_246">246+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;if&nbsp;the&nbsp;object&nbsp;is&nbsp;not&nbsp;a&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;The&nbsp;C&nbsp;variable&nbsp;may</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_240">240-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;be&nbsp;declared&nbsp;as&nbsp;:ctype:`PyObject\*`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_247">247+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;also</span>&nbsp;be&nbsp;declared&nbsp;as&nbsp;:ctype:`PyObject\*`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_241">241</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__33"></td><td class="diff_header"  
id="from3_242">242</td><td  
nowrap="nowrap">``t#``&nbsp;(read-only&nbsp;character&nbsp;buffer)&nbsp;[char&nbsp;\*,&nbsp;int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_243">243</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Like&nbsp;``s#``,&nbsp;but&nbsp;accepts&nbsp;any&nbsp;object&nbsp;which&nbsp;implements&nbsp;the&nbsp;read-only&nbsp;buffer</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__33">n</a></td><td  
class="diff_header" id="from3_244">244-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;The&nbsp;:ctype:`char\*`&nbsp;variable&nbsp;is&nbsp;set&nbsp;to&nbsp;point&nbsp;to&nbsp;the&nbsp;first&nbsp;byte<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__33">n</a></td><td  
class="diff_header" id="to3_251">251+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;The&nbsp;:ctype:`char\*`&nbsp;variable&nbsp;is&nbsp;set&nbsp;to&nbsp;point&nbsp;to&nbsp;the&nbsp;first&nbsp;byte</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_245">245-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;buffer,&nbsp;and&nbsp;the&nbsp;:ctype:`int`&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;buffer.<span  
class="diff_sub">&nbsp;&nbsp;Only</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_252">252+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;of</span>&nbsp;the&nbsp;buffer,&nbsp;and&nbsp;the&nbsp;:ctype:`int`&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;buffer.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_246">246-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are&nbsp;accepted;&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised<span  
class="diff_sub">&nbsp;for&nbsp;all</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_253">253+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Only</span>&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are&nbsp;accepted;&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_247">247-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;others.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_254">254+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;for&nbsp;all&nbsp;others.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_248">248</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__34"></td><td class="diff_header"  
id="from3_249">249</td><td  
nowrap="nowrap">``w``&nbsp;(read-write&nbsp;character&nbsp;buffer)&nbsp;[char&nbsp;\*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__34">n</a></td><td  
class="diff_header" id="from3_250">250-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;``s``,&nbsp;but&nbsp;accepts&nbsp;any&nbsp;object&nbsp;which&nbsp;implements&nbsp;the&nbsp;read-write<span  
class="diff_sub">&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__34">n</a></td><td  
class="diff_header" id="to3_257">257+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;``s``,&nbsp;but&nbsp;accepts&nbsp;any&nbsp;object&nbsp;which&nbsp;implements&nbsp;the&nbsp;read-write</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_251">251-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;The&nbsp;caller&nbsp;must&nbsp;determine&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;buffer&nbsp;by<span  
class="diff_sub">&nbsp;other&nbsp;means,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_258">258+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;buffer</span>&nbsp;interface.&nbsp;&nbsp;The&nbsp;caller&nbsp;must&nbsp;determine&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;buffer&nbsp;by</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_252">252-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;or&nbsp;use&nbsp;``w#``&nbsp;instead.&nbsp;&nbsp;Only&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are<span  
class="diff_sub">&nbsp;accepted;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_259">259+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;other&nbsp;means,</span>&nbsp;or&nbsp;use&nbsp;``w#``&nbsp;instead.&nbsp;&nbsp;Only&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_253">253-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised&nbsp;for&nbsp;all&nbsp;others.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_260">260+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;accepted;</span>&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised&nbsp;for&nbsp;all&nbsp;others.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__35"></td><td  
class="diff_header" id="from3_254">254</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_255">255</td><td  
nowrap="nowrap">``w#``&nbsp;(read-write&nbsp;character&nbsp;buffer)&nbsp;[char&nbsp;\*,&nbsp;Py_ssize_t]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_256">256</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Like&nbsp;``s#``,&nbsp;but&nbsp;accepts&nbsp;any&nbsp;object&nbsp;which&nbsp;implements&nbsp;the&nbsp;read-write&nbsp;buffer</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__35">n</a></td><td  
class="diff_header" id="from3_257">257-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;The&nbsp;:ctype:`char&nbsp;\*`&nbsp;variable&nbsp;is&nbsp;set&nbsp;to&nbsp;point&nbsp;to&nbsp;the&nbsp;first&nbsp;byte<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__35">n</a></td><td  
class="diff_header" id="to3_264">264+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;The&nbsp;:ctype:`char&nbsp;\*`&nbsp;variable&nbsp;is&nbsp;set&nbsp;to&nbsp;point&nbsp;to&nbsp;the&nbsp;first&nbsp;byte</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_258">258-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;buffer,&nbsp;and&nbsp;the&nbsp;:ctype:`i<span  
class="diff_chg">n</span>t`&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the<span  
class="diff_sub">&nbsp;buffer.&nbsp;&nbsp;Only</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_265">265+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;of</span>&nbsp;the&nbsp;buffer,&nbsp;and&nbsp;the&nbsp;:ctype:`<span  
class="diff_add">Py_ss</span>i<span  
class="diff_chg">ze_</span>t`&nbsp;is&nbsp;set&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_259">259-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are&nbsp;accepted;&nbsp;:exc:`TypeError`<span  
class="diff_sub">&nbsp;is&nbsp;raised&nbsp;for&nbsp;all</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_266">266+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;buffer.&nbsp;&nbsp;Only</span>&nbsp;single-segment&nbsp;buffer&nbsp;objects&nbsp;are&nbsp;accepted;&nbsp;:exc:`TypeError`</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__36"></td><td  
class="diff_header" id="from3_260">260-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;others.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__36"></td><td  
class="diff_header" id="to3_267">267+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;is&nbsp;raised&nbsp;for&nbsp;all&nbsp;others.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_261">261</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__36">n</a></td><td  
class="diff_header" id="from3_262">262-</td><td  
nowrap="nowrap">``w*``&nbsp;(read-write&nbsp;byte-oriented&nbsp;buffer)&nbsp;[Py_buffer<span  
class="diff_sub">&nbsp;\*</span>]</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__36">n</a></td><td  
class="diff_header" id="to3_269">269+</td><td  
nowrap="nowrap">``w*``&nbsp;(read-write&nbsp;byte-oriented&nbsp;buffer)&nbsp;[Py_buffer]</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_263">263</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;to&nbsp;``w``&nbsp;what&nbsp;``s*``&nbsp;is&nbsp;to&nbsp;``s``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_264">264</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_265">265</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__37"></td><td  
class="diff_header" id="from3_266">266</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_267">267</td><td  
nowrap="nowrap">``(items)``&nbsp;(tuple)&nbsp;[*matching-items*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__37">n</a></td><td  
class="diff_header" id="from3_268">268-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;object&nbsp;must&nbsp;be&nbsp;a&nbsp;Python&nbsp;sequence&nbsp;whose&nbsp;length&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;format<span  
class="diff_sub">&nbsp;units</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__37">n</a></td><td  
class="diff_header" id="to3_275">275+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;object&nbsp;must&nbsp;be&nbsp;a&nbsp;Python&nbsp;sequence&nbsp;whose&nbsp;length&nbsp;is&nbsp;the&nbsp;number&nbsp;of&nbsp;format</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_269">269-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;in&nbsp;*items*.&nbsp;&nbsp;The&nbsp;C&nbsp;arguments&nbsp;must&nbsp;correspond&nbsp;to&nbsp;the&nbsp;individual&nbsp;format<span  
class="diff_sub">&nbsp;units&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_276">276+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;units</span>&nbsp;in&nbsp;*items*.&nbsp;&nbsp;The&nbsp;C&nbsp;arguments&nbsp;must&nbsp;correspond&nbsp;to&nbsp;the&nbsp;individual&nbsp;format</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_270">270-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*items*.&nbsp;&nbsp;Format&nbsp;units&nbsp;for&nbsp;sequences&nbsp;may&nbsp;be&nbsp;nested.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_277">277+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;units&nbsp;in</span>&nbsp;*items*.&nbsp;&nbsp;Format&nbsp;units&nbsp;for&nbsp;sequences&nbsp;may&nbsp;be&nbsp;nested.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_271">271</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_272">272</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;note::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_273">273</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__38">n</a></td><td  
class="diff_header" id="from3_274">274-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prior&nbsp;to&nbsp;Python&nbsp;version&nbsp;1.5.2,&nbsp;this&nbsp;format&nbsp;specifier&nbsp;only&nbsp;accepted&nbsp;a<span  
class="diff_sub">&nbsp;tuple</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__38">n</a></td><td  
class="diff_header" id="to3_281">281+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Prior&nbsp;to&nbsp;Python&nbsp;version&nbsp;1.5.2,&nbsp;this&nbsp;format&nbsp;specifier&nbsp;only&nbsp;accepted&nbsp;a</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__38"></td><td  
class="diff_header" id="from3_275">275-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;containing&nbsp;the&nbsp;individual&nbsp;parameters,&nbsp;not&nbsp;an&nbsp;arbitrary&nbsp;sequence.<span  
class="diff_sub">&nbsp;&nbsp;Code&nbsp;which</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__38"></td><td  
class="diff_header" id="to3_282">282+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;tuple</span>&nbsp;containing&nbsp;the&nbsp;individual&nbsp;parameters,&nbsp;not&nbsp;an&nbsp;arbitrary&nbsp;sequence.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_276">276-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;previously&nbsp;caused&nbsp;:exc:`TypeError`&nbsp;to&nbsp;be&nbsp;raised&nbsp;here&nbsp;may&nbsp;now<span  
class="diff_sub">&nbsp;proceed&nbsp;without&nbsp;an</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_283">283+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Code&nbsp;which</span>&nbsp;previously&nbsp;caused&nbsp;:exc:`TypeError`&nbsp;to&nbsp;be&nbsp;raised&nbsp;here&nbsp;may&nbsp;now</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_277">277-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exception.&nbsp;&nbsp;This&nbsp;is&nbsp;not&nbsp;expected&nbsp;to&nbsp;be&nbsp;a&nbsp;problem&nbsp;for<span  
class="diff_sub">&nbsp;existing&nbsp;code.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_284">284+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;proceed&nbsp;without&nbsp;an</span>&nbsp;exception.&nbsp;&nbsp;This&nbsp;is&nbsp;not&nbsp;expected&nbsp;to&nbsp;be&nbsp;a&nbsp;problem&nbsp;for</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_285">285+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;existing&nbsp;code.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_278">278</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_279">279</td><td  
nowrap="nowrap">It&nbsp;is&nbsp;possible&nbsp;to&nbsp;pass&nbsp;Python&nbsp;long&nbsp;integers&nbsp;where&nbsp;integers&nbsp;are&nbsp;requested;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_280">280</td><td  
nowrap="nowrap">however&nbsp;no&nbsp;proper&nbsp;range&nbsp;checking&nbsp;is&nbsp;done&nbsp;---&nbsp;the&nbsp;most&nbsp;significant&nbsp;bits&nbsp;are</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__39"></td><td  
class="diff_header" id="from3_281">281</td><td  
nowrap="nowrap">silently&nbsp;truncated&nbsp;when&nbsp;the&nbsp;receiving&nbsp;field&nbsp;is&nbsp;too&nbsp;small&nbsp;to&nbsp;receive&nbsp;the&nbsp;value</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__39">n</a></td><td  
class="diff_header" id="from3_282">282-</td><td  
nowrap="nowrap">(actually,&nbsp;the&nbsp;semantics&nbsp;are&nbsp;inherited&nbsp;from&nbsp;downcasts&nbsp;in&nbsp;C&nbsp;---&nbsp;your&nbsp;mileage<span  
class="diff_sub">&nbsp;may</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__39">n</a></td><td  
class="diff_header" id="to3_290">290+</td><td  
nowrap="nowrap">(actually,&nbsp;the&nbsp;semantics&nbsp;are&nbsp;inherited&nbsp;from&nbsp;downcasts&nbsp;in&nbsp;C&nbsp;---&nbsp;your&nbsp;mileage</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_283">283-</td><td nowrap="nowrap">vary).</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_291">291+</td><td nowrap="nowrap"><span  
class="diff_add">may&nbsp;</span>vary).</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_284">284</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_285">285</td><td  
nowrap="nowrap">A&nbsp;few&nbsp;other&nbsp;characters&nbsp;have&nbsp;a&nbsp;meaning&nbsp;in&nbsp;a&nbsp;format&nbsp;string.&nbsp;&nbsp;These&nbsp;may&nbsp;not&nbsp;occur</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_286">286</td><td  
nowrap="nowrap">inside&nbsp;nested&nbsp;parentheses.&nbsp;&nbsp;They&nbsp;are:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_287">287</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__40"></td><td class="diff_header"  
id="from3_288">288</td><td nowrap="nowrap">``|``</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__40">n</a></td><td  
class="diff_header" id="from3_289">289-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Indicates&nbsp;that&nbsp;the&nbsp;remaining&nbsp;arguments&nbsp;in&nbsp;the&nbsp;Python&nbsp;argument&nbsp;list&nbsp;are<span  
class="diff_sub">&nbsp;optional.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__40">n</a></td><td  
class="diff_header" id="to3_297">297+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Indicates&nbsp;that&nbsp;the&nbsp;remaining&nbsp;arguments&nbsp;in&nbsp;the&nbsp;Python&nbsp;argument&nbsp;list&nbsp;are</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_290">290-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;C&nbsp;variables&nbsp;corresponding&nbsp;to&nbsp;optional&nbsp;arguments&nbsp;should&nbsp;be<span  
class="diff_sub">&nbsp;initialized&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_298">298+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;optional.</span>&nbsp;&nbsp;The&nbsp;C&nbsp;variables&nbsp;corresponding&nbsp;to&nbsp;optional&nbsp;arguments&nbsp;should&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_291">291-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;their&nbsp;default&nbsp;value&nbsp;---&nbsp;when&nbsp;an&nbsp;optional&nbsp;argument&nbsp;is&nbsp;not<span  
class="diff_sub">&nbsp;specified,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_299">299+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;initialized&nbsp;to</span>&nbsp;their&nbsp;default&nbsp;value&nbsp;---&nbsp;when&nbsp;an&nbsp;optional&nbsp;argument&nbsp;is&nbsp;not</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_292">292-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;does&nbsp;not&nbsp;touch&nbsp;the&nbsp;contents&nbsp;of&nbsp;the<span  
class="diff_sub">&nbsp;corresponding&nbsp;C</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_300">300+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;specified,</span>&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;does&nbsp;not&nbsp;touch&nbsp;the&nbsp;contents&nbsp;of&nbsp;the</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__41"></td><td  
class="diff_header" id="from3_293">293-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;variable(s).</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__41"></td><td  
class="diff_header" id="to3_301">301+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;corresponding&nbsp;C&nbsp;variable(s).</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_294">294</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_295">295</td><td  
nowrap="nowrap">``:``</td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__41">n</a></td><td class="diff_header"  
id="from3_296">296-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;list&nbsp;of&nbsp;format&nbsp;units&nbsp;ends&nbsp;here;&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;colon&nbsp;is&nbsp;used&nbsp;as<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__41">n</a></td><td  
class="diff_header" id="to3_304">304+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;list&nbsp;of&nbsp;format&nbsp;units&nbsp;ends&nbsp;here;&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;colon&nbsp;is&nbsp;used&nbsp;as</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_297">297-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;name&nbsp;in&nbsp;error&nbsp;messages&nbsp;(the&nbsp;"associated&nbsp;value"&nbsp;of&nbsp;the<span  
class="diff_sub">&nbsp;exception&nbsp;that</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_305">305+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;function&nbsp;name&nbsp;in&nbsp;error&nbsp;messages&nbsp;(the&nbsp;"associated&nbsp;value"&nbsp;of&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_298">298-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;raises).</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_306">306+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;exception&nbsp;that</span>&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;raises).</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_299">299</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_300">300</td><td  
nowrap="nowrap">``;``</td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__42">n</a></td><td class="diff_header"  
id="from3_301">301-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;list&nbsp;of&nbsp;format&nbsp;units&nbsp;ends&nbsp;here;&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;semicolon&nbsp;is&nbsp;used<span  
class="diff_sub">&nbsp;as</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__42">n</a></td><td  
class="diff_header" id="to3_309">309+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;list&nbsp;of&nbsp;format&nbsp;units&nbsp;ends&nbsp;here;&nbsp;the&nbsp;string&nbsp;after&nbsp;the&nbsp;semicolon&nbsp;is&nbsp;used</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__42"></td><td  
class="diff_header" id="from3_302">302-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;error&nbsp;message&nbsp;*instead*&nbsp;of&nbsp;the&nbsp;default&nbsp;error&nbsp;message.&nbsp;&nbsp;``:``&nbsp;and<span  
class="diff_sub">&nbsp;``;``</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__42"></td><td  
class="diff_header" id="to3_310">310+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;as</span>&nbsp;the&nbsp;error&nbsp;message&nbsp;*instead*&nbsp;of&nbsp;the&nbsp;default&nbsp;error&nbsp;message.&nbsp;&nbsp;``:``&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_303">303-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;mutually&nbsp;exclude&nbsp;each&nbsp;other.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_311">311+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;``;``</span>&nbsp;mutually&nbsp;exclude&nbsp;each&nbsp;other.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_304">304</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_305">305</td><td  
nowrap="nowrap">Note&nbsp;that&nbsp;any&nbsp;Python&nbsp;object&nbsp;references&nbsp;which&nbsp;are&nbsp;provided&nbsp;to&nbsp;the&nbsp;caller&nbsp;are</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__43"></td><td  
class="diff_header" id="from3_306">306</td><td  
nowrap="nowrap">*borrowed*&nbsp;references;&nbsp;do&nbsp;not&nbsp;decrement&nbsp;their&nbsp;reference&nbsp;count!</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_307">307</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_308">308</td><td  
nowrap="nowrap">Additional&nbsp;arguments&nbsp;passed&nbsp;to&nbsp;these&nbsp;functions&nbsp;must&nbsp;be&nbsp;addresses&nbsp;of&nbsp;variables</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_309">309</td><td  
nowrap="nowrap">whose&nbsp;type&nbsp;is&nbsp;determined&nbsp;by&nbsp;the&nbsp;format&nbsp;string;&nbsp;these&nbsp;are&nbsp;used&nbsp;to&nbsp;store&nbsp;values</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__43">n</a></td><td  
class="diff_header" id="from3_310">310-</td><td  
nowrap="nowrap">from&nbsp;the&nbsp;input&nbsp;tuple.&nbsp;&nbsp;There&nbsp;are&nbsp;a&nbsp;few&nbsp;cases,&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;list&nbsp;of<span  
class="diff_sub">&nbsp;format</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__43">n</a></td><td  
class="diff_header" id="to3_318">318+</td><td  
nowrap="nowrap">from&nbsp;the&nbsp;input&nbsp;tuple.&nbsp;&nbsp;There&nbsp;are&nbsp;a&nbsp;few&nbsp;cases,&nbsp;as&nbsp;described&nbsp;in&nbsp;the&nbsp;list&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_311">311-</td><td  
nowrap="nowrap">units&nbsp;above,&nbsp;where&nbsp;these&nbsp;parameters&nbsp;are&nbsp;used&nbsp;as&nbsp;input&nbsp;values;&nbsp;they<span  
class="diff_sub">&nbsp;should&nbsp;match</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_319">319+</td><td nowrap="nowrap"><span  
class="diff_add">format&nbsp;</span>units&nbsp;above,&nbsp;where&nbsp;these&nbsp;parameters&nbsp;are&nbsp;used&nbsp;as&nbsp;input&nbsp;values;&nbsp;they</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_312">312-</td><td  
nowrap="nowrap">what&nbsp;is&nbsp;specified&nbsp;for&nbsp;the&nbsp;corresponding&nbsp;format&nbsp;unit&nbsp;in&nbsp;that&nbsp;case.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_320">320+</td><td nowrap="nowrap"><span  
class="diff_add">should&nbsp;match&nbsp;</span>what&nbsp;is&nbsp;specified&nbsp;for&nbsp;the&nbsp;corresponding&nbsp;format&nbsp;unit&nbsp;in&nbsp;that&nbsp;case.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_313">313</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__44">n</a></td><td  
class="diff_header" id="from3_314">314-</td><td  
nowrap="nowrap">For&nbsp;the&nbsp;conversion&nbsp;to&nbsp;succeed,&nbsp;the&nbsp;*arg*&nbsp;object&nbsp;must&nbsp;match&nbsp;the&nbsp;format</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__44">n</a></td><td  
class="diff_header" id="to3_322">322+</td><td  
nowrap="nowrap">For&nbsp;the&nbsp;conversion&nbsp;to&nbsp;succeed,&nbsp;the&nbsp;*arg*&nbsp;object&nbsp;must&nbsp;match&nbsp;the&nbsp;format<span  
class="diff_add">&nbsp;and&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_315">315-</td><td nowrap="nowrap"><span  
class="diff_sub">and&nbsp;the&nbsp;format&nbsp;must&nbsp;be&nbsp;exhausted.&nbsp;&nbsp;On&nbsp;success,&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_323">323+</td><td nowrap="nowrap"><span  
class="diff_add">format&nbsp;must&nbsp;be&nbsp;exhausted.&nbsp;&nbsp;On&nbsp;success,&nbsp;the&nbsp;:cfunc:`PyArg_Parse\*`&nbsp;functions</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_316">316-</td><td nowrap="nowrap"><span  
class="diff_sub">:cfunc:`PyArg_Parse\*`&nbsp;functions&nbsp;return&nbsp;true,&nbsp;otherwise&nbsp;they&nbsp;return</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_324">324+</td><td nowrap="nowrap"><span  
class="diff_add">return&nbsp;true,&nbsp;otherwise&nbsp;they&nbsp;return&nbsp;false&nbsp;and&nbsp;raise&nbsp;an&nbsp;appropriate&nbsp;exception.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__44"></td><td  
class="diff_header" id="from3_317">317-</td><td nowrap="nowrap"><span  
class="diff_sub">false&nbsp;and&nbsp;raise&nbsp;an&nbsp;appropriate&nbsp;exception.&nbsp;When&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_318">318-</td><td  
nowrap="nowrap">:cfunc:`PyArg_Parse\*`&nbsp;functions&nbsp;fail&nbsp;due&nbsp;to&nbsp;conversion&nbsp;failure&nbsp;in<span  
class="diff_sub">&nbsp;one</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_325">325+</td><td nowrap="nowrap"><span  
class="diff_add">When&nbsp;the&nbsp;</span>:cfunc:`PyArg_Parse\*`&nbsp;functions&nbsp;fail&nbsp;due&nbsp;to&nbsp;conversion&nbsp;failure&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_319">319-</td><td  
nowrap="nowrap">of&nbsp;the&nbsp;format&nbsp;units,&nbsp;the&nbsp;variables&nbsp;at&nbsp;the&nbsp;addresses&nbsp;corresponding&nbsp;to&nbsp;that</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_326">326+</td><td nowrap="nowrap"><span  
class="diff_add">one&nbsp;</span>of&nbsp;the&nbsp;format&nbsp;units,&nbsp;the&nbsp;variables&nbsp;at&nbsp;the&nbsp;addresses&nbsp;corresponding&nbsp;to&nbsp;that</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_320">320</td><td  
nowrap="nowrap">and&nbsp;the&nbsp;following&nbsp;format&nbsp;units&nbsp;are&nbsp;left&nbsp;untouched.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_321">321</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_322">322</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_323">323</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_ParseTuple(PyObject&nbsp;*args,&nbsp;const&nbsp;char&nbsp;*format,&nbsp;...)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__45"></td><td  
class="diff_header" id="from3_324">324</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__45">n</a></td><td class="diff_header"  
id="from3_325">325-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Parse&nbsp;the&nbsp;parameters&nbsp;of&nbsp;a&nbsp;function&nbsp;that&nbsp;takes&nbsp;only&nbsp;positional&nbsp;parameters<span  
class="diff_sub">&nbsp;into</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__45">n</a></td><td  
class="diff_header" id="to3_332">332+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Parse&nbsp;the&nbsp;parameters&nbsp;of&nbsp;a&nbsp;function&nbsp;that&nbsp;takes&nbsp;only&nbsp;positional&nbsp;parameters</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_326">326-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;local&nbsp;variables.&nbsp;&nbsp;Returns&nbsp;true&nbsp;on&nbsp;success;&nbsp;on&nbsp;failure,&nbsp;it&nbsp;returns<span  
class="diff_sub">&nbsp;false&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_333">333+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;into</span>&nbsp;local&nbsp;variables.&nbsp;&nbsp;Returns&nbsp;true&nbsp;on&nbsp;success;&nbsp;on&nbsp;failure,&nbsp;it&nbsp;returns</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_327">327-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;raises&nbsp;the&nbsp;appropriate&nbsp;exception.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_334">334+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;false&nbsp;and</span>&nbsp;raises&nbsp;the&nbsp;appropriate&nbsp;exception.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_328">328</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_329">329</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_330">330</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_VaParse(PyObject&nbsp;*args,&nbsp;const&nbsp;char&nbsp;*format,&nbsp;va_list&nbsp;vargs)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_331">331</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__46">n</a></td><td  
class="diff_header" id="from3_332">332-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Identical&nbsp;to&nbsp;:cfunc:`PyArg_ParseTuple`,&nbsp;except&nbsp;that&nbsp;it&nbsp;accepts&nbsp;a&nbsp;va_list<span  
class="diff_sub">&nbsp;rather</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__46">n</a></td><td  
class="diff_header" id="to3_339">339+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Identical&nbsp;to&nbsp;:cfunc:`PyArg_ParseTuple`,&nbsp;except&nbsp;that&nbsp;it&nbsp;accepts&nbsp;a&nbsp;va_list</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_333">333-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;than&nbsp;a&nbsp;variable&nbsp;number&nbsp;of&nbsp;arguments.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_340">340+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;rather</span>&nbsp;than&nbsp;a&nbsp;variable&nbsp;number&nbsp;of&nbsp;arguments.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_334">334</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_335">335</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_336">336</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_ParseTupleAndKeywords(PyObject&nbsp;*args,&nbsp;PyObject&nbsp;*kw,&nbsp;const&nbsp;char&nbsp;*format,&nbsp;char&nbsp;*keywords[],&nbsp;...)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_337">337</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_338">338</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Parse&nbsp;the&nbsp;parameters&nbsp;of&nbsp;a&nbsp;function&nbsp;that&nbsp;takes&nbsp;both&nbsp;positional&nbsp;and&nbsp;keyword</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_339">339</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameters&nbsp;into&nbsp;local&nbsp;variables.&nbsp;&nbsp;Returns&nbsp;true&nbsp;on&nbsp;success;&nbsp;on&nbsp;failure,&nbsp;it</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_340">340</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;returns&nbsp;false&nbsp;and&nbsp;raises&nbsp;the&nbsp;appropriate&nbsp;exception.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_341">341</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to3__46"></td><td  
class="diff_header" id="from3_343">343</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_VaParseTupleAndKeywords(PyObject&nbsp;*args,&nbsp;PyObject&nbsp;*kw,&nbsp;const&nbsp;char&nbsp;*format,&nbsp;char&nbsp;*keywords[],&nbsp;va_list&nbsp;vargs)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_344">344</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_345">345</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Identical&nbsp;to&nbsp;:cfunc:`PyArg_ParseTupleAndKeywords`,&nbsp;except&nbsp;that&nbsp;it&nbsp;accepts&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_346">346</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;va_list&nbsp;rather&nbsp;than&nbsp;a&nbsp;variable&nbsp;number&nbsp;of&nbsp;arguments.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_347">347</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_348">348</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_349">349</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_Parse(PyObject&nbsp;*args,&nbsp;const&nbsp;char&nbsp;*format,&nbsp;...)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_350">350</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__47">n</a></td><td  
class="diff_header" id="from3_351">351-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Function&nbsp;used&nbsp;to&nbsp;deconstruct&nbsp;the&nbsp;argument&nbsp;lists&nbsp;of&nbsp;"old-style"&nbsp;functions<span  
class="diff_sub">&nbsp;---</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__47">n</a></td><td  
class="diff_header" id="to3_358">358+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Function&nbsp;used&nbsp;to&nbsp;deconstruct&nbsp;the&nbsp;argument&nbsp;lists&nbsp;of&nbsp;"old-style"&nbsp;functions</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_352">352-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;these&nbsp;are&nbsp;functions&nbsp;which&nbsp;use&nbsp;the&nbsp;:const:`METH_OLDARGS`&nbsp;parameter<span  
class="diff_sub">&nbsp;parsing</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_359">359+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;---</span>&nbsp;these&nbsp;are&nbsp;functions&nbsp;which&nbsp;use&nbsp;the&nbsp;:const:`METH_OLDARGS`&nbsp;parameter</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_353">353-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;method.&nbsp;&nbsp;This&nbsp;is&nbsp;not&nbsp;recommended&nbsp;for&nbsp;use&nbsp;in&nbsp;parameter&nbsp;parsing&nbsp;in<span  
class="diff_sub">&nbsp;new&nbsp;code,&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_360">360+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;parsing</span>&nbsp;method.&nbsp;&nbsp;This&nbsp;is&nbsp;not&nbsp;recommended&nbsp;for&nbsp;use&nbsp;in&nbsp;parameter&nbsp;parsing&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_354">354-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;most&nbsp;code&nbsp;in&nbsp;the&nbsp;standard&nbsp;interpreter&nbsp;has&nbsp;been&nbsp;modified&nbsp;to&nbsp;no<span  
class="diff_sub">&nbsp;longer&nbsp;use&nbsp;this</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_361">361+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;new&nbsp;code,&nbsp;and</span>&nbsp;most&nbsp;code&nbsp;in&nbsp;the&nbsp;standard&nbsp;interpreter&nbsp;has&nbsp;been&nbsp;modified&nbsp;to&nbsp;no</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__47"></td><td  
class="diff_header" id="from3_355">355-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;for&nbsp;that&nbsp;purpose.&nbsp;&nbsp;It&nbsp;does&nbsp;remain&nbsp;a&nbsp;convenient&nbsp;way&nbsp;to&nbsp;decompose&nbsp;other&nbsp;tuples,</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__47"></td><td  
class="diff_header" id="to3_362">362+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;longer&nbsp;use&nbsp;this&nbsp;for&nbsp;that&nbsp;purpose.&nbsp;&nbsp;It&nbsp;does&nbsp;remain&nbsp;a&nbsp;convenient&nbsp;way&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_356">356-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;however,&nbsp;and&nbsp;may&nbsp;continue&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;that&nbsp;purpose.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_363">363+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;decompose&nbsp;other&nbsp;tuples,&nbsp;however,&nbsp;and&nbsp;may&nbsp;continue&nbsp;to&nbsp;be&nbsp;used&nbsp;for&nbsp;that</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_364">364+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;purpose.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_357">357</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_358">358</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_359">359</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyArg_UnpackTuple(PyObject&nbsp;*args,&nbsp;const&nbsp;char&nbsp;*name,&nbsp;Py_ssize_t&nbsp;min,&nbsp;Py_ssize_t&nbsp;max,&nbsp;...)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_360">360</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_361">361</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;A&nbsp;simpler&nbsp;form&nbsp;of&nbsp;parameter&nbsp;retrieval&nbsp;which&nbsp;does&nbsp;not&nbsp;use&nbsp;a&nbsp;format&nbsp;string&nbsp;to</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__48">n</a></td><td  
class="diff_header" id="from3_362">362-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;specify&nbsp;the&nbsp;types&nbsp;of&nbsp;the&nbsp;arguments.&nbsp;&nbsp;Functions&nbsp;which&nbsp;use&nbsp;this&nbsp;method&nbsp;to<span  
class="diff_sub">&nbsp;retrieve</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__48">n</a></td><td  
class="diff_header" id="to3_370">370+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;specify&nbsp;the&nbsp;types&nbsp;of&nbsp;the&nbsp;arguments.&nbsp;&nbsp;Functions&nbsp;which&nbsp;use&nbsp;this&nbsp;method&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_363">363-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;their&nbsp;parameters&nbsp;should&nbsp;be&nbsp;declared&nbsp;as&nbsp;:const:`METH_VARARGS`&nbsp;in<span  
class="diff_sub">&nbsp;function&nbsp;or</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_371">371+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;retrieve</span>&nbsp;their&nbsp;parameters&nbsp;should&nbsp;be&nbsp;declared&nbsp;as&nbsp;:const:`METH_VARARGS`&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_364">364-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;method&nbsp;tables.&nbsp;&nbsp;The&nbsp;tuple&nbsp;containing&nbsp;the&nbsp;actual&nbsp;parameters<span  
class="diff_sub">&nbsp;should&nbsp;be&nbsp;passed&nbsp;as</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_372">372+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;function&nbsp;or</span>&nbsp;method&nbsp;tables.&nbsp;&nbsp;The&nbsp;tuple&nbsp;containing&nbsp;the&nbsp;actual&nbsp;parameters</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_365">365-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*args*;&nbsp;it&nbsp;must&nbsp;actually&nbsp;be&nbsp;a&nbsp;tuple.&nbsp;&nbsp;The&nbsp;length&nbsp;of&nbsp;the&nbsp;tuple&nbsp;must&nbsp;be&nbsp;at&nbsp;least</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_373">373+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;passed&nbsp;as&nbsp;*args*;&nbsp;it&nbsp;must&nbsp;actually&nbsp;be&nbsp;a&nbsp;tuple.&nbsp;&nbsp;The&nbsp;length&nbsp;of&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_366">366-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*min*&nbsp;and&nbsp;no&nbsp;more&nbsp;than&nbsp;*max*;&nbsp;*min*&nbsp;and&nbsp;*max*&nbsp;may&nbsp;be&nbsp;equal.&nbsp;&nbsp;Additional</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_374">374+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;tuple&nbsp;must&nbsp;be&nbsp;at&nbsp;least&nbsp;*min*&nbsp;and&nbsp;no&nbsp;more&nbsp;than&nbsp;*max*;&nbsp;*min*&nbsp;and&nbsp;*max*&nbsp;may&nbsp;be</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__48"></td><td  
class="diff_header" id="from3_367">367-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;arguments&nbsp;must&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;function,&nbsp;each&nbsp;of&nbsp;which&nbsp;should&nbsp;be&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__48"></td><td  
class="diff_header" id="to3_375">375+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;equal.&nbsp;&nbsp;Additional&nbsp;arguments&nbsp;must&nbsp;be&nbsp;passed&nbsp;to&nbsp;the&nbsp;function,&nbsp;each&nbsp;of&nbsp;which</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_368">368-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:ctype:`PyObject\*`&nbsp;variable;&nbsp;these&nbsp;will&nbsp;be&nbsp;filled&nbsp;in&nbsp;with&nbsp;the&nbsp;values&nbsp;from</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_376">376+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;:ctype:`PyObject\*`&nbsp;variable;&nbsp;these&nbsp;will&nbsp;be&nbsp;filled</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_369">369-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*args*;&nbsp;they&nbsp;will&nbsp;contain&nbsp;borrowed&nbsp;references.&nbsp;&nbsp;The&nbsp;variables&nbsp;which&nbsp;correspond</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_377">377+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;in&nbsp;with&nbsp;the&nbsp;values&nbsp;from&nbsp;*args*;&nbsp;they&nbsp;will&nbsp;contain&nbsp;borrowed&nbsp;references.&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_370">370-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;to&nbsp;optional&nbsp;parameters&nbsp;not&nbsp;given&nbsp;by&nbsp;*args*&nbsp;will&nbsp;not&nbsp;be&nbsp;filled&nbsp;in;&nbsp;these&nbsp;should</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_378">378+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;variables&nbsp;which&nbsp;correspond&nbsp;to&nbsp;optional&nbsp;parameters&nbsp;not&nbsp;given&nbsp;by&nbsp;*args*&nbsp;will</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_371">371-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;be&nbsp;initialized&nbsp;by&nbsp;the&nbsp;caller.&nbsp;This&nbsp;function&nbsp;returns&nbsp;true&nbsp;on&nbsp;success&nbsp;and&nbsp;false&nbsp;if</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_379">379+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;not&nbsp;be&nbsp;filled&nbsp;in;&nbsp;these&nbsp;should&nbsp;be&nbsp;initialized&nbsp;by&nbsp;the&nbsp;caller.&nbsp;This&nbsp;function</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_372">372-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*args*&nbsp;is&nbsp;not&nbsp;a&nbsp;tuple&nbsp;or&nbsp;contains&nbsp;the&nbsp;wrong&nbsp;number&nbsp;of&nbsp;elements;&nbsp;an&nbsp;exception</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_380">380+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;returns&nbsp;true&nbsp;on&nbsp;success&nbsp;and&nbsp;false&nbsp;if&nbsp;*args*&nbsp;is&nbsp;not&nbsp;a&nbsp;tuple&nbsp;or&nbsp;contains&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_373">373-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;set&nbsp;if&nbsp;there&nbsp;was&nbsp;a&nbsp;failure.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_381">381+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;wrong&nbsp;number&nbsp;of&nbsp;elements;&nbsp;an&nbsp;exception&nbsp;will&nbsp;be&nbsp;set&nbsp;if&nbsp;there&nbsp;was&nbsp;a&nbsp;failure.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_374">374</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__49">n</a></td><td  
class="diff_header" id="from3_375">375-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;an&nbsp;example&nbsp;of&nbsp;the&nbsp;use&nbsp;of&nbsp;this&nbsp;function,&nbsp;taken&nbsp;from&nbsp;the&nbsp;sources&nbsp;for<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__49">n</a></td><td  
class="diff_header" id="to3_383">383+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;an&nbsp;example&nbsp;of&nbsp;the&nbsp;use&nbsp;of&nbsp;this&nbsp;function,&nbsp;taken&nbsp;from&nbsp;the&nbsp;sources&nbsp;for</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_376">376-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:mod:`_weakref`&nbsp;helper&nbsp;module&nbsp;for&nbsp;weak&nbsp;references::</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_384">384+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;:mod:`_weakref`&nbsp;helper&nbsp;module&nbsp;for&nbsp;weak&nbsp;references::</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_377">377</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_378">378</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;PyObject&nbsp;*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_379">379</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;weakref_ref(PyObject&nbsp;*self,&nbsp;PyObject&nbsp;*args)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_380">380</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_381">381</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*object;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_382">382</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*callback&nbsp;=&nbsp;NULL;</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__49"></td><td  
class="diff_header" id="from3_383">383</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*result&nbsp;=&nbsp;NULL;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_384">384</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_385">385</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(PyArg_UnpackTuple(args,&nbsp;"ref",&nbsp;1,&nbsp;2,&nbsp;&amp;object,&nbsp;&amp;callback))&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_386">386</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;result&nbsp;=&nbsp;PyWeakref_NewRef(object,&nbsp;callback);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_387">387</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_388">388</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_389">389</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__50"></td><td  
class="diff_header" id="from3_390">390</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__50">n</a></td><td class="diff_header"  
id="from3_391">391-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;call&nbsp;to&nbsp;:cfunc:`PyArg_UnpackTuple`&nbsp;in&nbsp;this&nbsp;example&nbsp;is&nbsp;entirely<span  
class="diff_sub">&nbsp;equivalent&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__50">n</a></td><td  
class="diff_header" id="to3_399">399+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;call&nbsp;to&nbsp;:cfunc:`PyArg_UnpackTuple`&nbsp;in&nbsp;this&nbsp;example&nbsp;is&nbsp;entirely</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_392">392-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;this&nbsp;call&nbsp;to&nbsp;:cfunc:`PyArg_ParseTuple`::</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_400">400+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;equivalent&nbsp;to</span>&nbsp;this&nbsp;call&nbsp;to&nbsp;:cfunc:`PyArg_ParseTuple`::</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_393">393</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_394">394</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyArg_ParseTuple(args,&nbsp;"O| 
O:ref",&nbsp;&amp;object,&nbsp;&amp;callback)</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_395">395</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_396">396</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__51"></td><td  
class="diff_header" id="from3_397">397</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__51">n</a></td><td class="diff_header"  
id="to3_406">406+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_407">407+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*min*&nbsp;and&nbsp;*max*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_408">408+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_409">409+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__52"></td><td  
class="diff_header" id="from3_398">398</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_399">399</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_BuildValue(const&nbsp;char&nbsp;*format,&nbsp;...)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_400">400</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__52">n</a></td><td  
class="diff_header" id="from3_401">401-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;value&nbsp;based&nbsp;on&nbsp;a&nbsp;format&nbsp;string&nbsp;similar&nbsp;to&nbsp;those&nbsp;accepted&nbsp;by<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__52">n</a></td><td  
class="diff_header" id="to3_413">413+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;value&nbsp;based&nbsp;on&nbsp;a&nbsp;format&nbsp;string&nbsp;similar&nbsp;to&nbsp;those&nbsp;accepted&nbsp;by</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_402">402-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_Parse\*`&nbsp;family&nbsp;of&nbsp;functions&nbsp;and&nbsp;a&nbsp;sequence&nbsp;of&nbsp;values.<span  
class="diff_sub">&nbsp;&nbsp;Returns</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_414">414+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;:cfunc:`PyArg_Parse\*`&nbsp;family&nbsp;of&nbsp;functions&nbsp;and&nbsp;a&nbsp;sequence&nbsp;of&nbsp;values.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_403">403-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;value&nbsp;or&nbsp;*NULL*&nbsp;in&nbsp;the&nbsp;case&nbsp;of&nbsp;an&nbsp;error;&nbsp;an&nbsp;exception&nbsp;will&nbsp;be<span  
class="diff_sub">&nbsp;raised&nbsp;if</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_415">415+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Returns</span>&nbsp;the&nbsp;value&nbsp;or&nbsp;*NULL*&nbsp;in&nbsp;the&nbsp;case&nbsp;of&nbsp;an&nbsp;error;&nbsp;an&nbsp;exception&nbsp;will&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_404">404-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*NULL*&nbsp;is&nbsp;returned.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_416">416+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;raised&nbsp;if</span>&nbsp;*NULL*&nbsp;is&nbsp;returned.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__53"></td><td  
class="diff_header" id="from3_405">405</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to3__53">n</a></td><td class="diff_header"  
id="from3_406">406-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`Py_BuildValue`&nbsp;does&nbsp;not&nbsp;always&nbsp;build&nbsp;a&nbsp;tuple.&nbsp;&nbsp;It&nbsp;builds&nbsp;a&nbsp;tuple<span  
class="diff_sub">&nbsp;only&nbsp;if</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__53">n</a></td><td  
class="diff_header" id="to3_418">418+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`Py_BuildValue`&nbsp;does&nbsp;not&nbsp;always&nbsp;build&nbsp;a&nbsp;tuple.&nbsp;&nbsp;It&nbsp;builds&nbsp;a&nbsp;tuple</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_407">407-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;its&nbsp;format&nbsp;string&nbsp;contains&nbsp;two&nbsp;or&nbsp;more&nbsp;format&nbsp;units.&nbsp;&nbsp;If&nbsp;the&nbsp;format<span  
class="diff_sub">&nbsp;string&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_419">419+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;only&nbsp;if</span>&nbsp;its&nbsp;format&nbsp;string&nbsp;contains&nbsp;two&nbsp;or&nbsp;more&nbsp;format&nbsp;units.&nbsp;&nbsp;If&nbsp;the&nbsp;format</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_408">408-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;empty,&nbsp;it&nbsp;returns&nbsp;``None``;&nbsp;if&nbsp;it&nbsp;contains&nbsp;exactly&nbsp;one&nbsp;format<span  
class="diff_sub">&nbsp;unit,&nbsp;it&nbsp;returns</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_420">420+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;string&nbsp;is</span>&nbsp;empty,&nbsp;it&nbsp;returns&nbsp;``None``;&nbsp;if&nbsp;it&nbsp;contains&nbsp;exactly&nbsp;one&nbsp;format</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_409">409-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;whatever&nbsp;object&nbsp;is&nbsp;described&nbsp;by&nbsp;that&nbsp;format&nbsp;unit.&nbsp;&nbsp;To&nbsp;force&nbsp;it&nbsp;to&nbsp;return&nbsp;a&nbsp;tuple</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_421">421+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;unit,&nbsp;it&nbsp;returns&nbsp;whatever&nbsp;object&nbsp;is&nbsp;described&nbsp;by&nbsp;that&nbsp;format&nbsp;unit.&nbsp;&nbsp;To</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_410">410-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;of&nbsp;size&nbsp;0&nbsp;or&nbsp;one,&nbsp;parenthesize&nbsp;the&nbsp;format&nbsp;string.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_422">422+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;force&nbsp;it&nbsp;to&nbsp;return&nbsp;a&nbsp;tuple&nbsp;of&nbsp;size&nbsp;0&nbsp;or&nbsp;one,&nbsp;parenthesize&nbsp;the&nbsp;format</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_423">423+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;string.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_411">411</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__54"><a  
href="#difflib_chg_to3__54">n</a></td><td class="diff_header"  
id="from3_412">412-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;When&nbsp;memory&nbsp;buffers&nbsp;are&nbsp;passed&nbsp;as&nbsp;parameters&nbsp;to&nbsp;supply&nbsp;data&nbsp;to&nbsp;build<span  
class="diff_sub">&nbsp;objects,&nbsp;as</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__54"><a  
href="#difflib_chg_to3__54">n</a></td><td class="diff_header"  
id="to3_425">425+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;When&nbsp;memory&nbsp;buffers&nbsp;are&nbsp;passed&nbsp;as&nbsp;parameters&nbsp;to&nbsp;supply&nbsp;data&nbsp;to&nbsp;build</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_413">413-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;for&nbsp;the&nbsp;``s``&nbsp;and&nbsp;``s#``&nbsp;formats,&nbsp;the&nbsp;required&nbsp;data&nbsp;is&nbsp;copied.<span  
class="diff_sub">&nbsp;&nbsp;Buffers&nbsp;provided</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_426">426+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;objects,&nbsp;as</span>&nbsp;for&nbsp;the&nbsp;``s``&nbsp;and&nbsp;``s#``&nbsp;formats,&nbsp;the&nbsp;required&nbsp;data&nbsp;is&nbsp;copied.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_414">414-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;by&nbsp;the&nbsp;caller&nbsp;are&nbsp;never&nbsp;referenced&nbsp;by&nbsp;the&nbsp;objects&nbsp;created<span  
class="diff_sub">&nbsp;by</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_427">427+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Buffers&nbsp;provided</span>&nbsp;by&nbsp;the&nbsp;caller&nbsp;are&nbsp;never&nbsp;referenced&nbsp;by&nbsp;the&nbsp;objects&nbsp;created</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_415">415-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`Py_BuildValue`.&nbsp;&nbsp;In&nbsp;other&nbsp;words,&nbsp;if&nbsp;your&nbsp;code&nbsp;invokes<span  
class="diff_sub">&nbsp;:cfunc:`malloc`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_428">428+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;by</span>&nbsp;:cfunc:`Py_BuildValue`.&nbsp;&nbsp;In&nbsp;other&nbsp;words,&nbsp;if&nbsp;your&nbsp;code&nbsp;invokes</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_416">416-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;passes&nbsp;the&nbsp;allocated&nbsp;memory&nbsp;to&nbsp;:cfunc:`Py_BuildValue`,<span  
class="diff_sub">&nbsp;your&nbsp;code&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_429">429+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;:cfunc:`malloc`</span>&nbsp;and&nbsp;passes&nbsp;the&nbsp;allocated&nbsp;memory&nbsp;to&nbsp;:cfunc:`Py_BuildValue`,</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__55"></td><td  
class="diff_header" id="from3_417">417-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;responsible&nbsp;for&nbsp;calling&nbsp;:cfunc:`free`&nbsp;for&nbsp;that&nbsp;memory&nbsp;once</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__55"></td><td  
class="diff_header" id="to3_430">430+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;your&nbsp;code&nbsp;is</span>&nbsp;responsible&nbsp;for&nbsp;calling&nbsp;:cfunc:`free`&nbsp;for&nbsp;that&nbsp;memory&nbsp;once</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_418">418</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`Py_BuildValue`&nbsp;returns.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_419">419</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__55">n</a></td><td  
class="diff_header" id="from3_420">420-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;In&nbsp;the&nbsp;following&nbsp;description,&nbsp;the&nbsp;quoted&nbsp;form&nbsp;is&nbsp;the&nbsp;format&nbsp;unit;&nbsp;the&nbsp;entry<span  
class="diff_sub">&nbsp;in</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__55">n</a></td><td  
class="diff_header" id="to3_433">433+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;In&nbsp;the&nbsp;following&nbsp;description,&nbsp;the&nbsp;quoted&nbsp;form&nbsp;is&nbsp;the&nbsp;format&nbsp;unit;&nbsp;the&nbsp;entry</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_421">421-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(round)&nbsp;parentheses&nbsp;is&nbsp;the&nbsp;Python&nbsp;object&nbsp;type&nbsp;that&nbsp;the&nbsp;format&nbsp;unit&nbsp;will<span  
class="diff_sub">&nbsp;return;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_434">434+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;in</span>&nbsp;(round)&nbsp;parentheses&nbsp;is&nbsp;the&nbsp;Python&nbsp;object&nbsp;type&nbsp;that&nbsp;the&nbsp;format&nbsp;unit&nbsp;will</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__56"></td><td  
class="diff_header" id="from3_422">422-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;the&nbsp;entry&nbsp;in&nbsp;[square]&nbsp;brackets&nbsp;is&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;C&nbsp;value(s)&nbsp;to<span  
class="diff_sub">&nbsp;be&nbsp;passed.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__56"></td><td  
class="diff_header" id="to3_435">435+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;return;</span>&nbsp;and&nbsp;the&nbsp;entry&nbsp;in&nbsp;[square]&nbsp;brackets&nbsp;is&nbsp;the&nbsp;type&nbsp;of&nbsp;the&nbsp;C&nbsp;value(s)&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_436">436+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;be&nbsp;passed.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_423">423</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__56">n</a></td><td  
class="diff_header" id="from3_424">424-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;characters&nbsp;space,&nbsp;tab,&nbsp;colon&nbsp;and&nbsp;comma&nbsp;are&nbsp;ignored&nbsp;in&nbsp;format&nbsp;strings<span  
class="diff_sub">&nbsp;(but</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__56">n</a></td><td  
class="diff_header" id="to3_438">438+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;characters&nbsp;space,&nbsp;tab,&nbsp;colon&nbsp;and&nbsp;comma&nbsp;are&nbsp;ignored&nbsp;in&nbsp;format&nbsp;strings</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__57"></td><td  
class="diff_header" id="from3_425">425-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;not&nbsp;within&nbsp;format&nbsp;units&nbsp;such&nbsp;as&nbsp;``s#``).&nbsp;&nbsp;This&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;make<span  
class="diff_sub">&nbsp;long&nbsp;format</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__57"></td><td  
class="diff_header" id="to3_439">439+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;(but</span>&nbsp;not&nbsp;within&nbsp;format&nbsp;units&nbsp;such&nbsp;as&nbsp;``s#``).&nbsp;&nbsp;This&nbsp;can&nbsp;be&nbsp;used&nbsp;to&nbsp;make</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_426">426-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;strings&nbsp;a&nbsp;tad&nbsp;more&nbsp;readable.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_440">440+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;long&nbsp;format</span>&nbsp;strings&nbsp;a&nbsp;tad&nbsp;more&nbsp;readable.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_427">427</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_428">428</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``s``&nbsp;(string)&nbsp;[char&nbsp;\*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__57">n</a></td><td  
class="diff_header" id="from3_429">429-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;null-terminated&nbsp;C&nbsp;string&nbsp;to&nbsp;a&nbsp;Python&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;C&nbsp;string<span  
class="diff_sub">&nbsp;pointer</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__57">n</a></td><td  
class="diff_header" id="to3_443">443+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;null-terminated&nbsp;C&nbsp;string&nbsp;to&nbsp;a&nbsp;Python&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;C&nbsp;string</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_430">430-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;*NULL*,&nbsp;``None``&nbsp;is&nbsp;used.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_444">444+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;pointer</span>&nbsp;is&nbsp;*NULL*,&nbsp;``None``&nbsp;is&nbsp;used.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_431">431</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_432">432</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``s#``&nbsp;(string)&nbsp;[char&nbsp;\*,&nbsp;int]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__58">n</a></td><td  
class="diff_header" id="from3_433">433-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;string&nbsp;and&nbsp;its&nbsp;length&nbsp;to&nbsp;a&nbsp;Python&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;C&nbsp;string<span  
class="diff_sub">&nbsp;pointer</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__58">n</a></td><td  
class="diff_header" id="to3_447">447+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;string&nbsp;and&nbsp;its&nbsp;length&nbsp;to&nbsp;a&nbsp;Python&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;C&nbsp;string</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_434">434-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;is&nbsp;*NULL*,&nbsp;the&nbsp;length&nbsp;is&nbsp;ignored&nbsp;and&nbsp;``None``&nbsp;is&nbsp;returned.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_448">448+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;pointer</span>&nbsp;is&nbsp;*NULL*,&nbsp;the&nbsp;length&nbsp;is&nbsp;ignored&nbsp;and&nbsp;``None``&nbsp;is&nbsp;returned.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__58"></td><td  
class="diff_header" id="from3_435">435</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_436">436</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``z``&nbsp;(string&nbsp;or&nbsp;``None``)&nbsp;[char&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_437">437</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``s``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_438">438</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_439">439</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``z#``&nbsp;(string&nbsp;or&nbsp;``None``)&nbsp;[char&nbsp;\*,&nbsp;int]</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__59"></td><td  
class="diff_header" id="from3_440">440</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``s#``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_441">441</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_442">442</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``u``&nbsp;(Unicode&nbsp;string)&nbsp;[Py_UNICODE&nbsp;\*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__59">n</a></td><td  
class="diff_header" id="from3_443">443-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;null-terminated&nbsp;buffer&nbsp;of&nbsp;Unicode&nbsp;(UCS-2&nbsp;or&nbsp;UCS-4)&nbsp;data&nbsp;to&nbsp;a<span  
class="diff_sub">&nbsp;Python</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__59">n</a></td><td  
class="diff_header" id="to3_457">457+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;null-terminated&nbsp;buffer&nbsp;of&nbsp;Unicode&nbsp;(UCS-2&nbsp;or&nbsp;UCS-4)&nbsp;data&nbsp;to&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_444">444-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;Unicode&nbsp;buffer&nbsp;pointer&nbsp;is&nbsp;*NULL*,<span  
class="diff_sub">&nbsp;``None``&nbsp;is&nbsp;returned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_458">458+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python</span>&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;If&nbsp;the&nbsp;Unicode&nbsp;buffer&nbsp;pointer&nbsp;is&nbsp;*NULL*,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_459">459+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;``None``&nbsp;is&nbsp;returned.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_445">445</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_446">446</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``u#``&nbsp;(Unicode&nbsp;string)&nbsp;[Py_UNICODE&nbsp;\*,&nbsp;int]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__60">n</a></td><td  
class="diff_header" id="from3_447">447-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Unicode&nbsp;(UCS-2&nbsp;or&nbsp;UCS-4)&nbsp;data&nbsp;buffer&nbsp;and&nbsp;its&nbsp;length&nbsp;to&nbsp;a<span  
class="diff_sub">&nbsp;Python</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__60">n</a></td><td  
class="diff_header" id="to3_462">462+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;Unicode&nbsp;(UCS-2&nbsp;or&nbsp;UCS-4)&nbsp;data&nbsp;buffer&nbsp;and&nbsp;its&nbsp;length&nbsp;to&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_448">448-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;&nbsp;If&nbsp;the&nbsp;Unicode&nbsp;buffer&nbsp;pointer&nbsp;is&nbsp;*NULL*,&nbsp;the<span  
class="diff_sub">&nbsp;length&nbsp;is&nbsp;ignored</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_463">463+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python</span>&nbsp;Unicode&nbsp;object.&nbsp;&nbsp;&nbsp;If&nbsp;the&nbsp;Unicode&nbsp;buffer&nbsp;pointer&nbsp;is&nbsp;*NULL*,&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_449">449-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;``None``&nbsp;is&nbsp;returned.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_464">464+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;length&nbsp;is&nbsp;ignored</span>&nbsp;and&nbsp;``None``&nbsp;is&nbsp;returned.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_450">450</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_451">451</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``i``&nbsp;(integer)&nbsp;[int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_452">452</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;plain&nbsp;C&nbsp;:ctype:`int`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_453">453</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_454">454</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``b``&nbsp;(integer)&nbsp;[char]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_455">455</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;plain&nbsp;C&nbsp;:ctype:`char`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_456">456</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_457">457</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``h``&nbsp;(integer)&nbsp;[short&nbsp;int]</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to3__60"></td><td  
class="diff_header" id="from3_462">462</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_463">463</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``B``&nbsp;(integer)&nbsp;[unsigned&nbsp;char]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_464">464</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;char`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_465">465</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__61"></td><td class="diff_header"  
id="from3_466">466</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``H``&nbsp;(integer)&nbsp;[unsigned&nbsp;short&nbsp;int]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_467">467</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;short&nbsp;int`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_468">468</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_469">469</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``I``&nbsp;(integer/long)&nbsp;[unsigned&nbsp;int]</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__62"><a  
href="#difflib_chg_to3__61">n</a></td><td class="diff_header"  
id="from3_470">470-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;int`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object&nbsp;or&nbsp;a&nbsp;Python<span  
class="diff_sub">&nbsp;long</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__62"><a  
href="#difflib_chg_to3__61">n</a></td><td class="diff_header"  
id="to3_485">485+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;int`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object&nbsp;or&nbsp;a&nbsp;Python</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_471">471-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;object,&nbsp;if&nbsp;it&nbsp;is&nbsp;larger&nbsp;than&nbsp;``sys.maxint``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_486">486+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;long</span>&nbsp;integer&nbsp;object,&nbsp;if&nbsp;it&nbsp;is&nbsp;larger&nbsp;than&nbsp;``sys.maxint``.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_472">472</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_473">473</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``k``&nbsp;(integer/long)&nbsp;[unsigned&nbsp;long]</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__63"><a  
href="#difflib_chg_to3__62">n</a></td><td class="diff_header"  
id="from3_474">474-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object&nbsp;or&nbsp;a<span  
class="diff_sub">&nbsp;Python&nbsp;long</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__63"><a  
href="#difflib_chg_to3__62">n</a></td><td class="diff_header"  
id="to3_489">489+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;object&nbsp;or&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_475">475-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;integer&nbsp;object,&nbsp;if&nbsp;it&nbsp;is&nbsp;larger&nbsp;than&nbsp;``sys.maxint``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_490">490+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python&nbsp;long</span>&nbsp;integer&nbsp;object,&nbsp;if&nbsp;it&nbsp;is&nbsp;larger&nbsp;than&nbsp;``sys.maxint``.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_476">476</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_477">477</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``L``&nbsp;(long)&nbsp;[PY_LONG_LONG]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__63">n</a></td><td  
class="diff_header" id="from3_478">478-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`long&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;long&nbsp;integer&nbsp;object.&nbsp;Only<span  
class="diff_sub">&nbsp;available</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__63">n</a></td><td  
class="diff_header" id="to3_493">493+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`long&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;long&nbsp;integer&nbsp;object.&nbsp;Only</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_479">479-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`long&nbsp;long`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_494">494+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;available</span>&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`long&nbsp;long`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_480">480</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_481">481</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``K``&nbsp;(long)&nbsp;[unsigned&nbsp;PY_LONG_LONG]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__64">n</a></td><td  
class="diff_header" id="from3_482">482-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;long&nbsp;integer&nbsp;object.<span  
class="diff_sub">&nbsp;Only</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__64">n</a></td><td  
class="diff_header" id="to3_497">497+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`&nbsp;to&nbsp;a&nbsp;Python&nbsp;long&nbsp;integer&nbsp;object.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__64"></td><td  
class="diff_header" id="from3_483">483-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;available&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__64"></td><td  
class="diff_header" id="to3_498">498+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Only</span>&nbsp;available&nbsp;on&nbsp;platforms&nbsp;that&nbsp;support&nbsp;:ctype:`unsigned&nbsp;long&nbsp;long`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_484">484</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_485">485</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``n``&nbsp;(int)&nbsp;[Py_ssize_t]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_486">486</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`Py_ssize_t`&nbsp;to&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_487">487</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_488">488</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.5</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_489">489</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_490">490</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``c``&nbsp;(string&nbsp;of&nbsp;length&nbsp;1)&nbsp;[char]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__65">n</a></td><td  
class="diff_header" id="from3_491">491-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`int`&nbsp;representing&nbsp;a&nbsp;character&nbsp;to&nbsp;a&nbsp;Python&nbsp;string&nbsp;of<span  
class="diff_sub">&nbsp;length</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__65">n</a></td><td  
class="diff_header" id="to3_506">506+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`int`&nbsp;representing&nbsp;a&nbsp;character&nbsp;to&nbsp;a&nbsp;Python&nbsp;string&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_492">492-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_507">507+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length&nbsp;1.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_493">493</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_494">494</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``d``&nbsp;(float)&nbsp;[double]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_495">495</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`double`&nbsp;to&nbsp;a&nbsp;Python&nbsp;floating&nbsp;point&nbsp;number.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_496">496</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to3__65"></td><td class="diff_header"  
id="from3_497">497</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``f``&nbsp;(float)&nbsp;[float]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_498">498</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``d``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_499">499</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_500">500</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``D``&nbsp;(complex)&nbsp;[Py_complex&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_501">501</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;C&nbsp;:ctype:`Py_complex`&nbsp;structure&nbsp;to&nbsp;a&nbsp;Python&nbsp;complex&nbsp;number.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_502">502</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_503">503</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``O``&nbsp;(object)&nbsp;[PyObject&nbsp;\*]</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_504">504</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pass&nbsp;a&nbsp;Python&nbsp;object&nbsp;untouched&nbsp;(except&nbsp;for&nbsp;its&nbsp;reference&nbsp;count,&nbsp;which&nbsp;is</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__66">n</a></td><td  
class="diff_header" id="from3_505">505-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;incremented&nbsp;by&nbsp;one).&nbsp;&nbsp;If&nbsp;the&nbsp;object&nbsp;passed&nbsp;in&nbsp;is&nbsp;a&nbsp;*NULL*&nbsp;pointer,&nbsp;it&nbsp;is<span  
class="diff_sub">&nbsp;assumed</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__66">n</a></td><td  
class="diff_header" id="to3_520">520+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;incremented&nbsp;by&nbsp;one).&nbsp;&nbsp;If&nbsp;the&nbsp;object&nbsp;passed&nbsp;in&nbsp;is&nbsp;a&nbsp;*NULL*&nbsp;pointer,&nbsp;it&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_506">506-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;that&nbsp;this&nbsp;was&nbsp;caused&nbsp;because&nbsp;the&nbsp;call&nbsp;producing&nbsp;the&nbsp;argument<span  
class="diff_sub">&nbsp;found&nbsp;an&nbsp;error&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_521">521+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;assumed</span>&nbsp;that&nbsp;this&nbsp;was&nbsp;caused&nbsp;because&nbsp;the&nbsp;call&nbsp;producing&nbsp;the&nbsp;argument</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__66"></td><td  
class="diff_header" id="from3_507">507-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;an&nbsp;exception.&nbsp;Therefore,&nbsp;:cfunc:`Py_BuildValue`&nbsp;will&nbsp;return&nbsp;*NULL*&nbsp;but&nbsp;won't</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__66"></td><td  
class="diff_header" id="to3_522">522+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found&nbsp;an&nbsp;error&nbsp;and&nbsp;set&nbsp;an&nbsp;exception.&nbsp;Therefore,&nbsp;:cfunc:`Py_BuildValue`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_508">508-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;an&nbsp;exception.&nbsp;&nbsp;If&nbsp;no&nbsp;exception&nbsp;has&nbsp;been&nbsp;raised&nbsp;yet,&nbsp;:exc:`SystemError`&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_523">523+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;will&nbsp;return&nbsp;*NULL*&nbsp;but&nbsp;won't&nbsp;raise&nbsp;an&nbsp;exception.&nbsp;&nbsp;If&nbsp;no&nbsp;exception&nbsp;has</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_509">509-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_524">524+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;been&nbsp;raised&nbsp;yet,&nbsp;:exc:`SystemError`&nbsp;is&nbsp;set.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_510">510</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_511">511</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``S``&nbsp;(object)&nbsp;[PyObject&nbsp;\*]</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to3__67"></td><td  
class="diff_header" id="from3_512">512</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``O``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_513">513</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_514">514</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``N``&nbsp;(object)&nbsp;[PyObject&nbsp;\*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__67">n</a></td><td  
class="diff_header" id="from3_515">515-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``O``,&nbsp;except&nbsp;it&nbsp;doesn't&nbsp;increment&nbsp;the&nbsp;reference&nbsp;count&nbsp;on&nbsp;the<span  
class="diff_sub">&nbsp;object.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__67">n</a></td><td  
class="diff_header" id="to3_530">530+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Same&nbsp;as&nbsp;``O``,&nbsp;except&nbsp;it&nbsp;doesn't&nbsp;increment&nbsp;the&nbsp;reference&nbsp;count&nbsp;on&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_516">516-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Useful&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;created&nbsp;by&nbsp;a&nbsp;call&nbsp;to&nbsp;an&nbsp;object<span  
class="diff_sub">&nbsp;constructor&nbsp;in&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_531">531+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;&nbsp;object.</span>&nbsp;&nbsp;Useful&nbsp;when&nbsp;the&nbsp;object&nbsp;is&nbsp;created&nbsp;by&nbsp;a&nbsp;call&nbsp;to&nbsp;an&nbsp;object</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_517">517-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;argument&nbsp;list.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_532">532+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;constructor&nbsp;in&nbsp;the&nbsp;argument&nbsp;list.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to3__68"></td><td  
class="diff_header" id="from3_518">518</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from3_519">519</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``O&amp;``&nbsp;(object)&nbsp;[*converter*,&nbsp;*anything*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__68">n</a></td><td  
class="diff_header" id="from3_520">520-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;*anything*&nbsp;to&nbsp;a&nbsp;Python&nbsp;object&nbsp;through&nbsp;a&nbsp;*converter*&nbsp;function.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__68">n</a></td><td  
class="diff_header" id="to3_535">535+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;*anything*&nbsp;to&nbsp;a&nbsp;Python&nbsp;object&nbsp;through&nbsp;a&nbsp;*converter*&nbsp;function.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_521">521-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;is&nbsp;called&nbsp;with&nbsp;*anything*&nbsp;(which&nbsp;should&nbsp;be&nbsp;compatible&nbsp;with<span  
class="diff_sub">&nbsp;:ctype:`void</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_536">536+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;function&nbsp;is&nbsp;called&nbsp;with&nbsp;*anything*&nbsp;(which&nbsp;should&nbsp;be&nbsp;compatible&nbsp;with</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__69"></td><td  
class="diff_header" id="from3_522">522-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\*`)&nbsp;as&nbsp;its&nbsp;argument&nbsp;and&nbsp;should&nbsp;return&nbsp;a&nbsp;"new"&nbsp;Python<span  
class="diff_sub">&nbsp;object,&nbsp;or&nbsp;*NULL*&nbsp;if&nbsp;an</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__69"></td><td  
class="diff_header" id="to3_537">537+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;:ctype:`void</span>&nbsp;\*`)&nbsp;as&nbsp;its&nbsp;argument&nbsp;and&nbsp;should&nbsp;return&nbsp;a&nbsp;"new"&nbsp;Python</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_523">523-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&nbsp;occurred.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_538">538+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;object,&nbsp;or&nbsp;*NULL*&nbsp;if&nbsp;an&nbsp;error&nbsp;occurred.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_524">524</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_525">525</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``(items)``&nbsp;(tuple)&nbsp;[*matching-items*]</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__70"><a  
href="#difflib_chg_to3__69">n</a></td><td class="diff_header"  
id="from3_526">526-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;tuple&nbsp;with&nbsp;the&nbsp;same&nbsp;number&nbsp;of<span  
class="diff_sub">&nbsp;items.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__70"><a  
href="#difflib_chg_to3__69">n</a></td><td class="diff_header"  
id="to3_541">541+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;tuple&nbsp;with&nbsp;the&nbsp;same&nbsp;number&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_542">542+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_527">527</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_528">528</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``[items]``&nbsp;(list)&nbsp;[*matching-items*]</td></tr><tr><td  
class="diff_next" id="difflib_chg_to3__71"><a  
href="#difflib_chg_to3__70">n</a></td><td class="diff_header"  
id="from3_529">529-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;list&nbsp;with&nbsp;the&nbsp;same&nbsp;number&nbsp;of<span  
class="diff_sub">&nbsp;items.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to3__71"><a  
href="#difflib_chg_to3__70">n</a></td><td class="diff_header"  
id="to3_545">545+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;list&nbsp;with&nbsp;the&nbsp;same&nbsp;number&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_546">546+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;items.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_530">530</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_531">531</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``{items}``&nbsp;(dictionary)&nbsp;[*matching-items*]</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__71">n</a></td><td  
class="diff_header" id="from3_532">532-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;dictionary.&nbsp;&nbsp;Each&nbsp;pair&nbsp;of<span  
class="diff_sub">&nbsp;consecutive</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__71">n</a></td><td  
class="diff_header" id="to3_549">549+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;C&nbsp;values&nbsp;to&nbsp;a&nbsp;Python&nbsp;dictionary.&nbsp;&nbsp;Each&nbsp;pair&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_533">533-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;values&nbsp;adds&nbsp;one&nbsp;item&nbsp;to&nbsp;the&nbsp;dictionary,&nbsp;serving&nbsp;as&nbsp;key&nbsp;and<span  
class="diff_sub">&nbsp;value,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_550">550+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;consecutive</span>&nbsp;C&nbsp;values&nbsp;adds&nbsp;one&nbsp;item&nbsp;to&nbsp;the&nbsp;dictionary,&nbsp;serving&nbsp;as&nbsp;key&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_534">534-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;respectively.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_551">551+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;value,</span>&nbsp;respectively.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_535">535</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to3__top">t</a></td><td  
class="diff_header" id="from3_536">536-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;an&nbsp;error&nbsp;in&nbsp;the&nbsp;format&nbsp;string,&nbsp;the&nbsp;:exc:`SystemError`&nbsp;exception<span  
class="diff_sub">&nbsp;is</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to3__top">t</a></td><td  
class="diff_header" id="to3_553">553+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;there&nbsp;is&nbsp;an&nbsp;error&nbsp;in&nbsp;the&nbsp;format&nbsp;string,&nbsp;the&nbsp;:exc:`SystemError`&nbsp;exception</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_537">537-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;set&nbsp;and&nbsp;*NULL*&nbsp;returned.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to3_554">554+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;is</span>&nbsp;set&nbsp;and&nbsp;*NULL*&nbsp;returned.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from3_538">538</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_539">539</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_VaBuildValue(const&nbsp;char&nbsp;*format,&nbsp;va_list&nbsp;vargs)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_540">540</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from3_541">541</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Identical&nbsp;to&nbsp;:cfunc:`Py_BuildValue`,&nbsp;except&nbsp;that&nbsp;it&nbsp;accepts&nbsp;a&nbsp;va_list</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from3_542">542</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;rather&nbsp;than&nbsp;a&nbsp;variable&nbsp;number&nbsp;of&nbsp;arguments.</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/buffer.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,455 @@
+--- r262/c-api/buffer.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/buffer.rst	2010-03-22 04:06:51.755104000 +0900
+@@ -4,116 +4,416 @@
+
+ Buffer Objects
+ --------------
+
+ .. sectionauthor:: Greg Stein <gstei****@lyra*****>
+
+
+ .. index::
+    object: buffer
+    single: buffer interface
+
+ Python objects implemented in C can export a group of functions called the
+-"buffer interface."  These functions can be used by an object to expose  
its data
+-in a raw, byte-oriented format. Clients of the object can use the buffer
+-interface to access the object data directly, without needing to copy it  
first.
++"buffer interface."  These functions can be used by an object to expose  
its
++data in a raw, byte-oriented format. Clients of the object can use the  
buffer
++interface to access the object data directly, without needing to copy it
++first.
+
+ Two examples of objects that support the buffer interface are strings and
+ arrays. The string object exposes the character contents in the buffer
+ interface's byte-oriented form. An array can also expose its contents,  
but it
+ should be noted that array elements may be multi-byte values.
+
+ An example user of the buffer interface is the file object's :meth:`write`
+ method. Any object that can export a series of bytes through the buffer
+ interface can be written to a file. There are a number of format codes to
+ :cfunc:`PyArg_ParseTuple` that operate against an object's buffer  
interface,
+ returning data from the target object.
+
++Starting from version 1.6, Python has been providing Python-level buffer
++objects and a C-level buffer API so that any built-in or used-defined  
type can
++expose its characteristics. Both, however, have been deprecated because of
++various shortcomings, and have been officially removed in Python 3.0 in  
favour
++of a new C-level buffer API and a new Python-level object named
++:class:`memoryview`.
++
++The new buffer API has been backported to Python 2.6, and the
++:class:`memoryview` object has been backported to Python 2.7. It is  
strongly
++advised to use them rather than the old APIs, unless you are blocked from
++doing so for compatibility reasons.
++
++
++The new-style Py_buffer struct
++==============================
++
++
++.. ctype:: Py_buffer
++
++   .. cmember:: void *buf
++
++      A pointer to the start of the memory for the object.
++
++   .. cmember:: Py_ssize_t len
++      :noindex:
++
++      The total length of the memory in bytes.
++
++   .. cmember:: int readonly
++
++      An indicator of whether the buffer is read only.
++
++   .. cmember:: const char *format
++      :noindex:
++
++      A *NULL* terminated string in :mod:`struct` module style syntax  
giving
++      the contents of the elements available through the buffer.  If this  
is
++      *NULL*, ``"B"`` (unsigned bytes) is assumed.
++
++   .. cmember:: int ndim
++
++      The number of dimensions the memory represents as a  
multi-dimensional
++      array.  If it is 0, :cdata:`strides` and :cdata:`suboffsets` must be
++      *NULL*.
++
++   .. cmember:: Py_ssize_t *shape
++
++      An array of :ctype:`Py_ssize_t`\s the length of :cdata:`ndim`  
giving the
++      shape of the memory as a multi-dimensional array.  Note that
++      ``((*shape)[0] * ... * (*shape)[ndims-1])*itemsize`` should be  
equal to
++      :cdata:`len`.
++
++   .. cmember:: Py_ssize_t *strides
++
++      An array of :ctype:`Py_ssize_t`\s the length of :cdata:`ndim`  
giving the
++      number of bytes to skip to get to a new element in each dimension.
++
++   .. cmember:: Py_ssize_t *suboffsets
++
++      An array of :ctype:`Py_ssize_t`\s the length of :cdata:`ndim`.  If  
these
++      suboffset numbers are greater than or equal to 0, then the value  
stored
++      along the indicated dimension is a pointer and the suboffset value
++      dictates how many bytes to add to the pointer after de-referencing.  
A
++      suboffset value that it negative indicates that no de-referencing  
should
++      occur (striding in a contiguous memory block).
++
++      Here is a function that returns a pointer to the element in an N-D  
array
++      pointed to by an N-dimesional index when there are both non-NULL  
strides
++      and suboffsets::
++
++          void *get_item_pointer(int ndim, void *buf, Py_ssize_t *strides,
++              Py_ssize_t *suboffsets, Py_ssize_t *indices) {
++              char *pointer = (char*)buf;
++              int i;
++              for (i = 0; i < ndim; i++) {
++                  pointer += strides[i] * indices[i];
++                  if (suboffsets[i] >=0 ) {
++                      pointer = *((char**)pointer) + suboffsets[i];
++                  }
++              }
++              return (void*)pointer;
++           }
++
++
++   .. cmember:: Py_ssize_t itemsize
++
++      This is a storage for the itemsize (in bytes) of each element of the
++      shared memory. It is technically un-necessary as it can be obtained
++      using :cfunc:`PyBuffer_SizeFromFormat`, however an exporter may know
++      this information without parsing the format string and it is  
necessary
++      to know the itemsize for proper interpretation of striding.  
Therefore,
++      storing it is more convenient and faster.
++
++   .. cmember:: void *internal
++
++      This is for use internally by the exporting object. For example,  
this
++      might be re-cast as an integer by the exporter and used to store  
flags
++      about whether or not the shape, strides, and suboffsets arrays must  
be
++      freed when the buffer is released. The consumer should never alter  
this
++      value.
++
++
++Buffer related functions
++========================
++
++
++.. cfunction:: int PyObject_CheckBuffer(PyObject *obj)
++
++   Return 1 if *obj* supports the buffer interface otherwise 0.
++
++
++.. cfunction:: int PyObject_GetBuffer(PyObject *obj, Py_buffer *view, int  
flags)
++
++      Export *obj* into a :ctype:`Py_buffer`, *view*.  These arguments  
must
++      never be *NULL*.  The *flags* argument is a bit field indicating  
what
++      kind of buffer the caller is prepared to deal with and therefore  
what
++      kind of buffer the exporter is allowed to return.  The buffer  
interface
++      allows for complicated memory sharing possibilities, but some  
caller may
++      not be able to handle all the complexity but may want to see if the
++      exporter will let them take a simpler view to its memory.
++
++      Some exporters may not be able to share memory in every possible  
way and
++      may need to raise errors to signal to some consumers that something  
is
++      just not possible. These errors should be a :exc:`BufferError`  
unless
++      there is another error that is actually causing the problem. The
++      exporter can use flags information to simplify how much of the
++      :cdata:`Py_buffer` structure is filled in with non-default values  
and/or
++      raise an error if the object can't support a simpler view of its  
memory.
++
++      0 is returned on success and -1 on error.
++
++      The following table gives possible values to the *flags* arguments.
++
++       
+------------------------------+---------------------------------------------------+
++      | Flag                         |  
Description                                       |
++       
+==============================+===================================================+
++      | :cmacro:`PyBUF_SIMPLE`       | This is the default flag state.   
The returned     |
++      |                              | buffer may or may not have  
writable memory.  The  |
++      |                              | format of the data will be assumed  
to be unsigned |
++      |                              | bytes.  This is a "stand-alone"  
flag constant. It |
++      |                              | never needs to be '|'d to the  
others. The exporter|
++      |                              | will raise an error if it cannot  
provide such a   |
++      |                              | contiguous buffer of  
bytes.                       |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_WRITABLE`     | The returned buffer must be  
writable.  If it is   |
++      |                              | not writable, then raise an  
error.                |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_STRIDES`      | This implies :cmacro:`PyBUF_ND`.  
The returned     |
++      |                              | buffer must provide strides  
information (i.e. the |
++      |                              | strides cannot be NULL). This  
would be used when  |
++      |                              | the consumer can handle strided,  
discontiguous    |
++      |                              | arrays.  Handling strides  
automatically assumes   |
++      |                              | you can handle shape.  The  
exporter can raise an  |
++      |                              | error if a strided representation  
of the data is  |
++      |                              | not possible (i.e. without the  
suboffsets).       |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_ND`           | The returned buffer must provide  
shape            |
++      |                              | information. The memory will be  
assumed C-style   |
++      |                              | contiguous (last dimension varies  
the             |
++      |                              | fastest). The exporter may raise  
an error if it   |
++      |                              | cannot provide this kind of  
contiguous buffer. If |
++      |                              | this is not given then shape will  
be *NULL*.      |
++      |                               
|                                                   |
++      |                               
|                                                   |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      |:cmacro:`PyBUF_C_CONTIGUOUS`  | These flags indicate that the  
contiguity returned |
++      |:cmacro:`PyBUF_F_CONTIGUOUS`  | buffer must be respectively,  
C-contiguous (last   |
++      |:cmacro:`PyBUF_ANY_CONTIGUOUS`| dimension varies the fastest),  
Fortran contiguous |
++      |                              | (first dimension varies the  
fastest) or either    |
++      |                              | one.  All of these flags  
imply                    |
++      |                              | :cmacro:`PyBUF_STRIDES` and  
guarantee that the    |
++      |                              | strides buffer info structure will  
be filled in   |
++      |                              |  
correctly.                                        |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_INDIRECT`     | This flag indicates the returned  
buffer must have |
++      |                              | suboffsets information (which can  
be NULL if no   |
++      |                              | suboffsets are needed).  This can  
be used when    |
++      |                              | the consumer can handle indirect  
array            |
++      |                              | referencing implied by these  
suboffsets. This     |
++      |                              |  
implies :cmacro:`PyBUF_STRIDES`.                  |
++      |                               
|                                                   |
++      |                               
|                                                   |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_FORMAT`       | The returned buffer must have true  
format         |
++      |                              | information if this flag is  
provided. This would  |
++      |                              | be used when the consumer is going  
to be checking |
++      |                              | for what 'kind' of data is  
actually stored. An    |
++      |                              | exporter should always be able to  
provide this    |
++      |                              | information if requested. If  
format is not        |
++      |                              | explicitly requested then the  
format must be      |
++      |                              | returned as *NULL* (which means  
``'B'``, or       |
++      |                              | unsigned  
bytes)                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_STRIDED`      | This is equivalent to  
``(PyBUF_STRIDES |          |
++      |                              |  
PyBUF_WRITABLE)``.                                |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_STRIDED_RO`   | This is equivalent to  
``(PyBUF_STRIDES)``.        |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_RECORDS`      | This is equivalent to  
``(PyBUF_STRIDES |          |
++      |                              | PyBUF_FORMAT |  
PyBUF_WRITABLE)``.                 |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_RECORDS_RO`   | This is equivalent to  
``(PyBUF_STRIDES |          |
++      |                              |  
PyBUF_FORMAT)``.                                  |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_FULL`         | This is equivalent to  
``(PyBUF_INDIRECT |         |
++      |                              | PyBUF_FORMAT |  
PyBUF_WRITABLE)``.                 |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_FULL_RO`      | This is equivalent to  
``(PyBUF_INDIRECT |         |
++      |                              |  
PyBUF_FORMAT)``.                                  |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_CONTIG`       | This is equivalent to ``(PyBUF_ND  
|               |
++      |                              |  
PyBUF_WRITABLE)``.                                |
++       
+------------------------------+---------------------------------------------------+
++      | :cmacro:`PyBUF_CONTIG_RO`    | This is equivalent to  
``(PyBUF_ND)``.             |
++      |                               
|                                                   |
++       
+------------------------------+---------------------------------------------------+
++
++
++.. cfunction:: void PyBuffer_Release(Py_buffer *view)
++
++   Release the buffer *view*.  This should be called when the buffer
++   is no longer being used as it may free memory from it.
++
++
++.. cfunction:: Py_ssize_t PyBuffer_SizeFromFormat(const char *)
++
++   Return the implied :cdata:`~Py_buffer.itemsize` from the struct-stype
++   :cdata:`~Py_buffer.format`.
++
++
++.. cfunction:: int PyObject_CopyToObject(PyObject *obj, void *buf,  
Py_ssize_t len, char fortran)
++
++   Copy *len* bytes of data pointed to by the contiguous chunk of memory
++   pointed to by *buf* into the buffer exported by obj.  The buffer must  
of
++   course be writable.  Return 0 on success and return -1 and raise an  
error
++   on failure.  If the object does not have a writable buffer, then an  
error
++   is raised.  If *fortran* is ``'F'``, then if the object is
++   multi-dimensional, then the data will be copied into the array in
++   Fortran-style (first dimension varies the fastest).  If *fortran* is
++   ``'C'``, then the data will be copied into the array in C-style (last
++   dimension varies the fastest).  If *fortran* is ``'A'``, then it does  
not
++   matter and the copy will be made in whatever way is more efficient.
++
++
++.. cfunction:: int PyBuffer_IsContiguous(Py_buffer *view, char fortran)
++
++   Return 1 if the memory defined by the *view* is C-style (*fortran* is
++   ``'C'``) or Fortran-style (*fortran* is ``'F'``) contiguous or either  
one
++   (*fortran* is ``'A'``).  Return 0 otherwise.
++
++
++.. cfunction:: void PyBuffer_FillContiguousStrides(int ndim, Py_ssize_t  
*shape, Py_ssize_t *strides, Py_ssize_t itemsize, char fortran)
++
++   Fill the *strides* array with byte-strides of a contiguous (C-style if
++   *fortran* is ``'C'`` or Fortran-style if *fortran* is ``'F'`` array of  
the
++   given shape with the given number of bytes per element.
++
++
++.. cfunction:: int PyBuffer_FillInfo(Py_buffer *view, PyObject *obj, void  
*buf, Py_ssize_t len, int readonly, int infoflags)
++
++   Fill in a buffer-info structure, *view*, correctly for an exporter  
that can
++   only share a contiguous chunk of memory of "unsigned bytes" of the  
given
++   length.  Return 0 on success and -1 (with raising an error) on error.
++
++
++Old-style buffer objects
++========================
++
+ .. index:: single: PyBufferProcs
+
+ More information on the buffer interface is provided in the section
+ :ref:`buffer-structs`, under the description for :ctype:`PyBufferProcs`.
+
+ A "buffer object" is defined in the :file:`bufferobject.h` header  
(included by
+ :file:`Python.h`). These objects look very similar to string objects at  
the
+ Python programming level: they support slicing, indexing, concatenation,  
and
+-some other standard string operations. However, their data can come from  
one of
+-two sources: from a block of memory, or from another object which exports  
the
+-buffer interface.
++some other standard string operations. However, their data can come from  
one
++of two sources: from a block of memory, or from another object which  
exports
++the buffer interface.
+
+ Buffer objects are useful as a way to expose the data from another  
object's
+-buffer interface to the Python programmer. They can also be used as a  
zero-copy
+-slicing mechanism. Using their ability to reference a block of memory, it  
is
+-possible to expose any data to the Python programmer quite easily. The  
memory
+-could be a large, constant array in a C extension, it could be a raw  
block of
+-memory for manipulation before passing to an operating system library, or  
it
+-could be used to pass around structured data in its native, in-memory  
format.
++buffer interface to the Python programmer. They can also be used as a
++zero-copy slicing mechanism. Using their ability to reference a block of
++memory, it is possible to expose any data to the Python programmer quite
++easily. The memory could be a large, constant array in a C extension, it  
could
++be a raw block of memory for manipulation before passing to an operating
++system library, or it could be used to pass around structured data in its
++native, in-memory format.
+
+
+ .. ctype:: PyBufferObject
+
+    This subtype of :ctype:`PyObject` represents a buffer object.
+
+
+ .. cvar:: PyTypeObject PyBuffer_Type
+
+    .. index:: single: BufferType (in module types)
+
+    The instance of :ctype:`PyTypeObject` which represents the Python  
buffer type;
+    it is the same object as ``buffer`` and  ``types.BufferType`` in the  
Python
+    layer. .
+
+
+ .. cvar:: int Py_END_OF_BUFFER
+
+    This constant may be passed as the *size* parameter to
+    :cfunc:`PyBuffer_FromObject`  
or :cfunc:`PyBuffer_FromReadWriteObject`.  It
+-   indicates that the new :ctype:`PyBufferObject` should refer to *base*  
object
+-   from the specified *offset* to the end of its exported buffer.  Using  
this
+-   enables the caller to avoid querying the *base* object for its length.
++   indicates that the new :ctype:`PyBufferObject` should refer to *base*
++   object from the specified *offset* to the end of its exported buffer.
++   Using this enables the caller to avoid querying the *base* object for  
its
++   length.
+
+
+ .. cfunction:: int PyBuffer_Check(PyObject *p)
+
+    Return true if the argument has type :cdata:`PyBuffer_Type`.
+
+
+ .. cfunction:: PyObject* PyBuffer_FromObject(PyObject *base, Py_ssize_t  
offset, Py_ssize_t size)
+
+-   Return a new read-only buffer object.  This raises :exc:`TypeError` if  
*base*
+-   doesn't support the read-only buffer protocol or doesn't provide  
exactly one
+-   buffer segment, or it raises :exc:`ValueError` if *offset* is less  
than zero.
+-   The buffer will hold a reference to the *base* object, and the  
buffer's contents
+-   will refer to the *base* object's buffer interface, starting as  
position
+-   *offset* and extending for *size* bytes. If *size*  
is :const:`Py_END_OF_BUFFER`,
+-   then the new buffer's contents extend to the length of the *base*  
object's
+-   exported buffer data.
++   Return a new read-only buffer object.  This raises :exc:`TypeError` if
++   *base* doesn't support the read-only buffer protocol or doesn't provide
++   exactly one buffer segment, or it raises :exc:`ValueError` if *offset*  
is
++   less than zero.  The buffer will hold a reference to the *base*  
object, and
++   the buffer's contents will refer to the *base* object's buffer  
interface,
++   starting as position *offset* and extending for *size* bytes. If  
*size* is
++   :const:`Py_END_OF_BUFFER`, then the new buffer's contents extend to the
++   length of the *base* object's exported buffer data.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *offset* and *size*.  
This
++      might require changes in your code for properly supporting 64-bit
++      systems.
+
+
+ .. cfunction:: PyObject* PyBuffer_FromReadWriteObject(PyObject *base,  
Py_ssize_t offset, Py_ssize_t size)
+
+-   Return a new writable buffer object.  Parameters and exceptions are  
similar to
+-   those for :cfunc:`PyBuffer_FromObject`.  If the *base* object does not  
export
+-   the writeable buffer protocol, then :exc:`TypeError` is raised.
++   Return a new writable buffer object.  Parameters and exceptions are  
similar
++   to those for :cfunc:`PyBuffer_FromObject`.  If the *base* object does  
not
++   export the writeable buffer protocol, then :exc:`TypeError` is raised.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *offset* and *size*.  
This
++      might require changes in your code for properly supporting 64-bit
++      systems.
+
+
+ .. cfunction:: PyObject* PyBuffer_FromMemory(void *ptr, Py_ssize_t size)
+
+-   Return a new read-only buffer object that reads from a specified  
location in
+-   memory, with a specified size.  The caller is responsible for ensuring  
that the
+-   memory buffer, passed in as *ptr*, is not deallocated while the  
returned buffer
+-   object exists.  Raises :exc:`ValueError` if *size* is less than zero.   
Note that
+-   :const:`Py_END_OF_BUFFER` may *not* be passed for the *size* parameter;
+-   :exc:`ValueError` will be raised in that case.
++   Return a new read-only buffer object that reads from a specified  
location
++   in memory, with a specified size.  The caller is responsible for  
ensuring
++   that the memory buffer, passed in as *ptr*, is not deallocated while  
the
++   returned buffer object exists.  Raises :exc:`ValueError` if *size* is  
less
++   than zero.  Note that :const:`Py_END_OF_BUFFER` may *not* be passed  
for the
++   *size* parameter; :exc:`ValueError` will be raised in that case.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: PyObject* PyBuffer_FromReadWriteMemory(void *ptr,  
Py_ssize_t size)
+
+-   Similar to :cfunc:`PyBuffer_FromMemory`, but the returned buffer is  
writable.
++   Similar to :cfunc:`PyBuffer_FromMemory`, but the returned buffer is
++   writable.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: PyObject* PyBuffer_New(Py_ssize_t size)
+
+    Return a new writable buffer object that maintains its own memory  
buffer of
+-   *size* bytes.  :exc:`ValueError` is returned if *size* is not zero or  
positive.
+-   Note that the memory buffer (as returned  
by :cfunc:`PyObject_AsWriteBuffer`) is
+-   not specifically aligned.
++   *size* bytes.  :exc:`ValueError` is returned if *size* is not zero or
++   positive.  Note that the memory buffer (as returned by
++   :cfunc:`PyObject_AsWriteBuffer`) is not specifically aligned.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
=======================================
--- /dev/null
+++ /c-api/diff/buffer.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,422 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to4__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/buffer.rst =&gt;  
r266/c-api/buffer.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to4__0"></td><td  
class="diff_header" id="from4_8">8</td><td  
nowrap="nowrap">..&nbsp;sectionauthor::&nbsp;Greg&nbsp;Stein&nbsp;&lt;gstei****@lyra*****&gt;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_9">9</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_10">10</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_11">11</td><td  
nowrap="nowrap">..&nbsp;index::</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_12">12</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;object:&nbsp;buffer</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_13">13</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;single:&nbsp;buffer&nbsp;interface</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_14">14</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_15">15</td><td  
nowrap="nowrap">Python&nbsp;objects&nbsp;implemented&nbsp;in&nbsp;C&nbsp;can&nbsp;export&nbsp;a&nbsp;group&nbsp;of&nbsp;functions&nbsp;called&nbsp;the</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__1">n</a></td><td  
class="diff_header" id="from4_16">16-</td><td  
nowrap="nowrap">"buffer&nbsp;interface."&nbsp;&nbsp;These&nbsp;functions&nbsp;can&nbsp;be&nbsp;used&nbsp;by&nbsp;an&nbsp;object&nbsp;to&nbsp;expose&nbsp;its<span  
class="diff_sub">&nbsp;data</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__1">n</a></td><td  
class="diff_header" id="to4_16">16+</td><td  
nowrap="nowrap">"buffer&nbsp;interface."&nbsp;&nbsp;These&nbsp;functions&nbsp;can&nbsp;be&nbsp;used&nbsp;by&nbsp;an&nbsp;object&nbsp;to&nbsp;expose&nbsp;its</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_17">17-</td><td  
nowrap="nowrap">in&nbsp;a&nbsp;raw,&nbsp;byte-oriented&nbsp;format.&nbsp;Clients&nbsp;of&nbsp;the&nbsp;object&nbsp;can&nbsp;use&nbsp;the&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_17">17+</td><td nowrap="nowrap"><span  
class="diff_add">data&nbsp;</span>in&nbsp;a&nbsp;raw,&nbsp;byte-oriented&nbsp;format.&nbsp;Clients&nbsp;of&nbsp;the&nbsp;object&nbsp;can&nbsp;use&nbsp;the&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_18">18-</td><td  
nowrap="nowrap">interface&nbsp;to&nbsp;access&nbsp;the&nbsp;object&nbsp;data&nbsp;directly,&nbsp;without&nbsp;needing&nbsp;to&nbsp;copy&nbsp;it<span  
class="diff_sub">&nbsp;first.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_18">18+</td><td  
nowrap="nowrap">interface&nbsp;to&nbsp;access&nbsp;the&nbsp;object&nbsp;data&nbsp;directly,&nbsp;without&nbsp;needing&nbsp;to&nbsp;copy&nbsp;it</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_19">19+</td><td nowrap="nowrap"><span  
class="diff_add">first.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_19">19</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_20">20</td><td  
nowrap="nowrap">Two&nbsp;examples&nbsp;of&nbsp;objects&nbsp;that&nbsp;support&nbsp;the&nbsp;buffer&nbsp;interface&nbsp;are&nbsp;strings&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_21">21</td><td  
nowrap="nowrap">arrays.&nbsp;The&nbsp;string&nbsp;object&nbsp;exposes&nbsp;the&nbsp;character&nbsp;contents&nbsp;in&nbsp;the&nbsp;buffer</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_22">22</td><td  
nowrap="nowrap">interface's&nbsp;byte-oriented&nbsp;form.&nbsp;An&nbsp;array&nbsp;can&nbsp;also&nbsp;expose&nbsp;its&nbsp;contents,&nbsp;but&nbsp;it</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to4__1"></td><td  
class="diff_header" id="from4_23">23</td><td  
nowrap="nowrap">should&nbsp;be&nbsp;noted&nbsp;that&nbsp;array&nbsp;elements&nbsp;may&nbsp;be&nbsp;multi-byte&nbsp;values.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_24">24</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_25">25</td><td  
nowrap="nowrap">An&nbsp;example&nbsp;user&nbsp;of&nbsp;the&nbsp;buffer&nbsp;interface&nbsp;is&nbsp;the&nbsp;file&nbsp;object's&nbsp;:meth:`write`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_26">26</td><td  
nowrap="nowrap">method.&nbsp;Any&nbsp;object&nbsp;that&nbsp;can&nbsp;export&nbsp;a&nbsp;series&nbsp;of&nbsp;bytes&nbsp;through&nbsp;the&nbsp;buffer</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_27">27</td><td  
nowrap="nowrap">interface&nbsp;can&nbsp;be&nbsp;written&nbsp;to&nbsp;a&nbsp;file.&nbsp;There&nbsp;are&nbsp;a&nbsp;number&nbsp;of&nbsp;format&nbsp;codes&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_28">28</td><td  
nowrap="nowrap">:cfunc:`PyArg_ParseTuple`&nbsp;that&nbsp;operate&nbsp;against&nbsp;an&nbsp;object's&nbsp;buffer&nbsp;interface,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_29">29</td><td  
nowrap="nowrap">returning&nbsp;data&nbsp;from&nbsp;the&nbsp;target&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_30">30</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__2">n</a></td><td  
class="diff_header" id="to4_32">32+</td><td nowrap="nowrap"><span  
class="diff_add">Starting&nbsp;from&nbsp;version&nbsp;1.6,&nbsp;Python&nbsp;has&nbsp;been&nbsp;providing&nbsp;Python-level&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_33">33+</td><td nowrap="nowrap"><span  
class="diff_add">objects&nbsp;and&nbsp;a&nbsp;C-level&nbsp;buffer&nbsp;API&nbsp;so&nbsp;that&nbsp;any&nbsp;built-in&nbsp;or&nbsp;used-defined&nbsp;type&nbsp;can</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_34">34+</td><td nowrap="nowrap"><span  
class="diff_add">expose&nbsp;its&nbsp;characteristics.&nbsp;Both,&nbsp;however,&nbsp;have&nbsp;been&nbsp;deprecated&nbsp;because&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_35">35+</td><td nowrap="nowrap"><span  
class="diff_add">various&nbsp;shortcomings,&nbsp;and&nbsp;have&nbsp;been&nbsp;officially&nbsp;removed&nbsp;in&nbsp;Python&nbsp;3.0&nbsp;in&nbsp;favour</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_36">36+</td><td nowrap="nowrap"><span  
class="diff_add">of&nbsp;a&nbsp;new&nbsp;C-level&nbsp;buffer&nbsp;API&nbsp;and&nbsp;a&nbsp;new&nbsp;Python-level&nbsp;object&nbsp;named</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_37">37+</td><td nowrap="nowrap"><span  
class="diff_add">:class:`memoryview`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_38">38+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_39">39+</td><td nowrap="nowrap"><span  
class="diff_add">The&nbsp;new&nbsp;buffer&nbsp;API&nbsp;has&nbsp;been&nbsp;backported&nbsp;to&nbsp;Python&nbsp;2.6,&nbsp;and&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_40">40+</td><td nowrap="nowrap"><span  
class="diff_add">:class:`memoryview`&nbsp;object&nbsp;has&nbsp;been&nbsp;backported&nbsp;to&nbsp;Python&nbsp;2.7.&nbsp;It&nbsp;is&nbsp;strongly</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_41">41+</td><td nowrap="nowrap"><span  
class="diff_add">advised&nbsp;to&nbsp;use&nbsp;them&nbsp;rather&nbsp;than&nbsp;the&nbsp;old&nbsp;APIs,&nbsp;unless&nbsp;you&nbsp;are&nbsp;blocked&nbsp;from</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_42">42+</td><td nowrap="nowrap"><span  
class="diff_add">doing&nbsp;so&nbsp;for&nbsp;compatibility&nbsp;reasons.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_43">43+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_44">44+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_45">45+</td><td nowrap="nowrap"><span  
class="diff_add">The&nbsp;new-style&nbsp;Py_buffer&nbsp;struct</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_46">46+</td><td nowrap="nowrap"><span  
class="diff_add">==============================</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_47">47+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_48">48+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_49">49+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;ctype::&nbsp;Py_buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_50">50+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_51">51+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;void&nbsp;*buf</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_52">52+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_53">53+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;pointer&nbsp;to&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;memory&nbsp;for&nbsp;the&nbsp;object.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_54">54+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_55">55+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;Py_ssize_t&nbsp;len</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_56">56+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:noindex:</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_57">57+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_58">58+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;total&nbsp;length&nbsp;of&nbsp;the&nbsp;memory&nbsp;in&nbsp;bytes.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_59">59+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_60">60+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;int&nbsp;readonly</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_61">61+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_62">62+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;indicator&nbsp;of&nbsp;whether&nbsp;the&nbsp;buffer&nbsp;is&nbsp;read&nbsp;only.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_64">64+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;const&nbsp;char&nbsp;*format</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_65">65+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:noindex:</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_66">66+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_67">67+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;*NULL*&nbsp;terminated&nbsp;string&nbsp;in&nbsp;:mod:`struct`&nbsp;module&nbsp;style&nbsp;syntax&nbsp;giving</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_68">68+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;contents&nbsp;of&nbsp;the&nbsp;elements&nbsp;available&nbsp;through&nbsp;the&nbsp;buffer.&nbsp;&nbsp;If&nbsp;this&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_69">69+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*NULL*,&nbsp;``"B"``&nbsp;(unsigned&nbsp;bytes)&nbsp;is&nbsp;assumed.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_70">70+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;int&nbsp;ndim</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_73">73+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;number&nbsp;of&nbsp;dimensions&nbsp;the&nbsp;memory&nbsp;represents&nbsp;as&nbsp;a&nbsp;multi-dimensional</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_74">74+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array.&nbsp;&nbsp;If&nbsp;it&nbsp;is&nbsp;0,&nbsp;:cdata:`strides`&nbsp;and&nbsp;:cdata:`suboffsets`&nbsp;must&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_75">75+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*NULL*.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_76">76+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_77">77+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;Py_ssize_t&nbsp;*shape</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_78">78+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_79">79+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;array&nbsp;of&nbsp;:ctype:`Py_ssize_t`\s&nbsp;the&nbsp;length&nbsp;of&nbsp;:cdata:`ndim`&nbsp;giving&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_80">80+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shape&nbsp;of&nbsp;the&nbsp;memory&nbsp;as&nbsp;a&nbsp;multi-dimensional&nbsp;array.&nbsp;&nbsp;Note&nbsp;that</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_81">81+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;``((*shape)[0]&nbsp;*&nbsp;...&nbsp;*&nbsp;(*shape)[ndims-1])*itemsize``&nbsp;should&nbsp;be&nbsp;equal&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_82">82+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cdata:`len`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_83">83+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_84">84+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;Py_ssize_t&nbsp;*strides</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_85">85+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_86">86+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;array&nbsp;of&nbsp;:ctype:`Py_ssize_t`\s&nbsp;the&nbsp;length&nbsp;of&nbsp;:cdata:`ndim`&nbsp;giving&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_87">87+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;number&nbsp;of&nbsp;bytes&nbsp;to&nbsp;skip&nbsp;to&nbsp;get&nbsp;to&nbsp;a&nbsp;new&nbsp;element&nbsp;in&nbsp;each&nbsp;dimension.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_88">88+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_89">89+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;Py_ssize_t&nbsp;*suboffsets</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_90">90+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_91">91+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;array&nbsp;of&nbsp;:ctype:`Py_ssize_t`\s&nbsp;the&nbsp;length&nbsp;of&nbsp;:cdata:`ndim`.&nbsp;&nbsp;If&nbsp;these</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_92">92+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suboffset&nbsp;numbers&nbsp;are&nbsp;greater&nbsp;than&nbsp;or&nbsp;equal&nbsp;to&nbsp;0,&nbsp;then&nbsp;the&nbsp;value&nbsp;stored</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_93">93+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;along&nbsp;the&nbsp;indicated&nbsp;dimension&nbsp;is&nbsp;a&nbsp;pointer&nbsp;and&nbsp;the&nbsp;suboffset&nbsp;value</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_94">94+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dictates&nbsp;how&nbsp;many&nbsp;bytes&nbsp;to&nbsp;add&nbsp;to&nbsp;the&nbsp;pointer&nbsp;after&nbsp;de-referencing.&nbsp;A</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_95">95+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;suboffset&nbsp;value&nbsp;that&nbsp;it&nbsp;negative&nbsp;indicates&nbsp;that&nbsp;no&nbsp;de-referencing&nbsp;should</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_96">96+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;occur&nbsp;(striding&nbsp;in&nbsp;a&nbsp;contiguous&nbsp;memory&nbsp;block).</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_97">97+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_98">98+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Here&nbsp;is&nbsp;a&nbsp;function&nbsp;that&nbsp;returns&nbsp;a&nbsp;pointer&nbsp;to&nbsp;the&nbsp;element&nbsp;in&nbsp;an&nbsp;N-D&nbsp;array</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_99">99+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointed&nbsp;to&nbsp;by&nbsp;an&nbsp;N-dimesional&nbsp;index&nbsp;when&nbsp;there&nbsp;are&nbsp;both&nbsp;non-NULL&nbsp;strides</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_100">100+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;suboffsets::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_101">101+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_102">102+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;*get_item_pointer(int&nbsp;ndim,&nbsp;void&nbsp;*buf,&nbsp;Py_ssize_t&nbsp;*strides,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_103">103+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;*suboffsets,&nbsp;Py_ssize_t&nbsp;*indices)&nbsp;{</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_104">104+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;*pointer&nbsp;=&nbsp;(char*)buf;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_105">105+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_106">106+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;ndim;&nbsp;i++)&nbsp;{</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_107">107+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer&nbsp;+=&nbsp;strides[i]&nbsp;*&nbsp;indices[i];</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_108">108+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(suboffsets[i]&nbsp;&gt;=0&nbsp;)&nbsp;{</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_109">109+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pointer&nbsp;=&nbsp;*((char**)pointer)&nbsp;+&nbsp;suboffsets[i];</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_110">110+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_111">111+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_112">112+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(void*)pointer;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_113">113+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_114">114+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_115">115+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_116">116+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;Py_ssize_t&nbsp;itemsize</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_117">117+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_118">118+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;storage&nbsp;for&nbsp;the&nbsp;itemsize&nbsp;(in&nbsp;bytes)&nbsp;of&nbsp;each&nbsp;element&nbsp;of&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_119">119+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;shared&nbsp;memory.&nbsp;It&nbsp;is&nbsp;technically&nbsp;un-necessary&nbsp;as&nbsp;it&nbsp;can&nbsp;be&nbsp;obtained</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_120">120+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;using&nbsp;:cfunc:`PyBuffer_SizeFromFormat`,&nbsp;however&nbsp;an&nbsp;exporter&nbsp;may&nbsp;know</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_121">121+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this&nbsp;information&nbsp;without&nbsp;parsing&nbsp;the&nbsp;format&nbsp;string&nbsp;and&nbsp;it&nbsp;is&nbsp;necessary</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_122">122+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;know&nbsp;the&nbsp;itemsize&nbsp;for&nbsp;proper&nbsp;interpretation&nbsp;of&nbsp;striding.&nbsp;Therefore,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_123">123+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;storing&nbsp;it&nbsp;is&nbsp;more&nbsp;convenient&nbsp;and&nbsp;faster.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_124">124+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_125">125+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;cmember::&nbsp;void&nbsp;*internal</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_126">126+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_127">127+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;for&nbsp;use&nbsp;internally&nbsp;by&nbsp;the&nbsp;exporting&nbsp;object.&nbsp;For&nbsp;example,&nbsp;this</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_128">128+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;might&nbsp;be&nbsp;re-cast&nbsp;as&nbsp;an&nbsp;integer&nbsp;by&nbsp;the&nbsp;exporter&nbsp;and&nbsp;used&nbsp;to&nbsp;store&nbsp;flags</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_129">129+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;about&nbsp;whether&nbsp;or&nbsp;not&nbsp;the&nbsp;shape,&nbsp;strides,&nbsp;and&nbsp;suboffsets&nbsp;arrays&nbsp;must&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_130">130+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;freed&nbsp;when&nbsp;the&nbsp;buffer&nbsp;is&nbsp;released.&nbsp;The&nbsp;consumer&nbsp;should&nbsp;never&nbsp;alter&nbsp;this</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_131">131+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_132">132+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_133">133+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_134">134+</td><td nowrap="nowrap"><span  
class="diff_add">Buffer&nbsp;related&nbsp;functions</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_135">135+</td><td nowrap="nowrap"><span  
class="diff_add">========================</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_136">136+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_137">137+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_138">138+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_CheckBuffer(PyObject&nbsp;*obj)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_139">139+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_140">140+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;*obj*&nbsp;supports&nbsp;the&nbsp;buffer&nbsp;interface&nbsp;otherwise&nbsp;0.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_141">141+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_142">142+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_143">143+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_GetBuffer(PyObject&nbsp;*obj,&nbsp;Py_buffer&nbsp;*view,&nbsp;int&nbsp;flags)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_144">144+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_145">145+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Export&nbsp;*obj*&nbsp;into&nbsp;a&nbsp;:ctype:`Py_buffer`,&nbsp;*view*.&nbsp;&nbsp;These&nbsp;arguments&nbsp;must</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_146">146+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;never&nbsp;be&nbsp;*NULL*.&nbsp;&nbsp;The&nbsp;*flags*&nbsp;argument&nbsp;is&nbsp;a&nbsp;bit&nbsp;field&nbsp;indicating&nbsp;what</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_147">147+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kind&nbsp;of&nbsp;buffer&nbsp;the&nbsp;caller&nbsp;is&nbsp;prepared&nbsp;to&nbsp;deal&nbsp;with&nbsp;and&nbsp;therefore&nbsp;what</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_148">148+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kind&nbsp;of&nbsp;buffer&nbsp;the&nbsp;exporter&nbsp;is&nbsp;allowed&nbsp;to&nbsp;return.&nbsp;&nbsp;The&nbsp;buffer&nbsp;interface</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_149">149+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;allows&nbsp;for&nbsp;complicated&nbsp;memory&nbsp;sharing&nbsp;possibilities,&nbsp;but&nbsp;some&nbsp;caller&nbsp;may</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_150">150+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;not&nbsp;be&nbsp;able&nbsp;to&nbsp;handle&nbsp;all&nbsp;the&nbsp;complexity&nbsp;but&nbsp;may&nbsp;want&nbsp;to&nbsp;see&nbsp;if&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_151">151+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exporter&nbsp;will&nbsp;let&nbsp;them&nbsp;take&nbsp;a&nbsp;simpler&nbsp;view&nbsp;to&nbsp;its&nbsp;memory.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_152">152+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_153">153+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Some&nbsp;exporters&nbsp;may&nbsp;not&nbsp;be&nbsp;able&nbsp;to&nbsp;share&nbsp;memory&nbsp;in&nbsp;every&nbsp;possible&nbsp;way&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_154">154+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;need&nbsp;to&nbsp;raise&nbsp;errors&nbsp;to&nbsp;signal&nbsp;to&nbsp;some&nbsp;consumers&nbsp;that&nbsp;something&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_155">155+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;just&nbsp;not&nbsp;possible.&nbsp;These&nbsp;errors&nbsp;should&nbsp;be&nbsp;a&nbsp;:exc:`BufferError`&nbsp;unless</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_156">156+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;there&nbsp;is&nbsp;another&nbsp;error&nbsp;that&nbsp;is&nbsp;actually&nbsp;causing&nbsp;the&nbsp;problem.&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_157">157+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exporter&nbsp;can&nbsp;use&nbsp;flags&nbsp;information&nbsp;to&nbsp;simplify&nbsp;how&nbsp;much&nbsp;of&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_158">158+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cdata:`Py_buffer`&nbsp;structure&nbsp;is&nbsp;filled&nbsp;in&nbsp;with&nbsp;non-default&nbsp;values&nbsp;and/or</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_159">159+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise&nbsp;an&nbsp;error&nbsp;if&nbsp;the&nbsp;object&nbsp;can't&nbsp;support&nbsp;a&nbsp;simpler&nbsp;view&nbsp;of&nbsp;its&nbsp;memory.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_160">160+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_161">161+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;is&nbsp;returned&nbsp;on&nbsp;success&nbsp;and&nbsp;-1&nbsp;on&nbsp;error.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_162">162+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_163">163+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;following&nbsp;table&nbsp;gives&nbsp;possible&nbsp;values&nbsp;to&nbsp;the&nbsp;*flags*&nbsp;arguments.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_164">164+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_165">165+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_166">166+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;Flag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;Description&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_167">167+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+==============================+===================================================+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_168">168+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_SIMPLE`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;the&nbsp;default&nbsp;flag&nbsp;state.&nbsp;&nbsp;The&nbsp;returned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_169">169+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;buffer&nbsp;may&nbsp;or&nbsp;may&nbsp;not&nbsp;have&nbsp;writable&nbsp;memory.&nbsp;&nbsp;The&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_170">170+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;format&nbsp;of&nbsp;the&nbsp;data&nbsp;will&nbsp;be&nbsp;assumed&nbsp;to&nbsp;be&nbsp;unsigned&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_171">171+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;bytes.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;"stand-alone"&nbsp;flag&nbsp;constant.&nbsp;It&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_172">172+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;never&nbsp;needs&nbsp;to&nbsp;be&nbsp;'|'d&nbsp;to&nbsp;the&nbsp;others.&nbsp;The&nbsp;exporter| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_173">173+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;will&nbsp;raise&nbsp;an&nbsp;error&nbsp;if&nbsp;it&nbsp;cannot&nbsp;provide&nbsp;such&nbsp;a&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_174">174+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;contiguous&nbsp;buffer&nbsp;of&nbsp;bytes.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_175">175+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_176">176+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_177">177+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_WRITABLE`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;The&nbsp;returned&nbsp;buffer&nbsp;must&nbsp;be&nbsp;writable.&nbsp;&nbsp;If&nbsp;it&nbsp;is&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_178">178+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;not&nbsp;writable,&nbsp;then&nbsp;raise&nbsp;an&nbsp;error.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_179">179+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_180">180+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_STRIDES`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;implies&nbsp;:cmacro:`PyBUF_ND`.&nbsp;The&nbsp;returned&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_181">181+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;buffer&nbsp;must&nbsp;provide&nbsp;strides&nbsp;information&nbsp;(i.e.&nbsp;the&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_182">182+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;strides&nbsp;cannot&nbsp;be&nbsp;NULL).&nbsp;This&nbsp;would&nbsp;be&nbsp;used&nbsp;when&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_183">183+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;the&nbsp;consumer&nbsp;can&nbsp;handle&nbsp;strided,&nbsp;discontiguous&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_184">184+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;arrays.&nbsp;&nbsp;Handling&nbsp;strides&nbsp;automatically&nbsp;assumes&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_185">185+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;you&nbsp;can&nbsp;handle&nbsp;shape.&nbsp;&nbsp;The&nbsp;exporter&nbsp;can&nbsp;raise&nbsp;an&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_186">186+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;error&nbsp;if&nbsp;a&nbsp;strided&nbsp;representation&nbsp;of&nbsp;the&nbsp;data&nbsp;is&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_187">187+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;not&nbsp;possible&nbsp;(i.e.&nbsp;without&nbsp;the&nbsp;suboffsets).&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_188">188+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_189">189+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_190">190+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_ND`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;The&nbsp;returned&nbsp;buffer&nbsp;must&nbsp;provide&nbsp;shape&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_191">191+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;information.&nbsp;The&nbsp;memory&nbsp;will&nbsp;be&nbsp;assumed&nbsp;C-style&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_192">192+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;contiguous&nbsp;(last&nbsp;dimension&nbsp;varies&nbsp;the&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_193">193+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;fastest).&nbsp;The&nbsp;exporter&nbsp;may&nbsp;raise&nbsp;an&nbsp;error&nbsp;if&nbsp;it&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_194">194+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;cannot&nbsp;provide&nbsp;this&nbsp;kind&nbsp;of&nbsp;contiguous&nbsp;buffer.&nbsp;If&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_195">195+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;this&nbsp;is&nbsp;not&nbsp;given&nbsp;then&nbsp;shape&nbsp;will&nbsp;be&nbsp;*NULL*.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_196">196+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_197">197+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_198">198+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_199">199+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_200">200+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|:cmacro:`PyBUF_C_CONTIGUOUS`&nbsp;&nbsp;| 
&nbsp;These&nbsp;flags&nbsp;indicate&nbsp;that&nbsp;the&nbsp;contiguity&nbsp;returned&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_201">201+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|:cmacro:`PyBUF_F_CONTIGUOUS`&nbsp;&nbsp;| 
&nbsp;buffer&nbsp;must&nbsp;be&nbsp;respectively,&nbsp;C-contiguous&nbsp;(last&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_202">202+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|:cmacro:`PyBUF_ANY_CONTIGUOUS`| 
&nbsp;dimension&nbsp;varies&nbsp;the&nbsp;fastest),&nbsp;Fortran&nbsp;contiguous&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_203">203+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;(first&nbsp;dimension&nbsp;varies&nbsp;the&nbsp;fastest)&nbsp;or&nbsp;either&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_204">204+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;one.&nbsp;&nbsp;All&nbsp;of&nbsp;these&nbsp;flags&nbsp;imply&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_205">205+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_STRIDES`&nbsp;and&nbsp;guarantee&nbsp;that&nbsp;the&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_206">206+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;strides&nbsp;buffer&nbsp;info&nbsp;structure&nbsp;will&nbsp;be&nbsp;filled&nbsp;in&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_207">207+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;correctly.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_208">208+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_209">209+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_210">210+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_INDIRECT`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;flag&nbsp;indicates&nbsp;the&nbsp;returned&nbsp;buffer&nbsp;must&nbsp;have&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_211">211+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;suboffsets&nbsp;information&nbsp;(which&nbsp;can&nbsp;be&nbsp;NULL&nbsp;if&nbsp;no&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_212">212+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;suboffsets&nbsp;are&nbsp;needed).&nbsp;&nbsp;This&nbsp;can&nbsp;be&nbsp;used&nbsp;when&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_213">213+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;the&nbsp;consumer&nbsp;can&nbsp;handle&nbsp;indirect&nbsp;array&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_214">214+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;referencing&nbsp;implied&nbsp;by&nbsp;these&nbsp;suboffsets.&nbsp;This&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_215">215+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;implies&nbsp;:cmacro:`PyBUF_STRIDES`.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_216">216+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_217">217+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_218">218+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_219">219+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_220">220+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_FORMAT`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;The&nbsp;returned&nbsp;buffer&nbsp;must&nbsp;have&nbsp;true&nbsp;format&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_221">221+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;information&nbsp;if&nbsp;this&nbsp;flag&nbsp;is&nbsp;provided.&nbsp;This&nbsp;would&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_222">222+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;be&nbsp;used&nbsp;when&nbsp;the&nbsp;consumer&nbsp;is&nbsp;going&nbsp;to&nbsp;be&nbsp;checking&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_223">223+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;for&nbsp;what&nbsp;'kind'&nbsp;of&nbsp;data&nbsp;is&nbsp;actually&nbsp;stored.&nbsp;An&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_224">224+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;exporter&nbsp;should&nbsp;always&nbsp;be&nbsp;able&nbsp;to&nbsp;provide&nbsp;this&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_225">225+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;information&nbsp;if&nbsp;requested.&nbsp;If&nbsp;format&nbsp;is&nbsp;not&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_226">226+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;explicitly&nbsp;requested&nbsp;then&nbsp;the&nbsp;format&nbsp;must&nbsp;be&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_227">227+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;returned&nbsp;as&nbsp;*NULL*&nbsp;(which&nbsp;means&nbsp;``'B'``,&nbsp;or&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_228">228+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;unsigned&nbsp;bytes)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_229">229+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_230">230+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_STRIDED`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_STRIDES&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_231">231+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_WRITABLE)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_232">232+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_233">233+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_STRIDED_RO`&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_STRIDES)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_234">234+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_235">235+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_236">236+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_RECORDS`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_STRIDES&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_237">237+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_FORMAT&nbsp;| 
&nbsp;PyBUF_WRITABLE)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_238">238+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_239">239+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_RECORDS_RO`&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_STRIDES&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_240">240+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_FORMAT)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_241">241+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_242">242+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_FULL`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_INDIRECT&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_243">243+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_FORMAT&nbsp;| 
&nbsp;PyBUF_WRITABLE)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_244">244+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_245">245+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_FULL_RO`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_INDIRECT&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_246">246+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_FORMAT)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_247">247+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_248">248+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_CONTIG`&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_ND&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_249">249+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;PyBUF_WRITABLE)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_250">250+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_251">251+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;:cmacro:`PyBUF_CONTIG_RO`&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``(PyBUF_ND)``.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_252">252+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 
</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_253">253+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+------------------------------+---------------------------------------------------+</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_254">254+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_255">255+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_256">256+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;void&nbsp;PyBuffer_Release(Py_buffer&nbsp;*view)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_257">257+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_258">258+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Release&nbsp;the&nbsp;buffer&nbsp;*view*.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;called&nbsp;when&nbsp;the&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_259">259+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;is&nbsp;no&nbsp;longer&nbsp;being&nbsp;used&nbsp;as&nbsp;it&nbsp;may&nbsp;free&nbsp;memory&nbsp;from&nbsp;it.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_260">260+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_261">261+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_262">262+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyBuffer_SizeFromFormat(const&nbsp;char&nbsp;*)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_263">263+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_264">264+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;implied&nbsp;:cdata:`~Py_buffer.itemsize`&nbsp;from&nbsp;the&nbsp;struct-stype</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_265">265+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cdata:`~Py_buffer.format`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_266">266+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_267">267+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_268">268+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_CopyToObject(PyObject&nbsp;*obj,&nbsp;void&nbsp;*buf,&nbsp;Py_ssize_t&nbsp;len,&nbsp;char&nbsp;fortran)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_269">269+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_270">270+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Copy&nbsp;*len*&nbsp;bytes&nbsp;of&nbsp;data&nbsp;pointed&nbsp;to&nbsp;by&nbsp;the&nbsp;contiguous&nbsp;chunk&nbsp;of&nbsp;memory</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_271">271+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;pointed&nbsp;to&nbsp;by&nbsp;*buf*&nbsp;into&nbsp;the&nbsp;buffer&nbsp;exported&nbsp;by&nbsp;obj.&nbsp;&nbsp;The&nbsp;buffer&nbsp;must&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_272">272+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;course&nbsp;be&nbsp;writable.&nbsp;&nbsp;Return&nbsp;0&nbsp;on&nbsp;success&nbsp;and&nbsp;return&nbsp;-1&nbsp;and&nbsp;raise&nbsp;an&nbsp;error</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_273">273+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;on&nbsp;failure.&nbsp;&nbsp;If&nbsp;the&nbsp;object&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;writable&nbsp;buffer,&nbsp;then&nbsp;an&nbsp;error</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_274">274+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;is&nbsp;raised.&nbsp;&nbsp;If&nbsp;*fortran*&nbsp;is&nbsp;``'F'``,&nbsp;then&nbsp;if&nbsp;the&nbsp;object&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_275">275+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;multi-dimensional,&nbsp;then&nbsp;the&nbsp;data&nbsp;will&nbsp;be&nbsp;copied&nbsp;into&nbsp;the&nbsp;array&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_276">276+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Fortran-style&nbsp;(first&nbsp;dimension&nbsp;varies&nbsp;the&nbsp;fastest).&nbsp;&nbsp;If&nbsp;*fortran*&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_277">277+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;``'C'``,&nbsp;then&nbsp;the&nbsp;data&nbsp;will&nbsp;be&nbsp;copied&nbsp;into&nbsp;the&nbsp;array&nbsp;in&nbsp;C-style&nbsp;(last</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_278">278+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;dimension&nbsp;varies&nbsp;the&nbsp;fastest).&nbsp;&nbsp;If&nbsp;*fortran*&nbsp;is&nbsp;``'A'``,&nbsp;then&nbsp;it&nbsp;does&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_279">279+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;matter&nbsp;and&nbsp;the&nbsp;copy&nbsp;will&nbsp;be&nbsp;made&nbsp;in&nbsp;whatever&nbsp;way&nbsp;is&nbsp;more&nbsp;efficient.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_280">280+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_281">281+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_282">282+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyBuffer_IsContiguous(Py_buffer&nbsp;*view,&nbsp;char&nbsp;fortran)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_283">283+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_284">284+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;the&nbsp;memory&nbsp;defined&nbsp;by&nbsp;the&nbsp;*view*&nbsp;is&nbsp;C-style&nbsp;(*fortran*&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_285">285+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;``'C'``)&nbsp;or&nbsp;Fortran-style&nbsp;(*fortran*&nbsp;is&nbsp;``'F'``)&nbsp;contiguous&nbsp;or&nbsp;either&nbsp;one</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_286">286+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;(*fortran*&nbsp;is&nbsp;``'A'``).&nbsp;&nbsp;Return&nbsp;0&nbsp;otherwise.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_287">287+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_288">288+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_289">289+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;void&nbsp;PyBuffer_FillContiguousStrides(int&nbsp;ndim,&nbsp;Py_ssize_t&nbsp;*shape,&nbsp;Py_ssize_t&nbsp;*strides,&nbsp;Py_ssize_t&nbsp;itemsize,&nbsp;char&nbsp;fortran)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_290">290+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_291">291+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Fill&nbsp;the&nbsp;*strides*&nbsp;array&nbsp;with&nbsp;byte-strides&nbsp;of&nbsp;a&nbsp;contiguous&nbsp;(C-style&nbsp;if</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_292">292+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*fortran*&nbsp;is&nbsp;``'C'``&nbsp;or&nbsp;Fortran-style&nbsp;if&nbsp;*fortran*&nbsp;is&nbsp;``'F'``&nbsp;array&nbsp;of&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_293">293+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;given&nbsp;shape&nbsp;with&nbsp;the&nbsp;given&nbsp;number&nbsp;of&nbsp;bytes&nbsp;per&nbsp;element.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_294">294+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_295">295+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_296">296+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyBuffer_FillInfo(Py_buffer&nbsp;*view,&nbsp;PyObject&nbsp;*obj,&nbsp;void&nbsp;*buf,&nbsp;Py_ssize_t&nbsp;len,&nbsp;int&nbsp;readonly,&nbsp;int&nbsp;infoflags)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_297">297+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_298">298+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Fill&nbsp;in&nbsp;a&nbsp;buffer-info&nbsp;structure,&nbsp;*view*,&nbsp;correctly&nbsp;for&nbsp;an&nbsp;exporter&nbsp;that&nbsp;can</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_299">299+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;only&nbsp;share&nbsp;a&nbsp;contiguous&nbsp;chunk&nbsp;of&nbsp;memory&nbsp;of&nbsp;"unsigned&nbsp;bytes"&nbsp;of&nbsp;the&nbsp;given</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_300">300+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;length.&nbsp;&nbsp;Return&nbsp;0&nbsp;on&nbsp;success&nbsp;and&nbsp;-1&nbsp;(with&nbsp;raising&nbsp;an&nbsp;error)&nbsp;on&nbsp;error.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_301">301+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_302">302+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_303">303+</td><td nowrap="nowrap"><span  
class="diff_add">Old-style&nbsp;buffer&nbsp;objects</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_304">304+</td><td nowrap="nowrap"><span  
class="diff_add">========================</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_305">305+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to4__2"></td><td  
class="diff_header" id="from4_31">31</td><td  
nowrap="nowrap">..&nbsp;index::&nbsp;single:&nbsp;PyBufferProcs</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_32">32</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_33">33</td><td  
nowrap="nowrap">More&nbsp;information&nbsp;on&nbsp;the&nbsp;buffer&nbsp;interface&nbsp;is&nbsp;provided&nbsp;in&nbsp;the&nbsp;section</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_34">34</td><td  
nowrap="nowrap">:ref:`buffer-structs`,&nbsp;under&nbsp;the&nbsp;description&nbsp;for&nbsp;:ctype:`PyBufferProcs`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_35">35</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to4__3"></td><td class="diff_header"  
id="from4_36">36</td><td  
nowrap="nowrap">A&nbsp;"buffer&nbsp;object"&nbsp;is&nbsp;defined&nbsp;in&nbsp;the&nbsp;:file:`bufferobject.h`&nbsp;header&nbsp;(included&nbsp;by</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_37">37</td><td  
nowrap="nowrap">:file:`Python.h`).&nbsp;These&nbsp;objects&nbsp;look&nbsp;very&nbsp;similar&nbsp;to&nbsp;string&nbsp;objects&nbsp;at&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_38">38</td><td  
nowrap="nowrap">Python&nbsp;programming&nbsp;level:&nbsp;they&nbsp;support&nbsp;slicing,&nbsp;indexing,&nbsp;concatenation,&nbsp;and</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__3">n</a></td><td  
class="diff_header" id="from4_39">39-</td><td  
nowrap="nowrap">some&nbsp;other&nbsp;standard&nbsp;string&nbsp;operations.&nbsp;However,&nbsp;their&nbsp;data&nbsp;can&nbsp;come&nbsp;from&nbsp;one<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__3">n</a></td><td  
class="diff_header" id="to4_314">314+</td><td  
nowrap="nowrap">some&nbsp;other&nbsp;standard&nbsp;string&nbsp;operations.&nbsp;However,&nbsp;their&nbsp;data&nbsp;can&nbsp;come&nbsp;from&nbsp;one</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_40">40-</td><td  
nowrap="nowrap">two&nbsp;sources:&nbsp;from&nbsp;a&nbsp;block&nbsp;of&nbsp;memory,&nbsp;or&nbsp;from&nbsp;another&nbsp;object&nbsp;which&nbsp;exports<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_315">315+</td><td nowrap="nowrap"><span  
class="diff_add">of&nbsp;</span>two&nbsp;sources:&nbsp;from&nbsp;a&nbsp;block&nbsp;of&nbsp;memory,&nbsp;or&nbsp;from&nbsp;another&nbsp;object&nbsp;which&nbsp;exports</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_41">41-</td><td nowrap="nowrap">buffer&nbsp;interface.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_316">316+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;</span>buffer&nbsp;interface.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_43">43</td><td  
nowrap="nowrap">Buffer&nbsp;objects&nbsp;are&nbsp;useful&nbsp;as&nbsp;a&nbsp;way&nbsp;to&nbsp;expose&nbsp;the&nbsp;data&nbsp;from&nbsp;another&nbsp;object's</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__4">n</a></td><td  
class="diff_header" id="from4_44">44-</td><td  
nowrap="nowrap">buffer&nbsp;interface&nbsp;to&nbsp;the&nbsp;Python&nbsp;programmer.&nbsp;They&nbsp;can&nbsp;also&nbsp;be&nbsp;used&nbsp;as&nbsp;a<span  
class="diff_sub">&nbsp;zero-copy</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__4">n</a></td><td  
class="diff_header" id="to4_319">319+</td><td  
nowrap="nowrap">buffer&nbsp;interface&nbsp;to&nbsp;the&nbsp;Python&nbsp;programmer.&nbsp;They&nbsp;can&nbsp;also&nbsp;be&nbsp;used&nbsp;as&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_45">45-</td><td  
nowrap="nowrap">slicing&nbsp;mechanism.&nbsp;Using&nbsp;their&nbsp;ability&nbsp;to&nbsp;reference&nbsp;a&nbsp;block&nbsp;of<span  
class="diff_sub">&nbsp;memory,&nbsp;it&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_320">320+</td><td nowrap="nowrap"><span  
class="diff_add">zero-copy&nbsp;</span>slicing&nbsp;mechanism.&nbsp;Using&nbsp;their&nbsp;ability&nbsp;to&nbsp;reference&nbsp;a&nbsp;block&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_46">46-</td><td  
nowrap="nowrap">possible&nbsp;to&nbsp;expose&nbsp;any&nbsp;data&nbsp;to&nbsp;the&nbsp;Python&nbsp;programmer&nbsp;quite<span  
class="diff_sub">&nbsp;easily.&nbsp;The&nbsp;memory</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_321">321+</td><td nowrap="nowrap"><span  
class="diff_add">memory,&nbsp;it&nbsp;is&nbsp;</span>possible&nbsp;to&nbsp;expose&nbsp;any&nbsp;data&nbsp;to&nbsp;the&nbsp;Python&nbsp;programmer&nbsp;quite</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_47">47-</td><td  
nowrap="nowrap">could&nbsp;be&nbsp;a&nbsp;large,&nbsp;constant&nbsp;array&nbsp;in&nbsp;a&nbsp;C&nbsp;extension,&nbsp;it&nbsp;could<span  
class="diff_sub">&nbsp;be&nbsp;a&nbsp;raw&nbsp;block&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_322">322+</td><td nowrap="nowrap"><span  
class="diff_add">easily.&nbsp;The&nbsp;memory&nbsp;</span>could&nbsp;be&nbsp;a&nbsp;large,&nbsp;constant&nbsp;array&nbsp;in&nbsp;a&nbsp;C&nbsp;extension,&nbsp;it&nbsp;could</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_48">48-</td><td nowrap="nowrap"><span  
class="diff_sub">memory&nbsp;for&nbsp;manipulation&nbsp;before&nbsp;passing&nbsp;to&nbsp;an&nbsp;operating&nbsp;system&nbsp;library,&nbsp;or&nbsp;it</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_323">323+</td><td nowrap="nowrap"><span  
class="diff_add">be&nbsp;a&nbsp;raw&nbsp;block&nbsp;of&nbsp;memory&nbsp;for&nbsp;manipulation&nbsp;before&nbsp;passing&nbsp;to&nbsp;an&nbsp;operating</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_49">49-</td><td nowrap="nowrap"><span  
class="diff_sub">could&nbsp;be&nbsp;used&nbsp;to&nbsp;pass&nbsp;around&nbsp;structured&nbsp;data&nbsp;in&nbsp;its&nbsp;native,&nbsp;in-memory&nbsp;format.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_324">324+</td><td nowrap="nowrap"><span  
class="diff_add">system&nbsp;library,&nbsp;or&nbsp;it&nbsp;could&nbsp;be&nbsp;used&nbsp;to&nbsp;pass&nbsp;around&nbsp;structured&nbsp;data&nbsp;in&nbsp;its</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_325">325+</td><td nowrap="nowrap"><span  
class="diff_add">native,&nbsp;in-memory&nbsp;format.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_50">50</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_51">51</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_52">52</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyBufferObject</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_53">53</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;subtype&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;represents&nbsp;a&nbsp;buffer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_55">55</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_56">56</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_57">57</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;PyTypeObject&nbsp;PyBuffer_Type</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to4__4"></td><td  
class="diff_header" id="from4_62">62</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;it&nbsp;is&nbsp;the&nbsp;same&nbsp;object&nbsp;as&nbsp;``buffer``&nbsp;and&nbsp;&nbsp;``types.BufferType``&nbsp;in&nbsp;the&nbsp;Python</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_63">63</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;layer.&nbsp;.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_64">64</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_65">65</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_66">66</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;int&nbsp;Py_END_OF_BUFFER</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_67">67</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;constant&nbsp;may&nbsp;be&nbsp;passed&nbsp;as&nbsp;the&nbsp;*size*&nbsp;parameter&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_69">69</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyBuffer_FromObject`&nbsp;or&nbsp;:cfunc:`PyBuffer_FromReadWriteObject`.&nbsp;&nbsp;It</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__5">n</a></td><td  
class="diff_header" id="from4_70">70-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indicates&nbsp;that&nbsp;the&nbsp;new&nbsp;:ctype:`PyBufferObject`&nbsp;should&nbsp;refer&nbsp;to&nbsp;*base*<span  
class="diff_sub">&nbsp;object</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__5">n</a></td><td  
class="diff_header" id="to4_346">346+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indicates&nbsp;that&nbsp;the&nbsp;new&nbsp;:ctype:`PyBufferObject`&nbsp;should&nbsp;refer&nbsp;to&nbsp;*base*</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_71">71-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;from&nbsp;the&nbsp;specified&nbsp;*offset*&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;its&nbsp;exported&nbsp;buffer.<span  
class="diff_sub">&nbsp;&nbsp;Using&nbsp;this</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_347">347+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;object</span>&nbsp;from&nbsp;the&nbsp;specified&nbsp;*offset*&nbsp;to&nbsp;the&nbsp;end&nbsp;of&nbsp;its&nbsp;exported&nbsp;buffer.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_72">72-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;enables&nbsp;the&nbsp;caller&nbsp;to&nbsp;avoid&nbsp;querying&nbsp;the&nbsp;*base*&nbsp;object&nbsp;for&nbsp;its<span  
class="diff_sub">&nbsp;length.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_348">348+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Using&nbsp;this</span>&nbsp;enables&nbsp;the&nbsp;caller&nbsp;to&nbsp;avoid&nbsp;querying&nbsp;the&nbsp;*base*&nbsp;object&nbsp;for&nbsp;its</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_349">349+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;length.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_73">73</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to4__5"></td><td class="diff_header"  
id="from4_74">74</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_75">75</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyBuffer_Check(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_76">76</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_77">77</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;the&nbsp;argument&nbsp;has&nbsp;type&nbsp;:cdata:`PyBuffer_Type`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_78">78</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_79">79</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_80">80</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyBuffer_FromObject(PyObject&nbsp;*base,&nbsp;Py_ssize_t&nbsp;offset,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_81">81</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__6">n</a></td><td  
class="diff_header" id="from4_82">82-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;read-only&nbsp;buffer&nbsp;object.&nbsp;&nbsp;This&nbsp;raises&nbsp;:exc:`TypeError`&nbsp;if<span  
class="diff_sub">&nbsp;*base*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__6">n</a></td><td  
class="diff_header" id="to4_359">359+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;read-only&nbsp;buffer&nbsp;object.&nbsp;&nbsp;This&nbsp;raises&nbsp;:exc:`TypeError`&nbsp;if</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_83">83-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;doesn't&nbsp;support&nbsp;the&nbsp;read-only&nbsp;buffer&nbsp;protocol&nbsp;or&nbsp;doesn't&nbsp;provide<span  
class="diff_sub">&nbsp;exactly&nbsp;one</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_360">360+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*base*</span>&nbsp;doesn't&nbsp;support&nbsp;the&nbsp;read-only&nbsp;buffer&nbsp;protocol&nbsp;or&nbsp;doesn't&nbsp;provide</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_84">84-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;buffer&nbsp;segment,&nbsp;or&nbsp;it&nbsp;raises&nbsp;:exc:`ValueError`&nbsp;if&nbsp;*offset*&nbsp;is<span  
class="diff_sub">&nbsp;less&nbsp;than&nbsp;zero.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_361">361+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;exactly&nbsp;one</span>&nbsp;buffer&nbsp;segment,&nbsp;or&nbsp;it&nbsp;raises&nbsp;:exc:`ValueError`&nbsp;if&nbsp;*offset*&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_85">85-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;buffer&nbsp;will&nbsp;hold&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;*base*&nbsp;object,&nbsp;and<span  
class="diff_sub">&nbsp;the&nbsp;buffer's&nbsp;contents</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_362">362+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;less&nbsp;than&nbsp;zero.</span>&nbsp;&nbsp;The&nbsp;buffer&nbsp;will&nbsp;hold&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;*base*&nbsp;object,&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_86">86-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;will&nbsp;refer&nbsp;to&nbsp;the&nbsp;*base*&nbsp;object's&nbsp;buffer&nbsp;interface,&nbsp;starting&nbsp;as&nbsp;position</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_363">363+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;buffer's&nbsp;contents&nbsp;will&nbsp;refer&nbsp;to&nbsp;the&nbsp;*base*&nbsp;object's&nbsp;buffer&nbsp;interface,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_87">87-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*offset*&nbsp;and&nbsp;extending&nbsp;for&nbsp;*size*&nbsp;bytes.&nbsp;If&nbsp;*size*&nbsp;is&nbsp;:const:`Py_END_OF_BUFFER`,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_364">364+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;starting&nbsp;as&nbsp;position&nbsp;*offset*&nbsp;and&nbsp;extending&nbsp;for&nbsp;*size*&nbsp;bytes.&nbsp;If&nbsp;*size*&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_88">88-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;then&nbsp;the&nbsp;new&nbsp;buffer's&nbsp;contents&nbsp;extend&nbsp;to&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;*base*&nbsp;object's</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_365">365+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:const:`Py_END_OF_BUFFER`,&nbsp;then&nbsp;the&nbsp;new&nbsp;buffer's&nbsp;contents&nbsp;extend&nbsp;to&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_89">89-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;exported&nbsp;buffer&nbsp;data.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_366">366+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;length&nbsp;of&nbsp;the&nbsp;*base*&nbsp;object's&nbsp;exported&nbsp;buffer&nbsp;data.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_367">367+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to4__6"></td><td  
class="diff_header" id="to4_368">368+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_369">369+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*offset*&nbsp;and&nbsp;*size*.&nbsp;This</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_370">370+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;might&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_371">371+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_90">90</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_91">91</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_92">92</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyBuffer_FromReadWriteObject(PyObject&nbsp;*base,&nbsp;Py_ssize_t&nbsp;offset,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_93">93</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__7">n</a></td><td  
class="diff_header" id="from4_94">94-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;writable&nbsp;buffer&nbsp;object.&nbsp;&nbsp;Parameters&nbsp;and&nbsp;exceptions&nbsp;are&nbsp;similar<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__7">n</a></td><td  
class="diff_header" id="to4_376">376+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;writable&nbsp;buffer&nbsp;object.&nbsp;&nbsp;Parameters&nbsp;and&nbsp;exceptions&nbsp;are&nbsp;similar</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_95">95-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;those&nbsp;for&nbsp;:cfunc:`PyBuffer_FromObject`.&nbsp;&nbsp;If&nbsp;the&nbsp;*base*&nbsp;object&nbsp;does&nbsp;not<span  
class="diff_sub">&nbsp;export</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_377">377+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to</span>&nbsp;those&nbsp;for&nbsp;:cfunc:`PyBuffer_FromObject`.&nbsp;&nbsp;If&nbsp;the&nbsp;*base*&nbsp;object&nbsp;does&nbsp;not</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_96">96-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;writeable&nbsp;buffer&nbsp;protocol,&nbsp;then&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_378">378+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;export</span>&nbsp;the&nbsp;writeable&nbsp;buffer&nbsp;protocol,&nbsp;then&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_379">379+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to4__7"></td><td  
class="diff_header" id="to4_380">380+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_381">381+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*offset*&nbsp;and&nbsp;*size*.&nbsp;This</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_382">382+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;might&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_383">383+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_97">97</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_98">98</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_99">99</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyBuffer_FromMemory(void&nbsp;*ptr,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_100">100</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__8">n</a></td><td  
class="diff_header" id="from4_101">101-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;read-only&nbsp;buffer&nbsp;object&nbsp;that&nbsp;reads&nbsp;from&nbsp;a&nbsp;specified&nbsp;location<span  
class="diff_sub">&nbsp;in</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__8">n</a></td><td  
class="diff_header" id="to4_388">388+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;read-only&nbsp;buffer&nbsp;object&nbsp;that&nbsp;reads&nbsp;from&nbsp;a&nbsp;specified&nbsp;location</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_102">102-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;memory,&nbsp;with&nbsp;a&nbsp;specified&nbsp;size.&nbsp;&nbsp;The&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;ensuring<span  
class="diff_sub">&nbsp;that&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_389">389+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;in</span>&nbsp;memory,&nbsp;with&nbsp;a&nbsp;specified&nbsp;size.&nbsp;&nbsp;The&nbsp;caller&nbsp;is&nbsp;responsible&nbsp;for&nbsp;ensuring</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_103">103-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;memory&nbsp;buffer,&nbsp;passed&nbsp;in&nbsp;as&nbsp;*ptr*,&nbsp;is&nbsp;not&nbsp;deallocated&nbsp;while&nbsp;the<span  
class="diff_sub">&nbsp;returned&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_390">390+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;that&nbsp;the</span>&nbsp;memory&nbsp;buffer,&nbsp;passed&nbsp;in&nbsp;as&nbsp;*ptr*,&nbsp;is&nbsp;not&nbsp;deallocated&nbsp;while&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_104">104-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;object&nbsp;exists.&nbsp;&nbsp;Raises&nbsp;:exc:`ValueError`&nbsp;if&nbsp;*size*&nbsp;is&nbsp;less<span  
class="diff_sub">&nbsp;than&nbsp;zero.&nbsp;&nbsp;Note&nbsp;that</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_391">391+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returned&nbsp;buffer</span>&nbsp;object&nbsp;exists.&nbsp;&nbsp;Raises&nbsp;:exc:`ValueError`&nbsp;if&nbsp;*size*&nbsp;is&nbsp;less</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_105">105-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:const:`Py_END_OF_BUFFER`&nbsp;may&nbsp;*not*&nbsp;be&nbsp;passed&nbsp;for&nbsp;the&nbsp;*size*&nbsp;parameter;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_392">392+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;than&nbsp;zero.&nbsp;&nbsp;Note&nbsp;that&nbsp;:const:`Py_END_OF_BUFFER`&nbsp;may&nbsp;*not*&nbsp;be&nbsp;passed&nbsp;for&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_106">106-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`ValueError`&nbsp;will&nbsp;be&nbsp;raised&nbsp;in&nbsp;that&nbsp;case.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_393">393+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*size*&nbsp;parameter;</span>&nbsp;:exc:`ValueError`&nbsp;will&nbsp;be&nbsp;raised&nbsp;in&nbsp;that&nbsp;case.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to4__8"></td><td  
class="diff_header" id="to4_394">394+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_395">395+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_396">396+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_397">397+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_107">107</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_108">108</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_109">109</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyBuffer_FromReadWriteMemory(void&nbsp;*ptr,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_110">110</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__9">n</a></td><td  
class="diff_header" id="from4_111">111-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;:cfunc:`PyBuffer_FromMemory`,&nbsp;but&nbsp;the&nbsp;returned&nbsp;buffer&nbsp;is<span  
class="diff_sub">&nbsp;writable.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__9">n</a></td><td  
class="diff_header" id="to4_402">402+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;:cfunc:`PyBuffer_FromMemory`,&nbsp;but&nbsp;the&nbsp;returned&nbsp;buffer&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_403">403+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;writable.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_404">404+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to4__9"></td><td  
class="diff_header" id="to4_405">405+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_406">406+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_407">407+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from4_112">112</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_113">113</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from4_114">114</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyBuffer_New(Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_115">115</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from4_116">116</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;writable&nbsp;buffer&nbsp;object&nbsp;that&nbsp;maintains&nbsp;its&nbsp;own&nbsp;memory&nbsp;buffer&nbsp;of</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to4__top">t</a></td><td  
class="diff_header" id="from4_117">117-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*size*&nbsp;bytes.&nbsp;&nbsp;:exc:`ValueError`&nbsp;is&nbsp;returned&nbsp;if&nbsp;*size*&nbsp;is&nbsp;not&nbsp;zero&nbsp;or<span  
class="diff_sub">&nbsp;positive.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to4__top">t</a></td><td  
class="diff_header" id="to4_413">413+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*size*&nbsp;bytes.&nbsp;&nbsp;:exc:`ValueError`&nbsp;is&nbsp;returned&nbsp;if&nbsp;*size*&nbsp;is&nbsp;not&nbsp;zero&nbsp;or</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_118">118-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;memory&nbsp;buffer&nbsp;(as&nbsp;returned&nbsp;by&nbsp;:cfunc:`PyObject_AsWriteBuffer`)&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_414">414+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;positive.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;memory&nbsp;buffer&nbsp;(as&nbsp;returned&nbsp;by</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from4_119">119-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;not&nbsp;specifically&nbsp;aligned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_415">415+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_AsWriteBuffer`)&nbsp;is&nbsp;not&nbsp;specifically&nbsp;aligned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_416">416+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_417">417+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_418">418+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to4_419">419+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/bytearray.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,90 @@
+--- r262/c-api/bytearray.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/bytearray.rst	2009-09-20 16:14:47.015125000 +0900
+@@ -11,68 +11,77 @@
+
+
+ .. ctype:: PyByteArrayObject
+
+    This subtype of :ctype:`PyObject` represents a Python bytearray object.
+
+
+ .. cvar:: PyTypeObject PyByteArray_Type
+
+    This instance of :ctype:`PyTypeObject` represents the Python bytearray  
type;
+    it is the same object as ``bytearray`` in the Python layer.
+
++Type check macros
++^^^^^^^^^^^^^^^^^
+
+ .. cfunction:: int PyByteArray_Check(PyObject *o)
+
+    Return true if the object *o* is a bytearray object or an instance of a
+    subtype of the bytearray type.
+
+
+ .. cfunction:: int PyByteArray_CheckExact(PyObject *o)
+
+    Return true if the object *o* is a bytearray object, but not an  
instance of a
+    subtype of the bytearray type.
+
+
++Direct API functions
++^^^^^^^^^^^^^^^^^^^^
++
+ .. cfunction:: PyObject* PyByteArray_FromObject(PyObject *o)
+
+    Return a new bytearray object from any object, *o*, that implements the
+    buffer protocol.
+
+    .. XXX expand about the buffer protocol, at least somewhere
+
+
+ .. cfunction:: PyObject* PyByteArray_FromStringAndSize(const char  
*string, Py_ssize_t len)
+
+    Create a new bytearray object from *string* and its length, *len*.  On
+    failure, *NULL* is returned.
+
+
+-.. cfunction:: Py_ssize_t PyByteArray_Size(PyObject *bytearray)
++.. cfunction:: PyObject* PyByteArray_Concat(PyObject *a, PyObject *b)
+
+-   Return the size of *bytearray* after checking for a *NULL* pointer.
++   Concat bytearrays *a* and *b* and return a new bytearray with the  
result.
+
+
+-.. cfunction:: Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
++.. cfunction:: Py_ssize_t PyByteArray_Size(PyObject *bytearray)
+
+-   Macro version of :cfunc:`PyByteArray_Size` that doesn't do pointer  
checking.
++   Return the size of *bytearray* after checking for a *NULL* pointer.
+
+
+ .. cfunction:: char* PyByteArray_AsString(PyObject *bytearray)
+
+    Return the contents of *bytearray* as a char array after checking for a
+    *NULL* pointer.
+
+
+-.. cfunction:: char* PyByteArray_AS_STRING(PyObject *bytearray)
++.. cfunction:: int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
+
+-   Macro version of :cfunc:`PyByteArray_AsString` that doesn't check  
pointers.
++   Resize the internal buffer of *bytearray* to *len*.
+
++Macros
++^^^^^^
+
+-.. cfunction:: PyObject* PyByteArray_Concat(PyObject *a, PyObject *b)
++These macros trade safety for speed and they don't check pointers.
+
+-   Concat bytearrays *a* and *b* and return a new bytearray with the  
result.
++.. cfunction:: char* PyByteArray_AS_STRING(PyObject *bytearray)
+
++   Macro version of :cfunc:`PyByteArray_AsString`.
+
+-.. cfunction:: PyObject* PyByteArray_Resize(PyObject *bytearray,  
Py_ssize_t len)
+
+-   Resize the internal buffer of *bytearray* to *len*.
++.. cfunction:: Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)
++
++   Macro version of :cfunc:`PyByteArray_Size`.
=======================================
--- /dev/null
+++ /c-api/diff/bytearray.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,83 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to5__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/bytearray.rst =&gt;  
r266/c-api/bytearray.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to5__0"></td><td  
class="diff_header" id="from5_15">15</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;subtype&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;represents&nbsp;a&nbsp;Python&nbsp;bytearray&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_17">17</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_18">18</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;PyTypeObject&nbsp;PyByteArray_Type</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_19">19</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;instance&nbsp;of&nbsp;:ctype:`PyTypeObject`&nbsp;represents&nbsp;the&nbsp;Python&nbsp;bytearray&nbsp;type;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_21">21</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;it&nbsp;is&nbsp;the&nbsp;same&nbsp;object&nbsp;as&nbsp;``bytearray``&nbsp;in&nbsp;the&nbsp;Python&nbsp;layer.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_22">22</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to5__1">n</a></td><td  
class="diff_header" id="to5_23">23+</td><td nowrap="nowrap"><span  
class="diff_add">Type&nbsp;check&nbsp;macros</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">^^^^^^^^^^^^^^^^^</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_23">23</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_24">24</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyByteArray_Check(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_25">25</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_26">26</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;the&nbsp;object&nbsp;*o*&nbsp;is&nbsp;a&nbsp;bytearray&nbsp;object&nbsp;or&nbsp;an&nbsp;instance&nbsp;of&nbsp;a</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to5__1"></td><td  
class="diff_header" id="from5_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;subtype&nbsp;of&nbsp;the&nbsp;bytearray&nbsp;type.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_28">28</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_29">29</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_30">30</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyByteArray_CheckExact(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_31">31</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_32">32</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;the&nbsp;object&nbsp;*o*&nbsp;is&nbsp;a&nbsp;bytearray&nbsp;object,&nbsp;but&nbsp;not&nbsp;an&nbsp;instance&nbsp;of&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_33">33</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;subtype&nbsp;of&nbsp;the&nbsp;bytearray&nbsp;type.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_34">34</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to5__2">n</a></td><td  
class="diff_header" id="to5_37">37+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_38">38+</td><td nowrap="nowrap"><span  
class="diff_add">Direct&nbsp;API&nbsp;functions</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_39">39+</td><td nowrap="nowrap"><span  
class="diff_add">^^^^^^^^^^^^^^^^^^^^</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_35">35</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_36">36</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyByteArray_FromObject(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_37">37</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_38">38</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;bytearray&nbsp;object&nbsp;from&nbsp;any&nbsp;object,&nbsp;*o*,&nbsp;that&nbsp;implements&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_39">39</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;buffer&nbsp;protocol.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_40">40</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;XXX&nbsp;expand&nbsp;about&nbsp;the&nbsp;buffer&nbsp;protocol,&nbsp;at&nbsp;least&nbsp;somewhere</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to5__2"></td><td  
class="diff_header" id="from5_42">42</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_43">43</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_44">44</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyByteArray_FromStringAndSize(const&nbsp;char&nbsp;*string,&nbsp;Py_ssize_t&nbsp;len)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_45">45</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_46">46</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;bytearray&nbsp;object&nbsp;from&nbsp;*string*&nbsp;and&nbsp;its&nbsp;length,&nbsp;*len*.&nbsp;&nbsp;On</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_47">47</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure,&nbsp;*NULL*&nbsp;is&nbsp;returned.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_48">48</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_49">49</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"  
id="difflib_chg_to5__3"><a href="#difflib_chg_to5__3">n</a></td><td  
class="diff_header" id="to5_55">55+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyByteArray_Concat(PyObject&nbsp;*a,&nbsp;PyObject&nbsp;*b)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_56">56+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_57">57+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Concat&nbsp;bytearrays&nbsp;*a*&nbsp;and&nbsp;*b*&nbsp;and&nbsp;return&nbsp;a&nbsp;new&nbsp;bytearray&nbsp;with&nbsp;the&nbsp;result.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_58">58+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_59">59+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_50">50</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyByteArray_Size(PyObject&nbsp;*bytearray)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_51">51</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_52">52</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;size&nbsp;of&nbsp;*bytearray*&nbsp;after&nbsp;checking&nbsp;for&nbsp;a&nbsp;*NULL*&nbsp;pointer.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to5__4">n</a></td><td  
class="diff_header" id="from5_53">53-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_54">54-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_55">55-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyByteArray_GET_SIZE(PyObject&nbsp;*bytearray)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_56">56-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_57">57-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyByteArray_Size`&nbsp;that&nbsp;doesn't&nbsp;do&nbsp;pointer&nbsp;checking.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to5__4"></td><td  
class="diff_header" id="from5_58">58</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_59">59</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from5_60">60</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;char*&nbsp;PyByteArray_AsString(PyObject&nbsp;*bytearray)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_61">61</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_62">62</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;contents&nbsp;of&nbsp;*bytearray*&nbsp;as&nbsp;a&nbsp;char&nbsp;array&nbsp;after&nbsp;checking&nbsp;for&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_63">63</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*NULL*&nbsp;pointer.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_64">64</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_65">65</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to5__5">n</a></td><td class="diff_header"  
id="to5_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;PyByteArray_Resize(PyObject&nbsp;*bytearray,&nbsp;Py_ssize_t&nbsp;len)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_73">73+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Resize&nbsp;the&nbsp;internal&nbsp;buffer&nbsp;of&nbsp;*bytearray*&nbsp;to&nbsp;*len*.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to5__5"></td><td  
class="diff_header" id="to5_74">74+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_75">75+</td><td nowrap="nowrap"><span  
class="diff_add">Macros</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_76">76+</td><td nowrap="nowrap"><span  
class="diff_add">^^^^^^</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to5__6"></td><td  
class="diff_header" id="to5_77">77+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to5_78">78+</td><td nowrap="nowrap"><span  
class="diff_add">These&nbsp;macros&nbsp;trade&nbsp;safety&nbsp;for&nbsp;speed&nbsp;and&nbsp;they&nbsp;don't&nbsp;check&nbsp;pointers.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to5__7"></td><td  
class="diff_header" id="to5_79">79+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_66">66</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;char*&nbsp;PyByteArray_AS_STRING(PyObject&nbsp;*bytearray)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_67">67</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to5__6">n</a></td><td  
class="diff_header" id="from5_68">68-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyByteArray_AsString`<span  
class="diff_sub">&nbsp;that&nbsp;doesn't&nbsp;check&nbsp;pointers</span>.</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to5__6">n</a></td><td  
class="diff_header" id="to5_82">82+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyByteArray_AsString`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from5_70">70</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to5__7">n</a></td><td class="diff_header"  
id="from5_71">71-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyByteArray_Concat(PyObject&nbsp;*a,&nbsp;PyObject&nbsp;*b)</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to5__7">n</a></td><td  
class="diff_header" id="to5_85">85+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyByteArray_GET_SIZE(PyObject&nbsp;*bytearray)</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from5_72">72</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to5__top">t</a></td><td  
class="diff_header" id="from5_73">73-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Concat&nbsp;bytearrays&nbsp;*a*&nbsp;and&nbsp;*b*&nbsp;and&nbsp;return&nbsp;a&nbsp;new&nbsp;bytearray&nbsp;with&nbsp;the&nbsp;result.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to5__top">t</a></td><td  
class="diff_header" id="to5_87">87+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyByteArray_Size`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_74">74-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_75">75-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_76">76-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyByteArray_Resize(PyObject&nbsp;*bytearray,&nbsp;Py_ssize_t&nbsp;len)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_77">77-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from5_78">78-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Resize&nbsp;the&nbsp;internal&nbsp;buffer&nbsp;of&nbsp;*bytearray*&nbsp;to&nbsp;*len*.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/datetime.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,32 @@
+--- r262/c-api/datetime.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/datetime.rst	2010-06-27 03:53:49.395786000 +0900
+@@ -1,25 +1,26 @@
+ .. highlightlang:: c
+
+ .. _datetimeobjects:
+
+ DateTime Objects
+ ----------------
+
+ Various date and time objects are supplied by the :mod:`datetime` module.
+ Before using any of these functions, the header file :file:`datetime.h`  
must be
+ included in your source (note that this is not included  
by :file:`Python.h`),
+-and the macro :cfunc:`PyDateTime_IMPORT` must be invoked.  The macro puts  
a
+-pointer to a C structure into a static variable,  ``PyDateTimeAPI``, that  
is
+-used by the following macros.
++and the macro :cmacro:`PyDateTime_IMPORT` must be invoked, usually as  
part of
++the module initialisation function.  The macro puts a pointer to a C  
structure
++into a static variable, :cdata:`PyDateTimeAPI`, that is used by the  
following
++macros.
+
+ Type-check macros:
+
+
+ .. cfunction:: int PyDate_Check(PyObject *ob)
+
+    Return true if *ob* is of type :cdata:`PyDateTime_DateType` or a  
subtype of
+    :cdata:`PyDateTime_DateType`.  *ob* must not be *NULL*.
+
+    .. versionadded:: 2.4
+
+
=======================================
--- /dev/null
+++ /c-api/diff/datetime.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,55 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to6__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/datetime.rst =&gt;  
r266/c-api/datetime.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to6__0"></td><td  
class="diff_header" id="from6_3">3</td><td  
nowrap="nowrap">..&nbsp;_datetimeobjects:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_4">4</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from6_5">5</td><td  
nowrap="nowrap">DateTime&nbsp;Objects</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_6">6</td><td  
nowrap="nowrap">----------------</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_7">7</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from6_8">8</td><td  
nowrap="nowrap">Various&nbsp;date&nbsp;and&nbsp;time&nbsp;objects&nbsp;are&nbsp;supplied&nbsp;by&nbsp;the&nbsp;:mod:`datetime`&nbsp;module.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_9">9</td><td  
nowrap="nowrap">Before&nbsp;using&nbsp;any&nbsp;of&nbsp;these&nbsp;functions,&nbsp;the&nbsp;header&nbsp;file&nbsp;:file:`datetime.h`&nbsp;must&nbsp;be</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_10">10</td><td  
nowrap="nowrap">included&nbsp;in&nbsp;your&nbsp;source&nbsp;(note&nbsp;that&nbsp;this&nbsp;is&nbsp;not&nbsp;included&nbsp;by&nbsp;:file:`Python.h`),</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to6__top">t</a></td><td  
class="diff_header" id="from6_11">11-</td><td nowrap="nowrap"><span  
class="diff_sub">and&nbsp;the&nbsp;macro&nbsp;:cfunc:`PyDateTime_IMPORT`&nbsp;must&nbsp;be&nbsp;invoked.&nbsp;&nbsp;The&nbsp;macro&nbsp;puts&nbsp;a</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to6__top">t</a></td><td  
class="diff_header" id="to6_11">11+</td><td nowrap="nowrap"><span  
class="diff_add">and&nbsp;the&nbsp;macro&nbsp;:cmacro:`PyDateTime_IMPORT`&nbsp;must&nbsp;be&nbsp;invoked,&nbsp;usually&nbsp;as&nbsp;part&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_12">12-</td><td nowrap="nowrap"><span  
class="diff_sub">pointer&nbsp;to&nbsp;a&nbsp;C&nbsp;structure&nbsp;into&nbsp;a&nbsp;static&nbsp;variable,&nbsp;&nbsp;``PyDateTimeAPI``,&nbsp;that&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to6_12">12+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;module&nbsp;initialisation&nbsp;function.&nbsp;&nbsp;The&nbsp;macro&nbsp;puts&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;C&nbsp;structure</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_13">13-</td><td nowrap="nowrap"><span  
class="diff_sub">used&nbsp;by&nbsp;the&nbsp;following&nbsp;macros.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to6_13">13+</td><td nowrap="nowrap"><span  
class="diff_add">into&nbsp;a&nbsp;static&nbsp;variable,&nbsp;:cdata:`PyDateTimeAPI`,&nbsp;that&nbsp;is&nbsp;used&nbsp;by&nbsp;the&nbsp;following</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to6_14">14+</td><td nowrap="nowrap"><span  
class="diff_add">macros.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from6_14">14</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_15">15</td><td  
nowrap="nowrap">Type-check&nbsp;macros:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_16">16</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from6_17">17</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from6_18">18</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDate_Check(PyObject&nbsp;*ob)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_19">19</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from6_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*ob*&nbsp;is&nbsp;of&nbsp;type&nbsp;:cdata:`PyDateTime_DateType`&nbsp;or&nbsp;a&nbsp;subtype&nbsp;of</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from6_21">21</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cdata:`PyDateTime_DateType`.&nbsp;&nbsp;*ob*&nbsp;must&nbsp;not&nbsp;be&nbsp;*NULL*.</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/dict.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,278 @@
+--- r262/c-api/dict.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/dict.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -10,211 +10,224 @@
+
+ .. ctype:: PyDictObject
+
+    This subtype of :ctype:`PyObject` represents a Python dictionary  
object.
+
+
+ .. cvar:: PyTypeObject PyDict_Type
+
+    .. index::
+       single: DictType (in module types)
+       single: DictionaryType (in module types)
+
+-   This instance of :ctype:`PyTypeObject` represents the Python  
dictionary type.
+-   This is exposed to Python programs as ``dict`` and ``types.DictType``.
++   This instance of :ctype:`PyTypeObject` represents the Python dictionary
++   type.  This is exposed to Python programs as ``dict`` and
++   ``types.DictType``.
+
+
+ .. cfunction:: int PyDict_Check(PyObject *p)
+
+    Return true if *p* is a dict object or an instance of a subtype of the  
dict
+    type.
+
+    .. versionchanged:: 2.2
+       Allowed subtypes to be accepted.
+
+
+ .. cfunction:: int PyDict_CheckExact(PyObject *p)
+
+-   Return true if *p* is a dict object, but not an instance of a subtype  
of the
+-   dict type.
++   Return true if *p* is a dict object, but not an instance of a subtype  
of
++   the dict type.
+
+    .. versionadded:: 2.4
+
+
+ .. cfunction:: PyObject* PyDict_New()
+
+    Return a new empty dictionary, or *NULL* on failure.
+
+
+ .. cfunction:: PyObject* PyDictProxy_New(PyObject *dict)
+
+-   Return a proxy object for a mapping which enforces read-only  
behavior.  This is
+-   normally used to create a proxy to prevent modification of the  
dictionary for
+-   non-dynamic class types.
++   Return a proxy object for a mapping which enforces read-only behavior.
++   This is normally used to create a proxy to prevent modification of the
++   dictionary for non-dynamic class types.
+
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: void PyDict_Clear(PyObject *p)
+
+    Empty an existing dictionary of all key-value pairs.
+
+
+ .. cfunction:: int PyDict_Contains(PyObject *p, PyObject *key)
+
+-   Determine if dictionary *p* contains *key*.  If an item in *p* is  
matches *key*,
+-   return ``1``, otherwise return ``0``.  On error, return ``-1``.  This  
is
+-   equivalent to the Python expression ``key in p``.
++   Determine if dictionary *p* contains *key*.  If an item in *p* is  
matches
++   *key*, return ``1``, otherwise return ``0``.  On error, return ``-1``.
++   This is equivalent to the Python expression ``key in p``.
+
+    .. versionadded:: 2.4
+
+
+ .. cfunction:: PyObject* PyDict_Copy(PyObject *p)
+
+    Return a new dictionary that contains the same key-value pairs as *p*.
+
+    .. versionadded:: 1.6
+
+
+ .. cfunction:: int PyDict_SetItem(PyObject *p, PyObject *key, PyObject  
*val)
+
+    Insert *value* into the dictionary *p* with a key of *key*.  *key*  
must be
+-   :term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return  
``0``
+-   on success or ``-1`` on failure.
++   :term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return
++   ``0`` on success or ``-1`` on failure.
+
+
+ .. cfunction:: int PyDict_SetItemString(PyObject *p, const char *key,  
PyObject *val)
+
+    .. index:: single: PyString_FromString()
+
+-   Insert *value* into the dictionary *p* using *key* as a key. *key*  
should be a
+-   :ctype:`char\*`.  The key object is created using  
``PyString_FromString(key)``.
+-   Return ``0`` on success or ``-1`` on failure.
++   Insert *value* into the dictionary *p* using *key* as a key. *key*  
should
++   be a :ctype:`char\*`.  The key object is created using
++   ``PyString_FromString(key)``.  Return ``0`` on success or ``-1`` on
++   failure.
+
+
+ .. cfunction:: int PyDict_DelItem(PyObject *p, PyObject *key)
+
+-   Remove the entry in dictionary *p* with key *key*. *key* must be  
hashable; if it
+-   isn't, :exc:`TypeError` is raised.  Return ``0`` on success or ``-1``  
on
+-   failure.
++   Remove the entry in dictionary *p* with key *key*. *key* must be  
hashable;
++   if it isn't, :exc:`TypeError` is raised.  Return ``0`` on success or  
``-1``
++   on failure.
+
+
+ .. cfunction:: int PyDict_DelItemString(PyObject *p, char *key)
+
+    Remove the entry in dictionary *p* which has a key specified by the  
string
+    *key*.  Return ``0`` on success or ``-1`` on failure.
+
+
+ .. cfunction:: PyObject* PyDict_GetItem(PyObject *p, PyObject *key)
+
+-   Return the object from dictionary *p* which has a key *key*.  Return  
*NULL* if
+-   the key *key* is not present, but *without* setting an exception.
++   Return the object from dictionary *p* which has a key *key*.  Return  
*NULL*
++   if the key *key* is not present, but *without* setting an exception.
+
+
+ .. cfunction:: PyObject* PyDict_GetItemString(PyObject *p, const char  
*key)
+
+    This is the same as :cfunc:`PyDict_GetItem`, but *key* is specified as  
a
+    :ctype:`char\*`, rather than a :ctype:`PyObject\*`.
+
+
+ .. cfunction:: PyObject* PyDict_Items(PyObject *p)
+
+-   Return a :ctype:`PyListObject` containing all the items from the  
dictionary, as
+-   in the dictionary method :meth:`dict.items`.
++   Return a :ctype:`PyListObject` containing all the items from the
++   dictionary, as in the dictionary method :meth:`dict.items`.
+
+
+ .. cfunction:: PyObject* PyDict_Keys(PyObject *p)
+
+-   Return a :ctype:`PyListObject` containing all the keys from the  
dictionary, as
+-   in the dictionary method :meth:`dict.keys`.
++   Return a :ctype:`PyListObject` containing all the keys from the  
dictionary,
++   as in the dictionary method :meth:`dict.keys`.
+
+
+ .. cfunction:: PyObject* PyDict_Values(PyObject *p)
+
+-   Return a :ctype:`PyListObject` containing all the values from the  
dictionary
+-   *p*, as in the dictionary method :meth:`dict.values`.
++   Return a :ctype:`PyListObject` containing all the values from the
++   dictionary *p*, as in the dictionary method :meth:`dict.values`.
+
+
+ .. cfunction:: Py_ssize_t PyDict_Size(PyObject *p)
+
+    .. index:: builtin: len
+
+-   Return the number of items in the dictionary.  This is equivalent to  
``len(p)``
+-   on a dictionary.
++   Return the number of items in the dictionary.  This is equivalent to
++   ``len(p)`` on a dictionary.
++
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int` type.  This might require  
changes
++      in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PyDict_Next(PyObject *p, Py_ssize_t *ppos, PyObject  
**pkey, PyObject **pvalue)
+
+-   Iterate over all key-value pairs in the dictionary *p*.   
The :ctype:`int`
+-   referred to by *ppos* must be initialized to ``0`` prior to the first  
call to
+-   this function to start the iteration; the function returns true for  
each pair in
+-   the dictionary, and false once all pairs have been reported.  The  
parameters
+-   *pkey* and *pvalue* should either point to :ctype:`PyObject\*`  
variables that
+-   will be filled in with each key and value, respectively, or may be  
*NULL*.  Any
+-   references returned through them are borrowed.  *ppos* should not be  
altered
+-   during iteration. Its value represents offsets within the internal  
dictionary
+-   structure, and since the structure is sparse, the offsets are not  
consecutive.
++   Iterate over all key-value pairs in the dictionary *p*.  The
++   :ctype:`Py_ssize_t` referred to by *ppos* must be initialized to ``0``
++   prior to the first call to this function to start the iteration; the
++   function returns true for each pair in the dictionary, and false once  
all
++   pairs have been reported.  The parameters *pkey* and *pvalue* should  
either
++   point to :ctype:`PyObject\*` variables that will be filled in with  
each key
++   and value, respectively, or may be *NULL*.  Any references returned  
through
++   them are borrowed.  *ppos* should not be altered during iteration. Its
++   value represents offsets within the internal dictionary structure, and
++   since the structure is sparse, the offsets are not consecutive.
+
+    For example::
+
+       PyObject *key, *value;
+       Py_ssize_t pos = 0;
+
+       while (PyDict_Next(self->dict, &pos, &key, &value)) {
+           /* do something interesting with the values... */
+           ...
+       }
+
+-   The dictionary *p* should not be mutated during iteration.  It is safe  
(since
+-   Python 2.1) to modify the values of the keys as you iterate over the  
dictionary,
+-   but only so long as the set of keys does not change.  For example::
++   The dictionary *p* should not be mutated during iteration.  It is safe
++   (since Python 2.1) to modify the values of the keys as you iterate  
over the
++   dictionary, but only so long as the set of keys does not change.  For
++   example::
+
+       PyObject *key, *value;
+       Py_ssize_t pos = 0;
+
+       while (PyDict_Next(self->dict, &pos, &key, &value)) {
+           int i = PyInt_AS_LONG(value) + 1;
+           PyObject *o = PyInt_FromLong(i);
+           if (o == NULL)
+               return -1;
+           if (PyDict_SetItem(self->dict, key, o) < 0) {
+               Py_DECREF(o);
+               return -1;
+           }
+           Py_DECREF(o);
+       }
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int *` type for *ppos*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PyDict_Merge(PyObject *a, PyObject *b, int override)
+
+-   Iterate over mapping object *b* adding key-value pairs to dictionary  
*a*. *b*
+-   may be a dictionary, or any object supporting :func:`PyMapping_Keys`  
and
+-   :func:`PyObject_GetItem`. If *override* is true, existing pairs in *a*  
will be
+-   replaced if a matching key is found in *b*, otherwise pairs will only  
be added
+-   if there is not a matching key in *a*. Return ``0`` on success or  
``-1`` if an
+-   exception was raised.
++   Iterate over mapping object *b* adding key-value pairs to dictionary  
*a*.
++   *b* may be a dictionary, or any object  
supporting :func:`PyMapping_Keys`
++   and :func:`PyObject_GetItem`. If *override* is true, existing pairs in  
*a*
++   will be replaced if a matching key is found in *b*, otherwise pairs  
will
++   only be added if there is not a matching key in *a*. Return ``0`` on
++   success or ``-1`` if an exception was raised.
+
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: int PyDict_Update(PyObject *a, PyObject *b)
+
+    This is the same as ``PyDict_Merge(a, b, 1)`` in C, or ``a.update(b)``  
in
+    Python.  Return ``0`` on success or ``-1`` if an exception was raised.
+
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: int PyDict_MergeFromSeq2(PyObject *a, PyObject *seq2, int  
override)
+
+-   Update or merge into dictionary *a*, from the key-value pairs in  
*seq2*.  *seq2*
+-   must be an iterable object producing iterable objects of length 2,  
viewed as
+-   key-value pairs.  In case of duplicate keys, the last wins if  
*override* is
+-   true, else the first wins. Return ``0`` on success or ``-1`` if an  
exception was
+-   raised. Equivalent Python (except for the return value)::
++   Update or merge into dictionary *a*, from the key-value pairs in  
*seq2*.
++   *seq2* must be an iterable object producing iterable objects of length  
2,
++   viewed as key-value pairs.  In case of duplicate keys, the last wins if
++   *override* is true, else the first wins. Return ``0`` on success or  
``-1``
++   if an exception was raised. Equivalent Python (except for the return
++   value)::
+
+       def PyDict_MergeFromSeq2(a, seq2, override):
+           for key, value in seq2:
+               if override or key not in a:
+                   a[key] = value
+
+    .. versionadded:: 2.2
=======================================
--- /dev/null
+++ /c-api/diff/dict.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,163 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to7__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/dict.rst =&gt;  
r266/c-api/dict.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to7__0"></td><td  
class="diff_header" id="from7_14">14</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_15">15</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_16">16</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;PyTypeObject&nbsp;PyDict_Type</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_17">17</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_18">18</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_19">19</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;DictType&nbsp;(in&nbsp;module&nbsp;types)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;DictionaryType&nbsp;(in&nbsp;module&nbsp;types)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_21">21</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__1">n</a></td><td  
class="diff_header" id="from7_22">22-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;instance&nbsp;of&nbsp;:ctype:`PyTypeObject`&nbsp;represents&nbsp;the&nbsp;Python&nbsp;dictionary<span  
class="diff_sub">&nbsp;type.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__1">n</a></td><td  
class="diff_header" id="to7_22">22+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;instance&nbsp;of&nbsp;:ctype:`PyTypeObject`&nbsp;represents&nbsp;the&nbsp;Python&nbsp;dictionary</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_23">23-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;exposed&nbsp;to&nbsp;Python&nbsp;programs&nbsp;as&nbsp;``dict``&nbsp;and<span  
class="diff_sub">&nbsp;``types.DictType``.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_23">23+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;type.</span>&nbsp;&nbsp;This&nbsp;is&nbsp;exposed&nbsp;to&nbsp;Python&nbsp;programs&nbsp;as&nbsp;``dict``&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;``types.DictType``.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_24">24</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_25">25</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_26">26</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_Check(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_27">27</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_28">28</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;dict&nbsp;object&nbsp;or&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of&nbsp;the&nbsp;dict</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to7__1"></td><td  
class="diff_header" id="from7_29">29</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;type.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_30">30</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_31">31</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_32">32</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allowed&nbsp;subtypes&nbsp;to&nbsp;be&nbsp;accepted.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_33">33</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_34">34</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_35">35</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_CheckExact(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_36">36</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__2">n</a></td><td  
class="diff_header" id="from7_37">37-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;dict&nbsp;object,&nbsp;but&nbsp;not&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__2">n</a></td><td  
class="diff_header" id="to7_38">38+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;dict&nbsp;object,&nbsp;but&nbsp;not&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_38">38-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;dict&nbsp;type.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_39">39+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;dict&nbsp;type.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_39">39</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_40">40</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_41">41</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to7__2"></td><td class="diff_header"  
id="from7_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_43">43</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_New()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_44">44</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_45">45</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;empty&nbsp;dictionary,&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_46">46</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_47">47</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_48">48</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDictProxy_New(PyObject&nbsp;*dict)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_49">49</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__3">n</a></td><td  
class="diff_header" id="from7_50">50-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;proxy&nbsp;object&nbsp;for&nbsp;a&nbsp;mapping&nbsp;which&nbsp;enforces&nbsp;read-only&nbsp;behavior.<span  
class="diff_sub">&nbsp;&nbsp;This&nbsp;is</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__3">n</a></td><td  
class="diff_header" id="to7_51">51+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;proxy&nbsp;object&nbsp;for&nbsp;a&nbsp;mapping&nbsp;which&nbsp;enforces&nbsp;read-only&nbsp;behavior.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_51">51-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;normally&nbsp;used&nbsp;to&nbsp;create&nbsp;a&nbsp;proxy&nbsp;to&nbsp;prevent&nbsp;modification&nbsp;of&nbsp;the<span  
class="diff_sub">&nbsp;dictionary&nbsp;for</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_52">52+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;This&nbsp;is</span>&nbsp;normally&nbsp;used&nbsp;to&nbsp;create&nbsp;a&nbsp;proxy&nbsp;to&nbsp;prevent&nbsp;modification&nbsp;of&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_52">52-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;non-dynamic&nbsp;class&nbsp;types.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_53">53+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;dictionary&nbsp;for</span>&nbsp;non-dynamic&nbsp;class&nbsp;types.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_53">53</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_55">55</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to7__3"></td><td class="diff_header"  
id="from7_56">56</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_57">57</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyDict_Clear(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_58">58</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_59">59</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Empty&nbsp;an&nbsp;existing&nbsp;dictionary&nbsp;of&nbsp;all&nbsp;key-value&nbsp;pairs.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_60">60</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_61">61</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_62">62</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_Contains(PyObject&nbsp;*p,&nbsp;PyObject&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_63">63</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__4">n</a></td><td  
class="diff_header" id="from7_64">64-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Determine&nbsp;if&nbsp;dictionary&nbsp;*p*&nbsp;contains&nbsp;*key*.&nbsp;&nbsp;If&nbsp;an&nbsp;item&nbsp;in&nbsp;*p*&nbsp;is&nbsp;matches<span  
class="diff_sub">&nbsp;*key*,</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__4">n</a></td><td  
class="diff_header" id="to7_65">65+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Determine&nbsp;if&nbsp;dictionary&nbsp;*p*&nbsp;contains&nbsp;*key*.&nbsp;&nbsp;If&nbsp;an&nbsp;item&nbsp;in&nbsp;*p*&nbsp;is&nbsp;matches</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_65">65-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;return&nbsp;``1``,&nbsp;otherwise&nbsp;return&nbsp;``0``.&nbsp;&nbsp;On&nbsp;error,&nbsp;return&nbsp;``-1``.<span  
class="diff_sub">&nbsp;&nbsp;This&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_66">66+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*key*,</span>&nbsp;return&nbsp;``1``,&nbsp;otherwise&nbsp;return&nbsp;``0``.&nbsp;&nbsp;On&nbsp;error,&nbsp;return&nbsp;``-1``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_66">66-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``key&nbsp;in&nbsp;p``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_67">67+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;This&nbsp;is</span>&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``key&nbsp;in&nbsp;p``.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_67">67</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_70">70</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_71">71</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_Copy(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_72">72</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to7__4"></td><td class="diff_header"  
id="from7_73">73</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;dictionary&nbsp;that&nbsp;contains&nbsp;the&nbsp;same&nbsp;key-value&nbsp;pairs&nbsp;as&nbsp;*p*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_74">74</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_75">75</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_76">76</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_77">77</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_78">78</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_SetItem(PyObject&nbsp;*p,&nbsp;PyObject&nbsp;*key,&nbsp;PyObject&nbsp;*val)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_79">79</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_80">80</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Insert&nbsp;*value*&nbsp;into&nbsp;the&nbsp;dictionary&nbsp;*p*&nbsp;with&nbsp;a&nbsp;key&nbsp;of&nbsp;*key*.&nbsp;&nbsp;*key*&nbsp;must&nbsp;be</td></tr><tr><td  
class="diff_next" id="difflib_chg_to7__5"><a  
href="#difflib_chg_to7__5">n</a></td><td class="diff_header"  
id="from7_81">81-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:term:`hashable`;&nbsp;if&nbsp;it&nbsp;isn't,&nbsp;:exc:`TypeError`&nbsp;will&nbsp;be&nbsp;raised.&nbsp;Return<span  
class="diff_sub">&nbsp;``0``</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to7__5"><a  
href="#difflib_chg_to7__5">n</a></td><td class="diff_header"  
id="to7_82">82+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:term:`hashable`;&nbsp;if&nbsp;it&nbsp;isn't,&nbsp;:exc:`TypeError`&nbsp;will&nbsp;be&nbsp;raised.&nbsp;Return</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_82">82-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_83">83+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;``0``</span>&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_83">83</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_84">84</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_85">85</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_SetItemString(PyObject&nbsp;*p,&nbsp;const&nbsp;char&nbsp;*key,&nbsp;PyObject&nbsp;*val)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_86">86</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_87">87</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;PyString_FromString()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_88">88</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to7__6"><a  
href="#difflib_chg_to7__6">n</a></td><td class="diff_header"  
id="from7_89">89-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Insert&nbsp;*value*&nbsp;into&nbsp;the&nbsp;dictionary&nbsp;*p*&nbsp;using&nbsp;*key*&nbsp;as&nbsp;a&nbsp;key.&nbsp;*key*&nbsp;should<span  
class="diff_sub">&nbsp;be&nbsp;a</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to7__6"><a  
href="#difflib_chg_to7__6">n</a></td><td class="diff_header"  
id="to7_90">90+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Insert&nbsp;*value*&nbsp;into&nbsp;the&nbsp;dictionary&nbsp;*p*&nbsp;using&nbsp;*key*&nbsp;as&nbsp;a&nbsp;key.&nbsp;*key*&nbsp;should</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_90">90-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:ctype:`char\*`.&nbsp;&nbsp;The&nbsp;key&nbsp;object&nbsp;is&nbsp;created&nbsp;using&nbsp;``PyString_FromString(key)``.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_91">91+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;be&nbsp;a&nbsp;:ctype:`char\*`.&nbsp;&nbsp;The&nbsp;key&nbsp;object&nbsp;is&nbsp;created&nbsp;using</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_91">91-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;on&nbsp;failure.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_92">92+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;``PyString_FromString(key)``.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;on</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_93">93+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;failure.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_92">92</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_93">93</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_94">94</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_DelItem(PyObject&nbsp;*p,&nbsp;PyObject&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_95">95</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__7">n</a></td><td  
class="diff_header" id="from7_96">96-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Remove&nbsp;the&nbsp;entry&nbsp;in&nbsp;dictionary&nbsp;*p*&nbsp;with&nbsp;key&nbsp;*key*.&nbsp;*key*&nbsp;must&nbsp;be&nbsp;hashable;<span  
class="diff_sub">&nbsp;if&nbsp;it</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__7">n</a></td><td  
class="diff_header" id="to7_98">98+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Remove&nbsp;the&nbsp;entry&nbsp;in&nbsp;dictionary&nbsp;*p*&nbsp;with&nbsp;key&nbsp;*key*.&nbsp;*key*&nbsp;must&nbsp;be&nbsp;hashable;</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_97">97-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;isn't,&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``<span  
class="diff_sub">&nbsp;on</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_99">99+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;if&nbsp;it</span>&nbsp;isn't,&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_98">98-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_100">100+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;on</span>&nbsp;failure.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_99">99</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_100">100</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to7__7"></td><td class="diff_header"  
id="from7_101">101</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_DelItemString(PyObject&nbsp;*p,&nbsp;char&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_102">102</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_103">103</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Remove&nbsp;the&nbsp;entry&nbsp;in&nbsp;dictionary&nbsp;*p*&nbsp;which&nbsp;has&nbsp;a&nbsp;key&nbsp;specified&nbsp;by&nbsp;the&nbsp;string</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_104">104</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*key*.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_105">105</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_106">106</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_107">107</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_GetItem(PyObject&nbsp;*p,&nbsp;PyObject&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_108">108</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__8">n</a></td><td  
class="diff_header" id="from7_109">109-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;object&nbsp;from&nbsp;dictionary&nbsp;*p*&nbsp;which&nbsp;has&nbsp;a&nbsp;key&nbsp;*key*.&nbsp;&nbsp;Return&nbsp;*NULL*<span  
class="diff_sub">&nbsp;if</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__8">n</a></td><td  
class="diff_header" id="to7_111">111+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;object&nbsp;from&nbsp;dictionary&nbsp;*p*&nbsp;which&nbsp;has&nbsp;a&nbsp;key&nbsp;*key*.&nbsp;&nbsp;Return&nbsp;*NULL*</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_110">110-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;key&nbsp;*key*&nbsp;is&nbsp;not&nbsp;present,&nbsp;but&nbsp;*without*&nbsp;setting&nbsp;an&nbsp;exception.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_112">112+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;if</span>&nbsp;the&nbsp;key&nbsp;*key*&nbsp;is&nbsp;not&nbsp;present,&nbsp;but&nbsp;*without*&nbsp;setting&nbsp;an&nbsp;exception.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_111">111</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_112">112</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to7__8"></td><td class="diff_header"  
id="from7_113">113</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_GetItemString(PyObject&nbsp;*p,&nbsp;const&nbsp;char&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_114">114</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_115">115</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;:cfunc:`PyDict_GetItem`,&nbsp;but&nbsp;*key*&nbsp;is&nbsp;specified&nbsp;as&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_116">116</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`char\*`,&nbsp;rather&nbsp;than&nbsp;a&nbsp;:ctype:`PyObject\*`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_117">117</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_118">118</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to7__9"></td><td class="diff_header"  
id="from7_119">119</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_Items(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_120">120</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__9">n</a></td><td  
class="diff_header" id="from7_121">121-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;items&nbsp;from&nbsp;the<span  
class="diff_sub">&nbsp;dictionary,&nbsp;as</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__9">n</a></td><td  
class="diff_header" id="to7_123">123+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;items&nbsp;from&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_122">122-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.items`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_124">124+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;dictionary,&nbsp;as&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.items`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_123">123</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_124">124</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to7__10"></td><td class="diff_header"  
id="from7_125">125</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_Keys(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_126">126</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__10">n</a></td><td  
class="diff_header" id="from7_127">127-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;keys&nbsp;from&nbsp;the&nbsp;dictionary,<span  
class="diff_sub">&nbsp;as</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__10">n</a></td><td  
class="diff_header" id="to7_129">129+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;keys&nbsp;from&nbsp;the&nbsp;dictionary,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_128">128-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.keys`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_130">130+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;as</span>&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.keys`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_129">129</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_130">130</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_131">131</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyDict_Values(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_132">132</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to7__11"><a  
href="#difflib_chg_to7__11">n</a></td><td class="diff_header"  
id="from7_133">133-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;values&nbsp;from&nbsp;the<span  
class="diff_sub">&nbsp;dictionary</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to7__11"><a  
href="#difflib_chg_to7__11">n</a></td><td class="diff_header"  
id="to7_135">135+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;:ctype:`PyListObject`&nbsp;containing&nbsp;all&nbsp;the&nbsp;values&nbsp;from&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_134">134-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*p*,&nbsp;as&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.values`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_136">136+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;dictionary&nbsp;*p*,&nbsp;as&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;method&nbsp;:meth:`dict.values`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_135">135</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_136">136</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_137">137</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyDict_Size(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_138">138</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_140">140</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__12">n</a></td><td  
class="diff_header" id="from7_141">141-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;in&nbsp;the&nbsp;dictionary.&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to<span  
class="diff_sub">&nbsp;``len(p)``</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__12">n</a></td><td  
class="diff_header" id="to7_143">143+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;in&nbsp;the&nbsp;dictionary.&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_142">142-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;on&nbsp;a&nbsp;dictionary.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_144">144+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;``len(p)``</span>&nbsp;on&nbsp;a&nbsp;dictionary.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to7__12"></td><td  
class="diff_header" id="to7_145">145+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_146">146+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_147">147+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;&nbsp;This&nbsp;might&nbsp;require&nbsp;changes</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_148">148+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_143">143</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_144">144</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_145">145</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_Next(PyObject&nbsp;*p,&nbsp;Py_ssize_t&nbsp;*ppos,&nbsp;PyObject&nbsp;**pkey,&nbsp;PyObject&nbsp;**pvalue)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_146">146</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__13">n</a></td><td  
class="diff_header" id="from7_147">147-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Iterate&nbsp;over&nbsp;all&nbsp;key-value&nbsp;pairs&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;*p*.&nbsp;&nbsp;The<span  
class="diff_sub">&nbsp;:ctype:`int`</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__13">n</a></td><td  
class="diff_header" id="to7_153">153+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Iterate&nbsp;over&nbsp;all&nbsp;key-value&nbsp;pairs&nbsp;in&nbsp;the&nbsp;dictionary&nbsp;*p*.&nbsp;&nbsp;The</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_148">148-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;referred&nbsp;to&nbsp;by&nbsp;*ppos*&nbsp;must&nbsp;be&nbsp;initialized&nbsp;to&nbsp;``0``&nbsp;prior&nbsp;to&nbsp;the&nbsp;first&nbsp;call&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_154">154+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:ctype:`Py_ssize_t`&nbsp;referred&nbsp;to&nbsp;by&nbsp;*ppos*&nbsp;must&nbsp;be&nbsp;initialized&nbsp;to&nbsp;``0``</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_149">149-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;this&nbsp;function&nbsp;to&nbsp;start&nbsp;the&nbsp;iteration;&nbsp;the&nbsp;function&nbsp;returns&nbsp;true&nbsp;for&nbsp;each&nbsp;pair&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_155">155+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;prior&nbsp;to&nbsp;the&nbsp;first&nbsp;call&nbsp;to&nbsp;this&nbsp;function&nbsp;to&nbsp;start&nbsp;the&nbsp;iteration;&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_150">150-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;dictionary,&nbsp;and&nbsp;false&nbsp;once&nbsp;all&nbsp;pairs&nbsp;have&nbsp;been&nbsp;reported.&nbsp;&nbsp;The&nbsp;parameters</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_156">156+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;function&nbsp;returns&nbsp;true&nbsp;for&nbsp;each&nbsp;pair&nbsp;in&nbsp;the&nbsp;dictionary,&nbsp;and&nbsp;false&nbsp;once&nbsp;all</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_151">151-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;*pkey*&nbsp;and&nbsp;*pvalue*&nbsp;should&nbsp;either&nbsp;point&nbsp;to&nbsp;:ctype:`PyObject\*`&nbsp;variables&nbsp;that</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_157">157+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;pairs&nbsp;have&nbsp;been&nbsp;reported.&nbsp;&nbsp;The&nbsp;parameters&nbsp;*pkey*&nbsp;and&nbsp;*pvalue*&nbsp;should&nbsp;either</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_152">152-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;filled&nbsp;in&nbsp;with&nbsp;each&nbsp;key&nbsp;and&nbsp;value,&nbsp;respectively,&nbsp;or&nbsp;may&nbsp;be&nbsp;*NULL*.&nbsp;&nbsp;Any</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_158">158+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;point&nbsp;to&nbsp;:ctype:`PyObject\*`&nbsp;variables&nbsp;that&nbsp;will&nbsp;be&nbsp;filled&nbsp;in&nbsp;with&nbsp;each&nbsp;key</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_153">153-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;references&nbsp;returned&nbsp;through&nbsp;them&nbsp;are&nbsp;borrowed.&nbsp;&nbsp;*ppos*&nbsp;should&nbsp;not&nbsp;be&nbsp;altered</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_159">159+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;and&nbsp;value,&nbsp;respectively,&nbsp;or&nbsp;may&nbsp;be&nbsp;*NULL*.&nbsp;&nbsp;Any&nbsp;references&nbsp;returned&nbsp;through</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_160">160+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;them&nbsp;are&nbsp;borrowed.&nbsp;&nbsp;*ppos*&nbsp;should&nbsp;not&nbsp;be&nbsp;altered&nbsp;during&nbsp;iteration.&nbsp;Its</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_154">154-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;during&nbsp;iteration.&nbsp;Its</span>&nbsp;value&nbsp;represents&nbsp;offsets&nbsp;within&nbsp;the&nbsp;internal&nbsp;dictionary</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_161">161+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;value&nbsp;represents&nbsp;offsets&nbsp;within&nbsp;the&nbsp;internal&nbsp;dictionary<span  
class="diff_add">&nbsp;structure,&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_155">155-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;structure<span  
class="diff_sub">,&nbsp;and&nbsp;since&nbsp;the&nbsp;structure</span>&nbsp;is&nbsp;sparse,&nbsp;the&nbsp;offsets&nbsp;are&nbsp;not&nbsp;consecutive.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_162">162+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;since&nbsp;the</span>&nbsp;structure&nbsp;is&nbsp;sparse,&nbsp;the&nbsp;offsets&nbsp;are&nbsp;not&nbsp;consecutive.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_156">156</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_157">157</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;For&nbsp;example::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_158">158</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to7__13"></td><td class="diff_header"  
id="from7_159">159</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*key,&nbsp;*value;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_160">160</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;pos&nbsp;=&nbsp;0;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_161">161</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_162">162</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(PyDict_Next(self-&gt;dict,&nbsp;&amp;pos,&nbsp;&amp;key,&nbsp;&amp;value))&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_163">163</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;do&nbsp;something&nbsp;interesting&nbsp;with&nbsp;the&nbsp;values...&nbsp;*/</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_164">164</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_165">165</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_166">166</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__14">n</a></td><td  
class="diff_header" id="from7_167">167-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;dictionary&nbsp;*p*&nbsp;should&nbsp;not&nbsp;be&nbsp;mutated&nbsp;during&nbsp;iteration.&nbsp;&nbsp;It&nbsp;is&nbsp;safe<span  
class="diff_sub">&nbsp;(since</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__14">n</a></td><td  
class="diff_header" id="to7_174">174+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;dictionary&nbsp;*p*&nbsp;should&nbsp;not&nbsp;be&nbsp;mutated&nbsp;during&nbsp;iteration.&nbsp;&nbsp;It&nbsp;is&nbsp;safe</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_168">168-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Python&nbsp;2.1)&nbsp;to&nbsp;modify&nbsp;the&nbsp;values&nbsp;of&nbsp;the&nbsp;keys&nbsp;as&nbsp;you&nbsp;iterate&nbsp;over&nbsp;the<span  
class="diff_sub">&nbsp;dictionary,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_175">175+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;(since</span>&nbsp;Python&nbsp;2.1)&nbsp;to&nbsp;modify&nbsp;the&nbsp;values&nbsp;of&nbsp;the&nbsp;keys&nbsp;as&nbsp;you&nbsp;iterate&nbsp;over&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_169">169-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;but&nbsp;only&nbsp;so&nbsp;long&nbsp;as&nbsp;the&nbsp;set&nbsp;of&nbsp;keys&nbsp;does&nbsp;not&nbsp;change.&nbsp;&nbsp;For<span  
class="diff_sub">&nbsp;example::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_176">176+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;dictionary,</span>&nbsp;but&nbsp;only&nbsp;so&nbsp;long&nbsp;as&nbsp;the&nbsp;set&nbsp;of&nbsp;keys&nbsp;does&nbsp;not&nbsp;change.&nbsp;&nbsp;For</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_177">177+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;example::</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_170">170</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_171">171</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*key,&nbsp;*value;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_172">172</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;pos&nbsp;=&nbsp;0;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_173">173</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_174">174</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(PyDict_Next(self-&gt;dict,&nbsp;&amp;pos,&nbsp;&amp;key,&nbsp;&amp;value))&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_175">175</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i&nbsp;=&nbsp;PyInt_AS_LONG(value)&nbsp;+&nbsp;1;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_176">176</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*o&nbsp;=&nbsp;PyInt_FromLong(i);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_177">177</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(o&nbsp;==&nbsp;NULL)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to7__14"></td><td  
class="diff_header" id="from7_178">178</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-1;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_179">179</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(PyDict_SetItem(self-&gt;dict,&nbsp;key,&nbsp;o)&nbsp;&lt;&nbsp;0)&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_180">180</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_DECREF(o);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_181">181</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;-1;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_182">182</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_183">183</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_DECREF(o);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_184">184</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to7__15"></td><td  
class="diff_header" id="from7_185">185</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to7__15">n</a></td><td class="diff_header"  
id="to7_194">194+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_195">195+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*ppos*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_196">196+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_197">197+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_186">186</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_187">187</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_Merge(PyObject&nbsp;*a,&nbsp;PyObject&nbsp;*b,&nbsp;int&nbsp;override)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_188">188</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__16">n</a></td><td  
class="diff_header" id="from7_189">189-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Iterate&nbsp;over&nbsp;mapping&nbsp;object&nbsp;*b*&nbsp;adding&nbsp;key-value&nbsp;pairs&nbsp;to&nbsp;dictionary&nbsp;*a*.<span  
class="diff_sub">&nbsp;*b*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__16">n</a></td><td  
class="diff_header" id="to7_201">201+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Iterate&nbsp;over&nbsp;mapping&nbsp;object&nbsp;*b*&nbsp;adding&nbsp;key-value&nbsp;pairs&nbsp;to&nbsp;dictionary&nbsp;*a*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_190">190-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;a&nbsp;dictionary,&nbsp;or&nbsp;any&nbsp;object&nbsp;supporting&nbsp;:func:`PyMapping_Keys`<span  
class="diff_sub">&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_202">202+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*b*</span>&nbsp;may&nbsp;be&nbsp;a&nbsp;dictionary,&nbsp;or&nbsp;any&nbsp;object&nbsp;supporting&nbsp;:func:`PyMapping_Keys`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_191">191-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:func:`PyObject_GetItem`.&nbsp;If&nbsp;*override*&nbsp;is&nbsp;true,&nbsp;existing&nbsp;pairs&nbsp;in&nbsp;*a*<span  
class="diff_sub">&nbsp;will&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_203">203+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;and</span>&nbsp;:func:`PyObject_GetItem`.&nbsp;If&nbsp;*override*&nbsp;is&nbsp;true,&nbsp;existing&nbsp;pairs&nbsp;in&nbsp;*a*</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_192">192-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;replaced&nbsp;if&nbsp;a&nbsp;matching&nbsp;key&nbsp;is&nbsp;found&nbsp;in&nbsp;*b*,&nbsp;otherwise&nbsp;pairs&nbsp;will<span  
class="diff_sub">&nbsp;only&nbsp;be&nbsp;added</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_204">204+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;will&nbsp;be</span>&nbsp;replaced&nbsp;if&nbsp;a&nbsp;matching&nbsp;key&nbsp;is&nbsp;found&nbsp;in&nbsp;*b*,&nbsp;otherwise&nbsp;pairs&nbsp;will</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_193">193-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;if&nbsp;there&nbsp;is&nbsp;not&nbsp;a&nbsp;matching&nbsp;key&nbsp;in&nbsp;*a*.&nbsp;Return&nbsp;``0``&nbsp;on<span  
class="diff_sub">&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;if&nbsp;an</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_205">205+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;only&nbsp;be&nbsp;added</span>&nbsp;if&nbsp;there&nbsp;is&nbsp;not&nbsp;a&nbsp;matching&nbsp;key&nbsp;in&nbsp;*a*.&nbsp;Return&nbsp;``0``&nbsp;on</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_194">194-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;exception&nbsp;was&nbsp;raised.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_206">206+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;if&nbsp;an&nbsp;exception&nbsp;was&nbsp;raised.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_195">195</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_196">196</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_197">197</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_198">198</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_199">199</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_Update(PyObject&nbsp;*a,&nbsp;PyObject&nbsp;*b)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_200">200</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to7__16"></td><td class="diff_header"  
id="from7_201">201</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;``PyDict_Merge(a,&nbsp;b,&nbsp;1)``&nbsp;in&nbsp;C,&nbsp;or&nbsp;``a.update(b)``&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_202">202</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Python.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``&nbsp;if&nbsp;an&nbsp;exception&nbsp;was&nbsp;raised.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_203">203</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_204">204</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_205">205</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_206">206</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from7_207">207</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyDict_MergeFromSeq2(PyObject&nbsp;*a,&nbsp;PyObject&nbsp;*seq2,&nbsp;int&nbsp;override)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_208">208</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to7__top">t</a></td><td  
class="diff_header" id="from7_209">209-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Update&nbsp;or&nbsp;merge&nbsp;into&nbsp;dictionary&nbsp;*a*,&nbsp;from&nbsp;the&nbsp;key-value&nbsp;pairs&nbsp;in&nbsp;*seq2*.<span  
class="diff_sub">&nbsp;&nbsp;*seq2*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to7__top">t</a></td><td  
class="diff_header" id="to7_221">221+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Update&nbsp;or&nbsp;merge&nbsp;into&nbsp;dictionary&nbsp;*a*,&nbsp;from&nbsp;the&nbsp;key-value&nbsp;pairs&nbsp;in&nbsp;*seq2*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_210">210-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;be&nbsp;an&nbsp;iterable&nbsp;object&nbsp;producing&nbsp;iterable&nbsp;objects&nbsp;of&nbsp;length&nbsp;2,<span  
class="diff_sub">&nbsp;viewed&nbsp;as</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_222">222+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*seq2*</span>&nbsp;must&nbsp;be&nbsp;an&nbsp;iterable&nbsp;object&nbsp;producing&nbsp;iterable&nbsp;objects&nbsp;of&nbsp;length&nbsp;2,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_211">211-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;key-value&nbsp;pairs.&nbsp;&nbsp;In&nbsp;case&nbsp;of&nbsp;duplicate&nbsp;keys,&nbsp;the&nbsp;last&nbsp;wins&nbsp;if<span  
class="diff_sub">&nbsp;*override*&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_223">223+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;viewed&nbsp;as</span>&nbsp;key-value&nbsp;pairs.&nbsp;&nbsp;In&nbsp;case&nbsp;of&nbsp;duplicate&nbsp;keys,&nbsp;the&nbsp;last&nbsp;wins&nbsp;if</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_212">212-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;true,&nbsp;else&nbsp;the&nbsp;first&nbsp;wins.&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``<span  
class="diff_sub">&nbsp;if&nbsp;an&nbsp;exception&nbsp;was</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_224">224+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;*override*&nbsp;is</span>&nbsp;true,&nbsp;else&nbsp;the&nbsp;first&nbsp;wins.&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success&nbsp;or&nbsp;``-1``</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_213">213-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;raised.&nbsp;Equivalent&nbsp;Python&nbsp;(except&nbsp;for&nbsp;the&nbsp;return<span  
class="diff_sub">&nbsp;value)::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_225">225+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;if&nbsp;an&nbsp;exception&nbsp;was</span>&nbsp;raised.&nbsp;Equivalent&nbsp;Python&nbsp;(except&nbsp;for&nbsp;the&nbsp;return</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to7_226">226+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;value)::</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from7_214">214</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_215">215</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def&nbsp;PyDict_MergeFromSeq2(a,&nbsp;seq2,&nbsp;override):</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_216">216</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;key,&nbsp;value&nbsp;in&nbsp;seq2:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_217">217</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;override&nbsp;or&nbsp;key&nbsp;not&nbsp;in&nbsp;a:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_218">218</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a[key]&nbsp;=&nbsp;value</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from7_219">219</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from7_220">220</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/exceptions.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,89 @@
+--- r262/c-api/exceptions.rst	2009-02-23 19:41:11.107573000 +0900
++++ r266/c-api/exceptions.rst	2010-03-22 04:29:04.684594000 +0900
+@@ -282,27 +282,28 @@
+
+
+ .. cfunction:: PyObject* PyErr_SetExcFromWindowsErrWithFilename(PyObject  
*type, int ierr, char *filename)
+
+    Similar to :cfunc:`PyErr_SetFromWindowsErrWithFilename`, with an  
additional
+    parameter specifying the exception type to be raised. Availability:  
Windows.
+
+    .. versionadded:: 2.3
+
+
+ .. cfunction:: void PyErr_BadInternalCall()
+
+-   This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``,  
where
+-   *message* indicates that an internal operation (e.g. a Python/C API  
function)
+-   was invoked with an illegal argument.  It is mostly for internal use.
++   This is a shorthand for ``PyErr_SetString(PyExc_SystemError,  
message)``,
++   where *message* indicates that an internal operation (e.g. a Python/C  
API
++   function) was invoked with an illegal argument.  It is mostly for  
internal
++   use.
+
+
+ .. cfunction:: int PyErr_WarnEx(PyObject *category, char *message, int  
stacklevel)
+
+    Issue a warning message.  The *category* argument is a warning  
category (see
+    below) or *NULL*; the *message* argument is a message string.   
*stacklevel* is a
+    positive number giving a number of stack frames; the warning will be  
issued from
+    the  currently executing line of code in that stack frame.  A  
*stacklevel* of 1
+    is the function calling :cfunc:`PyErr_WarnEx`, 2 is  the function  
above that,
+    and so forth.
+
+    This function normally prints a warning message to *sys.stderr*;  
however, it is
+@@ -419,24 +420,54 @@
+ .. cfunction:: void PyErr_WriteUnraisable(PyObject *obj)
+
+    This utility function prints a warning message to ``sys.stderr`` when  
an
+    exception has been set but it is impossible for the interpreter to  
actually
+    raise the exception.  It is used, for example, when an exception  
occurs in an
+    :meth:`__del__` method.
+
+    The function is called with a single argument *obj* that identifies  
the context
+    in which the unraisable exception occurred. The repr of *obj* will be  
printed in
+    the warning message.
+
+
++Recursion Control
++=================
++
++These two functions provide a way to perform safe recursive calls at the C
++level, both in the core and in extension modules.  They are needed if the
++recursive code does not necessarily invoke Python code (which tracks its
++recursion depth automatically).
++
++.. cfunction:: int Py_EnterRecursiveCall(char *where)
++
++   Marks a point where a recursive C-level call is about to be performed.
++
++   If :const:`USE_STACKCHECK` is defined, this function checks if the the  
OS
++   stack overflowed using :cfunc:`PyOS_CheckStack`.  In this is the case,  
it
++   sets a :exc:`MemoryError` and returns a nonzero value.
++
++   The function then checks if the recursion limit is reached.  If this  
is the
++   case, a :exc:`RuntimeError` is set and a nonzero value is returned.
++   Otherwise, zero is returned.
++
++   *where* should be a string such as ``" in instance check"`` to be
++   concatenated to the :exc:`RuntimeError` message caused by the  
recursion depth
++   limit.
++
++.. cfunction:: void Py_LeaveRecursiveCall()
++
++   Ends a :cfunc:`Py_EnterRecursiveCall`.  Must be called once for each
++   *successful* invocation of :cfunc:`Py_EnterRecursiveCall`.
++
++
+ .. _standardexceptions:
+
+ Standard Exceptions
+ ===================
+
+ All standard Python exceptions are available as global variables whose  
names are
+ ``PyExc_`` followed by the Python exception name.  These have the type
+ :ctype:`PyObject\*`; they are all class objects.  For completeness, here  
are all
+ the variables:
+
+  
+------------------------------------+----------------------------+----------+
+ | C Name                             | Python Name                |  
Notes    |
=======================================
--- /dev/null
+++ /c-api/diff/exceptions.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,87 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to8__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/exceptions.rst =&gt;  
r266/c-api/exceptions.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to8__0"></td><td  
class="diff_header" id="from8_286">286</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Similar&nbsp;to&nbsp;:cfunc:`PyErr_SetFromWindowsErrWithFilename`,&nbsp;with&nbsp;an&nbsp;additional</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_287">287</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameter&nbsp;specifying&nbsp;the&nbsp;exception&nbsp;type&nbsp;to&nbsp;be&nbsp;raised.&nbsp;Availability:&nbsp;Windows.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_288">288</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_289">289</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_290">290</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_291">291</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from8_292">292</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyErr_BadInternalCall()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_293">293</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to8__1">n</a></td><td  
class="diff_header" id="from8_294">294-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;shorthand&nbsp;for&nbsp;``PyErr_SetString(PyExc_<span  
class="diff_chg">T</span>y<span  
class="diff_chg">p</span>eError,&nbsp;message)``,<span  
class="diff_sub">&nbsp;where</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to8__1">n</a></td><td  
class="diff_header" id="to8_294">294+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;shorthand&nbsp;for&nbsp;``PyErr_SetString(PyExc_<span  
class="diff_chg">S</span>y<span class="diff_chg">st</span>e<span  
class="diff_add">m</span>Error,&nbsp;message)``,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_295">295-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*message*&nbsp;indicates&nbsp;that&nbsp;an&nbsp;internal&nbsp;operation&nbsp;(e.g.&nbsp;a&nbsp;Python/C&nbsp;API<span  
class="diff_sub">&nbsp;function)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_295">295+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;where</span>&nbsp;*message*&nbsp;indicates&nbsp;that&nbsp;an&nbsp;internal&nbsp;operation&nbsp;(e.g.&nbsp;a&nbsp;Python/C&nbsp;API</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_296">296-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;was&nbsp;invoked&nbsp;with&nbsp;an&nbsp;illegal&nbsp;argument.&nbsp;&nbsp;It&nbsp;is&nbsp;mostly&nbsp;for&nbsp;internal<span  
class="diff_sub">&nbsp;use.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_296">296+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;function)</span>&nbsp;was&nbsp;invoked&nbsp;with&nbsp;an&nbsp;illegal&nbsp;argument.&nbsp;&nbsp;It&nbsp;is&nbsp;mostly&nbsp;for&nbsp;internal</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_297">297+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;use.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from8_297">297</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_298">298</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from8_299">299</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyErr_WarnEx(PyObject&nbsp;*category,&nbsp;char&nbsp;*message,&nbsp;int&nbsp;stacklevel)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_300">300</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_301">301</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Issue&nbsp;a&nbsp;warning&nbsp;message.&nbsp;&nbsp;The&nbsp;*category*&nbsp;argument&nbsp;is&nbsp;a&nbsp;warning&nbsp;category&nbsp;(see</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_302">302</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;below)&nbsp;or&nbsp;*NULL*;&nbsp;the&nbsp;*message*&nbsp;argument&nbsp;is&nbsp;a&nbsp;message&nbsp;string.&nbsp;&nbsp;*stacklevel*&nbsp;is&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_303">303</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;positive&nbsp;number&nbsp;giving&nbsp;a&nbsp;number&nbsp;of&nbsp;stack&nbsp;frames;&nbsp;the&nbsp;warning&nbsp;will&nbsp;be&nbsp;issued&nbsp;from</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_304">304</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;&nbsp;currently&nbsp;executing&nbsp;line&nbsp;of&nbsp;code&nbsp;in&nbsp;that&nbsp;stack&nbsp;frame.&nbsp;&nbsp;A&nbsp;*stacklevel*&nbsp;of&nbsp;1</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to8__1"></td><td  
class="diff_header" id="from8_421">421</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;utility&nbsp;function&nbsp;prints&nbsp;a&nbsp;warning&nbsp;message&nbsp;to&nbsp;``sys.stderr``&nbsp;when&nbsp;an</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_422">422</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;exception&nbsp;has&nbsp;been&nbsp;set&nbsp;but&nbsp;it&nbsp;is&nbsp;impossible&nbsp;for&nbsp;the&nbsp;interpreter&nbsp;to&nbsp;actually</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_423">423</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;raise&nbsp;the&nbsp;exception.&nbsp;&nbsp;It&nbsp;is&nbsp;used,&nbsp;for&nbsp;example,&nbsp;when&nbsp;an&nbsp;exception&nbsp;occurs&nbsp;in&nbsp;an</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_424">424</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:meth:`__del__`&nbsp;method.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_425">425</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_426">426</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;function&nbsp;is&nbsp;called&nbsp;with&nbsp;a&nbsp;single&nbsp;argument&nbsp;*obj*&nbsp;that&nbsp;identifies&nbsp;the&nbsp;context</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_427">427</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;in&nbsp;which&nbsp;the&nbsp;unraisable&nbsp;exception&nbsp;occurred.&nbsp;The&nbsp;repr&nbsp;of&nbsp;*obj*&nbsp;will&nbsp;be&nbsp;printed&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from8_428">428</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;warning&nbsp;message.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to8__top">t</a></td><td  
class="diff_header" id="to8_430">430+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_431">431+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_432">432+</td><td nowrap="nowrap"><span  
class="diff_add">Recursion&nbsp;Control</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_433">433+</td><td nowrap="nowrap"><span  
class="diff_add">=================</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_434">434+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_435">435+</td><td nowrap="nowrap"><span  
class="diff_add">These&nbsp;two&nbsp;functions&nbsp;provide&nbsp;a&nbsp;way&nbsp;to&nbsp;perform&nbsp;safe&nbsp;recursive&nbsp;calls&nbsp;at&nbsp;the&nbsp;C</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_436">436+</td><td nowrap="nowrap"><span  
class="diff_add">level,&nbsp;both&nbsp;in&nbsp;the&nbsp;core&nbsp;and&nbsp;in&nbsp;extension&nbsp;modules.&nbsp;&nbsp;They&nbsp;are&nbsp;needed&nbsp;if&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_437">437+</td><td nowrap="nowrap"><span  
class="diff_add">recursive&nbsp;code&nbsp;does&nbsp;not&nbsp;necessarily&nbsp;invoke&nbsp;Python&nbsp;code&nbsp;(which&nbsp;tracks&nbsp;its</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_438">438+</td><td nowrap="nowrap"><span  
class="diff_add">recursion&nbsp;depth&nbsp;automatically).</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_439">439+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_440">440+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;int&nbsp;Py_EnterRecursiveCall(char&nbsp;*where)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_441">441+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_442">442+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Marks&nbsp;a&nbsp;point&nbsp;where&nbsp;a&nbsp;recursive&nbsp;C-level&nbsp;call&nbsp;is&nbsp;about&nbsp;to&nbsp;be&nbsp;performed.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_443">443+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_444">444+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;If&nbsp;:const:`USE_STACKCHECK`&nbsp;is&nbsp;defined,&nbsp;this&nbsp;function&nbsp;checks&nbsp;if&nbsp;the&nbsp;the&nbsp;OS</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_445">445+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;stack&nbsp;overflowed&nbsp;using&nbsp;:cfunc:`PyOS_CheckStack`.&nbsp;&nbsp;In&nbsp;this&nbsp;is&nbsp;the&nbsp;case,&nbsp;it</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_446">446+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;sets&nbsp;a&nbsp;:exc:`MemoryError`&nbsp;and&nbsp;returns&nbsp;a&nbsp;nonzero&nbsp;value.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_447">447+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_448">448+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;The&nbsp;function&nbsp;then&nbsp;checks&nbsp;if&nbsp;the&nbsp;recursion&nbsp;limit&nbsp;is&nbsp;reached.&nbsp;&nbsp;If&nbsp;this&nbsp;is&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_449">449+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;case,&nbsp;a&nbsp;:exc:`RuntimeError`&nbsp;is&nbsp;set&nbsp;and&nbsp;a&nbsp;nonzero&nbsp;value&nbsp;is&nbsp;returned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_450">450+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Otherwise,&nbsp;zero&nbsp;is&nbsp;returned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_451">451+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_452">452+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*where*&nbsp;should&nbsp;be&nbsp;a&nbsp;string&nbsp;such&nbsp;as&nbsp;``"&nbsp;in&nbsp;instance&nbsp;check"``&nbsp;to&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_453">453+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;concatenated&nbsp;to&nbsp;the&nbsp;:exc:`RuntimeError`&nbsp;message&nbsp;caused&nbsp;by&nbsp;the&nbsp;recursion&nbsp;depth</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_454">454+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;limit.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_455">455+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_456">456+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;void&nbsp;Py_LeaveRecursiveCall()</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_457">457+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_458">458+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Ends&nbsp;a&nbsp;:cfunc:`Py_EnterRecursiveCall`.&nbsp;&nbsp;Must&nbsp;be&nbsp;called&nbsp;once&nbsp;for&nbsp;each</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to8_459">459+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*successful*&nbsp;invocation&nbsp;of&nbsp;:cfunc:`Py_EnterRecursiveCall`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from8_429">429</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_430">430</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from8_431">431</td><td  
nowrap="nowrap">..&nbsp;_standardexceptions:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_432">432</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from8_433">433</td><td  
nowrap="nowrap">Standard&nbsp;Exceptions</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_434">434</td><td  
nowrap="nowrap">===================</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from8_435">435</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from8_436">436</td><td  
nowrap="nowrap">All&nbsp;standard&nbsp;Python&nbsp;exceptions&nbsp;are&nbsp;available&nbsp;as&nbsp;global&nbsp;variables&nbsp;whose&nbsp;names&nbsp;are</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/float.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,38 @@
+--- r262/c-api/float.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/float.rst	2009-10-27 23:34:21.573917000 +0900
+@@ -63,32 +63,32 @@
+    without error checking.
+
+
+ .. cfunction:: PyObject* PyFloat_GetInfo(void)
+
+    Return a structseq instance which contains information about the
+    precision, minimum and maximum values of a float. It's a thin wrapper
+    around the header file :file:`float.h`.
+
+    .. versionadded:: 2.6
+
+
+-.. cfunction:: double PyFloat_GetMax(void)
++.. cfunction:: double PyFloat_GetMax()
+
+    Return the maximum representable finite float *DBL_MAX* as  
C :ctype:`double`.
+
+    .. versionadded:: 2.6
+
+
+-.. cfunction:: double PyFloat_GetMin(void)
++.. cfunction:: double PyFloat_GetMin()
+
+    Return the minimum normalized positive float *DBL_MIN* as  
C :ctype:`double`.
+
+    .. versionadded:: 2.6
+
+
+-.. cfunction:: int PyFloat_ClearFreeList(void)
++.. cfunction:: int PyFloat_ClearFreeList()
+
+    Clear the float free list. Return the number of items that could not
+    be freed.
+
+    .. versionadded:: 2.6
=======================================
--- /dev/null
+++ /c-api/diff/float.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,54 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to9__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/float.rst =&gt;  
r266/c-api/float.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to9__0"></td><td  
class="diff_header" id="from9_67">67</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from9_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;structseq&nbsp;instance&nbsp;which&nbsp;contains&nbsp;information&nbsp;about&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_69">69</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;precision,&nbsp;minimum&nbsp;and&nbsp;maximum&nbsp;values&nbsp;of&nbsp;a&nbsp;float.&nbsp;It's&nbsp;a&nbsp;thin&nbsp;wrapper</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_70">70</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;around&nbsp;the&nbsp;header&nbsp;file&nbsp;:file:`float.h`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_71">71</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_72">72</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_73">73</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to9__1"></td><td class="diff_header"  
id="from9_74">74</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to9__1">n</a></td><td  
class="diff_header" id="from9_75">75-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;double&nbsp;PyFloat_GetMax(<span  
class="diff_sub">void</span>)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to9__1">n</a></td><td  
class="diff_header" id="to9_75">75+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;double&nbsp;PyFloat_GetMax()</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from9_76">76</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_77">77</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;maximum&nbsp;representable&nbsp;finite&nbsp;float&nbsp;*DBL_MAX*&nbsp;as&nbsp;C&nbsp;:ctype:`double`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_78">78</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_79">79</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_80">80</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to9__2"></td><td class="diff_header"  
id="from9_81">81</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to9__2">n</a></td><td  
class="diff_header" id="from9_82">82-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;double&nbsp;PyFloat_GetMin(<span  
class="diff_sub">void</span>)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to9__2">n</a></td><td  
class="diff_header" id="to9_82">82+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;double&nbsp;PyFloat_GetMin()</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from9_83">83</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_84">84</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;minimum&nbsp;normalized&nbsp;positive&nbsp;float&nbsp;*DBL_MIN*&nbsp;as&nbsp;C&nbsp;:ctype:`double`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_85">85</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_86">86</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_87">87</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_88">88</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to9__top">t</a></td><td class="diff_header"  
id="from9_89">89-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyFloat_ClearFreeList(<span  
class="diff_sub">void</span>)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to9__top">t</a></td><td  
class="diff_header" id="to9_89">89+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyFloat_ClearFreeList()</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from9_90">90</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_91">91</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Clear&nbsp;the&nbsp;float&nbsp;free&nbsp;list.&nbsp;Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;that&nbsp;could&nbsp;not</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_92">92</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;be&nbsp;freed.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from9_93">93</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from9_94">94</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/gcsupport.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,204 @@
+--- r262/c-api/gcsupport.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/gcsupport.rst	2010-03-22 04:29:04.684594000 +0900
+@@ -1,74 +1,84 @@
+ .. highlightlang:: c
+
+ .. _supporting-cycle-detection:
+
+ Supporting Cyclic Garbage Collection
+ ====================================
+
+ Python's support for detecting and collecting garbage which involves  
circular
+ references requires support from object types which are "containers" for  
other
+ objects which may also be containers.  Types which do not store  
references to
+ other objects, or which only store references to atomic types (such as  
numbers
+-or strings), do not need to provide any explicit support for garbage  
collection.
++or strings), do not need to provide any explicit support for garbage
++collection.
+
+ .. An example showing the use of these interfaces can be found  
in "Supporting the
+ .. Cycle Collector (XXX not found: ../ext/example-cycle-support.html)".
+
+ To create a container type, the :attr:`tp_flags` field of the type object  
must
+ include the :const:`Py_TPFLAGS_HAVE_GC` and provide an implementation of  
the
+ :attr:`tp_traverse` handler.  If instances of the type are mutable, a
+ :attr:`tp_clear` implementation must also be provided.
+
+
+ .. data:: Py_TPFLAGS_HAVE_GC
+    :noindex:
+
+-   Objects with a type with this flag set must conform with the rules  
documented
+-   here.  For convenience these objects will be referred to as container  
objects.
++   Objects with a type with this flag set must conform with the rules
++   documented here.  For convenience these objects will be referred to as
++   container objects.
+
+ Constructors for container types must conform to two rules:
+
+-#. The memory for the object must be allocated  
using :cfunc:`PyObject_GC_New` or
+-   :cfunc:`PyObject_GC_VarNew`.
++#. The memory for the object must be allocated  
using :cfunc:`PyObject_GC_New`
++   or :cfunc:`PyObject_GC_NewVar`.
+
+ #. Once all the fields which may contain references to other containers  
are
+    initialized, it must call :cfunc:`PyObject_GC_Track`.
+
+
+ .. cfunction:: TYPE* PyObject_GC_New(TYPE, PyTypeObject *type)
+
+    Analogous to :cfunc:`PyObject_New` but for container objects with the
+    :const:`Py_TPFLAGS_HAVE_GC` flag set.
+
+
+ .. cfunction:: TYPE* PyObject_GC_NewVar(TYPE, PyTypeObject *type,  
Py_ssize_t size)
+
+    Analogous to :cfunc:`PyObject_NewVar` but for container objects with  
the
+    :const:`Py_TPFLAGS_HAVE_GC` flag set.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
+
+-.. cfunction:: PyVarObject * PyObject_GC_Resize(PyVarObject *op,  
Py_ssize_t)
+
+-   Resize an object allocated by :cfunc:`PyObject_NewVar`.  Returns the  
resized
+-   object or *NULL* on failure.
++.. cfunction:: TYPE* PyObject_GC_Resize(TYPE, PyVarObject *op, Py_ssize_t  
newsize)
++
++   Resize an object allocated by :cfunc:`PyObject_NewVar`.  Returns the
++   resized object or *NULL* on failure.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *newsize*. This might
++      require changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: void PyObject_GC_Track(PyObject *op)
+
+-   Adds the object *op* to the set of container objects tracked by the  
collector.
+-   The collector can run at unexpected times so objects must be valid  
while being
+-   tracked.  This should be called once all the fields followed by the
+-   :attr:`tp_traverse` handler become valid, usually near the end of the
+-   constructor.
++   Adds the object *op* to the set of container objects tracked by the
++   collector.  The collector can run at unexpected times so objects must  
be
++   valid while being tracked.  This should be called once all the fields
++   followed by the :attr:`tp_traverse` handler become valid, usually near  
the
++   end of the constructor.
+
+
+ .. cfunction:: void _PyObject_GC_TRACK(PyObject *op)
+
+    A macro version of :cfunc:`PyObject_GC_Track`.  It should not be used  
for
+    extension modules.
+
+ Similarly, the deallocator for the object must conform to a similar pair  
of
+ rules:
+
+ #. Before fields which refer to other containers are invalidated,
+    :cfunc:`PyObject_GC_UnTrack` must be called.
+@@ -76,78 +86,80 @@
+ #. The object's memory must be deallocated using :cfunc:`PyObject_GC_Del`.
+
+
+ .. cfunction:: void PyObject_GC_Del(void *op)
+
+    Releases memory allocated to an object using :cfunc:`PyObject_GC_New`  
or
+    :cfunc:`PyObject_GC_NewVar`.
+
+
+ .. cfunction:: void PyObject_GC_UnTrack(void *op)
+
+    Remove the object *op* from the set of container objects tracked by the
+-   collector.  Note that :cfunc:`PyObject_GC_Track` can be called again  
on this
+-   object to add it back to the set of tracked objects.  The deallocator
+-   (:attr:`tp_dealloc` handler) should call this for the object before  
any of the
+-   fields used by the :attr:`tp_traverse` handler become invalid.
++   collector.  Note that :cfunc:`PyObject_GC_Track` can be called again on
++   this object to add it back to the set of tracked objects.  The  
deallocator
++   (:attr:`tp_dealloc` handler) should call this for the object before  
any of
++   the fields used by the :attr:`tp_traverse` handler become invalid.
+
+
+ .. cfunction:: void _PyObject_GC_UNTRACK(PyObject *op)
+
+    A macro version of :cfunc:`PyObject_GC_UnTrack`.  It should not be  
used for
+    extension modules.
+
+ The :attr:`tp_traverse` handler accepts a function parameter of this type:
+
+
+ .. ctype:: int (*visitproc)(PyObject *object, void *arg)
+
+-   Type of the visitor function passed to the :attr:`tp_traverse`  
handler.  The
+-   function should be called with an object to traverse as *object* and  
the third
+-   parameter to the :attr:`tp_traverse` handler as *arg*.  The Python  
core uses
+-   several visitor functions to implement cyclic garbage detection; it's  
not
+-   expected that users will need to write their own visitor functions.
++   Type of the visitor function passed to the :attr:`tp_traverse` handler.
++   The function should be called with an object to traverse as *object*  
and
++   the third parameter to the :attr:`tp_traverse` handler as *arg*.  The
++   Python core uses several visitor functions to implement cyclic garbage
++   detection; it's not expected that users will need to write their own
++   visitor functions.
+
+ The :attr:`tp_traverse` handler must have the following type:
+
+
+ .. ctype:: int (*traverseproc)(PyObject *self, visitproc visit, void *arg)
+
+    Traversal function for a container object.  Implementations must call  
the
+    *visit* function for each object directly contained by *self*, with the
+-   parameters to *visit* being the contained object and the *arg* value  
passed to
+-   the handler.  The *visit* function must not be called with a *NULL*  
object
+-   argument.  If *visit* returns a non-zero value that value should be  
returned
+-   immediately.
++   parameters to *visit* being the contained object and the *arg* value  
passed
++   to the handler.  The *visit* function must not be called with a *NULL*
++   object argument.  If *visit* returns a non-zero value that value  
should be
++   returned immediately.
+
+ To simplify writing :attr:`tp_traverse` handlers, a :cfunc:`Py_VISIT`  
macro is
+ provided.  In order to use this macro, the :attr:`tp_traverse`  
implementation
+ must name its arguments exactly *visit* and *arg*:
+
+
+ .. cfunction:: void Py_VISIT(PyObject *o)
+
+-   Call the *visit* callback, with arguments *o* and *arg*. If *visit*  
returns a
+-   non-zero value, then return it.  Using this macro, :attr:`tp_traverse`  
handlers
+-   look like::
++   Call the *visit* callback, with arguments *o* and *arg*. If *visit*  
returns
++   a non-zero value, then return it.  Using this  
macro, :attr:`tp_traverse`
++   handlers look like::
+
+       static int
+       my_traverse(Noddy *self, visitproc visit, void *arg)
+       {
+           Py_VISIT(self->foo);
+           Py_VISIT(self->bar);
+           return 0;
+       }
+
+    .. versionadded:: 2.4
+
+-The :attr:`tp_clear` handler must be of the :ctype:`inquiry` type, or  
*NULL* if
+-the object is immutable.
++The :attr:`tp_clear` handler must be of the :ctype:`inquiry` type, or  
*NULL*
++if the object is immutable.
+
+
+ .. ctype:: int (*inquiry)(PyObject *self)
+
+-   Drop references that may have created reference cycles.  Immutable  
objects do
+-   not have to define this method since they can never directly create  
reference
+-   cycles.  Note that the object must still be valid after calling this  
method
+-   (don't just call :cfunc:`Py_DECREF` on a reference).  The collector  
will call
+-   this method if it detects that this object is involved in a reference  
cycle.
++   Drop references that may have created reference cycles.  Immutable  
objects
++   do not have to define this method since they can never directly create
++   reference cycles.  Note that the object must still be valid after  
calling
++   this method (don't just call :cfunc:`Py_DECREF` on a reference).  The
++   collector will call this method if it detects that this object is  
involved
++   in a reference cycle.
=======================================
--- /dev/null
+++ /c-api/diff/gcsupport.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,134 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to10__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/gcsupport.rst =&gt;  
r266/c-api/gcsupport.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to10__0"></td><td class="diff_header"  
id="from10_4">4</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_5">5</td><td  
nowrap="nowrap">Supporting&nbsp;Cyclic&nbsp;Garbage&nbsp;Collection</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_6">6</td><td  
nowrap="nowrap">====================================</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_7">7</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_8">8</td><td  
nowrap="nowrap">Python's&nbsp;support&nbsp;for&nbsp;detecting&nbsp;and&nbsp;collecting&nbsp;garbage&nbsp;which&nbsp;involves&nbsp;circular</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_9">9</td><td  
nowrap="nowrap">references&nbsp;requires&nbsp;support&nbsp;from&nbsp;object&nbsp;types&nbsp;which&nbsp;are&nbsp;"containers"&nbsp;for&nbsp;other</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_10">10</td><td  
nowrap="nowrap">objects&nbsp;which&nbsp;may&nbsp;also&nbsp;be&nbsp;containers.&nbsp;&nbsp;Types&nbsp;which&nbsp;do&nbsp;not&nbsp;store&nbsp;references&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_11">11</td><td  
nowrap="nowrap">other&nbsp;objects,&nbsp;or&nbsp;which&nbsp;only&nbsp;store&nbsp;references&nbsp;to&nbsp;atomic&nbsp;types&nbsp;(such&nbsp;as&nbsp;numbers</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__1">n</a></td><td  
class="diff_header" id="from10_12">12-</td><td  
nowrap="nowrap">or&nbsp;strings),&nbsp;do&nbsp;not&nbsp;need&nbsp;to&nbsp;provide&nbsp;any&nbsp;explicit&nbsp;support&nbsp;for&nbsp;garbage<span  
class="diff_sub">&nbsp;collection.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__1">n</a></td><td  
class="diff_header" id="to10_12">12+</td><td  
nowrap="nowrap">or&nbsp;strings),&nbsp;do&nbsp;not&nbsp;need&nbsp;to&nbsp;provide&nbsp;any&nbsp;explicit&nbsp;support&nbsp;for&nbsp;garbage</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_13">13+</td><td nowrap="nowrap"><span  
class="diff_add">collection.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_13">13</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_14">14</td><td  
nowrap="nowrap">..&nbsp;An&nbsp;example&nbsp;showing&nbsp;the&nbsp;use&nbsp;of&nbsp;these&nbsp;interfaces&nbsp;can&nbsp;be&nbsp;found&nbsp;in&nbsp;"Supporting&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_15">15</td><td  
nowrap="nowrap">..&nbsp;Cycle&nbsp;Collector&nbsp;(XXX&nbsp;not&nbsp;found:&nbsp;../ext/example-cycle-support.html)".</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_17">17</td><td  
nowrap="nowrap">To&nbsp;create&nbsp;a&nbsp;container&nbsp;type,&nbsp;the&nbsp;:attr:`tp_flags`&nbsp;field&nbsp;of&nbsp;the&nbsp;type&nbsp;object&nbsp;must</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__1"></td><td  
class="diff_header" id="from10_18">18</td><td  
nowrap="nowrap">include&nbsp;the&nbsp;:const:`Py_TPFLAGS_HAVE_GC`&nbsp;and&nbsp;provide&nbsp;an&nbsp;implementation&nbsp;of&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_19">19</td><td  
nowrap="nowrap">:attr:`tp_traverse`&nbsp;handler.&nbsp;&nbsp;If&nbsp;instances&nbsp;of&nbsp;the&nbsp;type&nbsp;are&nbsp;mutable,&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_20">20</td><td  
nowrap="nowrap">:attr:`tp_clear`&nbsp;implementation&nbsp;must&nbsp;also&nbsp;be&nbsp;provided.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_21">21</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_22">22</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_23">23</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;Py_TPFLAGS_HAVE_GC</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__2"></td><td  
class="diff_header" id="from10_24">24</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:noindex:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_25">25</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to10__2">n</a></td><td class="diff_header"  
id="from10_26">26-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Objects&nbsp;with&nbsp;a&nbsp;type&nbsp;with&nbsp;this&nbsp;flag&nbsp;set&nbsp;must&nbsp;conform&nbsp;with&nbsp;the&nbsp;rules<span  
class="diff_sub">&nbsp;documented</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__2">n</a></td><td  
class="diff_header" id="to10_27">27+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Objects&nbsp;with&nbsp;a&nbsp;type&nbsp;with&nbsp;this&nbsp;flag&nbsp;set&nbsp;must&nbsp;conform&nbsp;with&nbsp;the&nbsp;rules</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_27">27-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;here.&nbsp;&nbsp;For&nbsp;convenience&nbsp;these&nbsp;objects&nbsp;will&nbsp;be&nbsp;referred&nbsp;to&nbsp;as<span  
class="diff_sub">&nbsp;container&nbsp;objects.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_28">28+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;documented</span>&nbsp;here.&nbsp;&nbsp;For&nbsp;convenience&nbsp;these&nbsp;objects&nbsp;will&nbsp;be&nbsp;referred&nbsp;to&nbsp;as</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_29">29+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;container&nbsp;objects.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_28">28</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_29">29</td><td  
nowrap="nowrap">Constructors&nbsp;for&nbsp;container&nbsp;types&nbsp;must&nbsp;conform&nbsp;to&nbsp;two&nbsp;rules:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_30">30</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__3">n</a></td><td  
class="diff_header" id="from10_31">31-</td><td  
nowrap="nowrap">#.&nbsp;The&nbsp;memory&nbsp;for&nbsp;the&nbsp;object&nbsp;must&nbsp;be&nbsp;allocated&nbsp;using&nbsp;:cfunc:`PyObject_GC_New`<span  
class="diff_sub">&nbsp;or</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__3">n</a></td><td  
class="diff_header" id="to10_33">33+</td><td  
nowrap="nowrap">#.&nbsp;The&nbsp;memory&nbsp;for&nbsp;the&nbsp;object&nbsp;must&nbsp;be&nbsp;allocated&nbsp;using&nbsp;:cfunc:`PyObject_GC_New`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_32">32-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_GC_Var<span  
class="diff_sub">New</span>`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_34">34+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;or</span>&nbsp;:cfunc:`PyObject_GC_<span  
class="diff_add">New</span>Var`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_33">33</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_34">34</td><td  
nowrap="nowrap">#.&nbsp;Once&nbsp;all&nbsp;the&nbsp;fields&nbsp;which&nbsp;may&nbsp;contain&nbsp;references&nbsp;to&nbsp;other&nbsp;containers&nbsp;are</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_35">35</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;initialized,&nbsp;it&nbsp;must&nbsp;call&nbsp;:cfunc:`PyObject_GC_Track`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_36">36</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_37">37</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_38">38</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;TYPE*&nbsp;PyObject_GC_New(TYPE,&nbsp;PyTypeObject&nbsp;*type)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_39">39</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_40">40</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Analogous&nbsp;to&nbsp;:cfunc:`PyObject_New`&nbsp;but&nbsp;for&nbsp;container&nbsp;objects&nbsp;with&nbsp;the</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__3"></td><td  
class="diff_header" id="from10_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:const:`Py_TPFLAGS_HAVE_GC`&nbsp;flag&nbsp;set.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_43">43</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_44">44</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;TYPE*&nbsp;PyObject_GC_NewVar(TYPE,&nbsp;PyTypeObject&nbsp;*type,&nbsp;Py_ssize_t&nbsp;size)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__4"></td><td  
class="diff_header" id="from10_45">45</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_46">46</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Analogous&nbsp;to&nbsp;:cfunc:`PyObject_NewVar`&nbsp;but&nbsp;for&nbsp;container&nbsp;objects&nbsp;with&nbsp;the</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__5"></td><td  
class="diff_header" id="from10_47">47</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:const:`Py_TPFLAGS_HAVE_GC`&nbsp;flag&nbsp;set.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_48">48</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__4">n</a></td><td  
class="diff_header" id="to10_51">51+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_52">52+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_53">53+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_49">49</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__5">n</a></td><td  
class="diff_header" id="from10_50">50-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;PyVarObject&nbsp;*&nbsp;PyObject_GC_Resize(PyVarObject&nbsp;*op,&nbsp;Py_ssize_t)</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_51">51</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__6">n</a></td><td  
class="diff_header" id="to10_56">56+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;TYPE*&nbsp;PyObject_GC_Resize(TYPE,&nbsp;PyVarObject&nbsp;*op,&nbsp;Py_ssize_t&nbsp;newsize)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_57">57+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_52">52-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Resize&nbsp;an&nbsp;object&nbsp;allocated&nbsp;by&nbsp;:cfunc:`PyObject_NewVar`.&nbsp;&nbsp;Returns&nbsp;the<span  
class="diff_sub">&nbsp;resized</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_58">58+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Resize&nbsp;an&nbsp;object&nbsp;allocated&nbsp;by&nbsp;:cfunc:`PyObject_NewVar`.&nbsp;&nbsp;Returns&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_53">53-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;object&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_59">59+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;resized</span>&nbsp;object&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to10__6"></td><td  
class="diff_header" id="to10_60">60+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_61">61+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_62">62+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*newsize*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_54">54</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_55">55</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_56">56</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyObject_GC_Track(PyObject&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_57">57</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__7">n</a></td><td  
class="diff_header" id="from10_58">58-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Adds&nbsp;the&nbsp;object&nbsp;*op*&nbsp;to&nbsp;the&nbsp;set&nbsp;of&nbsp;container&nbsp;objects&nbsp;tracked&nbsp;by&nbsp;the<span  
class="diff_sub">&nbsp;collector.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__7">n</a></td><td  
class="diff_header" id="to10_68">68+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Adds&nbsp;the&nbsp;object&nbsp;*op*&nbsp;to&nbsp;the&nbsp;set&nbsp;of&nbsp;container&nbsp;objects&nbsp;tracked&nbsp;by&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_59">59-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;The</span>&nbsp;collector&nbsp;can&nbsp;run&nbsp;at&nbsp;unexpected&nbsp;times&nbsp;so&nbsp;objects&nbsp;must&nbsp;be<span  
class="diff_sub">&nbsp;valid&nbsp;while&nbsp;being</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_69">69+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;collector<span  
class="diff_add">.&nbsp;&nbsp;The&nbsp;collector</span>&nbsp;can&nbsp;run&nbsp;at&nbsp;unexpected&nbsp;times&nbsp;so&nbsp;objects&nbsp;must&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_60">60-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;tracked.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;called&nbsp;once&nbsp;all&nbsp;the&nbsp;fields<span  
class="diff_sub">&nbsp;followed&nbsp;by&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_70">70+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;valid&nbsp;while&nbsp;being</span>&nbsp;tracked.&nbsp;&nbsp;This&nbsp;should&nbsp;be&nbsp;called&nbsp;once&nbsp;all&nbsp;the&nbsp;fields</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_61">61-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;become&nbsp;valid,&nbsp;usually&nbsp;near&nbsp;the<span  
class="diff_sub">&nbsp;end&nbsp;of&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_71">71+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;followed&nbsp;by&nbsp;the</span>&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;become&nbsp;valid,&nbsp;usually&nbsp;near&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_62">62-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;constructor.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;end&nbsp;of&nbsp;the&nbsp;constructor.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_63">63</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_64">64</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_65">65</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;_PyObject_GC_TRACK(PyObject&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_66">66</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_67">67</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;A&nbsp;macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyObject_GC_Track`.&nbsp;&nbsp;It&nbsp;should&nbsp;not&nbsp;be&nbsp;used&nbsp;for</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;extension&nbsp;modules.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_70">70</td><td  
nowrap="nowrap">Similarly,&nbsp;the&nbsp;deallocator&nbsp;for&nbsp;the&nbsp;object&nbsp;must&nbsp;conform&nbsp;to&nbsp;a&nbsp;similar&nbsp;pair&nbsp;of</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to10__7"></td><td  
class="diff_header" id="from10_80">80</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_81">81</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Releases&nbsp;memory&nbsp;allocated&nbsp;to&nbsp;an&nbsp;object&nbsp;using&nbsp;:cfunc:`PyObject_GC_New`&nbsp;or</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_82">82</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_GC_NewVar`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_83">83</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_84">84</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_85">85</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyObject_GC_UnTrack(void&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_86">86</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_87">87</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Remove&nbsp;the&nbsp;object&nbsp;*op*&nbsp;from&nbsp;the&nbsp;set&nbsp;of&nbsp;container&nbsp;objects&nbsp;tracked&nbsp;by&nbsp;the</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__8">n</a></td><td  
class="diff_header" id="from10_88">88-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;collector.&nbsp;&nbsp;Note&nbsp;that&nbsp;:cfunc:`PyObject_GC_Track`&nbsp;can&nbsp;be&nbsp;called&nbsp;again&nbsp;on<span  
class="diff_sub">&nbsp;this</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__8">n</a></td><td  
class="diff_header" id="to10_98">98+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;collector.&nbsp;&nbsp;Note&nbsp;that&nbsp;:cfunc:`PyObject_GC_Track`&nbsp;can&nbsp;be&nbsp;called&nbsp;again&nbsp;on</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_89">89-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;object&nbsp;to&nbsp;add&nbsp;it&nbsp;back&nbsp;to&nbsp;the&nbsp;set&nbsp;of&nbsp;tracked&nbsp;objects.&nbsp;&nbsp;The&nbsp;deallocator</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_99">99+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;this</span>&nbsp;object&nbsp;to&nbsp;add&nbsp;it&nbsp;back&nbsp;to&nbsp;the&nbsp;set&nbsp;of&nbsp;tracked&nbsp;objects.&nbsp;&nbsp;The&nbsp;deallocator</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_90">90-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(:attr:`tp_dealloc`&nbsp;handler)&nbsp;should&nbsp;call&nbsp;this&nbsp;for&nbsp;the&nbsp;object&nbsp;before&nbsp;any&nbsp;of<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_100">100+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(:attr:`tp_dealloc`&nbsp;handler)&nbsp;should&nbsp;call&nbsp;this&nbsp;for&nbsp;the&nbsp;object&nbsp;before&nbsp;any&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_91">91-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;fields&nbsp;used&nbsp;by&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;become&nbsp;invalid.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_101">101+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;fields&nbsp;used&nbsp;by&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;become&nbsp;invalid.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_92">92</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_93">93</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_94">94</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;_PyObject_GC_UNTRACK(PyObject&nbsp;*op)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_95">95</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to10__8"></td><td class="diff_header"  
id="from10_96">96</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;A&nbsp;macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyObject_GC_UnTrack`.&nbsp;&nbsp;It&nbsp;should&nbsp;not&nbsp;be&nbsp;used&nbsp;for</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_97">97</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;extension&nbsp;modules.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_98">98</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_99">99</td><td  
nowrap="nowrap">The&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;accepts&nbsp;a&nbsp;function&nbsp;parameter&nbsp;of&nbsp;this&nbsp;type:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_100">100</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_101">101</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_102">102</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;int&nbsp;(*visitproc)(PyObject&nbsp;*object,&nbsp;void&nbsp;*arg)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_103">103</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__9">n</a></td><td  
class="diff_header" id="from10_104">104-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Type&nbsp;of&nbsp;the&nbsp;visitor&nbsp;function&nbsp;passed&nbsp;to&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__9">n</a></td><td  
class="diff_header" id="to10_114">114+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Type&nbsp;of&nbsp;the&nbsp;visitor&nbsp;function&nbsp;passed&nbsp;to&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_105">105-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;should&nbsp;be&nbsp;called&nbsp;with&nbsp;an&nbsp;object&nbsp;to&nbsp;traverse&nbsp;as&nbsp;*object*&nbsp;and<span  
class="diff_sub">&nbsp;the&nbsp;third</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_115">115+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;function&nbsp;should&nbsp;be&nbsp;called&nbsp;with&nbsp;an&nbsp;object&nbsp;to&nbsp;traverse&nbsp;as&nbsp;*object*&nbsp;and</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_106">106-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameter&nbsp;to&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;as&nbsp;*arg*.&nbsp;&nbsp;The<span  
class="diff_sub">&nbsp;Python&nbsp;core&nbsp;uses</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_116">116+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the&nbsp;third</span>&nbsp;parameter&nbsp;to&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;as&nbsp;*arg*.&nbsp;&nbsp;The</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_107">107-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;several&nbsp;visitor&nbsp;functions&nbsp;to&nbsp;implement&nbsp;cyclic&nbsp;garbage<span  
class="diff_sub">&nbsp;detection;&nbsp;it's&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_117">117+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Python&nbsp;core&nbsp;uses</span>&nbsp;several&nbsp;visitor&nbsp;functions&nbsp;to&nbsp;implement&nbsp;cyclic&nbsp;garbage</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_108">108-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;expected&nbsp;that&nbsp;users&nbsp;will&nbsp;need&nbsp;to&nbsp;write&nbsp;their&nbsp;own&nbsp;visitor&nbsp;functions.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_118">118+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;detection;&nbsp;it's&nbsp;not&nbsp;expected&nbsp;that&nbsp;users&nbsp;will&nbsp;need&nbsp;to&nbsp;write&nbsp;their&nbsp;own</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_119">119+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;visitor&nbsp;functions.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to10__9"></td><td  
class="diff_header" id="from10_109">109</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_110">110</td><td  
nowrap="nowrap">The&nbsp;:attr:`tp_traverse`&nbsp;handler&nbsp;must&nbsp;have&nbsp;the&nbsp;following&nbsp;type:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_111">111</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_112">112</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_113">113</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;int&nbsp;(*traverseproc)(PyObject&nbsp;*self,&nbsp;visitproc&nbsp;visit,&nbsp;void&nbsp;*arg)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_114">114</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_115">115</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Traversal&nbsp;function&nbsp;for&nbsp;a&nbsp;container&nbsp;object.&nbsp;&nbsp;Implementations&nbsp;must&nbsp;call&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_116">116</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*visit*&nbsp;function&nbsp;for&nbsp;each&nbsp;object&nbsp;directly&nbsp;contained&nbsp;by&nbsp;*self*,&nbsp;with&nbsp;the</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__10">n</a></td><td  
class="diff_header" id="from10_117">117-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameters&nbsp;to&nbsp;*visit*&nbsp;being&nbsp;the&nbsp;contained&nbsp;object&nbsp;and&nbsp;the&nbsp;*arg*&nbsp;value&nbsp;passed<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__10">n</a></td><td  
class="diff_header" id="to10_128">128+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameters&nbsp;to&nbsp;*visit*&nbsp;being&nbsp;the&nbsp;contained&nbsp;object&nbsp;and&nbsp;the&nbsp;*arg*&nbsp;value&nbsp;passed</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_118">118-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;handler.&nbsp;&nbsp;The&nbsp;*visit*&nbsp;function&nbsp;must&nbsp;not&nbsp;be&nbsp;called&nbsp;with&nbsp;a&nbsp;*NULL*<span  
class="diff_sub">&nbsp;object</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_129">129+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to</span>&nbsp;the&nbsp;handler.&nbsp;&nbsp;The&nbsp;*visit*&nbsp;function&nbsp;must&nbsp;not&nbsp;be&nbsp;called&nbsp;with&nbsp;a&nbsp;*NULL*</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_119">119-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;argument.&nbsp;&nbsp;If&nbsp;*visit*&nbsp;returns&nbsp;a&nbsp;non-zero&nbsp;value&nbsp;that&nbsp;value&nbsp;should&nbsp;be<span  
class="diff_sub">&nbsp;returned</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_130">130+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;object</span>&nbsp;argument.&nbsp;&nbsp;If&nbsp;*visit*&nbsp;returns&nbsp;a&nbsp;non-zero&nbsp;value&nbsp;that&nbsp;value&nbsp;should&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_120">120-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;immediately.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_131">131+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returned</span>&nbsp;immediately.</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to10__10"></td><td  
class="diff_header" id="from10_121">121</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_122">122</td><td  
nowrap="nowrap">To&nbsp;simplify&nbsp;writing&nbsp;:attr:`tp_traverse`&nbsp;handlers,&nbsp;a&nbsp;:cfunc:`Py_VISIT`&nbsp;macro&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_123">123</td><td  
nowrap="nowrap">provided.&nbsp;&nbsp;In&nbsp;order&nbsp;to&nbsp;use&nbsp;this&nbsp;macro,&nbsp;the&nbsp;:attr:`tp_traverse`&nbsp;implementation</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_124">124</td><td  
nowrap="nowrap">must&nbsp;name&nbsp;its&nbsp;arguments&nbsp;exactly&nbsp;*visit*&nbsp;and&nbsp;*arg*:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_125">125</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_126">126</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_127">127</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;Py_VISIT(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_128">128</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__11">n</a></td><td  
class="diff_header" id="from10_129">129-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Call&nbsp;the&nbsp;*visit*&nbsp;callback,&nbsp;with&nbsp;arguments&nbsp;*o*&nbsp;and&nbsp;*arg*.&nbsp;If&nbsp;*visit*&nbsp;returns<span  
class="diff_sub">&nbsp;a</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__11">n</a></td><td  
class="diff_header" id="to10_140">140+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Call&nbsp;the&nbsp;*visit*&nbsp;callback,&nbsp;with&nbsp;arguments&nbsp;*o*&nbsp;and&nbsp;*arg*.&nbsp;If&nbsp;*visit*&nbsp;returns</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_130">130-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;non-zero&nbsp;value,&nbsp;then&nbsp;return&nbsp;it.&nbsp;&nbsp;Using&nbsp;this&nbsp;macro,&nbsp;:attr:`tp_traverse`<span  
class="diff_sub">&nbsp;handlers</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_141">141+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;a</span>&nbsp;non-zero&nbsp;value,&nbsp;then&nbsp;return&nbsp;it.&nbsp;&nbsp;Using&nbsp;this&nbsp;macro,&nbsp;:attr:`tp_traverse`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_131">131-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;look&nbsp;like::</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_142">142+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;handlers</span>&nbsp;look&nbsp;like::</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_132">132</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_133">133</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;static&nbsp;int</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_134">134</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_traverse(Noddy&nbsp;*self,&nbsp;visitproc&nbsp;visit,&nbsp;void&nbsp;*arg)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to10__11"></td><td  
class="diff_header" id="from10_135">135</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_136">136</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_VISIT(self-&gt;foo);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_137">137</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_VISIT(self-&gt;bar);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_138">138</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;0;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_140">140</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to10__12"></td><td class="diff_header"  
id="from10_141">141</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_142">142</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__12">n</a></td><td  
class="diff_header" id="from10_143">143-</td><td  
nowrap="nowrap">The&nbsp;:attr:`tp_clear`&nbsp;handler&nbsp;must&nbsp;be&nbsp;of&nbsp;the&nbsp;:ctype:`inquiry`&nbsp;type,&nbsp;or&nbsp;*NULL*<span  
class="diff_sub">&nbsp;if</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__12">n</a></td><td  
class="diff_header" id="to10_154">154+</td><td  
nowrap="nowrap">The&nbsp;:attr:`tp_clear`&nbsp;handler&nbsp;must&nbsp;be&nbsp;of&nbsp;the&nbsp;:ctype:`inquiry`&nbsp;type,&nbsp;or&nbsp;*NULL*</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_144">144-</td><td  
nowrap="nowrap">the&nbsp;object&nbsp;is&nbsp;immutable.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_155">155+</td><td nowrap="nowrap"><span  
class="diff_add">if&nbsp;</span>the&nbsp;object&nbsp;is&nbsp;immutable.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from10_145">145</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from10_146">146</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from10_147">147</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;int&nbsp;(*inquiry)(PyObject&nbsp;*self)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_148">148</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to10__top">t</a></td><td  
class="diff_header" id="from10_149">149-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Drop&nbsp;references&nbsp;that&nbsp;may&nbsp;have&nbsp;created&nbsp;reference&nbsp;cycles.&nbsp;&nbsp;Immutable&nbsp;objects<span  
class="diff_sub">&nbsp;do</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to10__top">t</a></td><td  
class="diff_header" id="to10_160">160+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Drop&nbsp;references&nbsp;that&nbsp;may&nbsp;have&nbsp;created&nbsp;reference&nbsp;cycles.&nbsp;&nbsp;Immutable&nbsp;objects</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_150">150-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;not&nbsp;have&nbsp;to&nbsp;define&nbsp;this&nbsp;method&nbsp;since&nbsp;they&nbsp;can&nbsp;never&nbsp;directly&nbsp;create<span  
class="diff_sub">&nbsp;reference</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_161">161+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;do</span>&nbsp;not&nbsp;have&nbsp;to&nbsp;define&nbsp;this&nbsp;method&nbsp;since&nbsp;they&nbsp;can&nbsp;never&nbsp;directly&nbsp;create</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_151">151-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;cycles.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;object&nbsp;must&nbsp;still&nbsp;be&nbsp;valid&nbsp;after&nbsp;calling<span  
class="diff_sub">&nbsp;this&nbsp;method</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_162">162+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;reference</span>&nbsp;cycles.&nbsp;&nbsp;Note&nbsp;that&nbsp;the&nbsp;object&nbsp;must&nbsp;still&nbsp;be&nbsp;valid&nbsp;after&nbsp;calling</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_152">152-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(don't&nbsp;just&nbsp;call&nbsp;:cfunc:`Py_DECREF`&nbsp;on&nbsp;a&nbsp;reference).&nbsp;&nbsp;The<span  
class="diff_sub">&nbsp;collector&nbsp;will&nbsp;call</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_163">163+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;this&nbsp;method</span>&nbsp;(don't&nbsp;just&nbsp;call&nbsp;:cfunc:`Py_DECREF`&nbsp;on&nbsp;a&nbsp;reference).&nbsp;&nbsp;The</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from10_153">153-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;this&nbsp;method&nbsp;if&nbsp;it&nbsp;detects&nbsp;that&nbsp;this&nbsp;object&nbsp;is&nbsp;involved&nbsp;in&nbsp;a&nbsp;reference&nbsp;cycle.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_164">164+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;collector&nbsp;will&nbsp;call&nbsp;this&nbsp;method&nbsp;if&nbsp;it&nbsp;detects&nbsp;that&nbsp;this&nbsp;object&nbsp;is&nbsp;involved</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to10_165">165+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;in&nbsp;a&nbsp;reference&nbsp;cycle.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/import.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,152 @@
+--- r262/c-api/import.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/import.rst	2010-05-19 08:13:04.544632000 +0900
+@@ -19,28 +19,28 @@
+    argument contains a dot (when it specifies a submodule of a package),  
the
+    *fromlist* argument is set to the list ``['*']`` so that the return  
value is the
+    named module rather than the top-level package containing it as would  
otherwise
+    be the case.  (Unfortunately, this has an additional side effect when  
*name* in
+    fact specifies a subpackage instead of a submodule: the submodules  
specified in
+    the package's ``__all__`` variable are  loaded.)  Return a new  
reference to the
+    imported module, or *NULL* with an exception set on failure.  Before  
Python 2.4,
+    the module may still be created in the failure case --- examine  
``sys.modules``
+    to find out.  Starting with Python 2.4, a failing import of a module  
no longer
+    leaves the module in ``sys.modules``.
+
+    .. versionchanged:: 2.4
+-      failing imports remove incomplete module objects.
++      Failing imports remove incomplete module objects.
+
+    .. versionchanged:: 2.6
+-      always use absolute imports
++      Always uses absolute imports.
+
+
+ .. cfunction:: PyObject* PyImport_ImportModuleNoBlock(const char *name)
+
+    This version of :cfunc:`PyImport_ImportModule` does not block. It's  
intended
+    to be used in C functions that import other modules to execute a  
function.
+    The import may block if another thread holds the import lock. The  
function
+    :cfunc:`PyImport_ImportModuleNoBlock` never blocks. It first tries to  
fetch
+    the module from sys.modules and falls back  
to :cfunc:`PyImport_ImportModule`
+    unless the lock is held, in which case the function will raise an
+    :exc:`ImportError`.
+
+@@ -53,25 +53,25 @@
+
+    Import a module.  This is best described by referring to the built-in  
Python
+    function :func:`__import__`, as the standard :func:`__import__`  
function calls
+    this function directly.
+
+    The return value is a new reference to the imported module or  
top-level package,
+    or *NULL* with an exception set on failure (before Python 2.4, the  
module may
+    still be created in this case).  Like for :func:`__import__`, the  
return value
+    when a submodule of a package was requested is normally the top-level  
package,
+    unless a non-empty *fromlist* was given.
+
+    .. versionchanged:: 2.4
+-      failing imports remove incomplete module objects.
++      Failing imports remove incomplete module objects.
+
+    .. versionchanged:: 2.6
+       The function is an alias for :cfunc:`PyImport_ImportModuleLevel`  
with
+       -1 as level, meaning relative import.
+
+
+ .. cfunction:: PyObject* PyImport_ImportModuleLevel(char *name, PyObject  
*globals, PyObject *locals, PyObject *fromlist, int level)
+
+    Import a module.  This is best described by referring to the built-in  
Python
+    function :func:`__import__`, as the standard :func:`__import__`  
function calls
+    this function directly.
+
+@@ -86,25 +86,25 @@
+ .. cfunction:: PyObject* PyImport_Import(PyObject *name)
+
+    .. index::
+       module: rexec
+       module: ihooks
+
+    This is a higher-level interface that calls the current "import hook  
function".
+    It invokes the :func:`__import__` function from the ``__builtins__``  
of the
+    current globals.  This means that the import is done using whatever  
import hooks
+    are installed in the current environment, e.g. by :mod:`rexec`  
or :mod:`ihooks`.
+
+    .. versionchanged:: 2.6
+-      always use absolute imports
++      Always uses absolute imports.
+
+
+ .. cfunction:: PyObject* PyImport_ReloadModule(PyObject *m)
+
+    .. index:: builtin: reload
+
+    Reload a module.  This is best described by referring to the built-in  
Python
+    function :func:`reload`, as the standard :func:`reload` function calls  
this
+    function directly.  Return a new reference to the reloaded module, or  
*NULL*
+    with an exception set on failure (the module still exists in this  
case).
+
+
+@@ -129,54 +129,63 @@
+
+    Given a module name (possibly of the form ``package.module``) and a  
code object
+    read from a Python bytecode file or obtained from the built-in function
+    :func:`compile`, load the module.  Return a new reference to the  
module object,
+    or *NULL* with an exception set if an error occurred.  Before Python  
2.4, the
+    module could still be created in error cases.  Starting with Python  
2.4, *name*
+    is removed from :attr:`sys.modules` in error cases, and even if *name*  
was already
+    in :attr:`sys.modules` on entry to :cfunc:`PyImport_ExecCodeModule`.   
Leaving
+    incompletely initialized modules in :attr:`sys.modules` is dangerous,  
as imports of
+    such modules have no way to know that the module object is an unknown  
(and
+    probably damaged with respect to the module author's intents) state.
+
++   The module's :attr:`__file__` attribute will be set to the code  
object's
++   :cmember:`co_filename`.
++
+    This function will reload the module if it was already imported.  See
+    :cfunc:`PyImport_ReloadModule` for the intended way to reload a module.
+
+    If *name* points to a dotted name of the form ``package.module``, any  
package
+    structures not already created will still not be created.
+
+    .. versionchanged:: 2.4
+       *name* is removed from :attr:`sys.modules` in error cases.
+
+
++.. cfunction:: PyObject* PyImport_ExecCodeModuleEx(char *name, PyObject  
*co, char *pathname)
++
++   Like :cfunc:`PyImport_ExecCodeModule`, but the :attr:`__file__`  
attribute of
++   the module object is set to *pathname* if it is non-``NULL``.
++
++
+ .. cfunction:: long PyImport_GetMagicNumber()
+
+    Return the magic number for Python bytecode files (a.k.a. :file:`.pyc`  
and
+    :file:`.pyo` files).  The magic number should be present in the first  
four bytes
+    of the bytecode file, in little-endian byte order.
+
+
+ .. cfunction:: PyObject* PyImport_GetModuleDict()
+
+    Return the dictionary used for the module administration (a.k.a.
+    ``sys.modules``).  Note that this is a per-interpreter variable.
+
+
+ .. cfunction:: PyObject* PyImport_GetImporter(PyObject *path)
+
+    Return an importer object for a :data:`sys.path`/:attr:`pkg.__path__`  
item
+    *path*, possibly by fetching it from  
the :data:`sys.path_importer_cache`
+    dict.  If it wasn't yet cached, traverse :data:`sys.path_hooks` until  
a hook
+    is found that can handle the path item.  Return ``None`` if no hook  
could;
+-   this tells our caller it should fall back to the builtin import  
mechanism.
++   this tells our caller it should fall back to the built-in import  
mechanism.
+    Cache the result in :data:`sys.path_importer_cache`.  Return a new  
reference
+    to the importer object.
+
+    .. versionadded:: 2.6
+
+
+ .. cfunction:: void _PyImport_Init()
+
+    Initialize the import mechanism.  For internal use only.
+
+
+ .. cfunction:: void PyImport_Cleanup()
=======================================
--- /dev/null
+++ /c-api/diff/import.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,75 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to11__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/import.rst =&gt;  
r266/c-api/import.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to11__0"></td><td class="diff_header"  
id="from11_23">23</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;fact&nbsp;specifies&nbsp;a&nbsp;subpackage&nbsp;instead&nbsp;of&nbsp;a&nbsp;submodule:&nbsp;the&nbsp;submodules&nbsp;specified&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_24">24</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;package's&nbsp;``__all__``&nbsp;variable&nbsp;are&nbsp;&nbsp;loaded.)&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;reference&nbsp;to&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_25">25</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;imported&nbsp;module,&nbsp;or&nbsp;*NULL*&nbsp;with&nbsp;an&nbsp;exception&nbsp;set&nbsp;on&nbsp;failure.&nbsp;&nbsp;Before&nbsp;Python&nbsp;2.4,</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to11__1"></td><td  
class="diff_header" id="from11_26">26</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;module&nbsp;may&nbsp;still&nbsp;be&nbsp;created&nbsp;in&nbsp;the&nbsp;failure&nbsp;case&nbsp;---&nbsp;examine&nbsp;``sys.modules``</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;to&nbsp;find&nbsp;out.&nbsp;&nbsp;Starting&nbsp;with&nbsp;Python&nbsp;2.4,&nbsp;a&nbsp;failing&nbsp;import&nbsp;of&nbsp;a&nbsp;module&nbsp;no&nbsp;longer</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_28">28</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;leaves&nbsp;the&nbsp;module&nbsp;in&nbsp;``sys.modules``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_29">29</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_30">30</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.4</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__1">n</a></td><td  
class="diff_header" id="from11_31">31-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">f</span>ailing&nbsp;imports&nbsp;remove&nbsp;incomplete&nbsp;module&nbsp;objects.</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to11__1">n</a></td><td  
class="diff_header" id="to11_31">31+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">F</span>ailing&nbsp;imports&nbsp;remove&nbsp;incomplete&nbsp;module&nbsp;objects.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_32">32</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_33">33</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.6</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__2">n</a></td><td  
class="diff_header" id="from11_34">34-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">a</span>lways&nbsp;use&nbsp;absolute&nbsp;imports</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to11__2">n</a></td><td  
class="diff_header" id="to11_34">34+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">A</span>lways&nbsp;use<span  
class="diff_add">s</span>&nbsp;absolute&nbsp;imports<span  
class="diff_add">.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_35">35</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_36">36</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_37">37</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyImport_ImportModuleNoBlock(const&nbsp;char&nbsp;*name)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_38">38</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_39">39</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;version&nbsp;of&nbsp;:cfunc:`PyImport_ImportModule`&nbsp;does&nbsp;not&nbsp;block.&nbsp;It's&nbsp;intended</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_40">40</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;to&nbsp;be&nbsp;used&nbsp;in&nbsp;C&nbsp;functions&nbsp;that&nbsp;import&nbsp;other&nbsp;modules&nbsp;to&nbsp;execute&nbsp;a&nbsp;function.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;import&nbsp;may&nbsp;block&nbsp;if&nbsp;another&nbsp;thread&nbsp;holds&nbsp;the&nbsp;import&nbsp;lock.&nbsp;The&nbsp;function</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_42">42</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyImport_ImportModuleNoBlock`&nbsp;never&nbsp;blocks.&nbsp;It&nbsp;first&nbsp;tries&nbsp;to&nbsp;fetch</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to11__2"></td><td  
class="diff_header" id="from11_57">57</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_58">58</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;return&nbsp;value&nbsp;is&nbsp;a&nbsp;new&nbsp;reference&nbsp;to&nbsp;the&nbsp;imported&nbsp;module&nbsp;or&nbsp;top-level&nbsp;package,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_59">59</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;or&nbsp;*NULL*&nbsp;with&nbsp;an&nbsp;exception&nbsp;set&nbsp;on&nbsp;failure&nbsp;(before&nbsp;Python&nbsp;2.4,&nbsp;the&nbsp;module&nbsp;may</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_60">60</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;still&nbsp;be&nbsp;created&nbsp;in&nbsp;this&nbsp;case).&nbsp;&nbsp;Like&nbsp;for&nbsp;:func:`__import__`,&nbsp;the&nbsp;return&nbsp;value</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_61">61</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;when&nbsp;a&nbsp;submodule&nbsp;of&nbsp;a&nbsp;package&nbsp;was&nbsp;requested&nbsp;is&nbsp;normally&nbsp;the&nbsp;top-level&nbsp;package,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_62">62</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;unless&nbsp;a&nbsp;non-empty&nbsp;*fromlist*&nbsp;was&nbsp;given.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_63">63</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.4</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__3">n</a></td><td  
class="diff_header" id="from11_65">65-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">f</span>ailing&nbsp;imports&nbsp;remove&nbsp;incomplete&nbsp;module&nbsp;objects.</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to11__3">n</a></td><td  
class="diff_header" id="to11_65">65+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">F</span>ailing&nbsp;imports&nbsp;remove&nbsp;incomplete&nbsp;module&nbsp;objects.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_66">66</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_67">67</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The&nbsp;function&nbsp;is&nbsp;an&nbsp;alias&nbsp;for&nbsp;:cfunc:`PyImport_ImportModuleLevel`&nbsp;with</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_69">69</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1&nbsp;as&nbsp;level,&nbsp;meaning&nbsp;relative&nbsp;import.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_70">70</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_71">71</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_72">72</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyImport_ImportModuleLevel(char&nbsp;*name,&nbsp;PyObject&nbsp;*globals,&nbsp;PyObject&nbsp;*locals,&nbsp;PyObject&nbsp;*fromlist,&nbsp;int&nbsp;level)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_73">73</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to11__3"></td><td  
class="diff_header" id="from11_90">90</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module:&nbsp;ihooks</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_91">91</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_92">92</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;higher-level&nbsp;interface&nbsp;that&nbsp;calls&nbsp;the&nbsp;current&nbsp;"import&nbsp;hook&nbsp;function".</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_93">93</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;It&nbsp;invokes&nbsp;the&nbsp;:func:`__import__`&nbsp;function&nbsp;from&nbsp;the&nbsp;``__builtins__``&nbsp;of&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_94">94</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;current&nbsp;globals.&nbsp;&nbsp;This&nbsp;means&nbsp;that&nbsp;the&nbsp;import&nbsp;is&nbsp;done&nbsp;using&nbsp;whatever&nbsp;import&nbsp;hooks</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_95">95</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;are&nbsp;installed&nbsp;in&nbsp;the&nbsp;current&nbsp;environment,&nbsp;e.g.&nbsp;by&nbsp;:mod:`rexec`&nbsp;or&nbsp;:mod:`ihooks`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_96">96</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_97">97</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.6</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__4">n</a></td><td  
class="diff_header" id="from11_98">98-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">a</span>lways&nbsp;use&nbsp;absolute&nbsp;imports</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to11__4">n</a></td><td  
class="diff_header" id="to11_98">98+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_chg">A</span>lways&nbsp;use<span  
class="diff_add">s</span>&nbsp;absolute&nbsp;imports<span  
class="diff_add">.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_99">99</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_100">100</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_101">101</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyImport_ReloadModule(PyObject&nbsp;*m)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_102">102</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_103">103</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;reload</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_104">104</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_105">105</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Reload&nbsp;a&nbsp;module.&nbsp;&nbsp;This&nbsp;is&nbsp;best&nbsp;described&nbsp;by&nbsp;referring&nbsp;to&nbsp;the&nbsp;built-in&nbsp;Python</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_106">106</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;:func:`reload`,&nbsp;as&nbsp;the&nbsp;standard&nbsp;:func:`reload`&nbsp;function&nbsp;calls&nbsp;this</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to11__4"></td><td  
class="diff_header" id="from11_133">133</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;or&nbsp;*NULL*&nbsp;with&nbsp;an&nbsp;exception&nbsp;set&nbsp;if&nbsp;an&nbsp;error&nbsp;occurred.&nbsp;&nbsp;Before&nbsp;Python&nbsp;2.4,&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_134">134</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;module&nbsp;could&nbsp;still&nbsp;be&nbsp;created&nbsp;in&nbsp;error&nbsp;cases.&nbsp;&nbsp;Starting&nbsp;with&nbsp;Python&nbsp;2.4,&nbsp;*name*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_135">135</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;is&nbsp;removed&nbsp;from&nbsp;:attr:`sys.modules`&nbsp;in&nbsp;error&nbsp;cases,&nbsp;and&nbsp;even&nbsp;if&nbsp;*name*&nbsp;was&nbsp;already</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_136">136</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;in&nbsp;:attr:`sys.modules`&nbsp;on&nbsp;entry&nbsp;to&nbsp;:cfunc:`PyImport_ExecCodeModule`.&nbsp;&nbsp;Leaving</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_137">137</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;incompletely&nbsp;initialized&nbsp;modules&nbsp;in&nbsp;:attr:`sys.modules`&nbsp;is&nbsp;dangerous,&nbsp;as&nbsp;imports&nbsp;of</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_138">138</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;such&nbsp;modules&nbsp;have&nbsp;no&nbsp;way&nbsp;to&nbsp;know&nbsp;that&nbsp;the&nbsp;module&nbsp;object&nbsp;is&nbsp;an&nbsp;unknown&nbsp;(and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;probably&nbsp;damaged&nbsp;with&nbsp;respect&nbsp;to&nbsp;the&nbsp;module&nbsp;author's&nbsp;intents)&nbsp;state.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_140">140</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__5">n</a></td><td  
class="diff_header" id="to11_141">141+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;The&nbsp;module's&nbsp;:attr:`__file__`&nbsp;attribute&nbsp;will&nbsp;be&nbsp;set&nbsp;to&nbsp;the&nbsp;code&nbsp;object's</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_142">142+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cmember:`co_filename`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_143">143+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to11__5"></td><td  
class="diff_header" id="from11_141">141</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;will&nbsp;reload&nbsp;the&nbsp;module&nbsp;if&nbsp;it&nbsp;was&nbsp;already&nbsp;imported.&nbsp;&nbsp;See</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_142">142</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyImport_ReloadModule`&nbsp;for&nbsp;the&nbsp;intended&nbsp;way&nbsp;to&nbsp;reload&nbsp;a&nbsp;module.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_143">143</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_144">144</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;If&nbsp;*name*&nbsp;points&nbsp;to&nbsp;a&nbsp;dotted&nbsp;name&nbsp;of&nbsp;the&nbsp;form&nbsp;``package.module``,&nbsp;any&nbsp;package</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_145">145</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;structures&nbsp;not&nbsp;already&nbsp;created&nbsp;will&nbsp;still&nbsp;not&nbsp;be&nbsp;created.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_146">146</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_147">147</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_148">148</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*name*&nbsp;is&nbsp;removed&nbsp;from&nbsp;:attr:`sys.modules`&nbsp;in&nbsp;error&nbsp;cases.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__6">n</a></td><td  
class="diff_header" id="to11_152">152+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_153">153+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_154">154+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyImport_ExecCodeModuleEx(char&nbsp;*name,&nbsp;PyObject&nbsp;*co,&nbsp;char&nbsp;*pathname)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_155">155+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_156">156+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Like&nbsp;:cfunc:`PyImport_ExecCodeModule`,&nbsp;but&nbsp;the&nbsp;:attr:`__file__`&nbsp;attribute&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to11_157">157+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;module&nbsp;object&nbsp;is&nbsp;set&nbsp;to&nbsp;*pathname*&nbsp;if&nbsp;it&nbsp;is&nbsp;non-``NULL``.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_149">149</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_150">150</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_151">151</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;long&nbsp;PyImport_GetMagicNumber()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_152">152</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_153">153</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;magic&nbsp;number&nbsp;for&nbsp;Python&nbsp;bytecode&nbsp;files&nbsp;(a.k.a.&nbsp;:file:`.pyc`&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_154">154</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:file:`.pyo`&nbsp;files).&nbsp;&nbsp;The&nbsp;magic&nbsp;number&nbsp;should&nbsp;be&nbsp;present&nbsp;in&nbsp;the&nbsp;first&nbsp;four&nbsp;bytes</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_155">155</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;bytecode&nbsp;file,&nbsp;in&nbsp;little-endian&nbsp;byte&nbsp;order.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_156">156</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to11__6"></td><td  
class="diff_header" id="from11_162">162</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_163">163</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_164">164</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyImport_GetImporter(PyObject&nbsp;*path)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_165">165</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_166">166</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;an&nbsp;importer&nbsp;object&nbsp;for&nbsp;a&nbsp;:data:`sys.path`/:attr:`pkg.__path__`&nbsp;item</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_167">167</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*path*,&nbsp;possibly&nbsp;by&nbsp;fetching&nbsp;it&nbsp;from&nbsp;the&nbsp;:data:`sys.path_importer_cache`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_168">168</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;dict.&nbsp;&nbsp;If&nbsp;it&nbsp;wasn't&nbsp;yet&nbsp;cached,&nbsp;traverse&nbsp;:data:`sys.path_hooks`&nbsp;until&nbsp;a&nbsp;hook</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_169">169</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;is&nbsp;found&nbsp;that&nbsp;can&nbsp;handle&nbsp;the&nbsp;path&nbsp;item.&nbsp;&nbsp;Return&nbsp;``None``&nbsp;if&nbsp;no&nbsp;hook&nbsp;could;</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to11__top">t</a></td><td  
class="diff_header" id="from11_170">170-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;this&nbsp;tells&nbsp;our&nbsp;caller&nbsp;it&nbsp;should&nbsp;fall&nbsp;back&nbsp;to&nbsp;the&nbsp;builtin&nbsp;import&nbsp;mechanism.</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to11__top">t</a></td><td  
class="diff_header" id="to11_179">179+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;this&nbsp;tells&nbsp;our&nbsp;caller&nbsp;it&nbsp;should&nbsp;fall&nbsp;back&nbsp;to&nbsp;the&nbsp;built<span  
class="diff_add">-</span>in&nbsp;import&nbsp;mechanism.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from11_171">171</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Cache&nbsp;the&nbsp;result&nbsp;in&nbsp;:data:`sys.path_importer_cache`.&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;reference</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_172">172</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;to&nbsp;the&nbsp;importer&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_173">173</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_174">174</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_175">175</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from11_176">176</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from11_177">177</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;_PyImport_Init()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from11_178">178</td><td nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/init.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,305 @@
+--- r262/c-api/init.rst	2009-04-06 06:26:31.956399000 +0900
++++ r266/c-api/init.rst	2010-05-22 02:22:43.998748000 +0900
+@@ -13,34 +13,35 @@
+    .. index::
+       single: Py_SetProgramName()
+       single: PyEval_InitThreads()
+       single: PyEval_ReleaseLock()
+       single: PyEval_AcquireLock()
+       single: modules (in module sys)
+       single: path (in module sys)
+       module: __builtin__
+       module: __main__
+       module: sys
+       triple: module; search; path
+       single: PySys_SetArgv()
++      single: PySys_SetArgvEx()
+       single: Py_Finalize()
+
+    Initialize the Python interpreter.  In an application embedding   
Python, this
+    should be called before using any other Python/C API functions; with  
the
+    exception of :cfunc:`Py_SetProgramName`, :cfunc:`PyEval_InitThreads`,
+    :cfunc:`PyEval_ReleaseLock`, and :cfunc:`PyEval_AcquireLock`. This  
initializes
+    the table of loaded modules (``sys.modules``), and creates the  
fundamental
+    modules :mod:`__builtin__`, :mod:`__main__` and :mod:`sys`.  It also  
initializes
+    the module search path (``sys.path``). It does not set ``sys.argv``;  
use
+-   :cfunc:`PySys_SetArgv` for that.  This is a no-op when called for a  
second time
++   :cfunc:`PySys_SetArgvEx` for that.  This is a no-op when called for a  
second time
+    (without calling :cfunc:`Py_Finalize` first).  There is no return  
value; it is a
+    fatal error if the initialization fails.
+
+
+ .. cfunction:: void Py_InitializeEx(int initsigs)
+
+    This function works like :cfunc:`Py_Initialize` if *initsigs* is 1. If
+    *initsigs* is 0, it skips initialization registration of signal  
handlers, which
+    might be useful when Python is embedded.
+
+    .. versionadded:: 2.4
+
+@@ -248,60 +249,52 @@
+    side-effect of deriving the default module search path  from the  
program name
+    (set by :cfunc:`Py_SetProgramName` above). The returned string points  
into
+    static storage; the caller should not modify its value.  The value is  
available
+    to Python code as ``sys.executable``.
+
+
+ .. cfunction:: char* Py_GetPath()
+
+    .. index::
+       triple: module; search; path
+       single: path (in module sys)
+
+-   Return the default module search path; this is computed from the   
program name
+-   (set by :cfunc:`Py_SetProgramName` above) and some environment  
variables.  The
+-   returned string consists of a series of directory names separated by a  
platform
+-   dependent delimiter character.  The delimiter character is ``':'`` on  
Unix and
+-   Mac OS X, ``';'`` on Windows.  The returned string points into static  
storage;
+-   the caller should not modify its value.  The value is available to  
Python code
+-   as the list ``sys.path``, which may be modified to change the future  
search path
+-   for loaded modules.
++   Return the default module search path; this is computed from the  
program name
++   (set by :cfunc:`Py_SetProgramName` above) and some environment  
variables.
++   The returned string consists of a series of directory names separated  
by a
++   platform dependent delimiter character.  The delimiter character is  
``':'``
++   on Unix and Mac OS X, ``';'`` on Windows.  The returned string points  
into
++   static storage; the caller should not modify its value.  The list
++   :data:`sys.path` is initialized with this value on interpreter  
startup; it
++   can be (and usually is) modified later to change the search path for  
loading
++   modules.
+
+    .. XXX should give the exact rules
+
+
+ .. cfunction:: const char* Py_GetVersion()
+
+    Return the version of this Python interpreter.  This is a string that  
looks
+    something like ::
+
+       "1.5 (#67, Dec 31 1997, 22:34:28) [GCC 2.7.2.2]"
+
+    .. index:: single: version (in module sys)
+
+    The first word (up to the first space character) is the current Python  
version;
+    the first three characters are the major and minor version separated  
by a
+    period.  The returned string points into static storage; the caller  
should not
+    modify its value.  The value is available to Python code as  
``sys.version``.
+
+
+-.. cfunction:: const char* Py_GetBuildNumber()
+-
+-   Return a string representing the Subversion revision that this Python  
executable
+-   was built from.  This number is a string because it may contain a  
trailing 'M'
+-   if Python was built from a mixed revision source tree.
+-
+-   .. versionadded:: 2.5
+-
+-
+ .. cfunction:: const char* Py_GetPlatform()
+
+    .. index:: single: platform (in module sys)
+
+    Return the platform identifier for the current platform.  On Unix,  
this is
+    formed from the "official" name of the operating system, converted to  
lower
+    case, followed by the major revision number; e.g., for Solaris 2.x,  
which is
+    also known as SunOS 5.x, the value is ``'sunos5'``.  On Mac OS X, it is
+    ``'darwin'``.  On Windows, it is ``'win'``.  The returned string  
points into
+    static storage; the caller should not modify its value.  The value is  
available
+    to Python code as ``sys.platform``.
+
+@@ -337,52 +330,83 @@
+    Return information about the sequence number and build date and time   
of the
+    current Python interpreter instance, for example ::
+
+       "#67, Aug  1 1997, 22:34:28"
+
+    .. index:: single: version (in module sys)
+
+    The returned string points into static storage; the caller should not  
modify its
+    value.  The value is available to Python code as part of the variable
+    ``sys.version``.
+
+
+-.. cfunction:: void PySys_SetArgv(int argc, char **argv)
++.. cfunction:: void PySys_SetArgvEx(int argc, char **argv, int updatepath)
+
+    .. index::
+       single: main()
+       single: Py_FatalError()
+       single: argv (in module sys)
+
+    Set :data:`sys.argv` based on *argc* and *argv*.  These parameters are
+    similar to those passed to the program's :cfunc:`main` function with  
the
+    difference that the first entry should refer to the script file to be
+    executed rather than the executable hosting the Python interpreter.   
If there
+    isn't a script that will be run, the first entry in *argv* can be an  
empty
+    string.  If this function fails to initialize :data:`sys.argv`, a fatal
+    condition is signalled using :cfunc:`Py_FatalError`.
+
+-   This function also prepends the executed script's path  
to :data:`sys.path`.
+-   If no script is executed (in the case of calling ``python -c`` or just  
the
+-   interactive interpreter), the empty string is used instead.
++   If *updatepath* is zero, this is all the function does.  If  
*updatepath*
++   is non-zero, the function also modifies :data:`sys.path` according to  
the
++   following algorithm:
++
++   - If the name of an existing script is passed in ``argv[0]``, the  
absolute
++     path of the directory where the script is located is prepended to
++     :data:`sys.path`.
++   - Otherwise (that is, if *argc* is 0 or ``argv[0]`` doesn't point
++     to an existing file name), an empty string is prepended to
++     :data:`sys.path`, which is the same as prepending the current working
++     directory (``"."``).
++
++   .. note::
++      It is recommended that applications embedding the Python interpreter
++      for purposes other than executing a single script pass 0 as  
*updatepath*,
++      and update :data:`sys.path` themselves if desired.
++      See `CVE-2008-5983  
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
++
++      On versions before 2.6.6, you can achieve the same effect by  
manually
++      popping the first :data:`sys.path` element after having called
++      :cfunc:`PySys_SetArgv`, for example using::
++
++         PyRun_SimpleString("import sys; sys.path.pop(0)\n");
++
++   .. versionadded:: 2.6.6
+
+    .. XXX impl. doesn't seem consistent in allowing 0/NULL for the params;
+       check w/ Guido.
+
+
++.. cfunction:: void PySys_SetArgv(int argc, char **argv)
++
++   This function works like :cfunc:`PySys_SetArgv` with *updatepath* set  
to 1.
++
++
+ .. cfunction:: void Py_SetPythonHome(char *home)
+
+    Set the default "home" directory, that is, the location of the standard
+    Python libraries.  The libraries are searched in
+    :file:`{home}/lib/python{version}`  
and :file:`{home}/lib/python{version}`.
++   The argument should point to a zero-terminated character string in  
static
++   storage whose contents will not change for the duration of the  
program's
++   execution.  No code in the Python interpreter will change the contents  
of
++   this storage.
+
+
+ .. cfunction:: char* Py_GetPythonHome()
+
+    Return the default "home", that is, the value set by a previous call to
+    :cfunc:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME`
+    environment variable if it is set.
+
+
+ .. _threads:
+
+ Thread State and the Global Interpreter Lock
+@@ -410,28 +434,27 @@
+ (this can be changed with  :func:`sys.setcheckinterval`).  The lock is  
also
+ released and reacquired around potentially blocking I/O operations like  
reading
+ or writing a file, so that other threads can run while the thread that  
requests
+ the I/O is waiting for the I/O operation to complete.
+
+ .. index::
+    single: PyThreadState
+    single: PyThreadState
+
+ The Python interpreter needs to keep some bookkeeping information  
separate per
+ thread --- for this it uses a data structure  
called :ctype:`PyThreadState`.
+ There's one global variable, however: the pointer to the current
+-:ctype:`PyThreadState` structure.  While most thread packages have a way  
to
+-store "per-thread global data," Python's internal platform independent  
thread
+-abstraction doesn't support this yet.  Therefore, the current thread  
state must
+-be manipulated explicitly.
++:ctype:`PyThreadState` structure.  Before the addition  
of :dfn:`thread-local
++storage` (:dfn:`TLS`) the current thread state had to be manipulated
++explicitly.
+
+ This is easy enough in most cases.  Most code manipulating the global
+ interpreter lock has the following simple structure::
+
+    Save the thread state in a local variable.
+    Release the global interpreter lock.
+    ...Do some blocking I/O operation...
+    Reacquire the global interpreter lock.
+    Restore the thread state from the local variable.
+
+ This is so common that a pair of macros exists to simplify it::
+
+@@ -483,52 +506,68 @@
+ :cfunc:`PyEval_ReleaseLock` and :cfunc:`PyEval_AcquireLock` are not  
available.
+ This is done so that dynamically loaded extensions compiled with thread  
support
+ enabled can be loaded by an interpreter that was compiled with disabled  
thread
+ support.
+
+ The global interpreter lock is used to protect the pointer to the current  
thread
+ state.  When releasing the lock and saving the thread state, the current  
thread
+ state pointer must be retrieved before the lock is released (since another
+ thread could immediately acquire the lock and store its own thread state  
in the
+ global variable). Conversely, when acquiring the lock and restoring the  
thread
+ state, the lock must be acquired before storing the thread state pointer.
+
+-Why am I going on with so much detail about this?  Because when threads  
are
+-created from C, they don't have the global interpreter lock, nor is there  
a
+-thread state data structure for them.  Such threads must bootstrap  
themselves
+-into existence, by first creating a thread state data structure, then  
acquiring
+-the lock, and finally storing their thread state pointer, before they can  
start
+-using the Python/C API.  When they are done, they should reset the thread  
state
+-pointer, release the lock, and finally free their thread state data  
structure.
++It is important to note that when threads are created from C, they don't  
have
++the global interpreter lock, nor is there a thread state data structure  
for
++them.  Such threads must bootstrap themselves into existence, by first
++creating a thread state data structure, then acquiring the lock, and  
finally
++storing their thread state pointer, before they can start using the  
Python/C
++API.  When they are done, they should reset the thread state pointer,  
release
++the lock, and finally free their thread state data structure.
+
+ Beginning with version 2.3, threads can now take advantage of the
+ :cfunc:`PyGILState_\*` functions to do all of the above automatically.   
The
+ typical idiom for calling into Python from a C thread is now::
+
+    PyGILState_STATE gstate;
+    gstate = PyGILState_Ensure();
+
+    /* Perform Python actions here.  */
+    result = CallSomeFunction();
+    /* evaluate result */
+
+    /* Release the thread. No Python API allowed beyond this point. */
+    PyGILState_Release(gstate);
+
+ Note that the :cfunc:`PyGILState_\*` functions assume there is only one  
global
+ interpreter (created automatically by :cfunc:`Py_Initialize`).  Python  
still
+ supports the creation of additional interpreters (using
+ :cfunc:`Py_NewInterpreter`), but mixing multiple interpreters and the
+ :cfunc:`PyGILState_\*` API is unsupported.
+
++Another important thing to note about threads is their behaviour in the  
face
++of the C :cfunc:`fork` call. On most systems with :cfunc:`fork`, after a
++process forks only the thread that issued the fork will exist. That also
++means any locks held by other threads will never be released. Python  
solves
++this for :func:`os.fork` by acquiring the locks it uses internally before
++the fork, and releasing them afterwards. In addition, it resets any
++:ref:`lock-objects` in the child. When extending or embedding Python,  
there
++is no way to inform Python of additional (non-Python) locks that need to  
be
++acquired before or reset after a fork. OS facilities such as
++:cfunc:`posix_atfork` would need to be used to accomplish the same thing.
++Additionally, when extending or embedding Python, calling :cfunc:`fork`
++directly rather than through :func:`os.fork` (and returning to or calling
++into Python) may result in a deadlock by one of Python's internal locks
++being held by a thread that is defunct after the fork.
++:cfunc:`PyOS_AfterFork` tries to reset the necessary locks, but is not
++always able to.
+
+ .. ctype:: PyInterpreterState
+
+    This data structure represents the state shared by a number of  
cooperating
+    threads.  Threads belonging to the same interpreter share their module
+    administration and a few other internal items. There are no public  
members in
+    this structure.
+
+    Threads belonging to different interpreters initially share nothing,  
except
+    process state like available memory, open file descriptors and such.   
The global
+    interpreter lock is also shared by all threads, regardless of to which
+    interpreter they belong.
=======================================
--- /dev/null
+++ /c-api/diff/init.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,165 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to12__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/init.rst =&gt;  
r266/c-api/init.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to12__0"></td><td class="diff_header"  
id="from12_17">17</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;PyEval_AcquireLock()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_18">18</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;modules&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_19">19</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;path&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module:&nbsp;__builtin__</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_21">21</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module:&nbsp;__main__</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_22">22</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;module:&nbsp;sys</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_23">23</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;triple:&nbsp;module;&nbsp;search;&nbsp;path</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_24">24</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;PySys_SetArgv()</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__1">n</a></td><td  
class="diff_header" id="to12_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;PySys_SetArgvEx()</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_25">25</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;Py_Finalize()</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to12__1"></td><td  
class="diff_header" id="from12_26">26</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Initialize&nbsp;the&nbsp;Python&nbsp;interpreter.&nbsp;&nbsp;In&nbsp;an&nbsp;application&nbsp;embedding&nbsp;&nbsp;Python,&nbsp;this</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_28">28</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;should&nbsp;be&nbsp;called&nbsp;before&nbsp;using&nbsp;any&nbsp;other&nbsp;Python/C&nbsp;API&nbsp;functions;&nbsp;with&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_29">29</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;exception&nbsp;of&nbsp;:cfunc:`Py_SetProgramName`,&nbsp;:cfunc:`PyEval_InitThreads`,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_30">30</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyEval_ReleaseLock`,&nbsp;and&nbsp;:cfunc:`PyEval_AcquireLock`.&nbsp;This&nbsp;initializes</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_31">31</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;table&nbsp;of&nbsp;loaded&nbsp;modules&nbsp;(``sys.modules``),&nbsp;and&nbsp;creates&nbsp;the&nbsp;fundamental</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_32">32</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;modules&nbsp;:mod:`__builtin__`,&nbsp;:mod:`__main__`&nbsp;and&nbsp;:mod:`sys`.&nbsp;&nbsp;It&nbsp;also&nbsp;initializes</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_33">33</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;module&nbsp;search&nbsp;path&nbsp;(``sys.path``).&nbsp;It&nbsp;does&nbsp;not&nbsp;set&nbsp;``sys.argv``;&nbsp;use</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__2">n</a></td><td  
class="diff_header" id="from12_34">34-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySys_SetArgv`&nbsp;for&nbsp;that.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;no-op&nbsp;when&nbsp;called&nbsp;for&nbsp;a&nbsp;second&nbsp;time</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__2">n</a></td><td  
class="diff_header" id="to12_35">35+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySys_SetArgv<span  
class="diff_add">Ex</span>`&nbsp;for&nbsp;that.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;no-op&nbsp;when&nbsp;called&nbsp;for&nbsp;a&nbsp;second&nbsp;time</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_35">35</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(without&nbsp;calling&nbsp;:cfunc:`Py_Finalize`&nbsp;first).&nbsp;&nbsp;There&nbsp;is&nbsp;no&nbsp;return&nbsp;value;&nbsp;it&nbsp;is&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_36">36</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;fatal&nbsp;error&nbsp;if&nbsp;the&nbsp;initialization&nbsp;fails.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_37">37</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_38">38</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_39">39</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;Py_InitializeEx(int&nbsp;initsigs)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_40">40</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;works&nbsp;like&nbsp;:cfunc:`Py_Initialize`&nbsp;if&nbsp;*initsigs*&nbsp;is&nbsp;1.&nbsp;If</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_42">42</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*initsigs*&nbsp;is&nbsp;0,&nbsp;it&nbsp;skips&nbsp;initialization&nbsp;registration&nbsp;of&nbsp;signal&nbsp;handlers,&nbsp;which</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__2"></td><td  
class="diff_header" id="from12_252">252</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_253">253</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_254">254</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;char*&nbsp;Py_GetPath()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_255">255</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_256">256</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_257">257</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;triple:&nbsp;module;&nbsp;search;&nbsp;path</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_258">258</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;path&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_259">259</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__3">n</a></td><td  
class="diff_header" id="from12_260">260-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;default&nbsp;module&nbsp;search&nbsp;path;&nbsp;this&nbsp;is&nbsp;computed&nbsp;from&nbsp;the<span  
class="diff_sub">&nbsp;</span>&nbsp;program&nbsp;name</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__3">n</a></td><td  
class="diff_header" id="to12_261">261+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;default&nbsp;module&nbsp;search&nbsp;path;&nbsp;this&nbsp;is&nbsp;computed&nbsp;from&nbsp;the&nbsp;program&nbsp;name</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_261">261-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(set&nbsp;by&nbsp;:cfunc:`Py_SetProgramName`&nbsp;above)&nbsp;and&nbsp;some&nbsp;environment&nbsp;variables.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_262">262+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(set&nbsp;by&nbsp;:cfunc:`Py_SetProgramName`&nbsp;above)&nbsp;and&nbsp;some&nbsp;environment&nbsp;variables.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_262">262-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;returned&nbsp;string&nbsp;consists&nbsp;of&nbsp;a&nbsp;series&nbsp;of&nbsp;directory&nbsp;names&nbsp;separated&nbsp;by&nbsp;a<span  
class="diff_sub">&nbsp;platform</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_263">263+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;returned&nbsp;string&nbsp;consists&nbsp;of&nbsp;a&nbsp;series&nbsp;of&nbsp;directory&nbsp;names&nbsp;separated&nbsp;by&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_263">263-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;dependent&nbsp;delimiter&nbsp;character.&nbsp;&nbsp;The&nbsp;delimiter&nbsp;character&nbsp;is&nbsp;``':'``<span  
class="diff_sub">&nbsp;on&nbsp;Unix&nbsp;and</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_264">264+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;platform</span>&nbsp;dependent&nbsp;delimiter&nbsp;character.&nbsp;&nbsp;The&nbsp;delimiter&nbsp;character&nbsp;is&nbsp;``':'``</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_264">264-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Mac&nbsp;OS&nbsp;X,&nbsp;``';'``&nbsp;on&nbsp;Windows.&nbsp;&nbsp;The&nbsp;returned&nbsp;string&nbsp;points&nbsp;into<span  
class="diff_sub">&nbsp;static&nbsp;storage;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_265">265+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;on&nbsp;Unix&nbsp;and</span>&nbsp;Mac&nbsp;OS&nbsp;X,&nbsp;``';'``&nbsp;on&nbsp;Windows.&nbsp;&nbsp;The&nbsp;returned&nbsp;string&nbsp;points&nbsp;into</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_265">265-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;caller&nbsp;should&nbsp;not&nbsp;modify&nbsp;its&nbsp;value.&nbsp;&nbsp;The&nbsp;value&nbsp;is&nbsp;available&nbsp;to&nbsp;Python&nbsp;code</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_266">266+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;static&nbsp;storage;&nbsp;the&nbsp;caller&nbsp;should&nbsp;not&nbsp;modify&nbsp;its&nbsp;value.&nbsp;&nbsp;The&nbsp;list</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_266">266-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;as&nbsp;the&nbsp;list&nbsp;``sys.path``,&nbsp;which&nbsp;may&nbsp;be&nbsp;modified&nbsp;to&nbsp;change&nbsp;the&nbsp;future&nbsp;search&nbsp;path</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_267">267+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:data:`sys.path`&nbsp;is&nbsp;initialized&nbsp;with&nbsp;this&nbsp;value&nbsp;on&nbsp;interpreter&nbsp;startup;&nbsp;it</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_267">267-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;for&nbsp;loaded&nbsp;modules.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_268">268+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;can&nbsp;be&nbsp;(and&nbsp;usually&nbsp;is)&nbsp;modified&nbsp;later&nbsp;to&nbsp;change&nbsp;the&nbsp;search&nbsp;path&nbsp;for&nbsp;loading</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_269">269+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;modules.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_268">268</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_269">269</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;XXX&nbsp;should&nbsp;give&nbsp;the&nbsp;exact&nbsp;rules</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_270">270</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_271">271</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_272">272</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;const&nbsp;char*&nbsp;Py_GetVersion()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_273">273</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_274">274</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;version&nbsp;of&nbsp;this&nbsp;Python&nbsp;interpreter.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;string&nbsp;that&nbsp;looks</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_275">275</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;something&nbsp;like&nbsp;::</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__3"></td><td  
class="diff_header" id="from12_277">277</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"1.5&nbsp;(#67,&nbsp;Dec&nbsp;31&nbsp;1997,&nbsp;22:34:28)&nbsp;[GCC&nbsp;2.7.2.2]"</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_278">278</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_279">279</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;version&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_280">280</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_281">281</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;first&nbsp;word&nbsp;(up&nbsp;to&nbsp;the&nbsp;first&nbsp;space&nbsp;character)&nbsp;is&nbsp;the&nbsp;current&nbsp;Python&nbsp;version;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_282">282</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;first&nbsp;three&nbsp;characters&nbsp;are&nbsp;the&nbsp;major&nbsp;and&nbsp;minor&nbsp;version&nbsp;separated&nbsp;by&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_283">283</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;period.&nbsp;&nbsp;The&nbsp;returned&nbsp;string&nbsp;points&nbsp;into&nbsp;static&nbsp;storage;&nbsp;the&nbsp;caller&nbsp;should&nbsp;not</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_284">284</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;modify&nbsp;its&nbsp;value.&nbsp;&nbsp;The&nbsp;value&nbsp;is&nbsp;available&nbsp;to&nbsp;Python&nbsp;code&nbsp;as&nbsp;``sys.version``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__4">n</a></td><td  
class="diff_header" id="from12_285">285-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_286">286-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_287">287-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;const&nbsp;char*&nbsp;Py_GetBuildNumber()</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_288">288-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_289">289-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;string&nbsp;representing&nbsp;the&nbsp;Subversion&nbsp;revision&nbsp;that&nbsp;this&nbsp;Python&nbsp;executable</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_290">290-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;was&nbsp;built&nbsp;from.&nbsp;&nbsp;This&nbsp;number&nbsp;is&nbsp;a&nbsp;string&nbsp;because&nbsp;it&nbsp;may&nbsp;contain&nbsp;a&nbsp;trailing&nbsp;'M'</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_291">291-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;if&nbsp;Python&nbsp;was&nbsp;built&nbsp;from&nbsp;a&nbsp;mixed&nbsp;revision&nbsp;source&nbsp;tree.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_292">292-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_293">293-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.5</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_294">294</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_295">295</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_296">296</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;const&nbsp;char*&nbsp;Py_GetPlatform()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_297">297</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_298">298</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;platform&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_299">299</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_300">300</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;platform&nbsp;identifier&nbsp;for&nbsp;the&nbsp;current&nbsp;platform.&nbsp;&nbsp;On&nbsp;Unix,&nbsp;this&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_301">301</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;formed&nbsp;from&nbsp;the&nbsp;"official"&nbsp;name&nbsp;of&nbsp;the&nbsp;operating&nbsp;system,&nbsp;converted&nbsp;to&nbsp;lower</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__4"></td><td  
class="diff_header" id="from12_341">341</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_342">342</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;version&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_343">343</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_344">344</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;returned&nbsp;string&nbsp;points&nbsp;into&nbsp;static&nbsp;storage;&nbsp;the&nbsp;caller&nbsp;should&nbsp;not&nbsp;modify&nbsp;its</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_345">345</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;value.&nbsp;&nbsp;The&nbsp;value&nbsp;is&nbsp;available&nbsp;to&nbsp;Python&nbsp;code&nbsp;as&nbsp;part&nbsp;of&nbsp;the&nbsp;variable</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_346">346</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``sys.version``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_347">347</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_348">348</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to12__5">n</a></td><td class="diff_header"  
id="from12_349">349-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PySys_SetArgv(int&nbsp;argc,&nbsp;char&nbsp;**argv)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__5">n</a></td><td  
class="diff_header" id="to12_342">342+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PySys_SetArgv<span  
class="diff_add">Ex</span>(int&nbsp;argc,&nbsp;char&nbsp;**argv<span  
class="diff_add">,&nbsp;int&nbsp;updatepath</span>)</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_350">350</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_351">351</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_352">352</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;main()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_353">353</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;Py_FatalError()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_354">354</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;single:&nbsp;argv&nbsp;(in&nbsp;module&nbsp;sys)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_355">355</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to12__5"></td><td class="diff_header"  
id="from12_356">356</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;:data:`sys.argv`&nbsp;based&nbsp;on&nbsp;*argc*&nbsp;and&nbsp;*argv*.&nbsp;&nbsp;These&nbsp;parameters&nbsp;are</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_357">357</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;similar&nbsp;to&nbsp;those&nbsp;passed&nbsp;to&nbsp;the&nbsp;program's&nbsp;:cfunc:`main`&nbsp;function&nbsp;with&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_358">358</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;difference&nbsp;that&nbsp;the&nbsp;first&nbsp;entry&nbsp;should&nbsp;refer&nbsp;to&nbsp;the&nbsp;script&nbsp;file&nbsp;to&nbsp;be</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_359">359</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;executed&nbsp;rather&nbsp;than&nbsp;the&nbsp;executable&nbsp;hosting&nbsp;the&nbsp;Python&nbsp;interpreter.&nbsp;&nbsp;If&nbsp;there</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_360">360</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;isn't&nbsp;a&nbsp;script&nbsp;that&nbsp;will&nbsp;be&nbsp;run,&nbsp;the&nbsp;first&nbsp;entry&nbsp;in&nbsp;*argv*&nbsp;can&nbsp;be&nbsp;an&nbsp;empty</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_361">361</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;string.&nbsp;&nbsp;If&nbsp;this&nbsp;function&nbsp;fails&nbsp;to&nbsp;initialize&nbsp;:data:`sys.argv`,&nbsp;a&nbsp;fatal</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_362">362</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;condition&nbsp;is&nbsp;signalled&nbsp;using&nbsp;:cfunc:`Py_FatalError`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_363">363</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__6">n</a></td><td  
class="diff_header" id="from12_364">364-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;also&nbsp;prepends&nbsp;the&nbsp;executed&nbsp;script's&nbsp;path&nbsp;to&nbsp;:data:`sys.path`.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__6">n</a></td><td  
class="diff_header" id="to12_357">357+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;If&nbsp;*updatepath*&nbsp;is&nbsp;zero,&nbsp;this&nbsp;is&nbsp;all&nbsp;the&nbsp;function&nbsp;does.&nbsp;&nbsp;If&nbsp;*updatepath*</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_365">365-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;If&nbsp;no&nbsp;script&nbsp;is&nbsp;executed&nbsp;(in&nbsp;the&nbsp;case&nbsp;of&nbsp;calling&nbsp;``python&nbsp;-c``&nbsp;or&nbsp;just&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_358">358+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;is&nbsp;non-zero,&nbsp;the&nbsp;function&nbsp;also&nbsp;modifies&nbsp;:data:`sys.path`&nbsp;according&nbsp;to&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_366">366-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;interactive&nbsp;interpreter),&nbsp;the&nbsp;empty&nbsp;string&nbsp;is&nbsp;used&nbsp;instead.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_359">359+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;following&nbsp;algorithm:</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_360">360+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_361">361+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;-&nbsp;If&nbsp;the&nbsp;name&nbsp;of&nbsp;an&nbsp;existing&nbsp;script&nbsp;is&nbsp;passed&nbsp;in&nbsp;``argv[0]``,&nbsp;the&nbsp;absolute</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_362">362+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;path&nbsp;of&nbsp;the&nbsp;directory&nbsp;where&nbsp;the&nbsp;script&nbsp;is&nbsp;located&nbsp;is&nbsp;prepended&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_363">363+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:data:`sys.path`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_364">364+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;-&nbsp;Otherwise&nbsp;(that&nbsp;is,&nbsp;if&nbsp;*argc*&nbsp;is&nbsp;0&nbsp;or&nbsp;``argv[0]``&nbsp;doesn't&nbsp;point</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_365">365+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;an&nbsp;existing&nbsp;file&nbsp;name),&nbsp;an&nbsp;empty&nbsp;string&nbsp;is&nbsp;prepended&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_366">366+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:data:`sys.path`,&nbsp;which&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;prepending&nbsp;the&nbsp;current&nbsp;working</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_367">367+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;directory&nbsp;(``"."``).</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_368">368+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_369">369+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_370">370+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;It&nbsp;is&nbsp;recommended&nbsp;that&nbsp;applications&nbsp;embedding&nbsp;the&nbsp;Python&nbsp;interpreter</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_371">371+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;purposes&nbsp;other&nbsp;than&nbsp;executing&nbsp;a&nbsp;single&nbsp;script&nbsp;pass&nbsp;0&nbsp;as&nbsp;*updatepath*,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_372">372+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and&nbsp;update&nbsp;:data:`sys.path`&nbsp;themselves&nbsp;if&nbsp;desired.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_373">373+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;See&nbsp;`CVE-2008-5983&nbsp;&lt;http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983&gt;`_.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_374">374+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_375">375+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;On&nbsp;versions&nbsp;before&nbsp;2.6.6,&nbsp;you&nbsp;can&nbsp;achieve&nbsp;the&nbsp;same&nbsp;effect&nbsp;by&nbsp;manually</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_376">376+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;popping&nbsp;the&nbsp;first&nbsp;:data:`sys.path`&nbsp;element&nbsp;after&nbsp;having&nbsp;called</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to12__6"></td><td  
class="diff_header" id="to12_377">377+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cfunc:`PySys_SetArgv`,&nbsp;for&nbsp;example&nbsp;using::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_378">378+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_379">379+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyRun_SimpleString("import&nbsp;sys;&nbsp;sys.path.pop(0)\n");</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_380">380+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_381">381+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6.6</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_367">367</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_368">368</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;XXX&nbsp;impl.&nbsp;doesn't&nbsp;seem&nbsp;consistent&nbsp;in&nbsp;allowing&nbsp;0/NULL&nbsp;for&nbsp;the&nbsp;params;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_369">369</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;check&nbsp;w/&nbsp;Guido.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__7">n</a></td><td  
class="diff_header" id="to12_385">385+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_386">386+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_387">387+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;void&nbsp;PySys_SetArgv(int&nbsp;argc,&nbsp;char&nbsp;**argv)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_388">388+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to12__7"></td><td  
class="diff_header" id="to12_389">389+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;works&nbsp;like&nbsp;:cfunc:`PySys_SetArgv`&nbsp;with&nbsp;*updatepath*&nbsp;set&nbsp;to&nbsp;1.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_370">370</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_371">371</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_372">372</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;Py_SetPythonHome(char&nbsp;*home)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_373">373</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_374">374</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;default&nbsp;"home"&nbsp;directory,&nbsp;that&nbsp;is,&nbsp;the&nbsp;location&nbsp;of&nbsp;the&nbsp;standard</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_375">375</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Python&nbsp;libraries.&nbsp;&nbsp;The&nbsp;libraries&nbsp;are&nbsp;searched&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_376">376</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:file:`{home}/lib/python{version}`&nbsp;and&nbsp;:file:`{home}/lib/python{version}`.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__8">n</a></td><td  
class="diff_header" id="to12_397">397+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;The&nbsp;argument&nbsp;should&nbsp;point&nbsp;to&nbsp;a&nbsp;zero-terminated&nbsp;character&nbsp;string&nbsp;in&nbsp;static</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_398">398+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;storage&nbsp;whose&nbsp;contents&nbsp;will&nbsp;not&nbsp;change&nbsp;for&nbsp;the&nbsp;duration&nbsp;of&nbsp;the&nbsp;program's</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_399">399+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;execution.&nbsp;&nbsp;No&nbsp;code&nbsp;in&nbsp;the&nbsp;Python&nbsp;interpreter&nbsp;will&nbsp;change&nbsp;the&nbsp;contents&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_400">400+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;this&nbsp;storage.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_377">377</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_378">378</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_379">379</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;char*&nbsp;Py_GetPythonHome()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_380">380</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_381">381</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;default&nbsp;"home",&nbsp;that&nbsp;is,&nbsp;the&nbsp;value&nbsp;set&nbsp;by&nbsp;a&nbsp;previous&nbsp;call&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_382">382</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`Py_SetPythonHome`,&nbsp;or&nbsp;the&nbsp;value&nbsp;of&nbsp;the&nbsp;:envvar:`PYTHONHOME`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_383">383</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;environment&nbsp;variable&nbsp;if&nbsp;it&nbsp;is&nbsp;set.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_384">384</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__8"></td><td  
class="diff_header" id="from12_414">414</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_415">415</td><td  
nowrap="nowrap">..&nbsp;index::</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_416">416</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;single:&nbsp;PyThreadState</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_417">417</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;single:&nbsp;PyThreadState</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_418">418</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_419">419</td><td  
nowrap="nowrap">The&nbsp;Python&nbsp;interpreter&nbsp;needs&nbsp;to&nbsp;keep&nbsp;some&nbsp;bookkeeping&nbsp;information&nbsp;separate&nbsp;per</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_420">420</td><td  
nowrap="nowrap">thread&nbsp;---&nbsp;for&nbsp;this&nbsp;it&nbsp;uses&nbsp;a&nbsp;data&nbsp;structure&nbsp;called&nbsp;:ctype:`PyThreadState`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_421">421</td><td  
nowrap="nowrap">There's&nbsp;one&nbsp;global&nbsp;variable,&nbsp;however:&nbsp;the&nbsp;pointer&nbsp;to&nbsp;the&nbsp;current</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__9">n</a></td><td  
class="diff_header" id="from12_422">422-</td><td nowrap="nowrap"><span  
class="diff_sub">:ctype:`PyThreadState`&nbsp;structure.&nbsp;&nbsp;While&nbsp;most&nbsp;thread&nbsp;packages&nbsp;have&nbsp;a&nbsp;way&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__9">n</a></td><td  
class="diff_header" id="to12_446">446+</td><td nowrap="nowrap"><span  
class="diff_add">:ctype:`PyThreadState`&nbsp;structure.&nbsp;&nbsp;Before&nbsp;the&nbsp;addition&nbsp;of&nbsp;:dfn:`thread-local</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_423">423-</td><td nowrap="nowrap"><span  
class="diff_sub">store&nbsp;"per-thread&nbsp;global&nbsp;data,"&nbsp;Python's&nbsp;internal&nbsp;platform&nbsp;independent&nbsp;thread</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_447">447+</td><td nowrap="nowrap"><span  
class="diff_add">storage`&nbsp;(:dfn:`TLS`)&nbsp;the&nbsp;current&nbsp;thread&nbsp;state&nbsp;had&nbsp;to&nbsp;be&nbsp;manipulated</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_424">424-</td><td nowrap="nowrap"><span  
class="diff_sub">abstraction&nbsp;doesn't&nbsp;support&nbsp;this&nbsp;yet.&nbsp;&nbsp;Therefore,&nbsp;the&nbsp;current&nbsp;thread&nbsp;state&nbsp;must</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_448">448+</td><td nowrap="nowrap"><span  
class="diff_add">explicitly.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_425">425-</td><td nowrap="nowrap"><span  
class="diff_sub">be&nbsp;manipulated&nbsp;explicitly.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_426">426</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_427">427</td><td  
nowrap="nowrap">This&nbsp;is&nbsp;easy&nbsp;enough&nbsp;in&nbsp;most&nbsp;cases.&nbsp;&nbsp;Most&nbsp;code&nbsp;manipulating&nbsp;the&nbsp;global</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_428">428</td><td  
nowrap="nowrap">interpreter&nbsp;lock&nbsp;has&nbsp;the&nbsp;following&nbsp;simple&nbsp;structure::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_429">429</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_430">430</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Save&nbsp;the&nbsp;thread&nbsp;state&nbsp;in&nbsp;a&nbsp;local&nbsp;variable.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_431">431</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Release&nbsp;the&nbsp;global&nbsp;interpreter&nbsp;lock.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_432">432</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;...Do&nbsp;some&nbsp;blocking&nbsp;I/O&nbsp;operation...</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_433">433</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Reacquire&nbsp;the&nbsp;global&nbsp;interpreter&nbsp;lock.</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__9"></td><td  
class="diff_header" id="from12_487">487</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from12_488">488</td><td  
nowrap="nowrap">The&nbsp;global&nbsp;interpreter&nbsp;lock&nbsp;is&nbsp;used&nbsp;to&nbsp;protect&nbsp;the&nbsp;pointer&nbsp;to&nbsp;the&nbsp;current&nbsp;thread</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_489">489</td><td  
nowrap="nowrap">state.&nbsp;&nbsp;When&nbsp;releasing&nbsp;the&nbsp;lock&nbsp;and&nbsp;saving&nbsp;the&nbsp;thread&nbsp;state,&nbsp;the&nbsp;current&nbsp;thread</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_490">490</td><td  
nowrap="nowrap">state&nbsp;pointer&nbsp;must&nbsp;be&nbsp;retrieved&nbsp;before&nbsp;the&nbsp;lock&nbsp;is&nbsp;released&nbsp;(since&nbsp;another</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_491">491</td><td  
nowrap="nowrap">thread&nbsp;could&nbsp;immediately&nbsp;acquire&nbsp;the&nbsp;lock&nbsp;and&nbsp;store&nbsp;its&nbsp;own&nbsp;thread&nbsp;state&nbsp;in&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_492">492</td><td  
nowrap="nowrap">global&nbsp;variable).&nbsp;Conversely,&nbsp;when&nbsp;acquiring&nbsp;the&nbsp;lock&nbsp;and&nbsp;restoring&nbsp;the&nbsp;thread</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_493">493</td><td  
nowrap="nowrap">state,&nbsp;the&nbsp;lock&nbsp;must&nbsp;be&nbsp;acquired&nbsp;before&nbsp;storing&nbsp;the&nbsp;thread&nbsp;state&nbsp;pointer.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_494">494</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__10">n</a></td><td  
class="diff_header" id="from12_495">495-</td><td nowrap="nowrap"><span  
class="diff_sub">Why&nbsp;am&nbsp;I&nbsp;going&nbsp;on&nbsp;with&nbsp;so&nbsp;much&nbsp;detail&nbsp;about&nbsp;this?&nbsp;&nbsp;Because&nbsp;when&nbsp;threads&nbsp;are</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to12__10">n</a></td><td  
class="diff_header" id="to12_518">518+</td><td nowrap="nowrap"><span  
class="diff_add">It&nbsp;is&nbsp;important&nbsp;to&nbsp;note&nbsp;that&nbsp;when&nbsp;threads&nbsp;are&nbsp;created&nbsp;from&nbsp;C,&nbsp;they&nbsp;don't&nbsp;have</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_496">496-</td><td nowrap="nowrap"><span  
class="diff_sub">created&nbsp;from&nbsp;C,&nbsp;they&nbsp;don't&nbsp;have&nbsp;the&nbsp;global&nbsp;interpreter&nbsp;lock,&nbsp;nor&nbsp;is&nbsp;there&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_519">519+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;global&nbsp;interpreter&nbsp;lock,&nbsp;nor&nbsp;is&nbsp;there&nbsp;a&nbsp;thread&nbsp;state&nbsp;data&nbsp;structure&nbsp;for</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_497">497-</td><td nowrap="nowrap"><span  
class="diff_sub">thread&nbsp;state&nbsp;data&nbsp;structure&nbsp;for&nbsp;them.&nbsp;&nbsp;Such&nbsp;threads&nbsp;must&nbsp;bootstrap&nbsp;themselves</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_520">520+</td><td nowrap="nowrap"><span  
class="diff_add">them.&nbsp;&nbsp;Such&nbsp;threads&nbsp;must&nbsp;bootstrap&nbsp;themselves&nbsp;into&nbsp;existence,&nbsp;by&nbsp;first</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_498">498-</td><td nowrap="nowrap"><span  
class="diff_sub">into&nbsp;existence,&nbsp;by&nbsp;first&nbsp;creating&nbsp;a&nbsp;thread&nbsp;state&nbsp;data&nbsp;structure,&nbsp;then&nbsp;acquiring</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_521">521+</td><td nowrap="nowrap"><span  
class="diff_add">creating&nbsp;a&nbsp;thread&nbsp;state&nbsp;data&nbsp;structure,&nbsp;then&nbsp;acquiring&nbsp;the&nbsp;lock,&nbsp;and&nbsp;finally</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_499">499-</td><td nowrap="nowrap"><span  
class="diff_sub">the&nbsp;lock,&nbsp;and&nbsp;finally&nbsp;storing&nbsp;their&nbsp;thread&nbsp;state&nbsp;pointer,&nbsp;before&nbsp;they&nbsp;can&nbsp;start</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_522">522+</td><td nowrap="nowrap"><span  
class="diff_add">storing&nbsp;their&nbsp;thread&nbsp;state&nbsp;pointer,&nbsp;before&nbsp;they&nbsp;can&nbsp;start&nbsp;using&nbsp;the&nbsp;Python/C</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_500">500-</td><td nowrap="nowrap"><span  
class="diff_sub">using&nbsp;the&nbsp;Python/C&nbsp;</span>API.&nbsp;&nbsp;When&nbsp;they&nbsp;are&nbsp;done,&nbsp;they&nbsp;should&nbsp;reset&nbsp;the&nbsp;thread&nbsp;state</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_523">523+</td><td  
nowrap="nowrap">API.&nbsp;&nbsp;When&nbsp;they&nbsp;are&nbsp;done,&nbsp;they&nbsp;should&nbsp;reset&nbsp;the&nbsp;thread&nbsp;state<span  
class="diff_add">&nbsp;pointer,&nbsp;release</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_501">501-</td><td nowrap="nowrap"><span  
class="diff_sub">pointer,&nbsp;release&nbsp;</span>the&nbsp;lock,&nbsp;and&nbsp;finally&nbsp;free&nbsp;their&nbsp;thread&nbsp;state&nbsp;data&nbsp;structure.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_524">524+</td><td  
nowrap="nowrap">the&nbsp;lock,&nbsp;and&nbsp;finally&nbsp;free&nbsp;their&nbsp;thread&nbsp;state&nbsp;data&nbsp;structure.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_502">502</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_503">503</td><td  
nowrap="nowrap">Beginning&nbsp;with&nbsp;version&nbsp;2.3,&nbsp;threads&nbsp;can&nbsp;now&nbsp;take&nbsp;advantage&nbsp;of&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_504">504</td><td  
nowrap="nowrap">:cfunc:`PyGILState_\*`&nbsp;functions&nbsp;to&nbsp;do&nbsp;all&nbsp;of&nbsp;the&nbsp;above&nbsp;automatically.&nbsp;&nbsp;The</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_505">505</td><td  
nowrap="nowrap">typical&nbsp;idiom&nbsp;for&nbsp;calling&nbsp;into&nbsp;Python&nbsp;from&nbsp;a&nbsp;C&nbsp;thread&nbsp;is&nbsp;now::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_506">506</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_507">507</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;PyGILState_STATE&nbsp;gstate;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_508">508</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;gstate&nbsp;=&nbsp;PyGILState_Ensure();</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_509">509</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to12__10"></td><td  
class="diff_header" id="from12_515">515</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;PyGILState_Release(gstate);</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_516">516</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_517">517</td><td  
nowrap="nowrap">Note&nbsp;that&nbsp;the&nbsp;:cfunc:`PyGILState_\*`&nbsp;functions&nbsp;assume&nbsp;there&nbsp;is&nbsp;only&nbsp;one&nbsp;global</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_518">518</td><td  
nowrap="nowrap">interpreter&nbsp;(created&nbsp;automatically&nbsp;by&nbsp;:cfunc:`Py_Initialize`).&nbsp;&nbsp;Python&nbsp;still</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_519">519</td><td  
nowrap="nowrap">supports&nbsp;the&nbsp;creation&nbsp;of&nbsp;additional&nbsp;interpreters&nbsp;(using</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_520">520</td><td  
nowrap="nowrap">:cfunc:`Py_NewInterpreter`),&nbsp;but&nbsp;mixing&nbsp;multiple&nbsp;interpreters&nbsp;and&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_521">521</td><td  
nowrap="nowrap">:cfunc:`PyGILState_\*`&nbsp;API&nbsp;is&nbsp;unsupported.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_522">522</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to12__top">t</a></td><td  
class="diff_header" id="to12_546">546+</td><td nowrap="nowrap"><span  
class="diff_add">Another&nbsp;important&nbsp;thing&nbsp;to&nbsp;note&nbsp;about&nbsp;threads&nbsp;is&nbsp;their&nbsp;behaviour&nbsp;in&nbsp;the&nbsp;face</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_547">547+</td><td nowrap="nowrap"><span  
class="diff_add">of&nbsp;the&nbsp;C&nbsp;:cfunc:`fork`&nbsp;call.&nbsp;On&nbsp;most&nbsp;systems&nbsp;with&nbsp;:cfunc:`fork`,&nbsp;after&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_548">548+</td><td nowrap="nowrap"><span  
class="diff_add">process&nbsp;forks&nbsp;only&nbsp;the&nbsp;thread&nbsp;that&nbsp;issued&nbsp;the&nbsp;fork&nbsp;will&nbsp;exist.&nbsp;That&nbsp;also</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_549">549+</td><td nowrap="nowrap"><span  
class="diff_add">means&nbsp;any&nbsp;locks&nbsp;held&nbsp;by&nbsp;other&nbsp;threads&nbsp;will&nbsp;never&nbsp;be&nbsp;released.&nbsp;Python&nbsp;solves</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_550">550+</td><td nowrap="nowrap"><span  
class="diff_add">this&nbsp;for&nbsp;:func:`os.fork`&nbsp;by&nbsp;acquiring&nbsp;the&nbsp;locks&nbsp;it&nbsp;uses&nbsp;internally&nbsp;before</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_551">551+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;fork,&nbsp;and&nbsp;releasing&nbsp;them&nbsp;afterwards.&nbsp;In&nbsp;addition,&nbsp;it&nbsp;resets&nbsp;any</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_552">552+</td><td nowrap="nowrap"><span  
class="diff_add">:ref:`lock-objects`&nbsp;in&nbsp;the&nbsp;child.&nbsp;When&nbsp;extending&nbsp;or&nbsp;embedding&nbsp;Python,&nbsp;there</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_553">553+</td><td nowrap="nowrap"><span  
class="diff_add">is&nbsp;no&nbsp;way&nbsp;to&nbsp;inform&nbsp;Python&nbsp;of&nbsp;additional&nbsp;(non-Python)&nbsp;locks&nbsp;that&nbsp;need&nbsp;to&nbsp;be</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_554">554+</td><td nowrap="nowrap"><span  
class="diff_add">acquired&nbsp;before&nbsp;or&nbsp;reset&nbsp;after&nbsp;a&nbsp;fork.&nbsp;OS&nbsp;facilities&nbsp;such&nbsp;as</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_555">555+</td><td nowrap="nowrap"><span  
class="diff_add">:cfunc:`posix_atfork`&nbsp;would&nbsp;need&nbsp;to&nbsp;be&nbsp;used&nbsp;to&nbsp;accomplish&nbsp;the&nbsp;same&nbsp;thing.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_556">556+</td><td nowrap="nowrap"><span  
class="diff_add">Additionally,&nbsp;when&nbsp;extending&nbsp;or&nbsp;embedding&nbsp;Python,&nbsp;calling&nbsp;:cfunc:`fork`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_557">557+</td><td nowrap="nowrap"><span  
class="diff_add">directly&nbsp;rather&nbsp;than&nbsp;through&nbsp;:func:`os.fork`&nbsp;(and&nbsp;returning&nbsp;to&nbsp;or&nbsp;calling</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_558">558+</td><td nowrap="nowrap"><span  
class="diff_add">into&nbsp;Python)&nbsp;may&nbsp;result&nbsp;in&nbsp;a&nbsp;deadlock&nbsp;by&nbsp;one&nbsp;of&nbsp;Python's&nbsp;internal&nbsp;locks</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_559">559+</td><td nowrap="nowrap"><span  
class="diff_add">being&nbsp;held&nbsp;by&nbsp;a&nbsp;thread&nbsp;that&nbsp;is&nbsp;defunct&nbsp;after&nbsp;the&nbsp;fork.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_560">560+</td><td nowrap="nowrap"><span  
class="diff_add">:cfunc:`PyOS_AfterFork`&nbsp;tries&nbsp;to&nbsp;reset&nbsp;the&nbsp;necessary&nbsp;locks,&nbsp;but&nbsp;is&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to12_561">561+</td><td nowrap="nowrap"><span  
class="diff_add">always&nbsp;able&nbsp;to.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from12_523">523</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_524">524</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyInterpreterState</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_525">525</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from12_526">526</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;data&nbsp;structure&nbsp;represents&nbsp;the&nbsp;state&nbsp;shared&nbsp;by&nbsp;a&nbsp;number&nbsp;of&nbsp;cooperating</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_527">527</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;threads.&nbsp;&nbsp;Threads&nbsp;belonging&nbsp;to&nbsp;the&nbsp;same&nbsp;interpreter&nbsp;share&nbsp;their&nbsp;module</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_528">528</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;administration&nbsp;and&nbsp;a&nbsp;few&nbsp;other&nbsp;internal&nbsp;items.&nbsp;There&nbsp;are&nbsp;no&nbsp;public&nbsp;members&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_529">529</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;this&nbsp;structure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from12_530">530</td><td nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/int.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,56 @@
+--- r262/c-api/int.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/int.rst	2009-10-27 23:34:21.573917000 +0900
+@@ -59,24 +59,33 @@
+
+    Create a new integer object with a value of *ival*.
+
+    The current implementation keeps an array of integer objects for all  
integers
+    between ``-5`` and ``256``, when you create an int in that range you  
actually
+    just get back a reference to the existing object. So it should be  
possible to
+    change the value of ``1``.  I suspect the behaviour of Python in this  
case is
+    undefined. :-)
+
+
+ .. cfunction:: PyObject* PyInt_FromSsize_t(Py_ssize_t ival)
+
++   Create a new integer object with a value of *ival*. If the value is  
larger
++   than ``LONG_MAX`` or smaller than ``LONG_MIN``, a long integer object  
is
++   returned.
++
++   .. versionadded:: 2.5
++
++
++.. cfunction:: PyObject* PyInt_FromSize_t(size_t ival)
++
+    Create a new integer object with a value of *ival*. If the value  
exceeds
+    ``LONG_MAX``, a long integer object is returned.
+
+    .. versionadded:: 2.5
+
+
+ .. cfunction:: long PyInt_AsLong(PyObject *io)
+
+    Will first attempt to cast the object to a :ctype:`PyIntObject`, if it  
is not
+    already one, and then return its value. If there is an error, ``-1`` is
+    returned, and the caller should check ``PyErr_Occurred()`` to find out  
whether
+    there was an error, or whether the value just happened to be -1.
+@@ -113,18 +122,18 @@
+
+    .. versionadded:: 2.5
+
+
+ .. cfunction:: long PyInt_GetMax()
+
+    .. index:: single: LONG_MAX
+
+    Return the system's idea of the largest integer it can handle
+    (:const:`LONG_MAX`, as defined in the system header files).
+
+
+-.. cfunction:: int PyInt_ClearFreeList(void)
++.. cfunction:: int PyInt_ClearFreeList()
+
+    Clear the integer free list. Return the number of items that could not
+    be freed.
+
+    .. versionadded:: 2.6
=======================================
--- /dev/null
+++ /c-api/diff/int.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,61 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to13__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/int.rst =&gt;  
r266/c-api/int.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to13__0"></td><td class="diff_header"  
id="from13_63">63</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;between&nbsp;``-5``&nbsp;and&nbsp;``256``,&nbsp;when&nbsp;you&nbsp;create&nbsp;an&nbsp;int&nbsp;in&nbsp;that&nbsp;range&nbsp;you&nbsp;actually</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;just&nbsp;get&nbsp;back&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;existing&nbsp;object.&nbsp;So&nbsp;it&nbsp;should&nbsp;be&nbsp;possible&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_65">65</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;change&nbsp;the&nbsp;value&nbsp;of&nbsp;``1``.&nbsp;&nbsp;I&nbsp;suspect&nbsp;the&nbsp;behaviour&nbsp;of&nbsp;Python&nbsp;in&nbsp;this&nbsp;case&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_66">66</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;undefined.&nbsp;:-)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_67">67</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_68">68</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from13_69">69</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyInt_FromSsize_t(Py_ssize_t&nbsp;ival)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_70">70</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to13__1">n</a></td><td  
class="diff_header" id="to13_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;integer&nbsp;object&nbsp;with&nbsp;a&nbsp;value&nbsp;of&nbsp;*ival*.&nbsp;If&nbsp;the&nbsp;value&nbsp;is&nbsp;larger</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;than&nbsp;``LONG_MAX``&nbsp;or&nbsp;smaller&nbsp;than&nbsp;``LONG_MIN``,&nbsp;a&nbsp;long&nbsp;integer&nbsp;object&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_73">73+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;returned.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_74">74+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_75">75+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_76">76+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_77">77+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_78">78+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyInt_FromSize_t(size_t&nbsp;ival)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to13_79">79+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from13_71">71</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;integer&nbsp;object&nbsp;with&nbsp;a&nbsp;value&nbsp;of&nbsp;*ival*.&nbsp;If&nbsp;the&nbsp;value&nbsp;exceeds</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_72">72</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``LONG_MAX``,&nbsp;a&nbsp;long&nbsp;integer&nbsp;object&nbsp;is&nbsp;returned.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_73">73</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_74">74</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.5</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_75">75</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_76">76</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from13_77">77</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;long&nbsp;PyInt_AsLong(PyObject&nbsp;*io)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_78">78</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to13__1"></td><td  
class="diff_header" id="from13_117">117</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;long&nbsp;PyInt_GetMax()</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_118">118</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_119">119</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;LONG_MAX</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_120">120</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_121">121</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;system's&nbsp;idea&nbsp;of&nbsp;the&nbsp;largest&nbsp;integer&nbsp;it&nbsp;can&nbsp;handle</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_122">122</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(:const:`LONG_MAX`,&nbsp;as&nbsp;defined&nbsp;in&nbsp;the&nbsp;system&nbsp;header&nbsp;files).</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_123">123</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_124">124</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to13__top">t</a></td><td class="diff_header"  
id="from13_125">125-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyInt_ClearFreeList(<span  
class="diff_sub">void</span>)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to13__top">t</a></td><td  
class="diff_header" id="to13_134">134+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyInt_ClearFreeList()</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from13_126">126</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_127">127</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Clear&nbsp;the&nbsp;integer&nbsp;free&nbsp;list.&nbsp;Return&nbsp;the&nbsp;number&nbsp;of&nbsp;items&nbsp;that&nbsp;could&nbsp;not</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_128">128</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;be&nbsp;freed.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from13_129">129</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from13_130">130</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/intro.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,29 @@
+--- r262/c-api/intro.rst	2009-02-23 19:41:11.107573000 +0900
++++ r266/c-api/intro.rst	2009-04-29 03:23:28.138007000 +0900
+@@ -35,25 +35,25 @@
+ Include Files
+ =============
+
+ All function, type and macro definitions needed to use the Python/C API  
are
+ included in your code by the following line::
+
+    #include "Python.h"
+
+ This implies inclusion of the following standard headers: ``<stdio.h>``,
+ ``<string.h>``, ``<errno.h>``, ``<limits.h>``, and ``<stdlib.h>`` (if
+ available).
+
+-.. warning::
++.. note::
+
+    Since Python may define some pre-processor definitions which affect  
the standard
+    headers on some systems, you *must* include :file:`Python.h` before  
any standard
+    headers are included.
+
+ All user visible names defined by Python.h (except those defined by the  
included
+ standard headers) have one of the prefixes ``Py`` or ``_Py``.  Names  
beginning
+ with ``_Py`` are for internal use by the Python implementation and should  
not be
+ used by extension writers. Structure member names do not have a reserved  
prefix.
+
+ **Important:** user code should never define names that begin with ``Py``  
or
+ ``_Py``.  This confuses the reader, and jeopardizes the portability of  
the user
=======================================
--- /dev/null
+++ /c-api/diff/intro.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,50 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to14__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/intro.rst =&gt;  
r266/c-api/intro.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to14__0"></td><td class="diff_header"  
id="from14_39">39</td><td  
nowrap="nowrap">included&nbsp;in&nbsp;your&nbsp;code&nbsp;by&nbsp;the&nbsp;following&nbsp;line::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_40">40</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from14_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;#include&nbsp;"Python.h"</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from14_43">43</td><td  
nowrap="nowrap">This&nbsp;implies&nbsp;inclusion&nbsp;of&nbsp;the&nbsp;following&nbsp;standard&nbsp;headers:&nbsp;``&lt;stdio.h&gt;``,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_44">44</td><td  
nowrap="nowrap">``&lt;string.h&gt;``,&nbsp;``&lt;errno.h&gt;``,&nbsp;``&lt;limits.h&gt;``,&nbsp;and&nbsp;``&lt;stdlib.h&gt;``&nbsp;(if</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_45">45</td><td nowrap="nowrap">available).</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_46">46</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to14__top">t</a></td><td  
class="diff_header" id="from14_47">47-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;warning::</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to14__top">t</a></td><td  
class="diff_header" id="to14_47">47+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;note::</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from14_48">48</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from14_49">49</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Since&nbsp;Python&nbsp;may&nbsp;define&nbsp;some&nbsp;pre-processor&nbsp;definitions&nbsp;which&nbsp;affect&nbsp;the&nbsp;standard</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_50">50</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;headers&nbsp;on&nbsp;some&nbsp;systems,&nbsp;you&nbsp;*must*&nbsp;include&nbsp;:file:`Python.h`&nbsp;before&nbsp;any&nbsp;standard</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_51">51</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;headers&nbsp;are&nbsp;included.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_52">52</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from14_53">53</td><td  
nowrap="nowrap">All&nbsp;user&nbsp;visible&nbsp;names&nbsp;defined&nbsp;by&nbsp;Python.h&nbsp;(except&nbsp;those&nbsp;defined&nbsp;by&nbsp;the&nbsp;included</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_54">54</td><td  
nowrap="nowrap">standard&nbsp;headers)&nbsp;have&nbsp;one&nbsp;of&nbsp;the&nbsp;prefixes&nbsp;``Py``&nbsp;or&nbsp;``_Py``.&nbsp;&nbsp;Names&nbsp;beginning</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from14_55">55</td><td  
nowrap="nowrap">with&nbsp;``_Py``&nbsp;are&nbsp;for&nbsp;internal&nbsp;use&nbsp;by&nbsp;the&nbsp;Python&nbsp;implementation&nbsp;and&nbsp;should&nbsp;not&nbsp;be</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/list.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,221 @@
+--- r262/c-api/list.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/list.rst	2010-05-14 06:16:53.370897000 +0900
+@@ -6,140 +6,182 @@
+ ------------
+
+ .. index:: object: list
+
+
+ .. ctype:: PyListObject
+
+    This subtype of :ctype:`PyObject` represents a Python list object.
+
+
+ .. cvar:: PyTypeObject PyList_Type
+
+-   .. index:: single: ListType (in module types)
+-
+-   This instance of :ctype:`PyTypeObject` represents the Python list  
type.  This is
+-   the same object as ``list`` and ``types.ListType`` in the Python layer.
++   This instance of :ctype:`PyTypeObject` represents the Python list  
type.  This
++   is the same object as ``list`` in the Python layer.
+
+
+ .. cfunction:: int PyList_Check(PyObject *p)
+
+    Return true if *p* is a list object or an instance of a subtype of the  
list
+    type.
+
+    .. versionchanged:: 2.2
+       Allowed subtypes to be accepted.
+
+
+ .. cfunction:: int PyList_CheckExact(PyObject *p)
+
+-   Return true if *p* is a list object, but not an instance of a subtype  
of the
+-   list type.
++   Return true if *p* is a list object, but not an instance of a subtype  
of
++   the list type.
+
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: PyObject* PyList_New(Py_ssize_t len)
+
+    Return a new list of length *len* on success, or *NULL* on failure.
+
+    .. note::
+
+-      If *length* is greater than zero, the returned list object's items  
are set to
+-      ``NULL``.  Thus you cannot use abstract API functions such as
+-      :cfunc:`PySequence_SetItem`  or expose the object to Python code  
before setting
+-      all items to a real object with :cfunc:`PyList_SetItem`.
++      If *length* is greater than zero, the returned list object's items  
are
++      set to ``NULL``.  Thus you cannot use abstract API functions such as
++      :cfunc:`PySequence_SetItem`  or expose the object to Python code  
before
++      setting all items to a real object with :cfunc:`PyList_SetItem`.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *size*. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: Py_ssize_t PyList_Size(PyObject *list)
+
+    .. index:: builtin: len
+
+    Return the length of the list object in *list*; this is equivalent to
+    ``len(list)`` on a list object.
+
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int`. This might require changes  
in
++      your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: Py_ssize_t PyList_GET_SIZE(PyObject *list)
+
+    Macro form of :cfunc:`PyList_Size` without error checking.
+
++   .. versionchanged:: 2.5
++      This macro returned an :ctype:`int`. This might require changes in  
your
++      code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index)
+
+-   Return the object at position *pos* in the list pointed to by *p*.   
The position
+-   must be positive, indexing from the end of the list is not supported.   
If *pos*
+-   is out of bounds, return *NULL* and set an :exc:`IndexError` exception.
++   Return the object at position *pos* in the list pointed to by *p*.  The
++   position must be positive, indexing from the end of the list is not
++   supported.  If *pos* is out of bounds, return *NULL* and set an
++   :exc:`IndexError` exception.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *index*. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: PyObject* PyList_GET_ITEM(PyObject *list, Py_ssize_t i)
+
+    Macro form of :cfunc:`PyList_GetItem` without error checking.
+
++   .. versionchanged:: 2.5
++      This macro used an :ctype:`int` for *i*. This might require changes  
in
++      your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PyList_SetItem(PyObject *list, Py_ssize_t index,  
PyObject *item)
+
+-   Set the item at index *index* in list to *item*.  Return ``0`` on  
success or
+-   ``-1`` on failure.
++   Set the item at index *index* in list to *item*.  Return ``0`` on  
success
++   or ``-1`` on failure.
+
+    .. note::
+
+-      This function "steals" a reference to *item* and discards a  
reference to an item
+-      already in the list at the affected position.
++      This function "steals" a reference to *item* and discards a  
reference to
++      an item already in the list at the affected position.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *index*. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: void PyList_SET_ITEM(PyObject *list, Py_ssize_t i,  
PyObject *o)
+
+-   Macro form of :cfunc:`PyList_SetItem` without error checking. This is  
normally
+-   only used to fill in new lists where there is no previous content.
++   Macro form of :cfunc:`PyList_SetItem` without error checking. This is
++   normally only used to fill in new lists where there is no previous  
content.
+
+    .. note::
+
+-      This function "steals" a reference to *item*, and, unlike
+-      :cfunc:`PyList_SetItem`, does *not* discard a reference to any item  
that it
+-      being replaced; any reference in *list* at position *i* will be  
leaked.
++      This macro "steals" a reference to *item*, and, unlike
++      :cfunc:`PyList_SetItem`, does *not* discard a reference to any item  
that
++      it being replaced; any reference in *list* at position *i* will be
++      leaked.
++
++   .. versionchanged:: 2.5
++      This macro used an :ctype:`int` for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PyList_Insert(PyObject *list, Py_ssize_t index,  
PyObject *item)
+
+-   Insert the item *item* into list *list* in front of index *index*.   
Return ``0``
+-   if successful; return ``-1`` and set an exception if unsuccessful.   
Analogous to
+-   ``list.insert(index, item)``.
++   Insert the item *item* into list *list* in front of index *index*.   
Return
++   ``0`` if successful; return ``-1`` and set an exception if  
unsuccessful.
++   Analogous to ``list.insert(index, item)``.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *index*. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PyList_Append(PyObject *list, PyObject *item)
+
+-   Append the object *item* at the end of list *list*. Return ``0`` if  
successful;
+-   return ``-1`` and set an exception if unsuccessful.  Analogous to
+-   ``list.append(item)``.
++   Append the object *item* at the end of list *list*. Return ``0`` if
++   successful; return ``-1`` and set an exception if unsuccessful.   
Analogous
++   to ``list.append(item)``.
+
+
+ .. cfunction:: PyObject* PyList_GetSlice(PyObject *list, Py_ssize_t low,  
Py_ssize_t high)
+
+    Return a list of the objects in *list* containing the objects  
*between* *low*
+-   and *high*.  Return *NULL* and set an exception if unsuccessful.  
Analogous to
+-   ``list[low:high]``.
++   and *high*.  Return *NULL* and set an exception if unsuccessful.   
Analogous
++   to ``list[low:high]``.  Negative indices, as when slicing from Python,  
are not
++   supported.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *low* and *high*. This might
++      require changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PyList_SetSlice(PyObject *list, Py_ssize_t low,  
Py_ssize_t high, PyObject *itemlist)
+
+-   Set the slice of *list* between *low* and *high* to the contents of  
*itemlist*.
+-   Analogous to ``list[low:high] = itemlist``. The *itemlist* may be  
*NULL*,
+-   indicating the assignment of an empty list (slice deletion). Return  
``0`` on
+-   success, ``-1`` on failure.
++   Set the slice of *list* between *low* and *high* to the contents of
++   *itemlist*.  Analogous to ``list[low:high] = itemlist``. The  
*itemlist* may
++   be *NULL*, indicating the assignment of an empty list (slice deletion).
++   Return ``0`` on success, ``-1`` on failure.  Negative indices, as when
++   slicing from Python, are not supported.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *low* and *high*. This might
++      require changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PyList_Sort(PyObject *list)
+
+-   Sort the items of *list* in place.  Return ``0`` on success, ``-1`` on  
failure.
+-   This is equivalent to ``list.sort()``.
++   Sort the items of *list* in place.  Return ``0`` on success, ``-1`` on
++   failure.  This is equivalent to ``list.sort()``.
+
+
+ .. cfunction:: int PyList_Reverse(PyObject *list)
+
+    Reverse the items of *list* in place.  Return ``0`` on success, ``-1``  
on
+    failure.  This is the equivalent of ``list.reverse()``.
+
+
+ .. cfunction:: PyObject* PyList_AsTuple(PyObject *list)
+
+    .. index:: builtin: tuple
+
=======================================
--- /dev/null
+++ /c-api/diff/list.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,162 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to15__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/list.rst =&gt;  
r266/c-api/list.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to15__0"></td><td class="diff_header"  
id="from15_10">10</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_11">11</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyListObject</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_12">12</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_13">13</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;subtype&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;represents&nbsp;a&nbsp;Python&nbsp;list&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_14">14</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_15">15</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_16">16</td><td  
nowrap="nowrap">..&nbsp;cvar::&nbsp;PyTypeObject&nbsp;PyList_Type</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_17">17</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__1">n</a></td><td  
class="diff_header" id="from15_18">18-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;single:&nbsp;ListType&nbsp;(in&nbsp;module&nbsp;types)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_19">19-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_20">20-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;instance&nbsp;of&nbsp;:ctype:`PyTypeObject`&nbsp;represents&nbsp;the&nbsp;Python&nbsp;list&nbsp;type.&nbsp;&nbsp;This<span  
class="diff_sub">&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_18">18+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;instance&nbsp;of&nbsp;:ctype:`PyTypeObject`&nbsp;represents&nbsp;the&nbsp;Python&nbsp;list&nbsp;type.&nbsp;&nbsp;This</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_21">21-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;same&nbsp;object&nbsp;as&nbsp;``list``&nbsp;<span  
class="diff_sub">and&nbsp;``types.ListType``&nbsp;</span>in&nbsp;the&nbsp;Python&nbsp;layer.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_19">19+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;is</span>&nbsp;the&nbsp;same&nbsp;object&nbsp;as&nbsp;``list``&nbsp;in&nbsp;the&nbsp;Python&nbsp;layer.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_22">22</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_23">23</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_24">24</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_Check(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_25">25</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_26">26</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;list&nbsp;object&nbsp;or&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of&nbsp;the&nbsp;list</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to15__1"></td><td  
class="diff_header" id="from15_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;type.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_28">28</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_29">29</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_30">30</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allowed&nbsp;subtypes&nbsp;to&nbsp;be&nbsp;accepted.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_31">31</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_32">32</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_33">33</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_CheckExact(PyObject&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_34">34</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__2">n</a></td><td  
class="diff_header" id="from15_35">35-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;list&nbsp;object,&nbsp;but&nbsp;not&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__2">n</a></td><td  
class="diff_header" id="to15_33">33+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*p*&nbsp;is&nbsp;a&nbsp;list&nbsp;object,&nbsp;but&nbsp;not&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_36">36-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;list&nbsp;type.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_34">34+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;list&nbsp;type.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_37">37</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_38">38</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to15__2"></td><td  
class="diff_header" id="from15_39">39</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_40">40</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_41">41</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyList_New(Py_ssize_t&nbsp;len)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_43">43</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;list&nbsp;of&nbsp;length&nbsp;*len*&nbsp;on&nbsp;success,&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_44">44</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_45">45</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;note::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_46">46</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__3">n</a></td><td  
class="diff_header" id="from15_47">47-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;*length*&nbsp;is&nbsp;greater&nbsp;than&nbsp;zero,&nbsp;the&nbsp;returned&nbsp;list&nbsp;object's&nbsp;items&nbsp;are<span  
class="diff_sub">&nbsp;set&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__3">n</a></td><td  
class="diff_header" id="to15_45">45+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;*length*&nbsp;is&nbsp;greater&nbsp;than&nbsp;zero,&nbsp;the&nbsp;returned&nbsp;list&nbsp;object's&nbsp;items&nbsp;are</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_48">48-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;``NULL``.&nbsp;&nbsp;Thus&nbsp;you&nbsp;cannot&nbsp;use&nbsp;abstract&nbsp;API&nbsp;functions&nbsp;such&nbsp;as</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_46">46+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;set&nbsp;to</span>&nbsp;``NULL``.&nbsp;&nbsp;Thus&nbsp;you&nbsp;cannot&nbsp;use&nbsp;abstract&nbsp;API&nbsp;functions&nbsp;such&nbsp;as</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_49">49-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_SetItem`&nbsp;&nbsp;or&nbsp;expose&nbsp;the&nbsp;object&nbsp;to&nbsp;Python&nbsp;code&nbsp;before<span  
class="diff_sub">&nbsp;setting</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_47">47+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_SetItem`&nbsp;&nbsp;or&nbsp;expose&nbsp;the&nbsp;object&nbsp;to&nbsp;Python&nbsp;code&nbsp;before</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_50">50-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;all&nbsp;items&nbsp;to&nbsp;a&nbsp;real&nbsp;object&nbsp;with&nbsp;:cfunc:`PyList_SetItem`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_48">48+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;setting</span>&nbsp;all&nbsp;items&nbsp;to&nbsp;a&nbsp;real&nbsp;object&nbsp;with&nbsp;:cfunc:`PyList_SetItem`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_49">49+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_50">50+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_51">51+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_52">52+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_51">51</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to15__3"></td><td class="diff_header"  
id="from15_52">52</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_53">53</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyList_Size(PyObject&nbsp;*list)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_54">54</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_55">55</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_56">56</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_57">57</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;list&nbsp;object&nbsp;in&nbsp;*list*;&nbsp;this&nbsp;is&nbsp;equivalent&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_58">58</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``len(list)``&nbsp;on&nbsp;a&nbsp;list&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_59">59</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__4">n</a></td><td  
class="diff_header" id="to15_62">62+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__4"></td><td  
class="diff_header" id="to15_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_64">64+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_65">65+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_60">60</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_61">61</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyList_GET_SIZE(PyObject&nbsp;*list)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_62">62</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_63">63</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PyList_Size`&nbsp;without&nbsp;error&nbsp;checking.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to15__5"></td><td  
class="diff_header" id="from15_64">64</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to15__5">n</a></td><td class="diff_header"  
id="to15_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;returned&nbsp;an&nbsp;:ctype:`int`.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes&nbsp;in&nbsp;your</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_73">73+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_74">74+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_65">65</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_66">66</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyList_GetItem(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;index)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_67">67</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__6">n</a></td><td  
class="diff_header" id="from15_68">68-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;object&nbsp;at&nbsp;position&nbsp;*pos*&nbsp;in&nbsp;the&nbsp;list&nbsp;pointed&nbsp;to&nbsp;by&nbsp;*p*.&nbsp;&nbsp;The<span  
class="diff_sub">&nbsp;position</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__6">n</a></td><td  
class="diff_header" id="to15_78">78+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;object&nbsp;at&nbsp;position&nbsp;*pos*&nbsp;in&nbsp;the&nbsp;list&nbsp;pointed&nbsp;to&nbsp;by&nbsp;*p*.&nbsp;&nbsp;The</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_69">69-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;be&nbsp;positive,&nbsp;indexing&nbsp;from&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;list&nbsp;is&nbsp;not<span  
class="diff_sub">&nbsp;supported.&nbsp;&nbsp;If&nbsp;*pos*</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_79">79+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;position</span>&nbsp;must&nbsp;be&nbsp;positive,&nbsp;indexing&nbsp;from&nbsp;the&nbsp;end&nbsp;of&nbsp;the&nbsp;list&nbsp;is&nbsp;not</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_70">70-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;is&nbsp;out&nbsp;of&nbsp;bounds,&nbsp;return&nbsp;*NULL*&nbsp;and&nbsp;set&nbsp;an&nbsp;:exc:`IndexError`&nbsp;exception.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_80">80+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;supported.&nbsp;&nbsp;If&nbsp;*pos*&nbsp;is&nbsp;out&nbsp;of&nbsp;bounds,&nbsp;return&nbsp;*NULL*&nbsp;and&nbsp;set&nbsp;an</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_81">81+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:exc:`IndexError`&nbsp;exception.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_82">82+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_83">83+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__6"></td><td  
class="diff_header" id="to15_84">84+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*index*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_85">85+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_71">71</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_72">72</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_73">73</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyList_GET_ITEM(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;i)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_74">74</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_75">75</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PyList_GetItem`&nbsp;without&nbsp;error&nbsp;checking.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to15__7"></td><td  
class="diff_header" id="from15_76">76</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to15__7">n</a></td><td class="diff_header"  
id="to15_92">92+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_93">93+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_94">94+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_95">95+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to15__8"></td><td  
class="diff_header" id="from15_77">77</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_78">78</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_SetItem(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;index,&nbsp;PyObject&nbsp;*item)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_79">79</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__8">n</a></td><td  
class="diff_header" id="from15_80">80-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;item&nbsp;at&nbsp;index&nbsp;*index*&nbsp;in&nbsp;list&nbsp;to&nbsp;*item*.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success<span  
class="diff_sub">&nbsp;or</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__8">n</a></td><td  
class="diff_header" id="to15_99">99+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;item&nbsp;at&nbsp;index&nbsp;*index*&nbsp;in&nbsp;list&nbsp;to&nbsp;*item*.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_81">81-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_100">100+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;or</span>&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_82">82</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_83">83</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;note::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_84">84</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__9">n</a></td><td  
class="diff_header" id="from15_85">85-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;"steals"&nbsp;a&nbsp;reference&nbsp;to&nbsp;*item*&nbsp;and&nbsp;discards&nbsp;a&nbsp;reference&nbsp;to<span  
class="diff_sub">&nbsp;an&nbsp;item</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__9">n</a></td><td  
class="diff_header" id="to15_104">104+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;"steals"&nbsp;a&nbsp;reference&nbsp;to&nbsp;*item*&nbsp;and&nbsp;discards&nbsp;a&nbsp;reference&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_86">86-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;already&nbsp;in&nbsp;the&nbsp;list&nbsp;at&nbsp;the&nbsp;affected&nbsp;position.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_105">105+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;an&nbsp;item</span>&nbsp;already&nbsp;in&nbsp;the&nbsp;list&nbsp;at&nbsp;the&nbsp;affected&nbsp;position.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__9"></td><td  
class="diff_header" id="to15_106">106+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_107">107+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_108">108+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*index*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_109">109+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_87">87</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to15__10"></td><td class="diff_header"  
id="from15_88">88</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_89">89</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyList_SET_ITEM(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;i,&nbsp;PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_90">90</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__10">n</a></td><td  
class="diff_header" id="from15_91">91-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PyList_SetItem`&nbsp;without&nbsp;error&nbsp;checking.&nbsp;This&nbsp;is<span  
class="diff_sub">&nbsp;normally</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__10">n</a></td><td  
class="diff_header" id="to15_114">114+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PyList_SetItem`&nbsp;without&nbsp;error&nbsp;checking.&nbsp;This&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_92">92-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;only&nbsp;used&nbsp;to&nbsp;fill&nbsp;in&nbsp;new&nbsp;lists&nbsp;where&nbsp;there&nbsp;is&nbsp;no&nbsp;previous&nbsp;content.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_115">115+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;normally</span>&nbsp;only&nbsp;used&nbsp;to&nbsp;fill&nbsp;in&nbsp;new&nbsp;lists&nbsp;where&nbsp;there&nbsp;is&nbsp;no&nbsp;previous&nbsp;content.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_93">93</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_94">94</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;note::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_95">95</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__11">n</a></td><td  
class="diff_header" id="from15_96">96-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;<span  
class="diff_chg">fun</span>c<span class="diff_chg">ti</span>o<span  
class="diff_sub">n</span>&nbsp;"steals"&nbsp;a&nbsp;reference&nbsp;to&nbsp;*item*,&nbsp;and,&nbsp;unlike</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__11">n</a></td><td  
class="diff_header" id="to15_119">119+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;<span  
class="diff_chg">ma</span>c<span  
class="diff_chg">r</span>o&nbsp;"steals"&nbsp;a&nbsp;reference&nbsp;to&nbsp;*item*,&nbsp;and,&nbsp;unlike</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_97">97-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cfunc:`PyList_SetItem`,&nbsp;does&nbsp;*not*&nbsp;discard&nbsp;a&nbsp;reference&nbsp;to&nbsp;any&nbsp;item&nbsp;that<span  
class="diff_sub">&nbsp;it</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_120">120+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:cfunc:`PyList_SetItem`,&nbsp;does&nbsp;*not*&nbsp;discard&nbsp;a&nbsp;reference&nbsp;to&nbsp;any&nbsp;item&nbsp;that</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_98">98-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;being&nbsp;replaced;&nbsp;any&nbsp;reference&nbsp;in&nbsp;*list*&nbsp;at&nbsp;position&nbsp;*i*&nbsp;will&nbsp;be<span  
class="diff_sub">&nbsp;leaked.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_121">121+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span  
class="diff_add">&nbsp;it</span>&nbsp;being&nbsp;replaced;&nbsp;any&nbsp;reference&nbsp;in&nbsp;*list*&nbsp;at&nbsp;position&nbsp;*i*&nbsp;will&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_122">122+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;leaked.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__11"></td><td  
class="diff_header" id="to15_123">123+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_124">124+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_125">125+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_126">126+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_99">99</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_100">100</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_101">101</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_Insert(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;index,&nbsp;PyObject&nbsp;*item)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_102">102</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__12">n</a></td><td  
class="diff_header" id="from15_103">103-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Insert&nbsp;the&nbsp;item&nbsp;*item*&nbsp;into&nbsp;list&nbsp;*list*&nbsp;in&nbsp;front&nbsp;of&nbsp;index&nbsp;*index*.&nbsp;&nbsp;Return<span  
class="diff_sub">&nbsp;``0``</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__12">n</a></td><td  
class="diff_header" id="to15_131">131+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Insert&nbsp;the&nbsp;item&nbsp;*item*&nbsp;into&nbsp;list&nbsp;*list*&nbsp;in&nbsp;front&nbsp;of&nbsp;index&nbsp;*index*.&nbsp;&nbsp;Return</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_104">104-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;if&nbsp;successful;&nbsp;return&nbsp;``-1``&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.<span  
class="diff_sub">&nbsp;&nbsp;Analogous&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_132">132+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;``0``</span>&nbsp;if&nbsp;successful;&nbsp;return&nbsp;``-1``&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_105">105-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``list.insert(index,&nbsp;item)``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_133">133+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Analogous&nbsp;to</span>&nbsp;``list.insert(index,&nbsp;item)``.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__12"></td><td  
class="diff_header" id="to15_134">134+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_135">135+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_136">136+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*index*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_137">137+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_106">106</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_107">107</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_108">108</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_Append(PyObject&nbsp;*list,&nbsp;PyObject&nbsp;*item)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_109">109</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to15__13"><a  
href="#difflib_chg_to15__13">n</a></td><td class="diff_header"  
id="from15_110">110-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Append&nbsp;the&nbsp;object&nbsp;*item*&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;list&nbsp;*list*.&nbsp;Return&nbsp;``0``&nbsp;if<span  
class="diff_sub">&nbsp;successful;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__13"><a  
href="#difflib_chg_to15__13">n</a></td><td class="diff_header"  
id="to15_142">142+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Append&nbsp;the&nbsp;object&nbsp;*item*&nbsp;at&nbsp;the&nbsp;end&nbsp;of&nbsp;list&nbsp;*list*.&nbsp;Return&nbsp;``0``&nbsp;if</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_111">111-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;return&nbsp;``-1``&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.&nbsp;&nbsp;Analogous<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_143">143+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;successful;</span>&nbsp;return&nbsp;``-1``&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.&nbsp;&nbsp;Analogous</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_112">112-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``list.append(item)``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_144">144+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;to</span>&nbsp;``list.append(item)``.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_113">113</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_114">114</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_115">115</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyList_GetSlice(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;low,&nbsp;Py_ssize_t&nbsp;high)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_116">116</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_117">117</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;list&nbsp;of&nbsp;the&nbsp;objects&nbsp;in&nbsp;*list*&nbsp;containing&nbsp;the&nbsp;objects&nbsp;*between*&nbsp;*low*</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__14">n</a></td><td  
class="diff_header" id="from15_118">118-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;*high*.&nbsp;&nbsp;Return&nbsp;*NULL*&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.&nbsp;Analogous<span  
class="diff_sub">&nbsp;to</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__14">n</a></td><td  
class="diff_header" id="to15_150">150+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;*high*.&nbsp;&nbsp;Return&nbsp;*NULL*&nbsp;and&nbsp;set&nbsp;an&nbsp;exception&nbsp;if&nbsp;unsuccessful.&nbsp;<span  
class="diff_add">&nbsp;</span>Analogous</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_119">119-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;``list[low:high]``.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_151">151+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;to&nbsp;``list[low:high]``.&nbsp;&nbsp;Negative&nbsp;indices,&nbsp;as&nbsp;when&nbsp;slicing&nbsp;from&nbsp;Python,&nbsp;are&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_152">152+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;supported.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__14"></td><td  
class="diff_header" id="to15_153">153+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_154">154+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_155">155+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*low*&nbsp;and&nbsp;*high*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_156">156+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_120">120</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_121">121</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_122">122</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_SetSlice(PyObject&nbsp;*list,&nbsp;Py_ssize_t&nbsp;low,&nbsp;Py_ssize_t&nbsp;high,&nbsp;PyObject&nbsp;*itemlist)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_123">123</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__15">n</a></td><td  
class="diff_header" id="from15_124">124-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;slice&nbsp;of&nbsp;*list*&nbsp;between&nbsp;*low*&nbsp;and&nbsp;*high*&nbsp;to&nbsp;the&nbsp;contents&nbsp;of<span  
class="diff_sub">&nbsp;*itemlist*.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__15">n</a></td><td  
class="diff_header" id="to15_161">161+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;slice&nbsp;of&nbsp;*list*&nbsp;between&nbsp;*low*&nbsp;and&nbsp;*high*&nbsp;to&nbsp;the&nbsp;contents&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_125">125-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Analogous&nbsp;to&nbsp;``list[low:high]&nbsp;=&nbsp;itemlist``.&nbsp;The&nbsp;*itemlist*&nbsp;may<span  
class="diff_sub">&nbsp;be&nbsp;*NULL*,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_162">162+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;*itemlist*.</span>&nbsp;&nbsp;Analogous&nbsp;to&nbsp;``list[low:high]&nbsp;=&nbsp;itemlist``.&nbsp;The&nbsp;*itemlist*&nbsp;may</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_126">126-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indicating&nbsp;the&nbsp;assignment&nbsp;of&nbsp;an&nbsp;empty&nbsp;list&nbsp;(slice&nbsp;deletion).<span  
class="diff_sub">&nbsp;Return&nbsp;``0``&nbsp;on</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_163">163+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;be&nbsp;*NULL*,</span>&nbsp;indicating&nbsp;the&nbsp;assignment&nbsp;of&nbsp;an&nbsp;empty&nbsp;list&nbsp;(slice&nbsp;deletion).</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_127">127-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;success,&nbsp;``-1``&nbsp;on&nbsp;failure.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_164">164+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success,&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;Negative&nbsp;indices,&nbsp;as&nbsp;when</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_165">165+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;slicing&nbsp;from&nbsp;Python,&nbsp;are&nbsp;not&nbsp;supported.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to15__15"></td><td  
class="diff_header" id="to15_166">166+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_167">167+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_168">168+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*low*&nbsp;and&nbsp;*high*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_169">169+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_128">128</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_129">129</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_130">130</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_Sort(PyObject&nbsp;*list)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_131">131</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to15__top">t</a></td><td  
class="diff_header" id="from15_132">132-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Sort&nbsp;the&nbsp;items&nbsp;of&nbsp;*list*&nbsp;in&nbsp;place.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success,&nbsp;``-1``&nbsp;on<span  
class="diff_sub">&nbsp;failure.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to15__top">t</a></td><td  
class="diff_header" id="to15_174">174+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Sort&nbsp;the&nbsp;items&nbsp;of&nbsp;*list*&nbsp;in&nbsp;place.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success,&nbsp;``-1``&nbsp;on</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_133">133-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``list.sort()``.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to15_175">175+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;failure.</span>&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``list.sort()``.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from15_134">134</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_135">135</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from15_136">136</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyList_Reverse(PyObject&nbsp;*list)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_137">137</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_138">138</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Reverse&nbsp;the&nbsp;items&nbsp;of&nbsp;*list*&nbsp;in&nbsp;place.&nbsp;&nbsp;Return&nbsp;``0``&nbsp;on&nbsp;success,&nbsp;``-1``&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;``list.reverse()``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from15_140">140</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from15_141">141</td><td  
nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/long.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,31 @@
+--- r262/c-api/long.rst	2009-04-06 06:11:43.798160000 +0900
++++ r266/c-api/long.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -97,24 +97,28 @@
+
+
+ .. cfunction:: PyObject* PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t  
length, int base)
+
+    Convert a sequence of Unicode digits to a Python long integer value.   
The first
+    parameter, *u*, points to the first character of the Unicode string,  
*length*
+    gives the number of characters, and *base* is the radix for the  
conversion.  The
+    radix must be in the range [2, 36]; if it is out of  
range, :exc:`ValueError`
+    will be raised.
+
+    .. versionadded:: 1.6
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` for *length*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyLong_FromVoidPtr(void *p)
+
+    Create a Python integer or long integer from the pointer *p*. The  
pointer value
+    can be retrieved from the resulting value  
using :cfunc:`PyLong_AsVoidPtr`.
+
+    .. versionadded:: 1.5.2
+
+    .. versionchanged:: 2.5
+       If the integer is larger than LONG_MAX, a positive long integer is  
returned.
+
+
=======================================
--- /dev/null
+++ /c-api/diff/long.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,52 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to16__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/long.rst =&gt;  
r266/c-api/long.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to16__0"></td><td class="diff_header"  
id="from16_101">101</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Convert&nbsp;a&nbsp;sequence&nbsp;of&nbsp;Unicode&nbsp;digits&nbsp;to&nbsp;a&nbsp;Python&nbsp;long&nbsp;integer&nbsp;value.&nbsp;&nbsp;The&nbsp;first</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_102">102</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameter,&nbsp;*u*,&nbsp;points&nbsp;to&nbsp;the&nbsp;first&nbsp;character&nbsp;of&nbsp;the&nbsp;Unicode&nbsp;string,&nbsp;*length*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_103">103</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;gives&nbsp;the&nbsp;number&nbsp;of&nbsp;characters,&nbsp;and&nbsp;*base*&nbsp;is&nbsp;the&nbsp;radix&nbsp;for&nbsp;the&nbsp;conversion.&nbsp;&nbsp;The</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_104">104</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;radix&nbsp;must&nbsp;be&nbsp;in&nbsp;the&nbsp;range&nbsp;[2,&nbsp;36];&nbsp;if&nbsp;it&nbsp;is&nbsp;out&nbsp;of&nbsp;range,&nbsp;:exc:`ValueError`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_105">105</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;raised.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_106">106</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from16_107">107</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_108">108</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to16__top">t</a></td><td  
class="diff_header" id="to16_109">109+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to16_110">110+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;for&nbsp;*length*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to16_111">111+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to16_112">112+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from16_109">109</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from16_110">110</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyLong_FromVoidPtr(void&nbsp;*p)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_111">111</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from16_112">112</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;Python&nbsp;integer&nbsp;or&nbsp;long&nbsp;integer&nbsp;from&nbsp;the&nbsp;pointer&nbsp;*p*.&nbsp;The&nbsp;pointer&nbsp;value</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_113">113</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;can&nbsp;be&nbsp;retrieved&nbsp;from&nbsp;the&nbsp;resulting&nbsp;value&nbsp;using&nbsp;:cfunc:`PyLong_AsVoidPtr`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_114">114</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from16_115">115</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.5.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from16_116">116</td><td nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/mapping.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,41 @@
+--- r262/c-api/mapping.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/mapping.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -3,32 +3,37 @@
+ .. _mapping:
+
+ Mapping Protocol
+ ================
+
+
+ .. cfunction:: int PyMapping_Check(PyObject *o)
+
+    Return ``1`` if the object provides mapping protocol, and ``0``  
otherwise.  This
+    function always succeeds.
+
+
+-.. cfunction:: Py_ssize_t PyMapping_Length(PyObject *o)
++.. cfunction:: Py_ssize_t PyMapping_Size(PyObject *o)
++               Py_ssize_t PyMapping_Length(PyObject *o)
+
+    .. index:: builtin: len
+
+    Returns the number of keys in object *o* on success, and ``-1`` on  
failure.  For
+    objects that do not provide mapping protocol, this is equivalent to  
the Python
+    expression ``len(o)``.
+
++   .. versionchanged:: 2.5
++      These functions returned an :ctype:`int` type. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PyMapping_DelItemString(PyObject *o, char *key)
+
+    Remove the mapping for object *key* from the object *o*. Return ``-1``  
on
+    failure.  This is equivalent to the Python statement ``del o[key]``.
+
+
+ .. cfunction:: int PyMapping_DelItem(PyObject *o, PyObject *key)
+
+    Remove the mapping for object *key* from the object *o*. Return ``-1``  
on
+    failure.  This is equivalent to the Python statement ``del o[key]``.
+
=======================================
--- /dev/null
+++ /c-api/diff/mapping.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,55 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to17__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/mapping.rst =&gt;  
r266/c-api/mapping.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to17__0"></td><td class="diff_header"  
id="from17_7">7</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_8">8</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from17_9">9</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyMapping_Check(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_10">10</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_11">11</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;``1``&nbsp;if&nbsp;the&nbsp;object&nbsp;provides&nbsp;mapping&nbsp;protocol,&nbsp;and&nbsp;``0``&nbsp;otherwise.&nbsp;&nbsp;This</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_12">12</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;always&nbsp;succeeds.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_13">13</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_14">14</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"  
id="difflib_chg_to17__1"><a href="#difflib_chg_to17__1">n</a></td><td  
class="diff_header" id="from17_15">15-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyMapping_<span  
class="diff_chg">L</span>e<span  
class="diff_sub">ngth</span>(PyObject&nbsp;*o)</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to17__1"><a  
href="#difflib_chg_to17__1">n</a></td><td class="diff_header"  
id="to17_15">15+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyMapping_<span  
class="diff_chg">Siz</span>e(PyObject&nbsp;*o)</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to17_16">16+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;PyMapping_Length(PyObject&nbsp;*o)</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from17_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_17">17</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_18">18</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_19">19</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;the&nbsp;number&nbsp;of&nbsp;keys&nbsp;in&nbsp;object&nbsp;*o*&nbsp;on&nbsp;success,&nbsp;and&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;For</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;objects&nbsp;that&nbsp;do&nbsp;not&nbsp;provide&nbsp;mapping&nbsp;protocol,&nbsp;this&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_21">21</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;expression&nbsp;``len(o)``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to17__top">t</a></td><td  
class="diff_header" id="to17_23">23+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to17_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to17_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;These&nbsp;functions&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to17_26">26+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from17_22">22</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_23">23</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from17_24">24</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyMapping_DelItemString(PyObject&nbsp;*o,&nbsp;char&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_25">25</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_26">26</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Remove&nbsp;the&nbsp;mapping&nbsp;for&nbsp;object&nbsp;*key*&nbsp;from&nbsp;the&nbsp;object&nbsp;*o*.&nbsp;Return&nbsp;``-1``&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;statement&nbsp;``del&nbsp;o[key]``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from17_28">28</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from17_29">29</td><td  
nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/marshal.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,135 @@
+--- r262/c-api/marshal.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/marshal.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -1,94 +1,100 @@
+ .. highlightlang:: c
+
+ .. _marshalling-utils:
+
+ Data marshalling support
+ ========================
+
+-These routines allow C code to work with serialized objects using the  
same data
+-format as the :mod:`marshal` module.  There are functions to write data  
into the
+-serialization format, and additional functions that can be used to read  
the data
+-back.  Files used to store marshalled data must be opened in binary mode.
++These routines allow C code to work with serialized objects using the same
++data format as the :mod:`marshal` module.  There are functions to write  
data
++into the serialization format, and additional functions that can be used  
to
++read the data back.  Files used to store marshalled data must be opened in
++binary mode.
+
+ Numeric values are stored with the least significant byte first.
+
+-The module supports two versions of the data format: version 0 is the  
historical
+-version, version 1 (new in Python 2.4) shares interned strings in the  
file, and
+-upon unmarshalling.  Version 2 (new in Python 2.5) uses a binary format  
for
+-floating point numbers.
+-*Py_MARSHAL_VERSION* indicates the current file format (currently 2).
++The module supports two versions of the data format: version 0 is the
++historical version, version 1 (new in Python 2.4) shares interned strings  
in
++the file, and upon unmarshalling.  Version 2 (new in Python 2.5) uses a  
binary
++format for floating point numbers.  *Py_MARSHAL_VERSION* indicates the  
current
++file format (currently 2).
+
+
+ .. cfunction:: void PyMarshal_WriteLongToFile(long value, FILE *file, int  
version)
+
+-   Marshal a :ctype:`long` integer, *value*, to *file*.  This will only  
write the
+-   least-significant 32 bits of *value*; regardless of the size of the  
native
+-   :ctype:`long` type.
++   Marshal a :ctype:`long` integer, *value*, to *file*.  This will only  
write
++   the least-significant 32 bits of *value*; regardless of the size of the
++   native :ctype:`long` type.
+
+    .. versionchanged:: 2.4
+       *version* indicates the file format.
+
+
+ .. cfunction:: void PyMarshal_WriteObjectToFile(PyObject *value, FILE  
*file, int version)
+
+    Marshal a Python object, *value*, to *file*.
+
+    .. versionchanged:: 2.4
+       *version* indicates the file format.
+
+
+ .. cfunction:: PyObject* PyMarshal_WriteObjectToString(PyObject *value,  
int version)
+
+    Return a string object containing the marshalled representation of  
*value*.
+
+    .. versionchanged:: 2.4
+       *version* indicates the file format.
+
+
+ The following functions allow marshalled values to be read back in.
+
+ XXX What about error detection?  It appears that reading past the end of  
the
+-file will always result in a negative numeric value (where that's  
relevant), but
+-it's not clear that negative values won't be handled properly when  
there's no
+-error.  What's the right way to tell? Should only non-negative values be  
written
+-using these routines?
++file will always result in a negative numeric value (where that's  
relevant),
++but it's not clear that negative values won't be handled properly when  
there's
++no error.  What's the right way to tell? Should only non-negative values  
be
++written using these routines?
+
+
+ .. cfunction:: long PyMarshal_ReadLongFromFile(FILE *file)
+
+-   Return a C :ctype:`long` from the data stream in a :ctype:`FILE\*`  
opened for
+-   reading.  Only a 32-bit value can be read in using this function,  
regardless of
+-   the native size of :ctype:`long`.
++   Return a C :ctype:`long` from the data stream in a :ctype:`FILE\*`  
opened
++   for reading.  Only a 32-bit value can be read in using this function,
++   regardless of the native size of :ctype:`long`.
+
+
+ .. cfunction:: int PyMarshal_ReadShortFromFile(FILE *file)
+
+-   Return a C :ctype:`short` from the data stream in a :ctype:`FILE\*`  
opened for
+-   reading.  Only a 16-bit value can be read in using this function,  
regardless of
+-   the native size of :ctype:`short`.
++   Return a C :ctype:`short` from the data stream in a :ctype:`FILE\*`  
opened
++   for reading.  Only a 16-bit value can be read in using this function,
++   regardless of the native size of :ctype:`short`.
+
+
+ .. cfunction:: PyObject* PyMarshal_ReadObjectFromFile(FILE *file)
+
+    Return a Python object from the data stream in a :ctype:`FILE\*`  
opened for
+    reading.  On error, sets the appropriate exception (:exc:`EOFError` or
+    :exc:`TypeError`) and returns *NULL*.
+
+
+ .. cfunction:: PyObject* PyMarshal_ReadLastObjectFromFile(FILE *file)
+
+    Return a Python object from the data stream in a :ctype:`FILE\*`  
opened for
+-   reading.  Unlike :cfunc:`PyMarshal_ReadObjectFromFile`, this function  
assumes
+-   that no further objects will be read from the file, allowing it to  
aggressively
+-   load file data into memory so that the de-serialization can operate  
from data in
+-   memory rather than reading a byte at a time from the file.  Only use  
these
+-   variant if you are certain that you won't be reading anything else  
from the
+-   file.  On error, sets the appropriate exception (:exc:`EOFError` or
+-   :exc:`TypeError`) and returns *NULL*.
++   reading.  Unlike :cfunc:`PyMarshal_ReadObjectFromFile`, this function
++   assumes that no further objects will be read from the file, allowing  
it to
++   aggressively load file data into memory so that the de-serialization  
can
++   operate from data in memory rather than reading a byte at a time from  
the
++   file.  Only use these variant if you are certain that you won't be  
reading
++   anything else from the file.  On error, sets the appropriate exception
++   (:exc:`EOFError` or :exc:`TypeError`) and returns *NULL*.
+
+
+ .. cfunction:: PyObject* PyMarshal_ReadObjectFromString(char *string,  
Py_ssize_t len)
+
+-   Return a Python object from the data stream in a character buffer  
containing
+-   *len* bytes pointed to by *string*.  On error, sets the appropriate  
exception
+-   (:exc:`EOFError` or :exc:`TypeError`) and returns *NULL*.
++   Return a Python object from the data stream in a character buffer
++   containing *len* bytes pointed to by *string*.  On error, sets the
++   appropriate exception (:exc:`EOFError` or :exc:`TypeError`) and returns
++   *NULL*.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *len*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
=======================================
--- /dev/null
+++ /c-api/diff/marshal.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,120 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to18__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/marshal.rst =&gt;  
r266/c-api/marshal.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to18__0"><a  
href="#difflib_chg_to18__0">f</a></td><td class="diff_header"  
id="from18_1">1</td><td  
nowrap="nowrap">..&nbsp;highlightlang::&nbsp;c</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_2">2</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_3">3</td><td  
nowrap="nowrap">..&nbsp;_marshalling-utils:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_4">4</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_5">5</td><td  
nowrap="nowrap">Data&nbsp;marshalling&nbsp;support</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_6">6</td><td  
nowrap="nowrap">========================</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_7">7</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"  
id="difflib_chg_to18__1"><a href="#difflib_chg_to18__1">n</a></td><td  
class="diff_header" id="from18_8">8-</td><td  
nowrap="nowrap">These&nbsp;routines&nbsp;allow&nbsp;C&nbsp;code&nbsp;to&nbsp;work&nbsp;with&nbsp;serialized&nbsp;objects&nbsp;using&nbsp;the&nbsp;same<span  
class="diff_sub">&nbsp;data</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__1"><a  
href="#difflib_chg_to18__1">n</a></td><td class="diff_header"  
id="to18_8">8+</td><td  
nowrap="nowrap">These&nbsp;routines&nbsp;allow&nbsp;C&nbsp;code&nbsp;to&nbsp;work&nbsp;with&nbsp;serialized&nbsp;objects&nbsp;using&nbsp;the&nbsp;same</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_9">9-</td><td  
nowrap="nowrap">format&nbsp;as&nbsp;the&nbsp;:mod:`marshal`&nbsp;module.&nbsp;&nbsp;There&nbsp;are&nbsp;functions&nbsp;to&nbsp;write&nbsp;data<span  
class="diff_sub">&nbsp;into&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_9">9+</td><td nowrap="nowrap"><span  
class="diff_add">data&nbsp;</span>format&nbsp;as&nbsp;the&nbsp;:mod:`marshal`&nbsp;module.&nbsp;&nbsp;There&nbsp;are&nbsp;functions&nbsp;to&nbsp;write&nbsp;data</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_10">10-</td><td  
nowrap="nowrap">serialization&nbsp;format,&nbsp;and&nbsp;additional&nbsp;functions&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to<span  
class="diff_sub">&nbsp;read&nbsp;the&nbsp;data</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_10">10+</td><td nowrap="nowrap"><span  
class="diff_add">into&nbsp;the&nbsp;</span>serialization&nbsp;format,&nbsp;and&nbsp;additional&nbsp;functions&nbsp;that&nbsp;can&nbsp;be&nbsp;used&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_11">11-</td><td  
nowrap="nowrap">back.&nbsp;&nbsp;Files&nbsp;used&nbsp;to&nbsp;store&nbsp;marshalled&nbsp;data&nbsp;must&nbsp;be&nbsp;opened&nbsp;in<span  
class="diff_sub">&nbsp;binary&nbsp;mode.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_11">11+</td><td nowrap="nowrap"><span  
class="diff_add">read&nbsp;the&nbsp;data&nbsp;</span>back.&nbsp;&nbsp;Files&nbsp;used&nbsp;to&nbsp;store&nbsp;marshalled&nbsp;data&nbsp;must&nbsp;be&nbsp;opened&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_12">12+</td><td nowrap="nowrap"><span  
class="diff_add">binary&nbsp;mode.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_12">12</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_13">13</td><td  
nowrap="nowrap">Numeric&nbsp;values&nbsp;are&nbsp;stored&nbsp;with&nbsp;the&nbsp;least&nbsp;significant&nbsp;byte&nbsp;first.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_14">14</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to18__2">n</a></td><td  
class="diff_header" id="from18_15">15-</td><td  
nowrap="nowrap">The&nbsp;module&nbsp;supports&nbsp;two&nbsp;versions&nbsp;of&nbsp;the&nbsp;data&nbsp;format:&nbsp;version&nbsp;0&nbsp;is&nbsp;the<span  
class="diff_sub">&nbsp;historical</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__2">n</a></td><td  
class="diff_header" id="to18_16">16+</td><td  
nowrap="nowrap">The&nbsp;module&nbsp;supports&nbsp;two&nbsp;versions&nbsp;of&nbsp;the&nbsp;data&nbsp;format:&nbsp;version&nbsp;0&nbsp;is&nbsp;the</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__2"></td><td  
class="diff_header" id="from18_16">16-</td><td  
nowrap="nowrap">version,&nbsp;version&nbsp;1&nbsp;(new&nbsp;in&nbsp;Python&nbsp;2.4)&nbsp;shares&nbsp;interned&nbsp;strings&nbsp;in<span  
class="diff_sub">&nbsp;the&nbsp;file,&nbsp;and</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__2"></td><td  
class="diff_header" id="to18_17">17+</td><td nowrap="nowrap"><span  
class="diff_add">historical&nbsp;</span>version,&nbsp;version&nbsp;1&nbsp;(new&nbsp;in&nbsp;Python&nbsp;2.4)&nbsp;shares&nbsp;interned&nbsp;strings&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_17">17-</td><td  
nowrap="nowrap">upon&nbsp;unmarshalling.&nbsp;&nbsp;Version&nbsp;2&nbsp;(new&nbsp;in&nbsp;Python&nbsp;2.5)&nbsp;uses&nbsp;a&nbsp;binary<span  
class="diff_sub">&nbsp;format&nbsp;for</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_18">18+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;file,&nbsp;and&nbsp;</span>upon&nbsp;unmarshalling.&nbsp;&nbsp;Version&nbsp;2&nbsp;(new&nbsp;in&nbsp;Python&nbsp;2.5)&nbsp;uses&nbsp;a&nbsp;binary</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_18">18-</td><td nowrap="nowrap"><span  
class="diff_sub">floating&nbsp;point&nbsp;numbers.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_19">19+</td><td nowrap="nowrap"><span  
class="diff_add">format&nbsp;for&nbsp;floating&nbsp;point&nbsp;numbers.&nbsp;&nbsp;*Py_MARSHAL_VERSION*&nbsp;indicates&nbsp;the&nbsp;current</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_19">19-</td><td nowrap="nowrap"><span  
class="diff_sub">*Py_MARSHAL_VERSION*&nbsp;indicates&nbsp;the&nbsp;current&nbsp;file&nbsp;format&nbsp;(currently&nbsp;2).</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_20">20+</td><td nowrap="nowrap"><span  
class="diff_add">file&nbsp;format&nbsp;(currently&nbsp;2).</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_20">20</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_21">21</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_22">22</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyMarshal_WriteLongToFile(long&nbsp;value,&nbsp;FILE&nbsp;*file,&nbsp;int&nbsp;version)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_23">23</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to18__3">n</a></td><td  
class="diff_header" id="from18_24">24-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Marshal&nbsp;a&nbsp;:ctype:`long`&nbsp;integer,&nbsp;*value*,&nbsp;to&nbsp;*file*.&nbsp;&nbsp;This&nbsp;will&nbsp;only&nbsp;write<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__3">n</a></td><td  
class="diff_header" id="to18_25">25+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Marshal&nbsp;a&nbsp;:ctype:`long`&nbsp;integer,&nbsp;*value*,&nbsp;to&nbsp;*file*.&nbsp;&nbsp;This&nbsp;will&nbsp;only&nbsp;write</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_25">25-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;least-significant&nbsp;32&nbsp;bits&nbsp;of&nbsp;*value*;&nbsp;regardless&nbsp;of&nbsp;the&nbsp;size&nbsp;of&nbsp;the<span  
class="diff_sub">&nbsp;native</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_26">26+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;least-significant&nbsp;32&nbsp;bits&nbsp;of&nbsp;*value*;&nbsp;regardless&nbsp;of&nbsp;the&nbsp;size&nbsp;of&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_26">26-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`long`&nbsp;type.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_27">27+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;native</span>&nbsp;:ctype:`long`&nbsp;type.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_27">27</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_28">28</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_29">29</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*version*&nbsp;indicates&nbsp;the&nbsp;file&nbsp;format.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_30">30</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_31">31</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_32">32</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyMarshal_WriteObjectToFile(PyObject&nbsp;*value,&nbsp;FILE&nbsp;*file,&nbsp;int&nbsp;version)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_33">33</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_34">34</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Marshal&nbsp;a&nbsp;Python&nbsp;object,&nbsp;*value*,&nbsp;to&nbsp;*file*.</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to18__3"></td><td  
class="diff_header" id="from18_43">43</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_44">44</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_45">45</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*version*&nbsp;indicates&nbsp;the&nbsp;file&nbsp;format.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_46">46</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_47">47</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_48">48</td><td  
nowrap="nowrap">The&nbsp;following&nbsp;functions&nbsp;allow&nbsp;marshalled&nbsp;values&nbsp;to&nbsp;be&nbsp;read&nbsp;back&nbsp;in.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_49">49</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_50">50</td><td  
nowrap="nowrap">XXX&nbsp;What&nbsp;about&nbsp;error&nbsp;detection?&nbsp;&nbsp;It&nbsp;appears&nbsp;that&nbsp;reading&nbsp;past&nbsp;the&nbsp;end&nbsp;of&nbsp;the</td></tr><tr><td  
class="diff_next" id="difflib_chg_to18__4"><a  
href="#difflib_chg_to18__4">n</a></td><td class="diff_header"  
id="from18_51">51-</td><td  
nowrap="nowrap">file&nbsp;will&nbsp;always&nbsp;result&nbsp;in&nbsp;a&nbsp;negative&nbsp;numeric&nbsp;value&nbsp;(where&nbsp;that's&nbsp;relevant),<span  
class="diff_sub">&nbsp;but</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__4"><a  
href="#difflib_chg_to18__4">n</a></td><td class="diff_header"  
id="to18_52">52+</td><td  
nowrap="nowrap">file&nbsp;will&nbsp;always&nbsp;result&nbsp;in&nbsp;a&nbsp;negative&nbsp;numeric&nbsp;value&nbsp;(where&nbsp;that's&nbsp;relevant),</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_52">52-</td><td  
nowrap="nowrap">it's&nbsp;not&nbsp;clear&nbsp;that&nbsp;negative&nbsp;values&nbsp;won't&nbsp;be&nbsp;handled&nbsp;properly&nbsp;when&nbsp;there's<span  
class="diff_sub">&nbsp;no</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_53">53+</td><td nowrap="nowrap"><span  
class="diff_add">but&nbsp;</span>it's&nbsp;not&nbsp;clear&nbsp;that&nbsp;negative&nbsp;values&nbsp;won't&nbsp;be&nbsp;handled&nbsp;properly&nbsp;when&nbsp;there's</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_53">53-</td><td  
nowrap="nowrap">error.&nbsp;&nbsp;What's&nbsp;the&nbsp;right&nbsp;way&nbsp;to&nbsp;tell?&nbsp;Should&nbsp;only&nbsp;non-negative&nbsp;values&nbsp;be<span  
class="diff_sub">&nbsp;written</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_54">54+</td><td nowrap="nowrap"><span  
class="diff_add">no&nbsp;</span>error.&nbsp;&nbsp;What's&nbsp;the&nbsp;right&nbsp;way&nbsp;to&nbsp;tell?&nbsp;Should&nbsp;only&nbsp;non-negative&nbsp;values&nbsp;be</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_54">54-</td><td  
nowrap="nowrap">using&nbsp;these&nbsp;routines?</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_55">55+</td><td nowrap="nowrap"><span  
class="diff_add">written&nbsp;</span>using&nbsp;these&nbsp;routines?</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_55">55</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_56">56</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_57">57</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;long&nbsp;PyMarshal_ReadLongFromFile(FILE&nbsp;*file)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to18__5"></td><td  
class="diff_header" id="from18_58">58</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to18__5">n</a></td><td class="diff_header"  
id="from18_59">59-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;C&nbsp;:ctype:`long`&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened<span  
class="diff_sub">&nbsp;for</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__5">n</a></td><td  
class="diff_header" id="to18_60">60+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;C&nbsp;:ctype:`long`&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_60">60-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reading.&nbsp;&nbsp;Only&nbsp;a&nbsp;32-bit&nbsp;value&nbsp;can&nbsp;be&nbsp;read&nbsp;in&nbsp;using&nbsp;this&nbsp;function,<span  
class="diff_sub">&nbsp;regardless&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_61">61+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;for</span>&nbsp;reading.&nbsp;&nbsp;Only&nbsp;a&nbsp;32-bit&nbsp;value&nbsp;can&nbsp;be&nbsp;read&nbsp;in&nbsp;using&nbsp;this&nbsp;function,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_61">61-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;native&nbsp;size&nbsp;of&nbsp;:ctype:`long`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_62">62+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;regardless&nbsp;of</span>&nbsp;the&nbsp;native&nbsp;size&nbsp;of&nbsp;:ctype:`long`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_62">62</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_63">63</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_64">64</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyMarshal_ReadShortFromFile(FILE&nbsp;*file)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_65">65</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to18__6">n</a></td><td  
class="diff_header" id="from18_66">66-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;C&nbsp;:ctype:`short`&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened<span  
class="diff_sub">&nbsp;for</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__6">n</a></td><td  
class="diff_header" id="to18_67">67+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;C&nbsp;:ctype:`short`&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_67">67-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reading.&nbsp;&nbsp;Only&nbsp;a&nbsp;16-bit&nbsp;value&nbsp;can&nbsp;be&nbsp;read&nbsp;in&nbsp;using&nbsp;this&nbsp;function,<span  
class="diff_sub">&nbsp;regardless&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_68">68+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;for</span>&nbsp;reading.&nbsp;&nbsp;Only&nbsp;a&nbsp;16-bit&nbsp;value&nbsp;can&nbsp;be&nbsp;read&nbsp;in&nbsp;using&nbsp;this&nbsp;function,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_68">68-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;native&nbsp;size&nbsp;of&nbsp;:ctype:`short`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_69">69+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;regardless&nbsp;of</span>&nbsp;the&nbsp;native&nbsp;size&nbsp;of&nbsp;:ctype:`short`.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_70">70</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_71">71</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyMarshal_ReadObjectFromFile(FILE&nbsp;*file)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_72">72</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to18__6"></td><td class="diff_header"  
id="from18_73">73</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;Python&nbsp;object&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened&nbsp;for</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_74">74</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reading.&nbsp;&nbsp;On&nbsp;error,&nbsp;sets&nbsp;the&nbsp;appropriate&nbsp;exception&nbsp;(:exc:`EOFError`&nbsp;or</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_75">75</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`)&nbsp;and&nbsp;returns&nbsp;*NULL*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_76">76</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_77">77</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_78">78</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyMarshal_ReadLastObjectFromFile(FILE&nbsp;*file)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_79">79</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_80">80</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;Python&nbsp;object&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;:ctype:`FILE\*`&nbsp;opened&nbsp;for</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to18__7">n</a></td><td  
class="diff_header" id="from18_81">81-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reading.&nbsp;&nbsp;Unlike&nbsp;:cfunc:`PyMarshal_ReadObjectFromFile`,&nbsp;this&nbsp;function<span  
class="diff_sub">&nbsp;assumes</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__7">n</a></td><td  
class="diff_header" id="to18_82">82+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reading.&nbsp;&nbsp;Unlike&nbsp;:cfunc:`PyMarshal_ReadObjectFromFile`,&nbsp;this&nbsp;function</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_82">82-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;that&nbsp;no&nbsp;further&nbsp;objects&nbsp;will&nbsp;be&nbsp;read&nbsp;from&nbsp;the&nbsp;file,&nbsp;allowing&nbsp;it&nbsp;to<span  
class="diff_sub">&nbsp;aggressively</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_83">83+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;assumes</span>&nbsp;that&nbsp;no&nbsp;further&nbsp;objects&nbsp;will&nbsp;be&nbsp;read&nbsp;from&nbsp;the&nbsp;file,&nbsp;allowing&nbsp;it&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_83">83-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;load&nbsp;file&nbsp;data&nbsp;into&nbsp;memory&nbsp;so&nbsp;that&nbsp;the&nbsp;de-serialization&nbsp;can<span  
class="diff_sub">&nbsp;operate&nbsp;from&nbsp;data&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_84">84+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;aggressively</span>&nbsp;load&nbsp;file&nbsp;data&nbsp;into&nbsp;memory&nbsp;so&nbsp;that&nbsp;the&nbsp;de-serialization&nbsp;can</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__7"></td><td  
class="diff_header" id="from18_84">84-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;memory&nbsp;rather&nbsp;than&nbsp;reading&nbsp;a&nbsp;byte&nbsp;at&nbsp;a&nbsp;time&nbsp;from&nbsp;the&nbsp;file.&nbsp;&nbsp;Only&nbsp;use&nbsp;these</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to18__7"></td><td  
class="diff_header" id="to18_85">85+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;operate&nbsp;from&nbsp;data&nbsp;in&nbsp;memory&nbsp;rather&nbsp;than&nbsp;reading&nbsp;a&nbsp;byte&nbsp;at&nbsp;a&nbsp;time&nbsp;from&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_85">85-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;variant&nbsp;if&nbsp;you&nbsp;are&nbsp;certain&nbsp;that&nbsp;you&nbsp;won't&nbsp;be&nbsp;reading&nbsp;anything&nbsp;else&nbsp;from&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_86">86+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;file.&nbsp;&nbsp;Only&nbsp;use&nbsp;these&nbsp;variant&nbsp;if&nbsp;you&nbsp;are&nbsp;certain&nbsp;that&nbsp;you&nbsp;won't&nbsp;be&nbsp;reading</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_86">86-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;file.&nbsp;&nbsp;On&nbsp;error,&nbsp;sets&nbsp;the&nbsp;appropriate&nbsp;exception&nbsp;(:exc:`EOFError`&nbsp;or</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_87">87+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;anything&nbsp;else&nbsp;from&nbsp;the&nbsp;file.&nbsp;&nbsp;On&nbsp;error,&nbsp;sets&nbsp;the&nbsp;appropriate&nbsp;exception</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_87">87-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:exc:`TypeError`)&nbsp;and&nbsp;returns&nbsp;*NULL*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_88">88+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;(:exc:`EOFError`&nbsp;or</span>&nbsp;:exc:`TypeError`)&nbsp;and&nbsp;returns&nbsp;*NULL*.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from18_88">88</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from18_89">89</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from18_90">90</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyMarshal_ReadObjectFromString(char&nbsp;*string,&nbsp;Py_ssize_t&nbsp;len)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_91">91</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to18__top">t</a></td><td  
class="diff_header" id="from18_92">92-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;Python&nbsp;object&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;character&nbsp;buffer<span  
class="diff_sub">&nbsp;containing</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to18__top">t</a></td><td  
class="diff_header" id="to18_93">93+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;Python&nbsp;object&nbsp;from&nbsp;the&nbsp;data&nbsp;stream&nbsp;in&nbsp;a&nbsp;character&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_93">93-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*len*&nbsp;bytes&nbsp;pointed&nbsp;to&nbsp;by&nbsp;*string*.&nbsp;&nbsp;On&nbsp;error,&nbsp;sets&nbsp;the<span  
class="diff_sub">&nbsp;appropriate&nbsp;exception</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_94">94+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;containing</span>&nbsp;*len*&nbsp;bytes&nbsp;pointed&nbsp;to&nbsp;by&nbsp;*string*.&nbsp;&nbsp;On&nbsp;error,&nbsp;sets&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from18_94">94-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(:exc:`EOFError`&nbsp;or&nbsp;:exc:`TypeError`)&nbsp;and&nbsp;returns<span  
class="diff_sub">&nbsp;*NULL*.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_95">95+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;appropriate&nbsp;exception</span>&nbsp;(:exc:`EOFError`&nbsp;or&nbsp;:exc:`TypeError`)&nbsp;and&nbsp;returns</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_96">96+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*NULL*.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_97">97+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_98">98+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_99">99+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*len*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to18_100">100+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/method.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,21 @@
+--- r262/c-api/method.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/method.rst	2009-10-27 23:34:21.573917000 +0900
+@@ -56,17 +56,17 @@
+
+ .. cfunction:: PyObject* PyMethod_Self(PyObject *meth)
+
+    Return the instance associated with the method *meth* if it is bound,  
otherwise
+    return *NULL*.
+
+
+ .. cfunction:: PyObject* PyMethod_GET_SELF(PyObject *meth)
+
+    Macro version of :cfunc:`PyMethod_Self` which avoids error checking.
+
+
+-.. cfunction:: int PyMethod_ClearFreeList(void)
++.. cfunction:: int PyMethod_ClearFreeList()
+
+    Clear the free list. Return the total number of freed items.
+
+    .. versionadded:: 2.6
=======================================
--- /dev/null
+++ /c-api/diff/method.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,50 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to19__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/method.rst =&gt;  
r266/c-api/method.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to19__0"></td><td class="diff_header"  
id="from19_60">60</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;return&nbsp;*NULL*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from19_61">61</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from19_62">62</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from19_63">63</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyMethod_GET_SELF(PyObject&nbsp;*meth)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from19_64">64</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from19_65">65</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;version&nbsp;of&nbsp;:cfunc:`PyMethod_Self`&nbsp;which&nbsp;avoids&nbsp;error&nbsp;checking.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from19_66">66</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from19_67">67</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to19__top">t</a></td><td class="diff_header"  
id="from19_68">68-</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyMethod_ClearFreeList(<span  
class="diff_sub">void</span>)</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to19__top">t</a></td><td  
class="diff_header" id="to19_68">68+</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyMethod_ClearFreeList()</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from19_69">69</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from19_70">70</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Clear&nbsp;the&nbsp;free&nbsp;list.&nbsp;Return&nbsp;the&nbsp;total&nbsp;number&nbsp;of&nbsp;freed&nbsp;items.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from19_71">71</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from19_72">72</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.6</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/objbuffer.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,81 @@
+--- r262/c-api/objbuffer.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/objbuffer.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -1,46 +1,66 @@
+ .. highlightlang:: c
+
+ .. _abstract-buffer:
+
+-Buffer Protocol
+-===============
++Old Buffer Protocol
++===================
++
++
++This section describes the legacy buffer protocol, which has been  
introduced
++in Python 1.6. It is still supported but deprecated in the Python 2.x  
series.
++Python 3.0 introduces a new buffer protocol which fixes weaknesses and
++shortcomings of the protocol, and has been backported to Python 2.6.  See
++:ref:`bufferobjects` for more information.
+
+
+ .. cfunction:: int PyObject_AsCharBuffer(PyObject *obj, const char  
**buffer, Py_ssize_t *buffer_len)
+
+    Returns a pointer to a read-only memory location usable as  
character-based
+    input.  The *obj* argument must support the single-segment character  
buffer
+-   interface.  On success, returns ``0``, sets *buffer* to the memory  
location and
+-   *buffer_len* to the buffer length.  Returns ``-1`` and sets  
a :exc:`TypeError`
+-   on error.
++   interface.  On success, returns ``0``, sets *buffer* to the memory  
location
++   and *buffer_len* to the buffer length.  Returns ``-1`` and sets a
++   :exc:`TypeError` on error.
+
+    .. versionadded:: 1.6
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int *` type for *buffer_len*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PyObject_AsReadBuffer(PyObject *obj, const void  
**buffer, Py_ssize_t *buffer_len)
+
+-   Returns a pointer to a read-only memory location containing arbitrary  
data.  The
+-   *obj* argument must support the single-segment readable buffer  
interface.  On
+-   success, returns ``0``, sets *buffer* to the memory location and  
*buffer_len* to
+-   the buffer length.  Returns ``-1`` and sets a :exc:`TypeError` on  
error.
++   Returns a pointer to a read-only memory location containing arbitrary  
data.
++   The *obj* argument must support the single-segment readable buffer
++   interface.  On success, returns ``0``, sets *buffer* to the memory  
location
++   and *buffer_len* to the buffer length.  Returns ``-1`` and sets a
++   :exc:`TypeError` on error.
+
+    .. versionadded:: 1.6
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int *` type for *buffer_len*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PyObject_CheckReadBuffer(PyObject *o)
+
+    Returns ``1`` if *o* supports the single-segment readable buffer  
interface.
+    Otherwise returns ``0``.
+
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: int PyObject_AsWriteBuffer(PyObject *obj, void **buffer,  
Py_ssize_t *buffer_len)
+
+    Returns a pointer to a writeable memory location.  The *obj* argument  
must
+-   support the single-segment, character buffer interface.  On success,  
returns
+-   ``0``, sets *buffer* to the memory location and *buffer_len* to the  
buffer
+-   length.  Returns ``-1`` and sets a :exc:`TypeError` on error.
++   support the single-segment, character buffer interface.  On success,
++   returns ``0``, sets *buffer* to the memory location and *buffer_len*  
to the
++   buffer length.  Returns ``-1`` and sets a :exc:`TypeError` on error.
+
+    .. versionadded:: 1.6
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int *` type for *buffer_len*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
=======================================
--- /dev/null
+++ /c-api/diff/objbuffer.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,92 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to20__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/objbuffer.rst =&gt;  
r266/c-api/objbuffer.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next" id="difflib_chg_to20__0"><a  
href="#difflib_chg_to20__0">f</a></td><td class="diff_header"  
id="from20_1">1</td><td  
nowrap="nowrap">..&nbsp;highlightlang::&nbsp;c</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_2">2</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_3">3</td><td  
nowrap="nowrap">..&nbsp;_abstract-buffer:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_4">4</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to20__1">n</a></td><td class="diff_header"  
id="from20_5">5-</td><td nowrap="nowrap">Buffer&nbsp;Protocol</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to20__1">n</a></td><td  
class="diff_header" id="to20_5">5+</td><td nowrap="nowrap"><span  
class="diff_add">Old&nbsp;</span>Buffer&nbsp;Protocol</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_6">6-</td><td nowrap="nowrap">===============</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_6">6+</td><td nowrap="nowrap">===============<span  
class="diff_add">====</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_7">7+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_8">8+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_9">9+</td><td nowrap="nowrap"><span  
class="diff_add">This&nbsp;section&nbsp;describes&nbsp;the&nbsp;legacy&nbsp;buffer&nbsp;protocol,&nbsp;which&nbsp;has&nbsp;been&nbsp;introduced</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_10">10+</td><td nowrap="nowrap"><span  
class="diff_add">in&nbsp;Python&nbsp;1.6.&nbsp;It&nbsp;is&nbsp;still&nbsp;supported&nbsp;but&nbsp;deprecated&nbsp;in&nbsp;the&nbsp;Python&nbsp;2.x&nbsp;series.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_11">11+</td><td nowrap="nowrap"><span  
class="diff_add">Python&nbsp;3.0&nbsp;introduces&nbsp;a&nbsp;new&nbsp;buffer&nbsp;protocol&nbsp;which&nbsp;fixes&nbsp;weaknesses&nbsp;and</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to20__1"></td><td  
class="diff_header" id="to20_12">12+</td><td nowrap="nowrap"><span  
class="diff_add">shortcomings&nbsp;of&nbsp;the&nbsp;protocol,&nbsp;and&nbsp;has&nbsp;been&nbsp;backported&nbsp;to&nbsp;Python&nbsp;2.6.&nbsp;&nbsp;See</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_13">13+</td><td nowrap="nowrap"><span  
class="diff_add">:ref:`bufferobjects`&nbsp;for&nbsp;more&nbsp;information.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_7">7</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_8">8</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_9">9</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_AsCharBuffer(PyObject&nbsp;*obj,&nbsp;const&nbsp;char&nbsp;**buffer,&nbsp;Py_ssize_t&nbsp;*buffer_len)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to20__2"></td><td  
class="diff_header" id="from20_10">10</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_11">11</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;read-only&nbsp;memory&nbsp;location&nbsp;usable&nbsp;as&nbsp;character-based</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_12">12</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;input.&nbsp;&nbsp;The&nbsp;*obj*&nbsp;argument&nbsp;must&nbsp;support&nbsp;the&nbsp;single-segment&nbsp;character&nbsp;buffer</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to20__2">n</a></td><td  
class="diff_header" id="from20_13">13-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;On&nbsp;success,&nbsp;returns&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location<span  
class="diff_sub">&nbsp;and</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to20__2">n</a></td><td  
class="diff_header" id="to20_20">20+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interface.&nbsp;&nbsp;On&nbsp;success,&nbsp;returns&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_14">14-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*buffer_len*&nbsp;to&nbsp;the&nbsp;buffer&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a<span  
class="diff_sub">&nbsp;:exc:`TypeError`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_21">21+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;and</span>&nbsp;*buffer_len*&nbsp;to&nbsp;the&nbsp;buffer&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_15">15-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;on&nbsp;error.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_22">22+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;on&nbsp;error.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_17">17</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.6</td></tr><tr><td  
class="diff_next" id="difflib_chg_to20__3"><a  
href="#difflib_chg_to20__3">n</a></td><td class="diff_header"  
id="to20_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_26">26+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_27">27+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*buffer_len*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_28">28+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_18">18</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_19">19</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_20">20</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_AsReadBuffer(PyObject&nbsp;*obj,&nbsp;const&nbsp;void&nbsp;**buffer,&nbsp;Py_ssize_t&nbsp;*buffer_len)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to20__4"></td><td  
class="diff_header" id="from20_21">21</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to20__4">n</a></td><td class="diff_header"  
id="from20_22">22-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;read-only&nbsp;memory&nbsp;location&nbsp;containing&nbsp;arbitrary&nbsp;data.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to20__4">n</a></td><td  
class="diff_header" id="to20_33">33+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;read-only&nbsp;memory&nbsp;location&nbsp;containing&nbsp;arbitrary&nbsp;data.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_23">23-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*obj*&nbsp;argument&nbsp;must&nbsp;support&nbsp;the&nbsp;single-segment&nbsp;readable&nbsp;buffer<span  
class="diff_sub">&nbsp;interface.&nbsp;&nbsp;On</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_34">34+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;*obj*&nbsp;argument&nbsp;must&nbsp;support&nbsp;the&nbsp;single-segment&nbsp;readable&nbsp;buffer</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_24">24-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;success,&nbsp;returns&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location<span  
class="diff_sub">&nbsp;and&nbsp;*buffer_len*&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_35">35+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;interface.&nbsp;&nbsp;On</span>&nbsp;success,&nbsp;returns&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_25">25-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;buffer&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a&nbsp;:exc:`TypeError`&nbsp;on&nbsp;error.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_36">36+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;and&nbsp;*buffer_len*&nbsp;to&nbsp;the&nbsp;buffer&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_37">37+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:exc:`TypeError`&nbsp;on&nbsp;error.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_26">26</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_27">27</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.6</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to20__5">n</a></td><td  
class="diff_header" id="to20_40">40+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_41">41+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_42">42+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*buffer_len*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_43">43+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_28">28</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_29">29</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_30">30</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_CheckReadBuffer(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_31">31</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_32">32</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;``1``&nbsp;if&nbsp;*o*&nbsp;supports&nbsp;the&nbsp;single-segment&nbsp;readable&nbsp;buffer&nbsp;interface.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to20__5"></td><td  
class="diff_header" id="from20_33">33</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Otherwise&nbsp;returns&nbsp;``0``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_34">34</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_35">35</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.2</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_36">36</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_37">37</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_38">38</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_AsWriteBuffer(PyObject&nbsp;*obj,&nbsp;void&nbsp;**buffer,&nbsp;Py_ssize_t&nbsp;*buffer_len)</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to20__6"></td><td  
class="diff_header" id="from20_39">39</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from20_40">40</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;a&nbsp;pointer&nbsp;to&nbsp;a&nbsp;writeable&nbsp;memory&nbsp;location.&nbsp;&nbsp;The&nbsp;*obj*&nbsp;argument&nbsp;must</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to20__6">n</a></td><td  
class="diff_header" id="from20_41">41-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;support&nbsp;the&nbsp;single-segment,&nbsp;character&nbsp;buffer&nbsp;interface.&nbsp;&nbsp;On&nbsp;success,<span  
class="diff_sub">&nbsp;returns</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to20__6">n</a></td><td  
class="diff_header" id="to20_57">57+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;support&nbsp;the&nbsp;single-segment,&nbsp;character&nbsp;buffer&nbsp;interface.&nbsp;&nbsp;On&nbsp;success,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_42">42-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location&nbsp;and&nbsp;*buffer_len*&nbsp;to&nbsp;the<span  
class="diff_sub">&nbsp;buffer</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_58">58+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;returns</span>&nbsp;``0``,&nbsp;sets&nbsp;*buffer*&nbsp;to&nbsp;the&nbsp;memory&nbsp;location&nbsp;and&nbsp;*buffer_len*&nbsp;to&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_43">43-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a&nbsp;:exc:`TypeError`&nbsp;on&nbsp;error.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_59">59+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;buffer</span>&nbsp;length.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;and&nbsp;sets&nbsp;a&nbsp;:exc:`TypeError`&nbsp;on&nbsp;error.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from20_44">44</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from20_45">45</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;1.6</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from20_46">46</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to20__top">t</a></td><td  
class="diff_header" id="to20_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_64">64+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*buffer_len*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_65">65+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to20_66">66+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/object.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,31 @@
+--- r262/c-api/object.rst	2009-04-06 09:24:29.561602000 +0900
++++ r266/c-api/object.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -342,24 +342,28 @@
+    .. versionadded:: 2.2
+
+
+ .. cfunction:: Py_ssize_t PyObject_Length(PyObject *o)
+                Py_ssize_t PyObject_Size(PyObject *o)
+
+    .. index:: builtin: len
+
+    Return the length of object *o*.  If the object *o* provides either  
the sequence
+    and mapping protocols, the sequence length is returned.  On error,  
``-1`` is
+    returned.  This is the equivalent to the Python expression ``len(o)``.
+
++   .. versionchanged:: 2.5
++      These functions returned an :ctype:`int` type. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyObject_GetItem(PyObject *o, PyObject *key)
+
+    Return element of *o* corresponding to the object *key* or *NULL* on  
failure.
+    This is the equivalent of the Python expression ``o[key]``.
+
+
+ .. cfunction:: int PyObject_SetItem(PyObject *o, PyObject *key, PyObject  
*v)
+
+    Map the object *key* to the value *v*.  Returns ``-1`` on failure.   
This is the
+    equivalent of the Python statement ``o[key] = v``.
+
=======================================
--- /dev/null
+++ /c-api/diff/object.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,52 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to21__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/object.rst =&gt;  
r266/c-api/object.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to21__0"></td><td class="diff_header"  
id="from21_346">346</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;PyObject_Size(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_347">347</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from21_348">348</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_349">349</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from21_350">350</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;length&nbsp;of&nbsp;object&nbsp;*o*.&nbsp;&nbsp;If&nbsp;the&nbsp;object&nbsp;*o*&nbsp;provides&nbsp;either&nbsp;the&nbsp;sequence</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_351">351</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;mapping&nbsp;protocols,&nbsp;the&nbsp;sequence&nbsp;length&nbsp;is&nbsp;returned.&nbsp;&nbsp;On&nbsp;error,&nbsp;``-1``&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_352">352</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;returned.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``len(o)``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_353">353</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to21__top">t</a></td><td  
class="diff_header" id="to21_354">354+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to21_355">355+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;These&nbsp;functions&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to21_356">356+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to21_357">357+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from21_354">354</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from21_355">355</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyObject_GetItem(PyObject&nbsp;*o,&nbsp;PyObject&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_356">356</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from21_357">357</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;element&nbsp;of&nbsp;*o*&nbsp;corresponding&nbsp;to&nbsp;the&nbsp;object&nbsp;*key*&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_358">358</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o[key]``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from21_359">359</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from21_360">360</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from21_361">361</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PyObject_SetItem(PyObject&nbsp;*o,&nbsp;PyObject&nbsp;*key,&nbsp;PyObject&nbsp;*v)</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/sequence.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,225 @@
+--- r262/c-api/sequence.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/sequence.rst	2009-10-27 23:19:50.039185000 +0900
+@@ -4,119 +4,159 @@
+
+ Sequence Protocol
+ =================
+
+
+ .. cfunction:: int PySequence_Check(PyObject *o)
+
+    Return ``1`` if the object provides sequence protocol, and ``0``  
otherwise.
+    This function always succeeds.
+
+
+ .. cfunction:: Py_ssize_t PySequence_Size(PyObject *o)
++               Py_ssize_t PySequence_Length(PyObject *o)
+
+    .. index:: builtin: len
+
+    Returns the number of objects in sequence *o* on success, and ``-1``  
on failure.
+    For objects that do not provide sequence protocol, this is equivalent  
to the
+    Python expression ``len(o)``.
+
+-
+-.. cfunction:: Py_ssize_t PySequence_Length(PyObject *o)
+-
+-   Alternate name for :cfunc:`PySequence_Size`.
++   .. versionchanged:: 2.5
++      These functions returned an :ctype:`int` type. This might require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: PyObject* PySequence_Concat(PyObject *o1, PyObject *o2)
+
+    Return the concatenation of *o1* and *o2* on success, and *NULL* on  
failure.
+    This is the equivalent of the Python expression ``o1 + o2``.
+
+
+ .. cfunction:: PyObject* PySequence_Repeat(PyObject *o, Py_ssize_t count)
+
+    Return the result of repeating sequence object *o* *count* times, or  
*NULL* on
+    failure.  This is the equivalent of the Python expression ``o *  
count``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *count*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PySequence_InPlaceConcat(PyObject *o1, PyObject  
*o2)
+
+    Return the concatenation of *o1* and *o2* on success, and *NULL* on  
failure.
+    The operation is done *in-place* when *o1* supports it.  This is the  
equivalent
+    of the Python expression ``o1 += o2``.
+
+
+ .. cfunction:: PyObject* PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t  
count)
+
+    Return the result of repeating sequence object *o* *count* times, or  
*NULL* on
+    failure.  The operation is done *in-place* when *o* supports it.  This  
is the
+    equivalent of the Python expression ``o *= count``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *count*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PySequence_GetItem(PyObject *o, Py_ssize_t i)
+
+-   Return the *i*th element of *o*, or *NULL* on failure. This is the  
equivalent of
++   Return the *i*\ th element of *o*, or *NULL* on failure. This is the  
equivalent of
+    the Python expression ``o[i]``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PySequence_GetSlice(PyObject *o, Py_ssize_t i1,  
Py_ssize_t i2)
+
+    Return the slice of sequence object *o* between *i1* and *i2*, or  
*NULL* on
+    failure. This is the equivalent of the Python expression ``o[i1:i2]``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i1* and *i2*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject  
*v)
+
+-   Assign object *v* to the *i*th element of *o*.  Returns ``-1`` on  
failure.  This
++   Assign object *v* to the *i*\ th element of *o*.  Returns ``-1`` on  
failure.  This
+    is the equivalent of the Python statement ``o[i] = v``.  This function  
*does
+    not* steal a reference to *v*.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PySequence_DelItem(PyObject *o, Py_ssize_t i)
+
+-   Delete the *i*th element of object *o*.  Returns ``-1`` on failure.   
This is the
++   Delete the *i*\ th element of object *o*.  Returns ``-1`` on failure.   
This is the
+    equivalent of the Python statement ``del o[i]``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PySequence_SetSlice(PyObject *o, Py_ssize_t i1,  
Py_ssize_t i2, PyObject *v)
+
+    Assign the sequence object *v* to the slice in sequence object *o*  
from *i1* to
+    *i2*.  This is the equivalent of the Python statement ``o[i1:i2] = v``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i1* and *i2*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PySequence_DelSlice(PyObject *o, Py_ssize_t i1,  
Py_ssize_t i2)
+
+    Delete the slice in sequence object *o* from *i1* to *i2*.  Returns  
``-1`` on
+    failure.  This is the equivalent of the Python statement ``del  
o[i1:i2]``.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i1* and *i2*. This  
might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: Py_ssize_t PySequence_Count(PyObject *o, PyObject *value)
+
+    Return the number of occurrences of *value* in *o*, that is, return  
the number
+    of keys for which ``o[key] == value``.  On failure, return ``-1``.   
This is
+    equivalent to the Python expression ``o.count(value)``.
+
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int` type. This might require  
changes
++      in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: int PySequence_Contains(PyObject *o, PyObject *value)
+
+    Determine if *o* contains *value*.  If an item in *o* is equal to  
*value*,
+    return ``1``, otherwise return ``0``. On error, return ``-1``.  This is
+    equivalent to the Python expression ``value in o``.
+
+
+ .. cfunction:: Py_ssize_t PySequence_Index(PyObject *o, PyObject *value)
+
+    Return the first index *i* for which ``o[i] == value``.  On error,  
return
+    ``-1``.    This is equivalent to the Python expression  
``o.index(value)``.
+
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int` type. This might require  
changes
++      in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PySequence_List(PyObject *o)
+
+    Return a list object with the same contents as the arbitrary sequence  
*o*.  The
+    returned list is guaranteed to be new.
+
+
+ .. cfunction:: PyObject* PySequence_Tuple(PyObject *o)
+
+    .. index:: builtin: tuple
+
+    Return a tuple object with the same contents as the arbitrary sequence  
*o* or
+@@ -126,45 +166,53 @@
+
+
+ .. cfunction:: PyObject* PySequence_Fast(PyObject *o, const char *m)
+
+    Returns the sequence *o* as a tuple, unless it is already a tuple or  
list, in
+    which case *o* is returned.  Use :cfunc:`PySequence_Fast_GET_ITEM` to  
access the
+    members of the result.  Returns *NULL* on failure.  If the object is  
not a
+    sequence, raises :exc:`TypeError` with *m* as the message text.
+
+
+ .. cfunction:: PyObject* PySequence_Fast_GET_ITEM(PyObject *o, Py_ssize_t  
i)
+
+-   Return the *i*th element of *o*, assuming that *o* was returned by
++   Return the *i*\ th element of *o*, assuming that *o* was returned by
+    :cfunc:`PySequence_Fast`, *o* is not *NULL*, and that *i* is within  
bounds.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject** PySequence_Fast_ITEMS(PyObject *o)
+
+    Return the underlying array of PyObject pointers.  Assumes that *o*  
was returned
+    by :cfunc:`PySequence_Fast` and *o* is not *NULL*.
+
+    Note, if a list gets resized, the reallocation may relocate the items  
array.
+    So, only use the underlying array pointer in contexts where the  
sequence
+    cannot change.
+
+    .. versionadded:: 2.4
+
+
+ .. cfunction:: PyObject* PySequence_ITEM(PyObject *o, Py_ssize_t i)
+
+-   Return the *i*th element of *o* or *NULL* on failure. Macro form of
++   Return the *i*\ th element of *o* or *NULL* on failure. Macro form of
+    :cfunc:`PySequence_GetItem` but without checking that
+    :cfunc:`PySequence_Check(o)` is true and without adjustment for  
negative
+    indices.
+
+    .. versionadded:: 2.3
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *i*. This might require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: Py_ssize_t PySequence_Fast_GET_SIZE(PyObject *o)
+
+    Returns the length of *o*, assuming that *o* was returned by
+    :cfunc:`PySequence_Fast` and that *o* is not *NULL*.  The size can  
also be
+    gotten by calling :cfunc:`PySequence_Size` on *o*, but
+    :cfunc:`PySequence_Fast_GET_SIZE` is faster because it can assume *o*  
is a list
+    or tuple.
=======================================
--- /dev/null
+++ /c-api/diff/sequence.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,116 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to22__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/sequence.rst =&gt;  
r266/c-api/sequence.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to22__0"></td><td class="diff_header"  
id="from22_8">8</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_9">9</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_Check(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_10">10</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_11">11</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;``1``&nbsp;if&nbsp;the&nbsp;object&nbsp;provides&nbsp;sequence&nbsp;protocol,&nbsp;and&nbsp;``0``&nbsp;otherwise.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_12">12</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;always&nbsp;succeeds.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_13">13</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_14">14</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_15">15</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySequence_Size(PyObject&nbsp;*o)</td></tr><tr><td  
class="diff_next" id="difflib_chg_to22__1"><a  
href="#difflib_chg_to22__1">n</a></td><td class="diff_header"  
id="to22_16">16+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;PySequence_Length(PyObject&nbsp;*o)</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_17">17</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_18">18</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_19">19</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;the&nbsp;number&nbsp;of&nbsp;objects&nbsp;in&nbsp;sequence&nbsp;*o*&nbsp;on&nbsp;success,&nbsp;and&nbsp;``-1``&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;For&nbsp;objects&nbsp;that&nbsp;do&nbsp;not&nbsp;provide&nbsp;sequence&nbsp;protocol,&nbsp;this&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_21">21</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Python&nbsp;expression&nbsp;``len(o)``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_22">22</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__2">n</a></td><td  
class="diff_header" id="from22_23">23-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__2">n</a></td><td  
class="diff_header" id="to22_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_24">24-</td><td nowrap="nowrap"><span  
class="diff_sub">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySequence_Length(PyObject&nbsp;*o)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;These&nbsp;functions&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_25">25-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_26">26+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_26">26-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;Alternate&nbsp;name&nbsp;for&nbsp;:cfunc:`PySequence_Size`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_27">27</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_28">28</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_29">29</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_Concat(PyObject&nbsp;*o1,&nbsp;PyObject&nbsp;*o2)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_30">30</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to22__2"></td><td class="diff_header"  
id="from22_31">31</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;concatenation&nbsp;of&nbsp;*o1*&nbsp;and&nbsp;*o2*&nbsp;on&nbsp;success,&nbsp;and&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_32">32</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o1&nbsp;+&nbsp;o2``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_33">33</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_34">34</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_35">35</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_Repeat(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;count)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_36">36</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_37">37</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;result&nbsp;of&nbsp;repeating&nbsp;sequence&nbsp;object&nbsp;*o*&nbsp;*count*&nbsp;times,&nbsp;or&nbsp;*NULL*&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_38">38</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o&nbsp;*&nbsp;count``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__3">n</a></td><td  
class="diff_header" id="to22_39">39+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_40">40+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_41">41+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*count*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_42">42+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_39">39</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_40">40</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_41">41</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_InPlaceConcat(PyObject&nbsp;*o1,&nbsp;PyObject&nbsp;*o2)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_42">42</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_43">43</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;concatenation&nbsp;of&nbsp;*o1*&nbsp;and&nbsp;*o2*&nbsp;on&nbsp;success,&nbsp;and&nbsp;*NULL*&nbsp;on&nbsp;failure.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_44">44</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;operation&nbsp;is&nbsp;done&nbsp;*in-place*&nbsp;when&nbsp;*o1*&nbsp;supports&nbsp;it.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_45">45</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o1&nbsp;+=&nbsp;o2``.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__3"></td><td  
class="diff_header" id="from22_46">46</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_47">47</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_48">48</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_InPlaceRepeat(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;count)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_49">49</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_50">50</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;result&nbsp;of&nbsp;repeating&nbsp;sequence&nbsp;object&nbsp;*o*&nbsp;*count*&nbsp;times,&nbsp;or&nbsp;*NULL*&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_51">51</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;&nbsp;The&nbsp;operation&nbsp;is&nbsp;done&nbsp;*in-place*&nbsp;when&nbsp;*o*&nbsp;supports&nbsp;it.&nbsp;&nbsp;This&nbsp;is&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_52">52</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o&nbsp;*=&nbsp;count``.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__4"></td><td  
class="diff_header" id="from22_53">53</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to22__4">n</a></td><td class="diff_header"  
id="to22_58">58+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__5"></td><td  
class="diff_header" id="to22_59">59+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*count*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_60">60+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_61">61+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_54">54</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_55">55</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_GetItem(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_56">56</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__5">n</a></td><td  
class="diff_header" id="from22_57">57-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*th&nbsp;element&nbsp;of&nbsp;*o*,&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__5">n</a></td><td  
class="diff_header" id="to22_65">65+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*<span  
class="diff_add">\&nbsp;</span>th&nbsp;element&nbsp;of&nbsp;*o*,&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_58">58</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o[i]``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__6">n</a></td><td  
class="diff_header" id="to22_67">67+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_68">68+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_69">69+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__6"></td><td  
class="diff_header" id="to22_70">70+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_59">59</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_60">60</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_61">61</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_GetSlice(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i1,&nbsp;Py_ssize_t&nbsp;i2)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_62">62</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_63">63</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;slice&nbsp;of&nbsp;sequence&nbsp;object&nbsp;*o*&nbsp;between&nbsp;*i1*&nbsp;and&nbsp;*i2*,&nbsp;or&nbsp;*NULL*&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o[i1:i2]``.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__7"></td><td  
class="diff_header" id="from22_65">65</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to22__7">n</a></td><td class="diff_header"  
id="to22_78">78+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_79">79+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i1*&nbsp;and&nbsp;*i2*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_80">80+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__8"></td><td  
class="diff_header" id="to22_81">81+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_66">66</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_67">67</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_SetItem(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i,&nbsp;PyObject&nbsp;*v)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_68">68</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__8">n</a></td><td  
class="diff_header" id="from22_69">69-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Assign&nbsp;object&nbsp;*v*&nbsp;to&nbsp;the&nbsp;*i*th&nbsp;element&nbsp;of&nbsp;*o*.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;This</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__8">n</a></td><td  
class="diff_header" id="to22_85">85+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Assign&nbsp;object&nbsp;*v*&nbsp;to&nbsp;the&nbsp;*i*<span  
class="diff_add">\&nbsp;</span>th&nbsp;element&nbsp;of&nbsp;*o*.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;This</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_70">70</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;statement&nbsp;``o[i]&nbsp;=&nbsp;v``.&nbsp;&nbsp;This&nbsp;function&nbsp;*does</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_71">71</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;not*&nbsp;steal&nbsp;a&nbsp;reference&nbsp;to&nbsp;*v*.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__9"></td><td  
class="diff_header" id="from22_72">72</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to22__9">n</a></td><td class="diff_header"  
id="to22_89">89+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__10"></td><td  
class="diff_header" id="to22_90">90+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_91">91+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_92">92+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_73">73</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_74">74</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_DelItem(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_75">75</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__10">n</a></td><td  
class="diff_header" id="from22_76">76-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Delete&nbsp;the&nbsp;*i*th&nbsp;element&nbsp;of&nbsp;object&nbsp;*o*.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;the</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__10">n</a></td><td  
class="diff_header" id="to22_96">96+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Delete&nbsp;the&nbsp;*i*<span  
class="diff_add">\&nbsp;</span>th&nbsp;element&nbsp;of&nbsp;object&nbsp;*o*.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;on&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;the</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_77">77</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;statement&nbsp;``del&nbsp;o[i]``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__11">n</a></td><td  
class="diff_header" id="to22_98">98+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_99">99+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_100">100+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__11"></td><td  
class="diff_header" id="to22_101">101+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_78">78</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_79">79</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_80">80</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_SetSlice(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i1,&nbsp;Py_ssize_t&nbsp;i2,&nbsp;PyObject&nbsp;*v)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_81">81</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_82">82</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Assign&nbsp;the&nbsp;sequence&nbsp;object&nbsp;*v*&nbsp;to&nbsp;the&nbsp;slice&nbsp;in&nbsp;sequence&nbsp;object&nbsp;*o*&nbsp;from&nbsp;*i1*&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_83">83</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*i2*.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;statement&nbsp;``o[i1:i2]&nbsp;=&nbsp;v``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_84">84</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__12">n</a></td><td  
class="diff_header" id="to22_109">109+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to22__12"></td><td  
class="diff_header" id="to22_110">110+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i1*&nbsp;and&nbsp;*i2*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_111">111+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_112">112+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_85">85</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_86">86</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_DelSlice(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i1,&nbsp;Py_ssize_t&nbsp;i2)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_87">87</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_88">88</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Delete&nbsp;the&nbsp;slice&nbsp;in&nbsp;sequence&nbsp;object&nbsp;*o*&nbsp;from&nbsp;*i1*&nbsp;to&nbsp;*i2*.&nbsp;&nbsp;Returns&nbsp;``-1``&nbsp;on</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_89">89</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;failure.&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;equivalent&nbsp;of&nbsp;the&nbsp;Python&nbsp;statement&nbsp;``del&nbsp;o[i1:i2]``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__13">n</a></td><td  
class="diff_header" id="to22_118">118+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_119">119+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_120">120+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i1*&nbsp;and&nbsp;*i2*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_121">121+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to22__13"></td><td  
class="diff_header" id="from22_90">90</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_91">91</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_92">92</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySequence_Count(PyObject&nbsp;*o,&nbsp;PyObject&nbsp;*value)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_93">93</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_94">94</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;number&nbsp;of&nbsp;occurrences&nbsp;of&nbsp;*value*&nbsp;in&nbsp;*o*,&nbsp;that&nbsp;is,&nbsp;return&nbsp;the&nbsp;number</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_95">95</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;of&nbsp;keys&nbsp;for&nbsp;which&nbsp;``o[key]&nbsp;==&nbsp;value``.&nbsp;&nbsp;On&nbsp;failure,&nbsp;return&nbsp;``-1``.&nbsp;&nbsp;This&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_96">96</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o.count(value)``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_97">97</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__14">n</a></td><td  
class="diff_header" id="to22_130">130+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_131">131+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_132">132+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_133">133+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_98">98</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_99">99</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySequence_Contains(PyObject&nbsp;*o,&nbsp;PyObject&nbsp;*value)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_100">100</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_101">101</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Determine&nbsp;if&nbsp;*o*&nbsp;contains&nbsp;*value*.&nbsp;&nbsp;If&nbsp;an&nbsp;item&nbsp;in&nbsp;*o*&nbsp;is&nbsp;equal&nbsp;to&nbsp;*value*,</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__14"></td><td  
class="diff_header" id="from22_102">102</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;return&nbsp;``1``,&nbsp;otherwise&nbsp;return&nbsp;``0``.&nbsp;On&nbsp;error,&nbsp;return&nbsp;``-1``.&nbsp;&nbsp;This&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_103">103</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``value&nbsp;in&nbsp;o``.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_104">104</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_105">105</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_106">106</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySequence_Index(PyObject&nbsp;*o,&nbsp;PyObject&nbsp;*value)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_107">107</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_108">108</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;first&nbsp;index&nbsp;*i*&nbsp;for&nbsp;which&nbsp;``o[i]&nbsp;==&nbsp;value``.&nbsp;&nbsp;On&nbsp;error,&nbsp;return</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_109">109</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``-1``.&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;the&nbsp;Python&nbsp;expression&nbsp;``o.index(value)``.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__15">n</a></td><td  
class="diff_header" id="to22_146">146+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_147">147+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_148">148+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_149">149+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_110">110</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_111">111</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_112">112</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_List(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_113">113</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_114">114</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;list&nbsp;object&nbsp;with&nbsp;the&nbsp;same&nbsp;contents&nbsp;as&nbsp;the&nbsp;arbitrary&nbsp;sequence&nbsp;*o*.&nbsp;&nbsp;The</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_115">115</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;returned&nbsp;list&nbsp;is&nbsp;guaranteed&nbsp;to&nbsp;be&nbsp;new.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_116">116</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_117">117</td><td  
nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to22__15"></td><td  
class="diff_header" id="from22_130">130</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;the&nbsp;sequence&nbsp;*o*&nbsp;as&nbsp;a&nbsp;tuple,&nbsp;unless&nbsp;it&nbsp;is&nbsp;already&nbsp;a&nbsp;tuple&nbsp;or&nbsp;list,&nbsp;in</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_131">131</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;which&nbsp;case&nbsp;*o*&nbsp;is&nbsp;returned.&nbsp;&nbsp;Use&nbsp;:cfunc:`PySequence_Fast_GET_ITEM`&nbsp;to&nbsp;access&nbsp;the</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__16"></td><td  
class="diff_header" id="from22_132">132</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;members&nbsp;of&nbsp;the&nbsp;result.&nbsp;&nbsp;Returns&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;&nbsp;If&nbsp;the&nbsp;object&nbsp;is&nbsp;not&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_133">133</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;sequence,&nbsp;raises&nbsp;:exc:`TypeError`&nbsp;with&nbsp;*m*&nbsp;as&nbsp;the&nbsp;message&nbsp;text.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_134">134</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_135">135</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_136">136</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_Fast_GET_ITEM(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_137">137</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__16">n</a></td><td  
class="diff_header" id="from22_138">138-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*th&nbsp;element&nbsp;of&nbsp;*o*,&nbsp;assuming&nbsp;that&nbsp;*o*&nbsp;was&nbsp;returned&nbsp;by</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__16">n</a></td><td  
class="diff_header" id="to22_178">178+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*<span  
class="diff_add">\&nbsp;</span>th&nbsp;element&nbsp;of&nbsp;*o*,&nbsp;assuming&nbsp;that&nbsp;*o*&nbsp;was&nbsp;returned&nbsp;by</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_Fast`,&nbsp;*o*&nbsp;is&nbsp;not&nbsp;*NULL*,&nbsp;and&nbsp;that&nbsp;*i*&nbsp;is&nbsp;within&nbsp;bounds.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__17">n</a></td><td  
class="diff_header" id="to22_180">180+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_181">181+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_182">182+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_183">183+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_140">140</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_141">141</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_142">142</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject**&nbsp;PySequence_Fast_ITEMS(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_143">143</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_144">144</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;underlying&nbsp;array&nbsp;of&nbsp;PyObject&nbsp;pointers.&nbsp;&nbsp;Assumes&nbsp;that&nbsp;*o*&nbsp;was&nbsp;returned</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_145">145</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;by&nbsp;:cfunc:`PySequence_Fast`&nbsp;and&nbsp;*o*&nbsp;is&nbsp;not&nbsp;*NULL*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_146">146</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_147">147</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Note,&nbsp;if&nbsp;a&nbsp;list&nbsp;gets&nbsp;resized,&nbsp;the&nbsp;reallocation&nbsp;may&nbsp;relocate&nbsp;the&nbsp;items&nbsp;array.</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to22__17"></td><td  
class="diff_header" id="from22_148">148</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;So,&nbsp;only&nbsp;use&nbsp;the&nbsp;underlying&nbsp;array&nbsp;pointer&nbsp;in&nbsp;contexts&nbsp;where&nbsp;the&nbsp;sequence</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_149">149</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;cannot&nbsp;change.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_150">150</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_151">151</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_152">152</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_153">153</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to22__18"></td><td class="diff_header"  
id="from22_154">154</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySequence_ITEM(PyObject&nbsp;*o,&nbsp;Py_ssize_t&nbsp;i)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_155">155</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__18">n</a></td><td  
class="diff_header" id="from22_156">156-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*th&nbsp;element&nbsp;of&nbsp;*o*&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;Macro&nbsp;form&nbsp;of</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to22__18">n</a></td><td  
class="diff_header" id="to22_200">200+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;*i*<span  
class="diff_add">\&nbsp;</span>th&nbsp;element&nbsp;of&nbsp;*o*&nbsp;or&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;Macro&nbsp;form&nbsp;of</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_157">157</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_GetItem`&nbsp;but&nbsp;without&nbsp;checking&nbsp;that</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_158">158</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_Check(o)`&nbsp;is&nbsp;true&nbsp;and&nbsp;without&nbsp;adjustment&nbsp;for&nbsp;negative</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_159">159</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indices.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_160">160</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_161">161</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to22__top">t</a></td><td  
class="diff_header" id="to22_206">206+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_207">207+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_208">208+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*i*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to22_209">209+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from22_162">162</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_163">163</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from22_164">164</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySequence_Fast_GET_SIZE(PyObject&nbsp;*o)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_165">165</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from22_166">166</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;the&nbsp;length&nbsp;of&nbsp;*o*,&nbsp;assuming&nbsp;that&nbsp;*o*&nbsp;was&nbsp;returned&nbsp;by</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_167">167</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_Fast`&nbsp;and&nbsp;that&nbsp;*o*&nbsp;is&nbsp;not&nbsp;*NULL*.&nbsp;&nbsp;The&nbsp;size&nbsp;can&nbsp;also&nbsp;be</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_168">168</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;gotten&nbsp;by&nbsp;calling&nbsp;:cfunc:`PySequence_Size`&nbsp;on&nbsp;*o*,&nbsp;but</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from22_169">169</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PySequence_Fast_GET_SIZE`&nbsp;is&nbsp;faster&nbsp;because&nbsp;it&nbsp;can&nbsp;assume&nbsp;*o*&nbsp;is&nbsp;a&nbsp;list</td></tr>         
</tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/set.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,31 @@
+--- r262/c-api/set.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/set.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -107,24 +107,28 @@
+ The following functions and macros are available for instances  
of :class:`set`
+ or :class:`frozenset` or instances of their subtypes.
+
+
+ .. cfunction:: Py_ssize_t PySet_Size(PyObject *anyset)
+
+    .. index:: builtin: len
+
+    Return the length of a :class:`set` or :class:`frozenset` object.  
Equivalent to
+    ``len(anyset)``.  Raises a :exc:`PyExc_SystemError` if *anyset* is not  
a
+    :class:`set`, :class:`frozenset`, or an instance of a subtype.
+
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int`. This might require changes  
in
++      your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: Py_ssize_t PySet_GET_SIZE(PyObject *anyset)
+
+    Macro form of :cfunc:`PySet_Size` without error checking.
+
+
+ .. cfunction:: int PySet_Contains(PyObject *anyset, PyObject *key)
+
+    Return 1 if found, 0 if not found, and -1 if an error is encountered.   
Unlike
+    the Python :meth:`__contains__` method, this function does not  
automatically
+    convert unhashable sets into temporary frozensets.  Raise  
a :exc:`TypeError` if
+    the *key* is unhashable. Raise :exc:`PyExc_SystemError` if *anyset* is  
not a
=======================================
--- /dev/null
+++ /c-api/diff/set.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,52 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to23__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/set.rst =&gt;  
r266/c-api/set.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to23__0"></td><td class="diff_header"  
id="from23_111">111</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySet_Size(PyObject&nbsp;*anyset)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_112">112</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from23_113">113</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;len</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_114">114</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from23_115">115</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;length&nbsp;of&nbsp;a&nbsp;:class:`set`&nbsp;or&nbsp;:class:`frozenset`&nbsp;object.&nbsp;Equivalent&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_116">116</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``len(anyset)``.&nbsp;&nbsp;Raises&nbsp;a&nbsp;:exc:`PyExc_SystemError`&nbsp;if&nbsp;*anyset*&nbsp;is&nbsp;not&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_117">117</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:class:`set`,&nbsp;:class:`frozenset`,&nbsp;or&nbsp;an&nbsp;instance&nbsp;of&nbsp;a&nbsp;subtype.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_118">118</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to23__top">t</a></td><td  
class="diff_header" id="to23_119">119+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to23_120">120+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to23_121">121+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to23_122">122+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from23_119">119</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from23_120">120</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PySet_GET_SIZE(PyObject&nbsp;*anyset)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_121">121</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from23_122">122</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PySet_Size`&nbsp;without&nbsp;error&nbsp;checking.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_123">123</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from23_124">124</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from23_125">125</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySet_Contains(PyObject&nbsp;*anyset,&nbsp;PyObject&nbsp;*key)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from23_126">126</td><td nowrap="nowrap"></td></tr>        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/slice.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,77 @@
+--- r262/c-api/slice.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/slice.rst	2009-04-29 17:00:05.894850000 +0900
+@@ -13,44 +13,56 @@
+    The type object for slice objects.  This is the same as ``slice`` and
+    ``types.SliceType``.
+
+
+ .. cfunction:: int PySlice_Check(PyObject *ob)
+
+    Return true if *ob* is a slice object; *ob* must not be *NULL*.
+
+
+ .. cfunction:: PyObject* PySlice_New(PyObject *start, PyObject *stop,  
PyObject *step)
+
+    Return a new slice object with the given values.  The *start*, *stop*,  
and
+-   *step* parameters are used as the values of the slice object  
attributes of the
+-   same names.  Any of the values may be *NULL*, in which case the  
``None`` will be
+-   used for the corresponding attribute.  Return *NULL* if the new object  
could not
+-   be allocated.
++   *step* parameters are used as the values of the slice object  
attributes of
++   the same names.  Any of the values may be *NULL*, in which case the
++   ``None`` will be used for the corresponding attribute.  Return *NULL*  
if
++   the new object could not be allocated.
+
+
+ .. cfunction:: int PySlice_GetIndices(PySliceObject *slice, Py_ssize_t  
length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step)
+
+    Retrieve the start, stop and step indices from the slice object  
*slice*,
+-   assuming a sequence of length *length*. Treats indices greater than  
*length* as
+-   errors.
++   assuming a sequence of length *length*. Treats indices greater than
++   *length* as errors.
+
+-   Returns 0 on success and -1 on error with no exception set (unless one  
of the
+-   indices was not :const:`None` and failed to be converted to an  
integer, in which
+-   case -1 is returned with an exception set).
+-
+-   You probably do not want to use this function.  If you want to use  
slice objects
+-   in versions of Python prior to 2.3, you would probably do well to  
incorporate
+-   the source of :cfunc:`PySlice_GetIndicesEx`, suitably renamed, in the  
source of
+-   your extension.
++   Returns 0 on success and -1 on error with no exception set (unless one  
of
++   the indices was not :const:`None` and failed to be converted to an  
integer,
++   in which case -1 is returned with an exception set).
++
++   You probably do not want to use this function.  If you want to use  
slice
++   objects in versions of Python prior to 2.3, you would probably do well  
to
++   incorporate the source of :cfunc:`PySlice_GetIndicesEx`, suitably  
renamed,
++   in the source of your extension.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *length* and an
++      :ctype:`int *` type for *start*, *stop*, and *step*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
+
+
+ .. cfunction:: int PySlice_GetIndicesEx(PySliceObject *slice, Py_ssize_t  
length, Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step, Py_ssize_t  
*slicelength)
+
+-   Usable replacement for :cfunc:`PySlice_GetIndices`.  Retrieve the  
start, stop,
+-   and step indices from the slice object *slice* assuming a sequence of  
length
+-   *length*, and store the length of the slice in *slicelength*.  Out of  
bounds
+-   indices are clipped in a manner consistent with the handling of normal  
slices.
++   Usable replacement for :cfunc:`PySlice_GetIndices`.  Retrieve the  
start,
++   stop, and step indices from the slice object *slice* assuming a  
sequence of
++   length *length*, and store the length of the slice in *slicelength*.   
Out
++   of bounds indices are clipped in a manner consistent with the handling  
of
++   normal slices.
+
+    Returns 0 on success and -1 on error with exception set.
+
+    .. versionadded:: 2.3
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *length* and an
++      :ctype:`int *` type for *start*, *stop*, *step*, and *slicelength*.  
This
++      might require changes in your code for properly supporting 64-bit
++      systems.
=======================================
--- /dev/null
+++ /c-api/diff/slice.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,94 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to24__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/slice.rst =&gt;  
r266/c-api/slice.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to24__0"></td><td class="diff_header"  
id="from24_17">17</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySlice_Check(PyObject&nbsp;*ob)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_18">18</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_19">19</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;true&nbsp;if&nbsp;*ob*&nbsp;is&nbsp;a&nbsp;slice&nbsp;object;&nbsp;*ob*&nbsp;must&nbsp;not&nbsp;be&nbsp;*NULL*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_20">20</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_21">21</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from24_22">22</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PySlice_New(PyObject&nbsp;*start,&nbsp;PyObject&nbsp;*stop,&nbsp;PyObject&nbsp;*step)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_23">23</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_24">24</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;slice&nbsp;object&nbsp;with&nbsp;the&nbsp;given&nbsp;values.&nbsp;&nbsp;The&nbsp;*start*,&nbsp;*stop*,&nbsp;and</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__1">n</a></td><td  
class="diff_header" id="from24_25">25-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*step*&nbsp;parameters&nbsp;are&nbsp;used&nbsp;as&nbsp;the&nbsp;values&nbsp;of&nbsp;the&nbsp;slice&nbsp;object&nbsp;attributes&nbsp;of<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to24__1">n</a></td><td  
class="diff_header" id="to24_25">25+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*step*&nbsp;parameters&nbsp;are&nbsp;used&nbsp;as&nbsp;the&nbsp;values&nbsp;of&nbsp;the&nbsp;slice&nbsp;object&nbsp;attributes&nbsp;of</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to24__1"></td><td  
class="diff_header" id="from24_26">26-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;same&nbsp;names.&nbsp;&nbsp;Any&nbsp;of&nbsp;the&nbsp;values&nbsp;may&nbsp;be&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the<span  
class="diff_sub">&nbsp;``None``&nbsp;will&nbsp;be</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to24__1"></td><td  
class="diff_header" id="to24_26">26+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;same&nbsp;names.&nbsp;&nbsp;Any&nbsp;of&nbsp;the&nbsp;values&nbsp;may&nbsp;be&nbsp;*NULL*,&nbsp;in&nbsp;which&nbsp;case&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_27">27-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;used&nbsp;for&nbsp;the&nbsp;corresponding&nbsp;attribute.&nbsp;&nbsp;Return&nbsp;*NULL*&nbsp;if&nbsp;the&nbsp;new&nbsp;object&nbsp;could&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_27">27+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;``None``&nbsp;will&nbsp;be&nbsp;used&nbsp;for&nbsp;the&nbsp;corresponding&nbsp;attribute.&nbsp;&nbsp;Return&nbsp;*NULL*&nbsp;if</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_28">28-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;be&nbsp;allocated.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_28">28+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;the&nbsp;new&nbsp;object&nbsp;could&nbsp;not&nbsp;be&nbsp;allocated.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to24__2"></td><td  
class="diff_header" id="from24_29">29</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from24_30">30</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from24_31">31</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySlice_GetIndices(PySliceObject&nbsp;*slice,&nbsp;Py_ssize_t&nbsp;length,&nbsp;Py_ssize_t&nbsp;*start,&nbsp;Py_ssize_t&nbsp;*stop,&nbsp;Py_ssize_t&nbsp;*step)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_32">32</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to24__3"></td><td class="diff_header"  
id="from24_33">33</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Retrieve&nbsp;the&nbsp;start,&nbsp;stop&nbsp;and&nbsp;step&nbsp;indices&nbsp;from&nbsp;the&nbsp;slice&nbsp;object&nbsp;*slice*,</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__2">n</a></td><td  
class="diff_header" id="from24_34">34-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;assuming&nbsp;a&nbsp;sequence&nbsp;of&nbsp;length&nbsp;*length*.&nbsp;Treats&nbsp;indices&nbsp;greater&nbsp;than<span  
class="diff_sub">&nbsp;*length*&nbsp;as</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to24__2">n</a></td><td  
class="diff_header" id="to24_34">34+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;assuming&nbsp;a&nbsp;sequence&nbsp;of&nbsp;length&nbsp;*length*.&nbsp;Treats&nbsp;indices&nbsp;greater&nbsp;than</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_35">35-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;errors.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_35">35+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*length*&nbsp;as&nbsp;errors.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from24_36">36</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__3">n</a></td><td  
class="diff_header" id="from24_37">37-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;0&nbsp;on&nbsp;success&nbsp;and&nbsp;-1&nbsp;on&nbsp;error&nbsp;with&nbsp;no&nbsp;exception&nbsp;set&nbsp;(unless&nbsp;one&nbsp;of<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to24__3">n</a></td><td  
class="diff_header" id="to24_37">37+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;0&nbsp;on&nbsp;success&nbsp;and&nbsp;-1&nbsp;on&nbsp;error&nbsp;with&nbsp;no&nbsp;exception&nbsp;set&nbsp;(unless&nbsp;one&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_38">38-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indices&nbsp;was&nbsp;not&nbsp;:const:`None`&nbsp;and&nbsp;failed&nbsp;to&nbsp;be&nbsp;converted&nbsp;to&nbsp;an&nbsp;integer,<span  
class="diff_sub">&nbsp;in&nbsp;which</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_38">38+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;the</span>&nbsp;indices&nbsp;was&nbsp;not&nbsp;:const:`None`&nbsp;and&nbsp;failed&nbsp;to&nbsp;be&nbsp;converted&nbsp;to&nbsp;an&nbsp;integer,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_39">39-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;case&nbsp;-1&nbsp;is&nbsp;returned&nbsp;with&nbsp;an&nbsp;exception&nbsp;set).</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_39">39+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;in&nbsp;which</span>&nbsp;case&nbsp;-1&nbsp;is&nbsp;returned&nbsp;with&nbsp;an&nbsp;exception&nbsp;set).</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from24_40">40</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__4">n</a></td><td  
class="diff_header" id="from24_41">41-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;You&nbsp;probably&nbsp;do&nbsp;not&nbsp;want&nbsp;to&nbsp;use&nbsp;this&nbsp;function.&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;use&nbsp;slice<span  
class="diff_sub">&nbsp;objects</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to24__4">n</a></td><td  
class="diff_header" id="to24_41">41+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;You&nbsp;probably&nbsp;do&nbsp;not&nbsp;want&nbsp;to&nbsp;use&nbsp;this&nbsp;function.&nbsp;&nbsp;If&nbsp;you&nbsp;want&nbsp;to&nbsp;use&nbsp;slice</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_42">42-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;in&nbsp;versions&nbsp;of&nbsp;Python&nbsp;prior&nbsp;to&nbsp;2.3,&nbsp;you&nbsp;would&nbsp;probably&nbsp;do&nbsp;well&nbsp;to<span  
class="diff_sub">&nbsp;incorporate</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_42">42+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;objects</span>&nbsp;in&nbsp;versions&nbsp;of&nbsp;Python&nbsp;prior&nbsp;to&nbsp;2.3,&nbsp;you&nbsp;would&nbsp;probably&nbsp;do&nbsp;well&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_43">43-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;source&nbsp;of&nbsp;:cfunc:`PySlice_GetIndicesEx`,&nbsp;suitably&nbsp;renamed,<span  
class="diff_sub">&nbsp;in&nbsp;the&nbsp;source&nbsp;of</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_43">43+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;incorporate</span>&nbsp;the&nbsp;source&nbsp;of&nbsp;:cfunc:`PySlice_GetIndicesEx`,&nbsp;suitably&nbsp;renamed,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_44">44-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;your&nbsp;extension.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_44">44+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;in&nbsp;the&nbsp;source&nbsp;of&nbsp;your&nbsp;extension.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_45">45+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to24__4"></td><td  
class="diff_header" id="to24_46">46+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_47">47+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*length*&nbsp;and&nbsp;an</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_48">48+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*start*,&nbsp;*stop*,&nbsp;and&nbsp;*step*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_49">49+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from24_45">45</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_46">46</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from24_47">47</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;int&nbsp;PySlice_GetIndicesEx(PySliceObject&nbsp;*slice,&nbsp;Py_ssize_t&nbsp;length,&nbsp;Py_ssize_t&nbsp;*start,&nbsp;Py_ssize_t&nbsp;*stop,&nbsp;Py_ssize_t&nbsp;*step,&nbsp;Py_ssize_t&nbsp;*slicelength)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_48">48</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__5">n</a></td><td  
class="diff_header" id="from24_49">49-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Usable&nbsp;replacement&nbsp;for&nbsp;:cfunc:`PySlice_GetIndices`.&nbsp;&nbsp;Retrieve&nbsp;the&nbsp;start,<span  
class="diff_sub">&nbsp;stop,</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to24__5">n</a></td><td  
class="diff_header" id="to24_54">54+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Usable&nbsp;replacement&nbsp;for&nbsp;:cfunc:`PySlice_GetIndices`.&nbsp;&nbsp;Retrieve&nbsp;the&nbsp;start,</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to24__5"></td><td  
class="diff_header" id="from24_50">50-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;step&nbsp;indices&nbsp;from&nbsp;the&nbsp;slice&nbsp;object&nbsp;*slice*&nbsp;assuming&nbsp;a&nbsp;sequence&nbsp;of<span  
class="diff_sub">&nbsp;length</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to24__5"></td><td  
class="diff_header" id="to24_55">55+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;stop,</span>&nbsp;and&nbsp;step&nbsp;indices&nbsp;from&nbsp;the&nbsp;slice&nbsp;object&nbsp;*slice*&nbsp;assuming&nbsp;a&nbsp;sequence&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_51">51-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*length*,&nbsp;and&nbsp;store&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;slice&nbsp;in&nbsp;*slicelength*.&nbsp;&nbsp;Out<span  
class="diff_sub">&nbsp;of&nbsp;bounds</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_56">56+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;length</span>&nbsp;*length*,&nbsp;and&nbsp;store&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;slice&nbsp;in&nbsp;*slicelength*.&nbsp;&nbsp;Out</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_52">52-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;indices&nbsp;are&nbsp;clipped&nbsp;in&nbsp;a&nbsp;manner&nbsp;consistent&nbsp;with&nbsp;the&nbsp;handling&nbsp;of<span  
class="diff_sub">&nbsp;normal&nbsp;slices.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_57">57+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;of&nbsp;bounds</span>&nbsp;indices&nbsp;are&nbsp;clipped&nbsp;in&nbsp;a&nbsp;manner&nbsp;consistent&nbsp;with&nbsp;the&nbsp;handling&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_58">58+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;normal&nbsp;slices.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from24_53">53</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Returns&nbsp;0&nbsp;on&nbsp;success&nbsp;and&nbsp;-1&nbsp;on&nbsp;error&nbsp;with&nbsp;exception&nbsp;set.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from24_55">55</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from24_56">56</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to24__top">t</a></td><td  
class="diff_header" id="to24_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_64">64+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_65">65+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*length*&nbsp;and&nbsp;an</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_66">66+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*start*,&nbsp;*stop*,&nbsp;*step*,&nbsp;and&nbsp;*slicelength*.&nbsp;This</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_67">67+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;might&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to24_68">68+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;systems.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/string.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,238 @@
+--- r262/c-api/string.rst	2009-02-02 17:27:16.400413000 +0900
++++ r266/c-api/string.rst	2009-10-27 22:38:33.383488000 +0900
+@@ -1,25 +1,27 @@
+ .. highlightlang:: c
+
+ .. _stringobjects:
+
+ String/Bytes Objects
+ --------------------
+
+ These functions raise :exc:`TypeError` when expecting a string parameter  
and are
+ called with a non-string parameter.
+
+ .. note::
+-   These functions have been renamed to PyBytes_* in Python 3.x. The  
PyBytes
+-   names are also available in 2.6.
++
++   These functions have been renamed to PyBytes_* in Python 3.x. Unless
++   otherwise noted, the PyBytes functions available in 3.x are aliased to  
their
++   PyString_* equivalents to help porting.
+
+ .. index:: object: string
+
+
+ .. ctype:: PyStringObject
+
+    This subtype of :ctype:`PyObject` represents a Python string object.
+
+
+ .. cvar:: PyTypeObject PyString_Type
+
+    .. index:: single: StringType (in module types)
+@@ -49,24 +51,28 @@
+
+    Return a new string object with a copy of the string *v* as value on  
success,
+    and *NULL* on failure.  The parameter *v* must not be *NULL*; it will  
not be
+    checked.
+
+
+ .. cfunction:: PyObject* PyString_FromStringAndSize(const char *v,  
Py_ssize_t len)
+
+    Return a new string object with a copy of the string *v* as value and  
length
+    *len* on success, and *NULL* on failure.  If *v* is *NULL*, the  
contents of the
+    string are uninitialized.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *len*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyString_FromFormat(const char *format, ...)
+
+    Take a C :cfunc:`printf`\ -style *format* string and a variable number  
of
+    arguments, calculate the size of the resulting Python string and  
return a string
+    with the values formatted into it.  The variable arguments must be C  
types and
+    must correspond exactly to the format characters in the *format*  
string.  The
+    following format characters are allowed:
+
+    .. % This should be exactly the same as the table in PyErr_Format.
+    .. % One should just refer to the other.
+    .. % The descriptions for %zd and %zu are wrong, but the truth is  
complicated
+@@ -123,29 +129,37 @@
+
+
+ .. cfunction:: PyObject* PyString_FromFormatV(const char *format, va_list  
vargs)
+
+    Identical to :cfunc:`PyString_FromFormat` except that it takes exactly  
two
+    arguments.
+
+
+ .. cfunction:: Py_ssize_t PyString_Size(PyObject *string)
+
+    Return the length of the string in string object *string*.
+
++   .. versionchanged:: 2.5
++      This function returned an :ctype:`int` type. This might require  
changes
++      in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: Py_ssize_t PyString_GET_SIZE(PyObject *string)
+
+    Macro form of :cfunc:`PyString_Size` but without error checking.
+
++   .. versionchanged:: 2.5
++      This macro returned an :ctype:`int` type. This might require  
changes in
++      your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: char* PyString_AsString(PyObject *string)
+
+    Return a NUL-terminated representation of the contents of *string*.   
The pointer
+    refers to the internal buffer of *string*, not a copy.  The data must  
not be
+    modified in any way, unless the string was just created using
+    ``PyString_FromStringAndSize(NULL, size)``. It must not be  
deallocated.  If
+    *string* is a Unicode object, this function computes the default  
encoding of
+    *string* and operates on that.  If *string* is not a string object at  
all,
+    :cfunc:`PyString_AsString` returns *NULL* and raises :exc:`TypeError`.
+
+
+@@ -163,24 +177,28 @@
+    The function accepts both string and Unicode objects as input. For  
Unicode
+    objects it returns the default encoded version of the object.  If  
*length* is
+    *NULL*, the resulting buffer may not contain NUL characters; if it  
does, the
+    function returns ``-1`` and a :exc:`TypeError` is raised.
+
+    The buffer refers to an internal string buffer of *obj*, not a copy.  
The data
+    must not be modified in any way, unless the string was just created  
using
+    ``PyString_FromStringAndSize(NULL, size)``.  It must not be  
deallocated.  If
+    *string* is a Unicode object, this function computes the default  
encoding of
+    *string* and operates on that.  If *string* is not a string object at  
all,
+    :cfunc:`PyString_AsStringAndSize` returns ``-1`` and  
raises :exc:`TypeError`.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int *` type for *length*. This might
++      require changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: void PyString_Concat(PyObject **string, PyObject *newpart)
+
+    Create a new string object in *\*string* containing the contents of  
*newpart*
+    appended to *string*; the caller will own the new reference.  The  
reference to
+    the old value of *string* will be stolen.  If the new string cannot be  
created,
+    the old reference to *string* will still be discarded and the value of
+    *\*string* will be set to *NULL*; the appropriate exception will be  
set.
+
+
+ .. cfunction:: void PyString_ConcatAndDel(PyObject **string, PyObject  
*newpart)
+
+@@ -191,74 +209,109 @@
+ .. cfunction:: int _PyString_Resize(PyObject **string, Py_ssize_t newsize)
+
+    A way to resize a string object even though it is "immutable". Only  
use this to
+    build up a brand new string object; don't use this if the string may  
already be
+    known in other parts of the code.  It is an error to call this  
function if the
+    refcount on the input string object is not one. Pass the address of an  
existing
+    string object as an lvalue (it may be written into), and the new size  
desired.
+    On success, *\*string* holds the resized string object and ``0`` is  
returned;
+    the address in *\*string* may differ from its input value.  If the  
reallocation
+    fails, the original string object at *\*string* is deallocated,  
*\*string* is
+    set to *NULL*, a memory exception is set, and ``-1`` is returned.
+
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *newsize*. This might
++      require changes in your code for properly supporting 64-bit systems.
+
+ .. cfunction:: PyObject* PyString_Format(PyObject *format, PyObject *args)
+
+    Return a new string object from *format* and *args*. Analogous to  
``format %
+    args``.  The *args* argument must be a tuple.
+
+
+ .. cfunction:: void PyString_InternInPlace(PyObject **string)
+
+    Intern the argument *\*string* in place.  The argument must be the  
address of a
+    pointer variable pointing to a Python string object.  If there is an  
existing
+    interned string that is the same as *\*string*, it sets *\*string* to  
it
+    (decrementing the reference count of the old string object and  
incrementing the
+    reference count of the interned string object), otherwise it leaves  
*\*string*
+    alone and interns it (incrementing its reference count).   
(Clarification: even
+    though there is a lot of talk about reference counts, think of this  
function as
+    reference-count-neutral; you own the object after the call if and only  
if you
+    owned it before the call.)
+
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
++
+
+ .. cfunction:: PyObject* PyString_InternFromString(const char *v)
+
+    A combination of :cfunc:`PyString_FromString` and
+    :cfunc:`PyString_InternInPlace`, returning either a new string object  
that has
+    been interned, or a new ("owned") reference to an earlier interned  
string object
+    with the same value.
+
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
++
+
+ .. cfunction:: PyObject* PyString_Decode(const char *s, Py_ssize_t size,  
const char *encoding, const char *errors)
+
+    Create an object by decoding *size* bytes of the encoded buffer *s*  
using the
+    codec registered for *encoding*.  *encoding* and *errors* have the  
same meaning
+    as the parameters of the same name in the :func:`unicode` built-in  
function.
+    The codec to be used is looked up using the Python codec registry.   
Return
+    *NULL* if an exception was raised by the codec.
+
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyString_AsDecodedObject(PyObject *str, const  
char *encoding, const char *errors)
+
+    Decode a string object by passing it to the codec registered for  
*encoding* and
+    return the result as Python object. *encoding* and *errors* have the  
same
+    meaning as the parameters of the same name in the  
string :meth:`encode` method.
+    The codec to be used is looked up using the Python codec registry.  
Return *NULL*
+    if an exception was raised by the codec.
+
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
++
+
+ .. cfunction:: PyObject* PyString_Encode(const char *s, Py_ssize_t size,  
const char *encoding, const char *errors)
+
+    Encode the :ctype:`char` buffer of the given size by passing it to the  
codec
+    registered for *encoding* and return a Python object. *encoding* and  
*errors*
+    have the same meaning as the parameters of the same name in the string
+    :meth:`encode` method. The codec to be used is looked up using the  
Python codec
+    registry.  Return *NULL* if an exception was raised by the codec.
+
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
++
++   .. versionchanged:: 2.5
++      This function used an :ctype:`int` type for *size*. This might  
require
++      changes in your code for properly supporting 64-bit systems.
++
+
+ .. cfunction:: PyObject* PyString_AsEncodedObject(PyObject *str, const  
char *encoding, const char *errors)
+
+    Encode a string object using the codec registered for *encoding* and  
return the
+    result as Python object. *encoding* and *errors* have the same meaning  
as the
+    parameters of the same name in the string :meth:`encode` method. The  
codec to be
+    used is looked up using the Python codec registry. Return *NULL* if an  
exception
+    was raised by the codec.
++
++   .. note::
++
++      This function is not available in 3.x and does not have a PyBytes  
alias.
=======================================
--- /dev/null
+++ /c-api/diff/string.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,115 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to25__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/string.rst =&gt;  
r266/c-api/string.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to25__0"></td><td class="diff_header"  
id="from25_4">4</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_5">5</td><td  
nowrap="nowrap">String/Bytes&nbsp;Objects</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_6">6</td><td  
nowrap="nowrap">--------------------</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_7">7</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_8">8</td><td  
nowrap="nowrap">These&nbsp;functions&nbsp;raise&nbsp;:exc:`TypeError`&nbsp;when&nbsp;expecting&nbsp;a&nbsp;string&nbsp;parameter&nbsp;and&nbsp;are</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_9">9</td><td  
nowrap="nowrap">called&nbsp;with&nbsp;a&nbsp;non-string&nbsp;parameter.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_10">10</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_11">11</td><td  
nowrap="nowrap">..&nbsp;note::</td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to25__1">n</a></td><td class="diff_header"  
id="to25_12">12+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_12">12-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;These&nbsp;functions&nbsp;have&nbsp;been&nbsp;renamed&nbsp;to&nbsp;PyBytes_*&nbsp;in&nbsp;Python&nbsp;3.x.&nbsp;<span  
class="diff_chg">The&nbsp;PyByt</span>es</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_13">13+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;These&nbsp;functions&nbsp;have&nbsp;been&nbsp;renamed&nbsp;to&nbsp;PyBytes_*&nbsp;in&nbsp;Python&nbsp;3.x.&nbsp;<span  
class="diff_chg">Unl</span>es<span class="diff_add">s</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_13">13-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;names&nbsp;are&nbsp;also&nbsp;available&nbsp;in&nbsp;2.6.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_14">14+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;otherwise&nbsp;noted,&nbsp;the&nbsp;PyBytes&nbsp;functions&nbsp;available&nbsp;in&nbsp;3.x&nbsp;are&nbsp;aliased&nbsp;to&nbsp;their</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_15">15+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;PyString_*&nbsp;equivalents&nbsp;to&nbsp;help&nbsp;porting.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_14">14</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_15">15</td><td  
nowrap="nowrap">..&nbsp;index::&nbsp;object:&nbsp;string</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_16">16</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_17">17</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_18">18</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyStringObject</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_19">19</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_20">20</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;subtype&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;represents&nbsp;a&nbsp;Python&nbsp;string&nbsp;object.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_21">21</td><td nowrap="nowrap"></td></tr>        </tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to25__1"></td><td  
class="diff_header" id="from25_52">52</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;checked.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_53">53</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_54">54</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_55">55</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_FromStringAndSize(const&nbsp;char&nbsp;*v,&nbsp;Py_ssize_t&nbsp;len)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_56">56</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_57">57</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;string&nbsp;object&nbsp;with&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;string&nbsp;*v*&nbsp;as&nbsp;value&nbsp;and&nbsp;length</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_58">58</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*len*&nbsp;on&nbsp;success,&nbsp;and&nbsp;*NULL*&nbsp;on&nbsp;failure.&nbsp;&nbsp;If&nbsp;*v*&nbsp;is&nbsp;*NULL*,&nbsp;the&nbsp;contents&nbsp;of&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_59">59</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;string&nbsp;are&nbsp;uninitialized.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__2">n</a></td><td  
class="diff_header" id="to25_62">62+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_64">64+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*len*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_65">65+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_60">60</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_61">61</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_62">62</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_FromFormat(const&nbsp;char&nbsp;*format,&nbsp;...)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_63">63</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Take&nbsp;a&nbsp;C&nbsp;:cfunc:`printf`\&nbsp;-style&nbsp;*format*&nbsp;string&nbsp;and&nbsp;a&nbsp;variable&nbsp;number&nbsp;of</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_65">65</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;arguments,&nbsp;calculate&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;resulting&nbsp;Python&nbsp;string&nbsp;and&nbsp;return&nbsp;a&nbsp;string</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_66">66</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;with&nbsp;the&nbsp;values&nbsp;formatted&nbsp;into&nbsp;it.&nbsp;&nbsp;The&nbsp;variable&nbsp;arguments&nbsp;must&nbsp;be&nbsp;C&nbsp;types&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_67">67</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;correspond&nbsp;exactly&nbsp;to&nbsp;the&nbsp;format&nbsp;characters&nbsp;in&nbsp;the&nbsp;*format*&nbsp;string.&nbsp;&nbsp;The</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to25__2"></td><td  
class="diff_header" id="from25_127">127</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Identical&nbsp;to&nbsp;:cfunc:`PyString_FromFormat`&nbsp;except&nbsp;that&nbsp;it&nbsp;takes&nbsp;exactly&nbsp;two</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_128">128</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;arguments.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_129">129</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_130">130</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_131">131</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyString_Size(PyObject&nbsp;*string)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_132">132</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_133">133</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;the&nbsp;length&nbsp;of&nbsp;the&nbsp;string&nbsp;in&nbsp;string&nbsp;object&nbsp;*string*.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_134">134</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next" id="difflib_chg_to25__3"><a  
href="#difflib_chg_to25__3">n</a></td><td class="diff_header"  
id="to25_141">141+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_142">142+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_143">143+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_144">144+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_135">135</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_136">136</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;Py_ssize_t&nbsp;PyString_GET_SIZE(PyObject&nbsp;*string)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_137">137</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_138">138</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Macro&nbsp;form&nbsp;of&nbsp;:cfunc:`PyString_Size`&nbsp;but&nbsp;without&nbsp;error&nbsp;checking.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__4">n</a></td><td  
class="diff_header" id="to25_149">149+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_150">150+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_151">151+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;returned&nbsp;an&nbsp;:ctype:`int`&nbsp;type.&nbsp;This&nbsp;might&nbsp;require&nbsp;changes&nbsp;in</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_152">152+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_139">139</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_140">140</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_141">141</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;char*&nbsp;PyString_AsString(PyObject&nbsp;*string)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_142">142</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_143">143</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;NUL-terminated&nbsp;representation&nbsp;of&nbsp;the&nbsp;contents&nbsp;of&nbsp;*string*.&nbsp;&nbsp;The&nbsp;pointer</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_144">144</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;refers&nbsp;to&nbsp;the&nbsp;internal&nbsp;buffer&nbsp;of&nbsp;*string*,&nbsp;not&nbsp;a&nbsp;copy.&nbsp;&nbsp;The&nbsp;data&nbsp;must&nbsp;not&nbsp;be</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_145">145</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;modified&nbsp;in&nbsp;any&nbsp;way,&nbsp;unless&nbsp;the&nbsp;string&nbsp;was&nbsp;just&nbsp;created&nbsp;using</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_146">146</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``PyString_FromStringAndSize(NULL,&nbsp;size)``.&nbsp;It&nbsp;must&nbsp;not&nbsp;be&nbsp;deallocated.&nbsp;&nbsp;If</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to25__4"></td><td  
class="diff_header" id="from25_166">166</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;returns&nbsp;``-1``&nbsp;and&nbsp;a&nbsp;:exc:`TypeError`&nbsp;is&nbsp;raised.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_167">167</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_168">168</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;buffer&nbsp;refers&nbsp;to&nbsp;an&nbsp;internal&nbsp;string&nbsp;buffer&nbsp;of&nbsp;*obj*,&nbsp;not&nbsp;a&nbsp;copy.&nbsp;The&nbsp;data</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_169">169</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;must&nbsp;not&nbsp;be&nbsp;modified&nbsp;in&nbsp;any&nbsp;way,&nbsp;unless&nbsp;the&nbsp;string&nbsp;was&nbsp;just&nbsp;created&nbsp;using</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_170">170</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;``PyString_FromStringAndSize(NULL,&nbsp;size)``.&nbsp;&nbsp;It&nbsp;must&nbsp;not&nbsp;be&nbsp;deallocated.&nbsp;&nbsp;If</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_171">171</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*string*&nbsp;is&nbsp;a&nbsp;Unicode&nbsp;object,&nbsp;this&nbsp;function&nbsp;computes&nbsp;the&nbsp;default&nbsp;encoding&nbsp;of</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_172">172</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*string*&nbsp;and&nbsp;operates&nbsp;on&nbsp;that.&nbsp;&nbsp;If&nbsp;*string*&nbsp;is&nbsp;not&nbsp;a&nbsp;string&nbsp;object&nbsp;at&nbsp;all,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_173">173</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyString_AsStringAndSize`&nbsp;returns&nbsp;``-1``&nbsp;and&nbsp;raises&nbsp;:exc:`TypeError`.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__5">n</a></td><td  
class="diff_header" id="to25_188">188+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_189">189+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_190">190+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int&nbsp;*`&nbsp;type&nbsp;for&nbsp;*length*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_191">191+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_174">174</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_175">175</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_176">176</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyString_Concat(PyObject&nbsp;**string,&nbsp;PyObject&nbsp;*newpart)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_177">177</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_178">178</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;a&nbsp;new&nbsp;string&nbsp;object&nbsp;in&nbsp;*\*string*&nbsp;containing&nbsp;the&nbsp;contents&nbsp;of&nbsp;*newpart*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_179">179</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;appended&nbsp;to&nbsp;*string*;&nbsp;the&nbsp;caller&nbsp;will&nbsp;own&nbsp;the&nbsp;new&nbsp;reference.&nbsp;&nbsp;The&nbsp;reference&nbsp;to</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_180">180</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;old&nbsp;value&nbsp;of&nbsp;*string*&nbsp;will&nbsp;be&nbsp;stolen.&nbsp;&nbsp;If&nbsp;the&nbsp;new&nbsp;string&nbsp;cannot&nbsp;be&nbsp;created,</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_181">181</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;old&nbsp;reference&nbsp;to&nbsp;*string*&nbsp;will&nbsp;still&nbsp;be&nbsp;discarded&nbsp;and&nbsp;the&nbsp;value&nbsp;of</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to25__5"></td><td  
class="diff_header" id="from25_195">195</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;known&nbsp;in&nbsp;other&nbsp;parts&nbsp;of&nbsp;the&nbsp;code.&nbsp;&nbsp;It&nbsp;is&nbsp;an&nbsp;error&nbsp;to&nbsp;call&nbsp;this&nbsp;function&nbsp;if&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_196">196</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;refcount&nbsp;on&nbsp;the&nbsp;input&nbsp;string&nbsp;object&nbsp;is&nbsp;not&nbsp;one.&nbsp;Pass&nbsp;the&nbsp;address&nbsp;of&nbsp;an&nbsp;existing</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_197">197</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;string&nbsp;object&nbsp;as&nbsp;an&nbsp;lvalue&nbsp;(it&nbsp;may&nbsp;be&nbsp;written&nbsp;into),&nbsp;and&nbsp;the&nbsp;new&nbsp;size&nbsp;desired.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_198">198</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;On&nbsp;success,&nbsp;*\*string*&nbsp;holds&nbsp;the&nbsp;resized&nbsp;string&nbsp;object&nbsp;and&nbsp;``0``&nbsp;is&nbsp;returned;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_199">199</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;address&nbsp;in&nbsp;*\*string*&nbsp;may&nbsp;differ&nbsp;from&nbsp;its&nbsp;input&nbsp;value.&nbsp;&nbsp;If&nbsp;the&nbsp;reallocation</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_200">200</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;fails,&nbsp;the&nbsp;original&nbsp;string&nbsp;object&nbsp;at&nbsp;*\*string*&nbsp;is&nbsp;deallocated,&nbsp;*\*string*&nbsp;is</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_201">201</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;set&nbsp;to&nbsp;*NULL*,&nbsp;a&nbsp;memory&nbsp;exception&nbsp;is&nbsp;set,&nbsp;and&nbsp;``-1``&nbsp;is&nbsp;returned.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_202">202</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__6">n</a></td><td  
class="diff_header" id="to25_221">221+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_222">222+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*newsize*.&nbsp;This&nbsp;might</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_223">223+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;require&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_203">203</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_204">204</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_Format(PyObject&nbsp;*format,&nbsp;PyObject&nbsp;*args)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_205">205</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_206">206</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;new&nbsp;string&nbsp;object&nbsp;from&nbsp;*format*&nbsp;and&nbsp;*args*.&nbsp;Analogous&nbsp;to&nbsp;``format&nbsp;%</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_207">207</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;args``.&nbsp;&nbsp;The&nbsp;*args*&nbsp;argument&nbsp;must&nbsp;be&nbsp;a&nbsp;tuple.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_208">208</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_209">209</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_210">210</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;void&nbsp;PyString_InternInPlace(PyObject&nbsp;**string)</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to25__6"></td><td  
class="diff_header" id="from25_214">214</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;interned&nbsp;string&nbsp;that&nbsp;is&nbsp;the&nbsp;same&nbsp;as&nbsp;*\*string*,&nbsp;it&nbsp;sets&nbsp;*\*string*&nbsp;to&nbsp;it</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_215">215</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;(decrementing&nbsp;the&nbsp;reference&nbsp;count&nbsp;of&nbsp;the&nbsp;old&nbsp;string&nbsp;object&nbsp;and&nbsp;incrementing&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_216">216</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reference&nbsp;count&nbsp;of&nbsp;the&nbsp;interned&nbsp;string&nbsp;object),&nbsp;otherwise&nbsp;it&nbsp;leaves&nbsp;*\*string*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_217">217</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;alone&nbsp;and&nbsp;interns&nbsp;it&nbsp;(incrementing&nbsp;its&nbsp;reference&nbsp;count).&nbsp;&nbsp;(Clarification:&nbsp;even</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_218">218</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;though&nbsp;there&nbsp;is&nbsp;a&nbsp;lot&nbsp;of&nbsp;talk&nbsp;about&nbsp;reference&nbsp;counts,&nbsp;think&nbsp;of&nbsp;this&nbsp;function&nbsp;as</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_219">219</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;reference-count-neutral;&nbsp;you&nbsp;own&nbsp;the&nbsp;object&nbsp;after&nbsp;the&nbsp;call&nbsp;if&nbsp;and&nbsp;only&nbsp;if&nbsp;you</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_220">220</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;owned&nbsp;it&nbsp;before&nbsp;the&nbsp;call.)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_221">221</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__7">n</a></td><td  
class="diff_header" id="to25_243">243+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_244">244+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_245">245+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to25__7"></td><td  
class="diff_header" id="to25_246">246+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_222">222</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_223">223</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_InternFromString(const&nbsp;char&nbsp;*v)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_224">224</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_225">225</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;A&nbsp;combination&nbsp;of&nbsp;:cfunc:`PyString_FromString`&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_226">226</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyString_InternInPlace`,&nbsp;returning&nbsp;either&nbsp;a&nbsp;new&nbsp;string&nbsp;object&nbsp;that&nbsp;has</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_227">227</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;been&nbsp;interned,&nbsp;or&nbsp;a&nbsp;new&nbsp;("owned")&nbsp;reference&nbsp;to&nbsp;an&nbsp;earlier&nbsp;interned&nbsp;string&nbsp;object</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_228">228</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;with&nbsp;the&nbsp;same&nbsp;value.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__8">n</a></td><td  
class="diff_header" id="to25_254">254+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_255">255+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_256">256+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_257">257+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_229">229</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_230">230</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"  
id="difflib_chg_to25__8"></td><td class="diff_header"  
id="from25_231">231</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_Decode(const&nbsp;char&nbsp;*s,&nbsp;Py_ssize_t&nbsp;size,&nbsp;const&nbsp;char&nbsp;*encoding,&nbsp;const&nbsp;char&nbsp;*errors)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_232">232</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_233">233</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Create&nbsp;an&nbsp;object&nbsp;by&nbsp;decoding&nbsp;*size*&nbsp;bytes&nbsp;of&nbsp;the&nbsp;encoded&nbsp;buffer&nbsp;*s*&nbsp;using&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_234">234</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;codec&nbsp;registered&nbsp;for&nbsp;*encoding*.&nbsp;&nbsp;*encoding*&nbsp;and&nbsp;*errors*&nbsp;have&nbsp;the&nbsp;same&nbsp;meaning</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_235">235</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;as&nbsp;the&nbsp;parameters&nbsp;of&nbsp;the&nbsp;same&nbsp;name&nbsp;in&nbsp;the&nbsp;:func:`unicode`&nbsp;built-in&nbsp;function.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_236">236</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;codec&nbsp;to&nbsp;be&nbsp;used&nbsp;is&nbsp;looked&nbsp;up&nbsp;using&nbsp;the&nbsp;Python&nbsp;codec&nbsp;registry.&nbsp;&nbsp;Return</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_237">237</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*NULL*&nbsp;if&nbsp;an&nbsp;exception&nbsp;was&nbsp;raised&nbsp;by&nbsp;the&nbsp;codec.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_238">238</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__9">n</a></td><td  
class="diff_header" id="to25_268">268+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_269">269+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_270">270+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_271">271+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_272">272+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_273">273+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_274">274+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_275">275+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_239">239</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to25__9"></td><td class="diff_header"  
id="from25_240">240</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_AsDecodedObject(PyObject&nbsp;*str,&nbsp;const&nbsp;char&nbsp;*encoding,&nbsp;const&nbsp;char&nbsp;*errors)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_241">241</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_242">242</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Decode&nbsp;a&nbsp;string&nbsp;object&nbsp;by&nbsp;passing&nbsp;it&nbsp;to&nbsp;the&nbsp;codec&nbsp;registered&nbsp;for&nbsp;*encoding*&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_243">243</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;return&nbsp;the&nbsp;result&nbsp;as&nbsp;Python&nbsp;object.&nbsp;*encoding*&nbsp;and&nbsp;*errors*&nbsp;have&nbsp;the&nbsp;same</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_244">244</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;meaning&nbsp;as&nbsp;the&nbsp;parameters&nbsp;of&nbsp;the&nbsp;same&nbsp;name&nbsp;in&nbsp;the&nbsp;string&nbsp;:meth:`encode`&nbsp;method.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_245">245</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;codec&nbsp;to&nbsp;be&nbsp;used&nbsp;is&nbsp;looked&nbsp;up&nbsp;using&nbsp;the&nbsp;Python&nbsp;codec&nbsp;registry.&nbsp;Return&nbsp;*NULL*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_246">246</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;if&nbsp;an&nbsp;exception&nbsp;was&nbsp;raised&nbsp;by&nbsp;the&nbsp;codec.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_247">247</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__10">n</a></td><td  
class="diff_header" id="to25_285">285+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_286">286+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_287">287+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_288">288+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from25_248">248</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to25__10"></td><td class="diff_header"  
id="from25_249">249</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_Encode(const&nbsp;char&nbsp;*s,&nbsp;Py_ssize_t&nbsp;size,&nbsp;const&nbsp;char&nbsp;*encoding,&nbsp;const&nbsp;char&nbsp;*errors)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_250">250</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_251">251</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Encode&nbsp;the&nbsp;:ctype:`char`&nbsp;buffer&nbsp;of&nbsp;the&nbsp;given&nbsp;size&nbsp;by&nbsp;passing&nbsp;it&nbsp;to&nbsp;the&nbsp;codec</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_252">252</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;registered&nbsp;for&nbsp;*encoding*&nbsp;and&nbsp;return&nbsp;a&nbsp;Python&nbsp;object.&nbsp;*encoding*&nbsp;and&nbsp;*errors*</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_253">253</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;have&nbsp;the&nbsp;same&nbsp;meaning&nbsp;as&nbsp;the&nbsp;parameters&nbsp;of&nbsp;the&nbsp;same&nbsp;name&nbsp;in&nbsp;the&nbsp;string</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_254">254</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:meth:`encode`&nbsp;method.&nbsp;The&nbsp;codec&nbsp;to&nbsp;be&nbsp;used&nbsp;is&nbsp;looked&nbsp;up&nbsp;using&nbsp;the&nbsp;Python&nbsp;codec</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_255">255</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;registry.&nbsp;&nbsp;Return&nbsp;*NULL*&nbsp;if&nbsp;an&nbsp;exception&nbsp;was&nbsp;raised&nbsp;by&nbsp;the&nbsp;codec.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_256">256</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__11">n</a></td><td  
class="diff_header" id="to25_298">298+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_299">299+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_300">300+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_301">301+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_302">302+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;versionchanged::&nbsp;2.5</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_303">303+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;used&nbsp;an&nbsp;:ctype:`int`&nbsp;type&nbsp;for&nbsp;*size*.&nbsp;This&nbsp;might&nbsp;require</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_304">304+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;changes&nbsp;in&nbsp;your&nbsp;code&nbsp;for&nbsp;properly&nbsp;supporting&nbsp;64-bit&nbsp;systems.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_305">305+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to25__11"></td><td  
class="diff_header" id="from25_257">257</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from25_258">258</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;PyString_AsEncodedObject(PyObject&nbsp;*str,&nbsp;const&nbsp;char&nbsp;*encoding,&nbsp;const&nbsp;char&nbsp;*errors)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_259">259</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from25_260">260</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Encode&nbsp;a&nbsp;string&nbsp;object&nbsp;using&nbsp;the&nbsp;codec&nbsp;registered&nbsp;for&nbsp;*encoding*&nbsp;and&nbsp;return&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_261">261</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;result&nbsp;as&nbsp;Python&nbsp;object.&nbsp;*encoding*&nbsp;and&nbsp;*errors*&nbsp;have&nbsp;the&nbsp;same&nbsp;meaning&nbsp;as&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_262">262</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;parameters&nbsp;of&nbsp;the&nbsp;same&nbsp;name&nbsp;in&nbsp;the&nbsp;string&nbsp;:meth:`encode`&nbsp;method.&nbsp;The&nbsp;codec&nbsp;to&nbsp;be</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_263">263</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;used&nbsp;is&nbsp;looked&nbsp;up&nbsp;using&nbsp;the&nbsp;Python&nbsp;codec&nbsp;registry.&nbsp;Return&nbsp;*NULL*&nbsp;if&nbsp;an&nbsp;exception</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from25_264">264</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;was&nbsp;raised&nbsp;by&nbsp;the&nbsp;codec.</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to25__top">t</a></td><td  
class="diff_header" id="to25_314">314+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_315">315+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;..&nbsp;note::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_316">316+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to25_317">317+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;function&nbsp;is&nbsp;not&nbsp;available&nbsp;in&nbsp;3.x&nbsp;and&nbsp;does&nbsp;not&nbsp;have&nbsp;a&nbsp;PyBytes&nbsp;alias.</span></td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
--- /dev/null
+++ /c-api/diff/structures.rst.diff	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,314 @@
+--- r262/c-api/structures.rst	2009-04-06 06:21:05.082173000 +0900
++++ r266/c-api/structures.rst	2010-01-03 18:11:04.291347000 +0900
+@@ -1,91 +1,110 @@
+ .. highlightlang:: c
+
+ .. _common-structs:
+
+ Common Object Structures
+ ========================
+
+ There are a large number of structures which are used in the definition of
+ object types for Python.  This section describes these structures and how  
they
+ are used.
+
+-All Python objects ultimately share a small number of fields at the  
beginning of
+-the object's representation in memory.  These are represented by the
+-:ctype:`PyObject` and :ctype:`PyVarObject` types, which are defined, in  
turn, by
+-the expansions of some macros also used, whether directly or indirectly,  
in the
+-definition of all other Python objects.
++All Python objects ultimately share a small number of fields at the  
beginning
++of the object's representation in memory.  These are represented by the
++:ctype:`PyObject` and :ctype:`PyVarObject` types, which are defined, in  
turn,
++by the expansions of some macros also used, whether directly or  
indirectly, in
++the definition of all other Python objects.
+
+
+ .. ctype:: PyObject
+
+-   All object types are extensions of this type.  This is a type which  
contains the
+-   information Python needs to treat a pointer to an object as an  
object.  In a
+-   normal "release" build, it contains only the object's reference count  
and a
+-   pointer to the corresponding type object.  It corresponds to the  
fields defined
+-   by the expansion of the ``PyObject_HEAD`` macro.
++   All object types are extensions of this type.  This is a type which
++   contains the information Python needs to treat a pointer to an object  
as an
++   object.  In a normal "release" build, it contains only the object's
++   reference count and a pointer to the corresponding type object.  It
++   corresponds to the fields defined by the expansion of the  
``PyObject_HEAD``
++   macro.
+
+
+ .. ctype:: PyVarObject
+
+-   This is an extension of :ctype:`PyObject` that adds  
the :attr:`ob_size` field.
+-   This is only used for objects that have some notion of *length*.  This  
type does
+-   not often appear in the Python/C API.  It corresponds to the fields  
defined by
+-   the expansion of the ``PyObject_VAR_HEAD`` macro.
++   This is an extension of :ctype:`PyObject` that adds the :attr:`ob_size`
++   field.  This is only used for objects that have some notion of  
*length*.
++   This type does not often appear in the Python/C API.  It corresponds  
to the
++   fields defined by the expansion of the ``PyObject_VAR_HEAD`` macro.
+
+ These macros are used in the definition of :ctype:`PyObject` and
+ :ctype:`PyVarObject`:
+
+
+ .. cmacro:: PyObject_HEAD
+
+    This is a macro which expands to the declarations of the fields of the
+    :ctype:`PyObject` type; it is used when declaring new types which  
represent
+-   objects without a varying length.  The specific fields it expands to  
depend on
+-   the definition of :cmacro:`Py_TRACE_REFS`.  By default, that macro is  
not
+-   defined, and :cmacro:`PyObject_HEAD` expands to::
++   objects without a varying length.  The specific fields it expands to  
depend
++   on the definition of :cmacro:`Py_TRACE_REFS`.  By default, that macro  
is
++   not defined, and :cmacro:`PyObject_HEAD` expands to::
+
+       Py_ssize_t ob_refcnt;
+       PyTypeObject *ob_type;
+
+    When :cmacro:`Py_TRACE_REFS` is defined, it expands to::
+
+       PyObject *_ob_next, *_ob_prev;
+       Py_ssize_t ob_refcnt;
+       PyTypeObject *ob_type;
+
+
+ .. cmacro:: PyObject_VAR_HEAD
+
+    This is a macro which expands to the declarations of the fields of the
+-   :ctype:`PyVarObject` type; it is used when declaring new types which  
represent
+-   objects with a length that varies from instance to instance.  This  
macro always
+-   expands to::
++   :ctype:`PyVarObject` type; it is used when declaring new types which
++   represent objects with a length that varies from instance to instance.
++   This macro always expands to::
+
+       PyObject_HEAD
+       Py_ssize_t ob_size;
+
+    Note that :cmacro:`PyObject_HEAD` is part of the expansion, and that  
its own
+    expansion varies depending on the definition  
of :cmacro:`Py_TRACE_REFS`.
+
+-PyObject_HEAD_INIT
++
++.. cmacro:: PyObject_HEAD_INIT(type)
++
++   This is a macro which expands to initialization values for a new
++   :ctype:`PyObject` type.  This macro expands to::
++
++      _PyObject_EXTRA_INIT
++      1, type,
++
++
++.. cmacro:: PyVarObject_HEAD_INIT(type, size)
++
++   This is a macro which expands to initialization values for a new
++   :ctype:`PyVarObject` type, including the :attr:`ob_size` field.
++   This macro expands to::
++
++      _PyObject_EXTRA_INIT
++      1, type, size,
+
+
+ .. ctype:: PyCFunction
+
+-   Type of the functions used to implement most Python callables in C.  
Functions of
+-   this type take two :ctype:`PyObject\*` parameters and return one such  
value.  If
+-   the return value is *NULL*, an exception shall have been set.  If not  
*NULL*,
+-   the return value is interpreted as the return value of the function as  
exposed
+-   in Python.  The function must return a new reference.
++   Type of the functions used to implement most Python callables in C.
++   Functions of this type take two :ctype:`PyObject\*` parameters and  
return
++   one such value.  If the return value is *NULL*, an exception shall have
++   been set.  If not *NULL*, the return value is interpreted as the return
++   value of the function as exposed in Python.  The function must return  
a new
++   reference.
+
+
+ .. ctype:: PyMethodDef
+
+    Structure used to describe a method of an extension type.  This  
structure has
+    four fields:
+
+    +------------------+-------------+-------------------------------+
+    | Field            | C Type      | Meaning                       |
+    +==================+=============+===============================+
+    | :attr:`ml_name`  | char \*     | name of the method            |
+    +------------------+-------------+-------------------------------+
+@@ -108,108 +127,111 @@
+
+ The :attr:`ml_flags` field is a bitfield which can include the following  
flags.
+ The individual flags indicate either a calling convention or a binding
+ convention.  Of the calling convention flags, only :const:`METH_VARARGS`  
and
+ :const:`METH_KEYWORDS` can be combined (but note  
that :const:`METH_KEYWORDS`
+ alone is equivalent to ``METH_VARARGS | METH_KEYWORDS``). Any of the  
calling
+ convention flags can be combined with a binding flag.
+
+
+ .. data:: METH_VARARGS
+
+    This is the typical calling convention, where the methods have the type
+-   :ctype:`PyCFunction`. The function expects two :ctype:`PyObject\*`  
values.  The
+-   first one is the *self* object for methods; for module functions, it  
has the
+-   value given to :cfunc:`Py_InitModule4` (or *NULL*  
if :cfunc:`Py_InitModule` was
+-   used).  The second parameter (often called *args*) is a tuple object
+-   representing all arguments. This parameter is typically processed using
+-   :cfunc:`PyArg_ParseTuple` or :cfunc:`PyArg_UnpackTuple`.
++   :ctype:`PyCFunction`. The function expects two :ctype:`PyObject\*`  
values.
++   The first one is the *self* object for methods; for module functions,  
it
++   has the value given to :cfunc:`Py_InitModule4` (or *NULL* if
++   :cfunc:`Py_InitModule` was used).  The second parameter (often called
++   *args*) is a tuple object representing all arguments. This parameter is
++   typically processed using :cfunc:`PyArg_ParseTuple` or
++   :cfunc:`PyArg_UnpackTuple`.
+
+
+ .. data:: METH_KEYWORDS
+
+-   Methods with these flags must be of  
type :ctype:`PyCFunctionWithKeywords`.  The
+-   function expects three parameters: *self*, *args*, and a dictionary of  
all the
+-   keyword arguments.  The flag is typically combined  
with :const:`METH_VARARGS`,
+-   and the parameters are typically processed using
++   Methods with these flags must be of  
type :ctype:`PyCFunctionWithKeywords`.
++   The function expects three parameters: *self*, *args*, and a  
dictionary of
++   all the keyword arguments.  The flag is typically combined with
++   :const:`METH_VARARGS`, and the parameters are typically processed using
+    :cfunc:`PyArg_ParseTupleAndKeywords`.
+
+
+ .. data:: METH_NOARGS
+
+    Methods without parameters don't need to check whether arguments are  
given if
+    they are listed with the :const:`METH_NOARGS` flag.  They need to be  
of type
+    :ctype:`PyCFunction`.  When used with object methods, the first  
parameter is
+-   typically named ``self`` and will hold a reference to the object  
instance.  In
+-   all cases the second parameter will be *NULL*.
++   typically named ``self`` and will hold a reference to the object  
instance.
++   In all cases the second parameter will be *NULL*.
+
+
+ .. data:: METH_O
+
+    Methods with a single object argument can be listed with  
the :const:`METH_O`
+    flag, instead of invoking :cfunc:`PyArg_ParseTuple` with a ``"O"``  
argument.
+    They have the type :ctype:`PyCFunction`, with the *self* parameter,  
and a
+    :ctype:`PyObject\*` parameter representing the single argument.
+
+
+ .. data:: METH_OLDARGS
+
+    This calling convention is deprecated.  The method must be of type
+-   :ctype:`PyCFunction`.  The second argument is *NULL* if no arguments  
are given,
+-   a single object if exactly one argument is given, and a tuple of  
objects if more
+-   than one argument is given.  There is no way for a function using this
+-   convention to distinguish between a call with multiple arguments and a  
call with
+-   a tuple as the only argument.
++   :ctype:`PyCFunction`.  The second argument is *NULL* if no arguments  
are
++   given, a single object if exactly one argument is given, and a tuple of
++   objects if more than one argument is given.  There is no way for a  
function
++   using this convention to distinguish between a call with multiple  
arguments
++   and a call with a tuple as the only argument.
+
+ These two constants are not used to indicate the calling convention but  
the
+ binding when use with methods of classes.  These may not be used for  
functions
+ defined for modules.  At most one of these flags may be set for any given
+ method.
+
+
+ .. data:: METH_CLASS
+
+    .. index:: builtin: classmethod
+
+-   The method will be passed the type object as the first parameter  
rather than an
+-   instance of the type.  This is used to create *class methods*, similar  
to what
+-   is created when using the :func:`classmethod` built-in function.
++   The method will be passed the type object as the first parameter rather
++   than an instance of the type.  This is used to create *class methods*,
++   similar to what is created when using the :func:`classmethod` built-in
++   function.
+
+    .. versionadded:: 2.3
+
+
+ .. data:: METH_STATIC
+
+    .. index:: builtin: staticmethod
+
+-   The method will be passed *NULL* as the first parameter rather than an  
instance
+-   of the type.  This is used to create *static methods*, similar to what  
is
+-   created when using the :func:`staticmethod` built-in function.
++   The method will be passed *NULL* as the first parameter rather than an
++   instance of the type.  This is used to create *static methods*,  
similar to
++   what is created when using the :func:`staticmethod` built-in function.
+
+    .. versionadded:: 2.3
+
+ One other constant controls whether a method is loaded in place of another
+ definition with the same method name.
+
+
+ .. data:: METH_COEXIST
+
+    The method will be loaded in place of existing definitions.  Without
+    *METH_COEXIST*, the default is to skip repeated definitions.  Since  
slot
+-   wrappers are loaded before the method table, the existence of a  
*sq_contains*
+-   slot, for example, would generate a wrapped method  
named :meth:`__contains__`
+-   and preclude the loading of a corresponding PyCFunction with the same  
name.
+-   With the flag defined, the PyCFunction will be loaded in place of the  
wrapper
+-   object and will co-exist with the slot.  This is helpful because calls  
to
+-   PyCFunctions are optimized more than wrapper object calls.
++   wrappers are loaded before the method table, the existence of a
++   *sq_contains* slot, for example, would generate a wrapped method named
++   :meth:`__contains__` and preclude the loading of a corresponding
++   PyCFunction with the same name.  With the flag defined, the PyCFunction
++   will be loaded in place of the wrapper object and will co-exist with  
the
++   slot.  This is helpful because calls to PyCFunctions are optimized more
++   than wrapper object calls.
+
+    .. versionadded:: 2.4
+
+
+ .. ctype:: PyMemberDef
+
+    Structure which describes an attribute of a type which corresponds to  
a C
+    struct member.  Its fields are:
+
+    +------------------+-------------+-------------------------------+
+    | Field            | C Type      | Meaning                       |
+    +==================+=============+===============================+
+@@ -250,25 +272,29 @@
+    T_UBYTE         unsigned char
+    T_UINT          unsigned int
+    T_USHORT        unsigned short
+    T_ULONG         unsigned long
+    T_BOOL          char
+    T_LONGLONG      long long
+    T_ULONGLONG     unsigned long long
+    T_PYSSIZET      Py_ssize_t
+    =============== ==================
+
+    :cmacro:`T_OBJECT` and :cmacro:`T_OBJECT_EX` differ in that
+    :cmacro:`T_OBJECT` returns ``None`` if the member is *NULL* and
+-   :cmacro:`T_OBJECT_EX` raises an :exc:`AttributeError`.
++   :cmacro:`T_OBJECT_EX` raises an :exc:`AttributeError`.  Try to use
++   :cmacro:`T_OBJECT_EX` over :cmacro:`T_OBJECT`  
because :cmacro:`T_OBJECT_EX`
++   handles use of the :keyword:`del` statement on that attribute more  
correctly
++   than :cmacro:`T_OBJECT`.
+
+    :attr:`flags` can be 0 for write and read access or :cmacro:`READONLY`  
for
+    read-only access.  Using :cmacro:`T_STRING` for :attr:`type` implies
+    :cmacro:`READONLY`.  Only :cmacro:`T_OBJECT` and :cmacro:`T_OBJECT_EX`
+    members can be deleted.  (They are set to *NULL*).
+
+
+ .. cfunction:: PyObject* Py_FindMethod(PyMethodDef table[], PyObject *ob,  
char *name)
+
+-   Return a bound method object for an extension type implemented in C.   
This can
+-   be useful in the implementation of a :attr:`tp_getattro`  
or :attr:`tp_getattr`
+-   handler that does not use the :cfunc:`PyObject_GenericGetAttr`  
function.
++   Return a bound method object for an extension type implemented in C.   
This
++   can be useful in the implementation of a :attr:`tp_getattro` or
++   :attr:`tp_getattr` handler that does not use the
++   :cfunc:`PyObject_GenericGetAttr` function.
=======================================
--- /dev/null
+++ /c-api/diff/structures.rst.html	Sat Mar 19 08:30:15 2011
@@ -0,0 +1,196 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html>
+
+<head>
+    <meta http-equiv="Content-Type"
+          content="text/html; charset=ISO-8859-1" />
+    <title></title>
+    <style type="text/css">
+        table.diff {font-family:Courier; border:medium;}
+        .diff_header {background-color:#e0e0e0}
+        td.diff_header {text-align:right}
+        .diff_next {background-color:#c0c0c0}
+        .diff_add {background-color:#aaffaa}
+        .diff_chg {background-color:#ffff77}
+        .diff_sub {background-color:#ffaaaa}
+    </style>
+</head>
+
+<body>
+
+        <table class="diff" id="difflib_chg_to26__top"
+               cellspacing="0" cellpadding="0" rules="groups" >
+            <colgroup></colgroup> <colgroup></colgroup>  
<colgroup></colgroup>
+            <thead><tr><th class="diff_next"><br /></th><th colspan="2"  
class="diff_header">r262/c-api/structures.rst =&gt;  
r266/c-api/structures.rst</th></tr></thead>
+            <tbody>
+                <tr><td class="diff_next"  
id="difflib_chg_to26__0"></td><td class="diff_header"  
id="from26_4">4</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_5">5</td><td  
nowrap="nowrap">Common&nbsp;Object&nbsp;Structures</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_6">6</td><td  
nowrap="nowrap">========================</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_7">7</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_8">8</td><td  
nowrap="nowrap">There&nbsp;are&nbsp;a&nbsp;large&nbsp;number&nbsp;of&nbsp;structures&nbsp;which&nbsp;are&nbsp;used&nbsp;in&nbsp;the&nbsp;definition&nbsp;of</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_9">9</td><td  
nowrap="nowrap">object&nbsp;types&nbsp;for&nbsp;Python.&nbsp;&nbsp;This&nbsp;section&nbsp;describes&nbsp;these&nbsp;structures&nbsp;and&nbsp;how&nbsp;they</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_10">10</td><td  
nowrap="nowrap">are&nbsp;used.</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_11">11</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to26__1">n</a></td><td class="diff_header"  
id="from26_12">12-</td><td  
nowrap="nowrap">All&nbsp;Python&nbsp;objects&nbsp;ultimately&nbsp;share&nbsp;a&nbsp;small&nbsp;number&nbsp;of&nbsp;fields&nbsp;at&nbsp;the&nbsp;beginning<span  
class="diff_sub">&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__1">n</a></td><td  
class="diff_header" id="to26_12">12+</td><td  
nowrap="nowrap">All&nbsp;Python&nbsp;objects&nbsp;ultimately&nbsp;share&nbsp;a&nbsp;small&nbsp;number&nbsp;of&nbsp;fields&nbsp;at&nbsp;the&nbsp;beginning</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__1"></td><td  
class="diff_header" id="from26_13">13-</td><td  
nowrap="nowrap">the&nbsp;object's&nbsp;representation&nbsp;in&nbsp;memory.&nbsp;&nbsp;These&nbsp;are&nbsp;represented&nbsp;by&nbsp;the</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__1"></td><td  
class="diff_header" id="to26_13">13+</td><td nowrap="nowrap"><span  
class="diff_add">of&nbsp;</span>the&nbsp;object's&nbsp;representation&nbsp;in&nbsp;memory.&nbsp;&nbsp;These&nbsp;are&nbsp;represented&nbsp;by&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_14">14-</td><td  
nowrap="nowrap">:ctype:`PyObject`&nbsp;and&nbsp;:ctype:`PyVarObject`&nbsp;types,&nbsp;which&nbsp;are&nbsp;defined,&nbsp;in&nbsp;turn,<span  
class="diff_sub">&nbsp;by</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_14">14+</td><td  
nowrap="nowrap">:ctype:`PyObject`&nbsp;and&nbsp;:ctype:`PyVarObject`&nbsp;types,&nbsp;which&nbsp;are&nbsp;defined,&nbsp;in&nbsp;turn,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_15">15-</td><td  
nowrap="nowrap">the&nbsp;expansions&nbsp;of&nbsp;some&nbsp;macros&nbsp;also&nbsp;used,&nbsp;whether&nbsp;directly&nbsp;or&nbsp;indirectly,&nbsp;in<span  
class="diff_sub">&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_15">15+</td><td nowrap="nowrap"><span  
class="diff_add">by&nbsp;</span>the&nbsp;expansions&nbsp;of&nbsp;some&nbsp;macros&nbsp;also&nbsp;used,&nbsp;whether&nbsp;directly&nbsp;or&nbsp;indirectly,&nbsp;in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_16">16-</td><td  
nowrap="nowrap">definition&nbsp;of&nbsp;all&nbsp;other&nbsp;Python&nbsp;objects.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_16">16+</td><td nowrap="nowrap"><span  
class="diff_add">the&nbsp;</span>definition&nbsp;of&nbsp;all&nbsp;other&nbsp;Python&nbsp;objects.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_17">17</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_18">18</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_19">19</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyObject</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_20">20</td><td  
nowrap="nowrap"></td></tr><tr><td class="diff_next"><a  
href="#difflib_chg_to26__2">n</a></td><td class="diff_header"  
id="from26_21">21-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;All&nbsp;object&nbsp;types&nbsp;are&nbsp;extensions&nbsp;of&nbsp;this&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;type&nbsp;which<span  
class="diff_sub">&nbsp;contains&nbsp;the</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__2">n</a></td><td  
class="diff_header" id="to26_21">21+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;All&nbsp;object&nbsp;types&nbsp;are&nbsp;extensions&nbsp;of&nbsp;this&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;type&nbsp;which</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_22">22-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;information&nbsp;Python&nbsp;needs&nbsp;to&nbsp;treat&nbsp;a&nbsp;pointer&nbsp;to&nbsp;an&nbsp;object&nbsp;as&nbsp;an<span  
class="diff_sub">&nbsp;object.&nbsp;&nbsp;In&nbsp;a</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_22">22+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;contains&nbsp;the</span>&nbsp;information&nbsp;Python&nbsp;needs&nbsp;to&nbsp;treat&nbsp;a&nbsp;pointer&nbsp;to&nbsp;an&nbsp;object&nbsp;as&nbsp;an</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__2"></td><td  
class="diff_header" id="from26_23">23-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;normal&nbsp;"release"&nbsp;build,&nbsp;it&nbsp;contains&nbsp;only&nbsp;the&nbsp;object's<span  
class="diff_sub">&nbsp;reference&nbsp;count&nbsp;and&nbsp;a</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__2"></td><td  
class="diff_header" id="to26_23">23+</td><td  
nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;object.&nbsp;&nbsp;In&nbsp;a</span>&nbsp;normal&nbsp;"release"&nbsp;build,&nbsp;it&nbsp;contains&nbsp;only&nbsp;the&nbsp;object's</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_24">24-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;pointer&nbsp;to&nbsp;the&nbsp;corresponding&nbsp;type&nbsp;object.&nbsp;&nbsp;It&nbsp;corresponds&nbsp;to&nbsp;the&nbsp;fields&nbsp;defined</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_24">24+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;reference&nbsp;count&nbsp;and&nbsp;a&nbsp;pointer&nbsp;to&nbsp;the&nbsp;corresponding&nbsp;type&nbsp;object.&nbsp;&nbsp;It</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_25">25-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;by&nbsp;the&nbsp;expansion&nbsp;of&nbsp;the&nbsp;``PyObject_HEAD``&nbsp;macro.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_25">25+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;corresponds&nbsp;to&nbsp;the&nbsp;fields&nbsp;defined&nbsp;by&nbsp;the&nbsp;expansion&nbsp;of&nbsp;the&nbsp;``PyObject_HEAD``</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_26">26+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;macro.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_26">26</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_27">27</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_28">28</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyVarObject</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_29">29</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__3">n</a></td><td  
class="diff_header" id="from26_30">30-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;an&nbsp;extension&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;that&nbsp;adds&nbsp;the&nbsp;:attr:`ob_size`<span  
class="diff_sub">&nbsp;field.</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__3">n</a></td><td  
class="diff_header" id="to26_31">31+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;an&nbsp;extension&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;that&nbsp;adds&nbsp;the&nbsp;:attr:`ob_size`</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_31">31-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;only&nbsp;used&nbsp;for&nbsp;objects&nbsp;that&nbsp;have&nbsp;some&nbsp;notion&nbsp;of&nbsp;*length*.<span  
class="diff_sub">&nbsp;&nbsp;This&nbsp;type&nbsp;does</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_32">32+</td><td nowrap="nowrap">&nbsp;<span  
class="diff_add">&nbsp;&nbsp;field.</span>&nbsp;&nbsp;This&nbsp;is&nbsp;only&nbsp;used&nbsp;for&nbsp;objects&nbsp;that&nbsp;have&nbsp;some&nbsp;notion&nbsp;of&nbsp;*length*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_32">32-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;not&nbsp;often&nbsp;appear&nbsp;in&nbsp;the&nbsp;Python/C&nbsp;API.&nbsp;&nbsp;It&nbsp;corresponds&nbsp;to&nbsp;the<span  
class="diff_sub">&nbsp;fields&nbsp;defined&nbsp;by</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_33">33+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;This&nbsp;type&nbsp;does</span>&nbsp;not&nbsp;often&nbsp;appear&nbsp;in&nbsp;the&nbsp;Python/C&nbsp;API.&nbsp;&nbsp;It&nbsp;corresponds&nbsp;to&nbsp;the</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_33">33-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;expansion&nbsp;of&nbsp;the&nbsp;``PyObject_VAR_HEAD``&nbsp;macro.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_34">34+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;fields&nbsp;defined&nbsp;by</span>&nbsp;the&nbsp;expansion&nbsp;of&nbsp;the&nbsp;``PyObject_VAR_HEAD``&nbsp;macro.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_34">34</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to26__3"></td><td class="diff_header"  
id="from26_35">35</td><td  
nowrap="nowrap">These&nbsp;macros&nbsp;are&nbsp;used&nbsp;in&nbsp;the&nbsp;definition&nbsp;of&nbsp;:ctype:`PyObject`&nbsp;and</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_36">36</td><td  
nowrap="nowrap">:ctype:`PyVarObject`:</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_37">37</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_38">38</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_39">39</td><td  
nowrap="nowrap">..&nbsp;cmacro::&nbsp;PyObject_HEAD</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_40">40</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_41">41</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;macro&nbsp;which&nbsp;expands&nbsp;to&nbsp;the&nbsp;declarations&nbsp;of&nbsp;the&nbsp;fields&nbsp;of&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_42">42</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyObject`&nbsp;type;&nbsp;it&nbsp;is&nbsp;used&nbsp;when&nbsp;declaring&nbsp;new&nbsp;types&nbsp;which&nbsp;represent</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__4">n</a></td><td  
class="diff_header" id="from26_43">43-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;objects&nbsp;without&nbsp;a&nbsp;varying&nbsp;length.&nbsp;&nbsp;The&nbsp;specific&nbsp;fields&nbsp;it&nbsp;expands&nbsp;to&nbsp;depend<span  
class="diff_sub">&nbsp;on</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__4">n</a></td><td  
class="diff_header" id="to26_44">44+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;objects&nbsp;without&nbsp;a&nbsp;varying&nbsp;length.&nbsp;&nbsp;The&nbsp;specific&nbsp;fields&nbsp;it&nbsp;expands&nbsp;to&nbsp;depend</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_44">44-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;the&nbsp;definition&nbsp;of&nbsp;:cmacro:`Py_TRACE_REFS`.&nbsp;&nbsp;By&nbsp;default,&nbsp;that&nbsp;macro&nbsp;is<span  
class="diff_sub">&nbsp;not</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_45">45+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;on</span>&nbsp;the&nbsp;definition&nbsp;of&nbsp;:cmacro:`Py_TRACE_REFS`.&nbsp;&nbsp;By&nbsp;default,&nbsp;that&nbsp;macro&nbsp;is</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_45">45-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;defined,&nbsp;and&nbsp;:cmacro:`PyObject_HEAD`&nbsp;expands&nbsp;to::</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_46">46+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;not</span>&nbsp;defined,&nbsp;and&nbsp;:cmacro:`PyObject_HEAD`&nbsp;expands&nbsp;to::</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_46">46</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_47">47</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;ob_refcnt;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_48">48</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyTypeObject&nbsp;*ob_type;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_49">49</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_50">50</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;When&nbsp;:cmacro:`Py_TRACE_REFS`&nbsp;is&nbsp;defined,&nbsp;it&nbsp;expands&nbsp;to::</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_51">51</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to26__4"></td><td class="diff_header"  
id="from26_52">52</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject&nbsp;*_ob_next,&nbsp;*_ob_prev;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_53">53</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;ob_refcnt;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_54">54</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyTypeObject&nbsp;*ob_type;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_55">55</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_56">56</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_57">57</td><td  
nowrap="nowrap">..&nbsp;cmacro::&nbsp;PyObject_VAR_HEAD</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_58">58</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_59">59</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;macro&nbsp;which&nbsp;expands&nbsp;to&nbsp;the&nbsp;declarations&nbsp;of&nbsp;the&nbsp;fields&nbsp;of&nbsp;the</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__5">n</a></td><td  
class="diff_header" id="from26_60">60-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyVarObject`&nbsp;type;&nbsp;it&nbsp;is&nbsp;used&nbsp;when&nbsp;declaring&nbsp;new&nbsp;types&nbsp;which<span  
class="diff_sub">&nbsp;represent</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__5">n</a></td><td  
class="diff_header" id="to26_61">61+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyVarObject`&nbsp;type;&nbsp;it&nbsp;is&nbsp;used&nbsp;when&nbsp;declaring&nbsp;new&nbsp;types&nbsp;which</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_61">61-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;objects&nbsp;with&nbsp;a&nbsp;length&nbsp;that&nbsp;varies&nbsp;from&nbsp;instance&nbsp;to&nbsp;instance.<span  
class="diff_sub">&nbsp;&nbsp;This&nbsp;macro&nbsp;always</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_62">62+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;represent</span>&nbsp;objects&nbsp;with&nbsp;a&nbsp;length&nbsp;that&nbsp;varies&nbsp;from&nbsp;instance&nbsp;to&nbsp;instance.</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__5"></td><td  
class="diff_header" id="from26_62">62-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;expands&nbsp;to::</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__5"></td><td  
class="diff_header" id="to26_63">63+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;always&nbsp;expands&nbsp;to::</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_63">63</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_64">64</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyObject_HEAD</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_65">65</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t&nbsp;ob_size;</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_66">66</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_67">67</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Note&nbsp;that&nbsp;:cmacro:`PyObject_HEAD`&nbsp;is&nbsp;part&nbsp;of&nbsp;the&nbsp;expansion,&nbsp;and&nbsp;that&nbsp;its&nbsp;own</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_68">68</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;expansion&nbsp;varies&nbsp;depending&nbsp;on&nbsp;the&nbsp;definition&nbsp;of&nbsp;:cmacro:`Py_TRACE_REFS`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_69">69</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__6">n</a></td><td  
class="diff_header" id="from26_70">70-</td><td nowrap="nowrap"><span  
class="diff_sub">PyObject_HEAD_INIT</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__6">n</a></td><td  
class="diff_header" id="to26_71">71+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_72">72+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cmacro::&nbsp;PyObject_HEAD_INIT(type)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_73">73+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_74">74+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;macro&nbsp;which&nbsp;expands&nbsp;to&nbsp;initialization&nbsp;values&nbsp;for&nbsp;a&nbsp;new</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_75">75+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:ctype:`PyObject`&nbsp;type.&nbsp;&nbsp;This&nbsp;macro&nbsp;expands&nbsp;to::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_76">76+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_77">77+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_PyObject_EXTRA_INIT</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_78">78+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;type,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_79">79+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_80">80+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_81">81+</td><td nowrap="nowrap"><span  
class="diff_add">..&nbsp;cmacro::&nbsp;PyVarObject_HEAD_INIT(type,&nbsp;size)</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_82">82+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_83">83+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;a&nbsp;macro&nbsp;which&nbsp;expands&nbsp;to&nbsp;initialization&nbsp;values&nbsp;for&nbsp;a&nbsp;new</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_84">84+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:ctype:`PyVarObject`&nbsp;type,&nbsp;including&nbsp;the&nbsp;:attr:`ob_size`&nbsp;field.</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__6"></td><td  
class="diff_header" id="to26_85">85+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;This&nbsp;macro&nbsp;expands&nbsp;to::</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_86">86+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_87">87+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_PyObject_EXTRA_INIT</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_88">88+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1,&nbsp;type,&nbsp;size,</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_71">71</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_72">72</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_73">73</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyCFunction</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_74">74</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__7">n</a></td><td  
class="diff_header" id="from26_75">75-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Type&nbsp;of&nbsp;the&nbsp;functions&nbsp;used&nbsp;to&nbsp;implement&nbsp;most&nbsp;Python&nbsp;callables&nbsp;in&nbsp;C.<span  
class="diff_sub">&nbsp;Functions&nbsp;of</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__7">n</a></td><td  
class="diff_header" id="to26_93">93+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Type&nbsp;of&nbsp;the&nbsp;functions&nbsp;used&nbsp;to&nbsp;implement&nbsp;most&nbsp;Python&nbsp;callables&nbsp;in&nbsp;C.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_76">76-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;this&nbsp;type&nbsp;take&nbsp;two&nbsp;:ctype:`PyObject\*`&nbsp;parameters&nbsp;and&nbsp;return<span  
class="diff_sub">&nbsp;one&nbsp;such&nbsp;value.&nbsp;&nbsp;If</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_94">94+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;Functions&nbsp;of</span>&nbsp;this&nbsp;type&nbsp;take&nbsp;two&nbsp;:ctype:`PyObject\*`&nbsp;parameters&nbsp;and&nbsp;return</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_77">77-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;return&nbsp;value&nbsp;is&nbsp;*NULL*,&nbsp;an&nbsp;exception&nbsp;shall&nbsp;have&nbsp;been&nbsp;set.&nbsp;&nbsp;If&nbsp;not&nbsp;*NULL*,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_95">95+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;one&nbsp;such&nbsp;value.&nbsp;&nbsp;If&nbsp;the&nbsp;return&nbsp;value&nbsp;is&nbsp;*NULL*,&nbsp;an&nbsp;exception&nbsp;shall&nbsp;have</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_78">78-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;the&nbsp;return&nbsp;value&nbsp;is&nbsp;interpreted&nbsp;as&nbsp;the&nbsp;return&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;as&nbsp;exposed</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_96">96+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;been&nbsp;set.&nbsp;&nbsp;If&nbsp;not&nbsp;*NULL*,&nbsp;the&nbsp;return&nbsp;value&nbsp;is&nbsp;interpreted&nbsp;as&nbsp;the&nbsp;return</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_79">79-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;in&nbsp;Python.&nbsp;&nbsp;The&nbsp;function&nbsp;must&nbsp;return&nbsp;a&nbsp;new&nbsp;reference.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_97">97+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;value&nbsp;of&nbsp;the&nbsp;function&nbsp;as&nbsp;exposed&nbsp;in&nbsp;Python.&nbsp;&nbsp;The&nbsp;function&nbsp;must&nbsp;return&nbsp;a&nbsp;new</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_98">98+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;reference.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_80">80</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_81">81</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_82">82</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyMethodDef</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_83">83</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_84">84</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Structure&nbsp;used&nbsp;to&nbsp;describe&nbsp;a&nbsp;method&nbsp;of&nbsp;an&nbsp;extension&nbsp;type.&nbsp;&nbsp;This&nbsp;structure&nbsp;has</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_85">85</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;four&nbsp;fields:</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_86">86</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_87">87</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;+------------------+-------------+-------------------------------+</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to26__7"></td><td  
class="diff_header" id="from26_112">112</td><td  
nowrap="nowrap">:const:`METH_KEYWORDS`&nbsp;can&nbsp;be&nbsp;combined&nbsp;(but&nbsp;note&nbsp;that&nbsp;:const:`METH_KEYWORDS`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_113">113</td><td  
nowrap="nowrap">alone&nbsp;is&nbsp;equivalent&nbsp;to&nbsp;``METH_VARARGS&nbsp;| 
&nbsp;METH_KEYWORDS``).&nbsp;Any&nbsp;of&nbsp;the&nbsp;calling</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_114">114</td><td  
nowrap="nowrap">convention&nbsp;flags&nbsp;can&nbsp;be&nbsp;combined&nbsp;with&nbsp;a&nbsp;binding&nbsp;flag.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_115">115</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_116">116</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_117">117</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_VARARGS</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_118">118</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_119">119</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;the&nbsp;typical&nbsp;calling&nbsp;convention,&nbsp;where&nbsp;the&nbsp;methods&nbsp;have&nbsp;the&nbsp;type</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__8">n</a></td><td  
class="diff_header" id="from26_120">120-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyCFunction`.&nbsp;The&nbsp;function&nbsp;expects&nbsp;two&nbsp;:ctype:`PyObject\*`&nbsp;values.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__8">n</a></td><td  
class="diff_header" id="to26_139">139+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyCFunction`.&nbsp;The&nbsp;function&nbsp;expects&nbsp;two&nbsp;:ctype:`PyObject\*`&nbsp;values.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_121">121-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;first&nbsp;one&nbsp;is&nbsp;the&nbsp;*self*&nbsp;object&nbsp;for&nbsp;methods;&nbsp;for&nbsp;module&nbsp;functions,&nbsp;it<span  
class="diff_sub">&nbsp;has&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_140">140+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;first&nbsp;one&nbsp;is&nbsp;the&nbsp;*self*&nbsp;object&nbsp;for&nbsp;methods;&nbsp;for&nbsp;module&nbsp;functions,&nbsp;it</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_122">122-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;value&nbsp;given&nbsp;to&nbsp;:cfunc:`Py_InitModule4`&nbsp;(or&nbsp;*NULL*&nbsp;if<span  
class="diff_sub">&nbsp;:cfunc:`Py_InitModule`&nbsp;was</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_141">141+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;has&nbsp;the</span>&nbsp;value&nbsp;given&nbsp;to&nbsp;:cfunc:`Py_InitModule4`&nbsp;(or&nbsp;*NULL*&nbsp;if</td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__8"></td><td  
class="diff_header" id="from26_123">123-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;used).&nbsp;&nbsp;The&nbsp;second&nbsp;parameter&nbsp;(often&nbsp;called&nbsp;*args*)&nbsp;is&nbsp;a&nbsp;tuple&nbsp;object</span></td></tr>
+<tr><td class="diff_next" id="difflib_chg_to26__8"></td><td  
class="diff_header" id="to26_142">142+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cfunc:`Py_InitModule`&nbsp;was&nbsp;used).&nbsp;&nbsp;The&nbsp;second&nbsp;parameter&nbsp;(often&nbsp;called</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_124">124-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;representing&nbsp;all&nbsp;arguments.&nbsp;This&nbsp;parameter&nbsp;is&nbsp;typically&nbsp;processed&nbsp;using</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_143">143+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*args*)&nbsp;is&nbsp;a&nbsp;tuple&nbsp;object&nbsp;representing&nbsp;all&nbsp;arguments.&nbsp;This&nbsp;parameter&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_125">125-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;or&nbsp;:cfunc:`PyArg_UnpackTuple`.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_144">144+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;typically&nbsp;processed&nbsp;using&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;or</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_145">145+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_UnpackTuple`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_126">126</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_127">127</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_128">128</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_KEYWORDS</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_129">129</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__9">n</a></td><td  
class="diff_header" id="from26_130">130-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Methods&nbsp;with&nbsp;these&nbsp;flags&nbsp;must&nbsp;be&nbsp;of&nbsp;type&nbsp;:ctype:`PyCFunctionWithKeywords`.<span  
class="diff_sub">&nbsp;&nbsp;The</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__9">n</a></td><td  
class="diff_header" id="to26_150">150+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Methods&nbsp;with&nbsp;these&nbsp;flags&nbsp;must&nbsp;be&nbsp;of&nbsp;type&nbsp;:ctype:`PyCFunctionWithKeywords`.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_131">131-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;function&nbsp;expects&nbsp;three&nbsp;parameters:&nbsp;*self*,&nbsp;*args*,&nbsp;and&nbsp;a&nbsp;dictionary&nbsp;of<span  
class="diff_sub">&nbsp;all&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_151">151+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;The</span>&nbsp;function&nbsp;expects&nbsp;three&nbsp;parameters:&nbsp;*self*,&nbsp;*args*,&nbsp;and&nbsp;a&nbsp;dictionary&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_132">132-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;keyword&nbsp;arguments.&nbsp;&nbsp;The&nbsp;flag&nbsp;is&nbsp;typically&nbsp;combined&nbsp;with<span  
class="diff_sub">&nbsp;:const:`METH_VARARGS`,</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_152">152+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;all&nbsp;the</span>&nbsp;keyword&nbsp;arguments.&nbsp;&nbsp;The&nbsp;flag&nbsp;is&nbsp;typically&nbsp;combined&nbsp;with</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_133">133-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;and&nbsp;the&nbsp;parameters&nbsp;are&nbsp;typically&nbsp;processed&nbsp;using</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_153">153+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;:const:`METH_VARARGS`,</span>&nbsp;and&nbsp;the&nbsp;parameters&nbsp;are&nbsp;typically&nbsp;processed&nbsp;using</td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to26__9"></td><td  
class="diff_header" id="from26_134">134</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyArg_ParseTupleAndKeywords`.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_135">135</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_136">136</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_137">137</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_NOARGS</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_138">138</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_139">139</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Methods&nbsp;without&nbsp;parameters&nbsp;don't&nbsp;need&nbsp;to&nbsp;check&nbsp;whether&nbsp;arguments&nbsp;are&nbsp;given&nbsp;if</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_140">140</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;they&nbsp;are&nbsp;listed&nbsp;with&nbsp;the&nbsp;:const:`METH_NOARGS`&nbsp;flag.&nbsp;&nbsp;They&nbsp;need&nbsp;to&nbsp;be&nbsp;of&nbsp;type</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_141">141</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyCFunction`.&nbsp;&nbsp;When&nbsp;used&nbsp;with&nbsp;object&nbsp;methods,&nbsp;the&nbsp;first&nbsp;parameter&nbsp;is</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__10">n</a></td><td  
class="diff_header" id="from26_142">142-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;typically&nbsp;named&nbsp;``self``&nbsp;and&nbsp;will&nbsp;hold&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;object&nbsp;instance.<span  
class="diff_sub">&nbsp;&nbsp;In</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__10">n</a></td><td  
class="diff_header" id="to26_162">162+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;typically&nbsp;named&nbsp;``self``&nbsp;and&nbsp;will&nbsp;hold&nbsp;a&nbsp;reference&nbsp;to&nbsp;the&nbsp;object&nbsp;instance.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_143">143-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;all&nbsp;cases&nbsp;the&nbsp;second&nbsp;parameter&nbsp;will&nbsp;be&nbsp;*NULL*.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_163">163+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;In</span>&nbsp;all&nbsp;cases&nbsp;the&nbsp;second&nbsp;parameter&nbsp;will&nbsp;be&nbsp;*NULL*.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_144">144</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_145">145</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_146">146</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_O</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_147">147</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_148">148</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Methods&nbsp;with&nbsp;a&nbsp;single&nbsp;object&nbsp;argument&nbsp;can&nbsp;be&nbsp;listed&nbsp;with&nbsp;the&nbsp;:const:`METH_O`</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to26__10"></td><td  
class="diff_header" id="from26_149">149</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;flag,&nbsp;instead&nbsp;of&nbsp;invoking&nbsp;:cfunc:`PyArg_ParseTuple`&nbsp;with&nbsp;a&nbsp;``"O"``&nbsp;argument.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_150">150</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;They&nbsp;have&nbsp;the&nbsp;type&nbsp;:ctype:`PyCFunction`,&nbsp;with&nbsp;the&nbsp;*self*&nbsp;parameter,&nbsp;and&nbsp;a</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_151">151</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyObject\*`&nbsp;parameter&nbsp;representing&nbsp;the&nbsp;single&nbsp;argument.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_152">152</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_153">153</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_154">154</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_OLDARGS</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_155">155</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_156">156</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;This&nbsp;calling&nbsp;convention&nbsp;is&nbsp;deprecated.&nbsp;&nbsp;The&nbsp;method&nbsp;must&nbsp;be&nbsp;of&nbsp;type</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__11">n</a></td><td  
class="diff_header" id="from26_157">157-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyCFunction`.&nbsp;&nbsp;The&nbsp;second&nbsp;argument&nbsp;is&nbsp;*NULL*&nbsp;if&nbsp;no&nbsp;arguments&nbsp;are<span  
class="diff_sub">&nbsp;given,</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__11">n</a></td><td  
class="diff_header" id="to26_177">177+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:ctype:`PyCFunction`.&nbsp;&nbsp;The&nbsp;second&nbsp;argument&nbsp;is&nbsp;*NULL*&nbsp;if&nbsp;no&nbsp;arguments&nbsp;are</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_158">158-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;a&nbsp;single&nbsp;object&nbsp;if&nbsp;exactly&nbsp;one&nbsp;argument&nbsp;is&nbsp;given,&nbsp;and&nbsp;a&nbsp;tuple&nbsp;of<span  
class="diff_sub">&nbsp;objects&nbsp;if&nbsp;more</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_178">178+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;given,</span>&nbsp;a&nbsp;single&nbsp;object&nbsp;if&nbsp;exactly&nbsp;one&nbsp;argument&nbsp;is&nbsp;given,&nbsp;and&nbsp;a&nbsp;tuple&nbsp;of</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_159">159-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;than&nbsp;one&nbsp;argument&nbsp;is&nbsp;given.&nbsp;&nbsp;There&nbsp;is&nbsp;no&nbsp;way&nbsp;for&nbsp;a&nbsp;function<span  
class="diff_sub">&nbsp;using&nbsp;this</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_179">179+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;objects&nbsp;if&nbsp;more</span>&nbsp;than&nbsp;one&nbsp;argument&nbsp;is&nbsp;given.&nbsp;&nbsp;There&nbsp;is&nbsp;no&nbsp;way&nbsp;for&nbsp;a&nbsp;function</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_160">160-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;convention&nbsp;to&nbsp;distinguish&nbsp;between&nbsp;a&nbsp;call&nbsp;with&nbsp;multiple&nbsp;arguments<span  
class="diff_sub">&nbsp;and&nbsp;a&nbsp;call&nbsp;with</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_180">180+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;using&nbsp;this</span>&nbsp;convention&nbsp;to&nbsp;distinguish&nbsp;between&nbsp;a&nbsp;call&nbsp;with&nbsp;multiple&nbsp;arguments</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_161">161-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;a&nbsp;tuple&nbsp;as&nbsp;the&nbsp;only&nbsp;argument.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_181">181+</td><td nowrap="nowrap">&nbsp;&nbsp;&nbsp;a<span  
class="diff_add">nd&nbsp;a&nbsp;call&nbsp;with&nbsp;a</span>&nbsp;tuple&nbsp;as&nbsp;the&nbsp;only&nbsp;argument.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_162">162</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_163">163</td><td  
nowrap="nowrap">These&nbsp;two&nbsp;constants&nbsp;are&nbsp;not&nbsp;used&nbsp;to&nbsp;indicate&nbsp;the&nbsp;calling&nbsp;convention&nbsp;but&nbsp;the</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_164">164</td><td  
nowrap="nowrap">binding&nbsp;when&nbsp;use&nbsp;with&nbsp;methods&nbsp;of&nbsp;classes.&nbsp;&nbsp;These&nbsp;may&nbsp;not&nbsp;be&nbsp;used&nbsp;for&nbsp;functions</td></tr>             
<tr><td class="diff_next" id="difflib_chg_to26__11"></td><td  
class="diff_header" id="from26_165">165</td><td  
nowrap="nowrap">defined&nbsp;for&nbsp;modules.&nbsp;&nbsp;At&nbsp;most&nbsp;one&nbsp;of&nbsp;these&nbsp;flags&nbsp;may&nbsp;be&nbsp;set&nbsp;for&nbsp;any&nbsp;given</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_166">166</td><td nowrap="nowrap">method.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_167">167</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_168">168</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_169">169</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_CLASS</td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_170">170</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_171">171</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;classmethod</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_172">172</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__12">n</a></td><td  
class="diff_header" id="from26_173">173-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;method&nbsp;will&nbsp;be&nbsp;passed&nbsp;the&nbsp;type&nbsp;object&nbsp;as&nbsp;the&nbsp;first&nbsp;parameter&nbsp;rather<span  
class="diff_sub">&nbsp;than&nbsp;an</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__12">n</a></td><td  
class="diff_header" id="to26_193">193+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;method&nbsp;will&nbsp;be&nbsp;passed&nbsp;the&nbsp;type&nbsp;object&nbsp;as&nbsp;the&nbsp;first&nbsp;parameter&nbsp;rather</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_174">174-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;instance&nbsp;of&nbsp;the&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;used&nbsp;to&nbsp;create&nbsp;*class&nbsp;methods*,<span  
class="diff_sub">&nbsp;similar&nbsp;to&nbsp;what</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_194">194+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;than&nbsp;an</span>&nbsp;instance&nbsp;of&nbsp;the&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;used&nbsp;to&nbsp;create&nbsp;*class&nbsp;methods*,</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_175">175-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;is&nbsp;created&nbsp;when&nbsp;using&nbsp;the&nbsp;:func:`classmethod`&nbsp;built-in<span  
class="diff_sub">&nbsp;function.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_195">195+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;similar&nbsp;to&nbsp;what</span>&nbsp;is&nbsp;created&nbsp;when&nbsp;using&nbsp;the&nbsp;:func:`classmethod`&nbsp;built-in</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_196">196+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;function.</span></td></tr>
+            <tr><td class="diff_next" id="difflib_chg_to26__12"></td><td  
class="diff_header" id="from26_176">176</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_177">177</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_178">178</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_179">179</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_180">180</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_STATIC</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_181">181</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_182">182</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;index::&nbsp;builtin:&nbsp;staticmethod</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_183">183</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__13">n</a></td><td  
class="diff_header" id="from26_184">184-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;method&nbsp;will&nbsp;be&nbsp;passed&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;first&nbsp;parameter&nbsp;rather&nbsp;than&nbsp;an<span  
class="diff_sub">&nbsp;instance</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__13">n</a></td><td  
class="diff_header" id="to26_205">205+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;method&nbsp;will&nbsp;be&nbsp;passed&nbsp;*NULL*&nbsp;as&nbsp;the&nbsp;first&nbsp;parameter&nbsp;rather&nbsp;than&nbsp;an</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_185">185-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;of&nbsp;the&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;used&nbsp;to&nbsp;create&nbsp;*static&nbsp;methods*,&nbsp;similar&nbsp;to<span  
class="diff_sub">&nbsp;what&nbsp;is</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_206">206+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;instance</span>&nbsp;of&nbsp;the&nbsp;type.&nbsp;&nbsp;This&nbsp;is&nbsp;used&nbsp;to&nbsp;create&nbsp;*static&nbsp;methods*,&nbsp;similar&nbsp;to</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_186">186-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;created&nbsp;when&nbsp;using&nbsp;the&nbsp;:func:`staticmethod`&nbsp;built-in&nbsp;function.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_207">207+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;what&nbsp;is</span>&nbsp;created&nbsp;when&nbsp;using&nbsp;the&nbsp;:func:`staticmethod`&nbsp;built-in&nbsp;function.</td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_187">187</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_188">188</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.3</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_189">189</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to26__13"></td><td class="diff_header"  
id="from26_190">190</td><td  
nowrap="nowrap">One&nbsp;other&nbsp;constant&nbsp;controls&nbsp;whether&nbsp;a&nbsp;method&nbsp;is&nbsp;loaded&nbsp;in&nbsp;place&nbsp;of&nbsp;another</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_191">191</td><td  
nowrap="nowrap">definition&nbsp;with&nbsp;the&nbsp;same&nbsp;method&nbsp;name.</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_192">192</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_193">193</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_194">194</td><td  
nowrap="nowrap">..&nbsp;data::&nbsp;METH_COEXIST</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_195">195</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_196">196</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;The&nbsp;method&nbsp;will&nbsp;be&nbsp;loaded&nbsp;in&nbsp;place&nbsp;of&nbsp;existing&nbsp;definitions.&nbsp;&nbsp;Without</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_197">197</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;*METH_COEXIST*,&nbsp;the&nbsp;default&nbsp;is&nbsp;to&nbsp;skip&nbsp;repeated&nbsp;definitions.&nbsp;&nbsp;Since&nbsp;slot</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__14">n</a></td><td  
class="diff_header" id="from26_198">198-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;wrappers&nbsp;are&nbsp;loaded&nbsp;before&nbsp;the&nbsp;method&nbsp;table,&nbsp;the&nbsp;existence&nbsp;of&nbsp;a<span  
class="diff_sub">&nbsp;*sq_contains*</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__14">n</a></td><td  
class="diff_header" id="to26_219">219+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;wrappers&nbsp;are&nbsp;loaded&nbsp;before&nbsp;the&nbsp;method&nbsp;table,&nbsp;the&nbsp;existence&nbsp;of&nbsp;a</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_199">199-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;slot,&nbsp;for&nbsp;example,&nbsp;would&nbsp;generate&nbsp;a&nbsp;wrapped&nbsp;method&nbsp;named&nbsp;:meth:`__contains__`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_220">220+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;*sq_contains*&nbsp;slot,&nbsp;for&nbsp;example,&nbsp;would&nbsp;generate&nbsp;a&nbsp;wrapped&nbsp;method&nbsp;named</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_200">200-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;and&nbsp;preclude&nbsp;the&nbsp;loading&nbsp;of&nbsp;a&nbsp;corresponding&nbsp;PyCFunction&nbsp;with&nbsp;the&nbsp;same&nbsp;name.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_221">221+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:meth:`__contains__`&nbsp;and&nbsp;preclude&nbsp;the&nbsp;loading&nbsp;of&nbsp;a&nbsp;corresponding</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_201">201-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;With&nbsp;the&nbsp;flag&nbsp;defined,&nbsp;the&nbsp;PyCFunction&nbsp;will&nbsp;be&nbsp;loaded&nbsp;in&nbsp;place&nbsp;of&nbsp;the&nbsp;wrapper</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_222">222+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;PyCFunction&nbsp;with&nbsp;the&nbsp;same&nbsp;name.&nbsp;&nbsp;With&nbsp;the&nbsp;flag&nbsp;defined,&nbsp;the&nbsp;PyCFunction</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_202">202-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;object&nbsp;and&nbsp;will&nbsp;co-exist&nbsp;with&nbsp;the&nbsp;slot.&nbsp;&nbsp;This&nbsp;is&nbsp;helpful&nbsp;because&nbsp;calls&nbsp;to</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_223">223+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;will&nbsp;be&nbsp;loaded&nbsp;in&nbsp;place&nbsp;of&nbsp;the&nbsp;wrapper&nbsp;object&nbsp;and&nbsp;will&nbsp;co-exist&nbsp;with&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_203">203-</td><td nowrap="nowrap"><span  
class="diff_sub">&nbsp;&nbsp;&nbsp;PyCFunctions&nbsp;are&nbsp;optimized&nbsp;more&nbsp;than&nbsp;wrapper&nbsp;object&nbsp;calls.</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_224">224+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;slot.&nbsp;&nbsp;This&nbsp;is&nbsp;helpful&nbsp;because&nbsp;calls&nbsp;to&nbsp;PyCFunctions&nbsp;are&nbsp;optimized&nbsp;more</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_225">225+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;than&nbsp;wrapper&nbsp;object&nbsp;calls.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_204">204</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_205">205</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;..&nbsp;versionadded::&nbsp;2.4</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_206">206</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_207">207</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_208">208</td><td  
nowrap="nowrap">..&nbsp;ctype::&nbsp;PyMemberDef</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_209">209</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_210">210</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Structure&nbsp;which&nbsp;describes&nbsp;an&nbsp;attribute&nbsp;of&nbsp;a&nbsp;type&nbsp;which&nbsp;corresponds&nbsp;to&nbsp;a&nbsp;C</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_211">211</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;struct&nbsp;member.&nbsp;&nbsp;Its&nbsp;fields&nbsp;are:</td></tr>         
</tbody>
+        <tbody>
+            <tr><td class="diff_next" id="difflib_chg_to26__14"></td><td  
class="diff_header" id="from26_254">254</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;T_BOOL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_255">255</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;T_LONGLONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;long&nbsp;long</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_256">256</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;T_ULONGLONG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;long</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_257">257</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;T_PYSSIZET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_ssize_t</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_258">258</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;===============&nbsp;==================</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_259">259</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_260">260</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cmacro:`T_OBJECT`&nbsp;and&nbsp;:cmacro:`T_OBJECT_EX`&nbsp;differ&nbsp;in&nbsp;that</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_261">261</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cmacro:`T_OBJECT`&nbsp;returns&nbsp;``None``&nbsp;if&nbsp;the&nbsp;member&nbsp;is&nbsp;*NULL*&nbsp;and</td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__15">n</a></td><td  
class="diff_header" id="from26_262">262-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cmacro:`T_OBJECT_EX`&nbsp;raises&nbsp;an&nbsp;:exc:`AttributeError`.</td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__15">n</a></td><td  
class="diff_header" id="to26_284">284+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cmacro:`T_OBJECT_EX`&nbsp;raises&nbsp;an&nbsp;:exc:`AttributeError`.<span  
class="diff_add">&nbsp;&nbsp;Try&nbsp;to&nbsp;use</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_285">285+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:cmacro:`T_OBJECT_EX`&nbsp;over&nbsp;:cmacro:`T_OBJECT`&nbsp;because&nbsp;:cmacro:`T_OBJECT_EX`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_286">286+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;handles&nbsp;use&nbsp;of&nbsp;the&nbsp;:keyword:`del`&nbsp;statement&nbsp;on&nbsp;that&nbsp;attribute&nbsp;more&nbsp;correctly</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_287">287+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;than&nbsp;:cmacro:`T_OBJECT`.</span></td></tr>
+            <tr><td class="diff_next"></td><td class="diff_header"  
id="from26_263">263</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next" id="difflib_chg_to26__15"></td><td class="diff_header"  
id="from26_264">264</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:attr:`flags`&nbsp;can&nbsp;be&nbsp;0&nbsp;for&nbsp;write&nbsp;and&nbsp;read&nbsp;access&nbsp;or&nbsp;:cmacro:`READONLY`&nbsp;for</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_265">265</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;read-only&nbsp;access.&nbsp;&nbsp;Using&nbsp;:cmacro:`T_STRING`&nbsp;for&nbsp;:attr:`type`&nbsp;implies</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_266">266</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cmacro:`READONLY`.&nbsp;&nbsp;Only&nbsp;:cmacro:`T_OBJECT`&nbsp;and&nbsp;:cmacro:`T_OBJECT_EX`</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_267">267</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;members&nbsp;can&nbsp;be&nbsp;deleted.&nbsp;&nbsp;(They&nbsp;are&nbsp;set&nbsp;to&nbsp;*NULL*).</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_268">268</td><td nowrap="nowrap"></td></tr>            <tr><td  
class="diff_next"></td><td class="diff_header" id="from26_269">269</td><td  
nowrap="nowrap"></td></tr>            <tr><td class="diff_next"></td><td  
class="diff_header" id="from26_270">270</td><td  
nowrap="nowrap">..&nbsp;cfunction::&nbsp;PyObject*&nbsp;Py_FindMethod(PyMethodDef&nbsp;table[],&nbsp;PyObject&nbsp;*ob,&nbsp;char&nbsp;*name)</td></tr>             
<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_271">271</td><td nowrap="nowrap"></td></tr><tr><td  
class="diff_next"><a href="#difflib_chg_to26__top">t</a></td><td  
class="diff_header" id="from26_272">272-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;bound&nbsp;method&nbsp;object&nbsp;for&nbsp;an&nbsp;extension&nbsp;type&nbsp;implemented&nbsp;in&nbsp;C.&nbsp;&nbsp;This<span  
class="diff_sub">&nbsp;can</span></td></tr>
+<tr><td class="diff_next"><a href="#difflib_chg_to26__top">t</a></td><td  
class="diff_header" id="to26_297">297+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;Return&nbsp;a&nbsp;bound&nbsp;method&nbsp;object&nbsp;for&nbsp;an&nbsp;extension&nbsp;type&nbsp;implemented&nbsp;in&nbsp;C.&nbsp;&nbsp;This</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_273">273-</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;be&nbsp;useful&nbsp;in&nbsp;the&nbsp;implementation&nbsp;of&nbsp;a&nbsp;:attr:`tp_getattro`&nbsp;or<span  
class="diff_sub">&nbsp;:attr:`tp_getattr`</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_298">298+</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_add">&nbsp;can</span>&nbsp;be&nbsp;useful&nbsp;in&nbsp;the&nbsp;implementation&nbsp;of&nbsp;a&nbsp;:attr:`tp_getattro`&nbsp;or</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_299">299+</td><td nowrap="nowrap"><span  
class="diff_add">&nbsp;&nbsp;&nbsp;:attr:`tp_getattr`&nbsp;handler&nbsp;that&nbsp;does&nbsp;not&nbsp;use&nbsp;the</span></td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="from26_274">274-</td><td nowrap="nowrap">&nbsp;&nbsp;<span  
class="diff_sub">&nbsp;handler&nbsp;that&nbsp;does&nbsp;not&nbsp;use&nbsp;the</span>&nbsp;:cfunc:`PyObject_GenericGetAttr`&nbsp;function.</td></tr>
+<tr><td class="diff_next"></td><td class="diff_header"  
id="to26_300">300+</td><td  
nowrap="nowrap">&nbsp;&nbsp;&nbsp;:cfunc:`PyObject_GenericGetAttr`&nbsp;function.</td></tr>
+        </tbody>
+        </table>
+    <table class="diff" summary="Legends">
+        <tr> <th colspan="2"> Legends </th> </tr>
+        <tr> <td> <table border="" summary="Colors">
+                      <tr><th> Colors </th> </tr>
+                      <tr><td class="diff_add">&nbsp;Added&nbsp;</td></tr>
+                      <tr><td class="diff_chg">Changed</td> </tr>
+                      <tr><td class="diff_sub">Deleted</td> </tr>
+                  </table></td>
+             <td> <table border="" summary="Links">
+                      <tr><th colspan="2"> Links </th> </tr>
+                      <tr><td>(f)irst change</td> </tr>
+                      <tr><td>(n)ext change</td> </tr>
+                      <tr><td>(t)op</td> </tr>
+                  </table></td> </tr>
+    </table>
+</body>
+
+</html>
=======================================
***Additional files exist in this changeset.***

==============================================================================
Revision: 013b5348d951
Author:   Naoki INADA  <inada****@klab*****>
Date:     Sat Mar 19 08:34:47 2011
Log:      merge
http://code.google.com/p/python-doc-ja/source/detail?r=013b5348d951





Pythonjp-checkins メーリングリストの案内
Back to archive index