<br><br><div class="gmail_quote">On Sun, Mar 16, 2008 at 12:32 PM, Guido van Rossum &lt;<a href="mailto:guido@python.org">guido@python.org</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Sun, Mar 16, 2008 at 11:57 AM, Benjamin Peterson<br>
&lt;<a href="mailto:musiccomposition@gmail.com">musiccomposition@gmail.com</a>&gt; wrote:<br>
[Guido]<br>
<div class="Ih2E3d">&gt; &gt; That&#39;s a rather long thread. Was any conclusion reached? I&#39;m not sure<br>
&gt; &gt; how introducing a set of aliases will help merging 2.6 code to 3.0.<br>
&gt; &gt; Can you or Christian describe the proposed approach in more detail?<br>
<br>
&gt; As far as I can see, no objections were raised in that thread.<br>
<br>
</div>Hm. I had wanted to register a complaint, but I guess I was too busy.<br>
<div class="Ih2E3d"><br>
&gt; Christian explained the probable approach:<br>
&gt; <a href="http://mail.python.org/pipermail/python-dev/2008-March/077362.html" target="_blank">http://mail.python.org/pipermail/python-dev/2008-March/077362.html</a><br>
<br>
</div>That&#39;s not much of a plan. It doesn&#39;t discuss any of the effects of<br>
the proposed change on merging code from the 2.6 trunk to the py3k<br>
branch.<br>
<div class="Ih2E3d"><br>
On Sun, Mar 16, 2008 at 12:09 PM, Christian Heimes &lt;<a href="mailto:lists@cheimes.de">lists@cheimes.de</a>&gt; wrote:<br>
&gt; Guido van Rossum wrote:<br>
&gt; &nbsp;&gt; -1. This will make merging code from 2.6 harder, and causes more work<br>
&gt; &nbsp;&gt; for porting C extensions.<br>
&gt;<br>
&gt; &nbsp;I&#39;m happy to pay the price for the sake of a clean and easy-to-recall C<br>
&gt; &nbsp;API.<br>
&gt;<br>
&gt; &nbsp;The for the C extension problem I already proposed a solution in the<br>
&gt; &nbsp;thread Benjamin mentioned before.<br>
&gt;<br>
&gt; &nbsp;#include &quot;Python.h&quot;<br>
&gt; &nbsp;#if PY_VERSION_HEX &gt; 0x03000000<br>
&gt; &nbsp; #include &quot;python2_compat.h&quot;<br>
&gt; &nbsp;#endif<br>
&gt;<br>
&gt; &nbsp;Where python2_compat provides aliases for PyInt and PyString:<br>
&gt;<br>
&gt; &nbsp;#define PyInt_Spam PyLong_Spam<br>
&gt; &nbsp;...<br>
&gt; &nbsp;#define PyString_Egg PyBytes_Egg<br>
<br>
</div>So this doesn&#39;t address merges at all. Suppose we have some C code<br>
that&#39;s shared between 2.6 and 3.0 and manipulates binary data (e.g.<br>
the gzip codec). It currently uses PyString on both branches, so any<br>
changes to the trunk merge smoothly into the py3k branch. But if you<br>
change PyString -&gt; PyBytes in the py3k branch, every change you make<br>
in the 2.6 code will cause a merge conflict. Is that really what you<br>
want? I worry that it will effectively separate the trunk and the py3k<br>
branch, losing the advantage of doing development that effects both at<br>
once.</blockquote><div>We could backport the python2_compact header. <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div><div></div><div class="Wj3C7c"><br>
--<br>
--Guido van Rossum (home page: <a href="http://www.python.org/%7Eguido/" target="_blank">http://www.python.org/~guido/</a>)<br>
</div></div></blockquote></div><br>