patch updated (hopefully for the last time. it got me all bored :)<br><br><br><div><span class="gmail_quote">On 11/21/06, <b class="gmail_sendername">Brett Cannon</b> &lt;<a href="mailto:brett@python.org">brett@python.org</a>
&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><br><div><span class="q"><span class="gmail_quote">On 11/21/06, <b class="gmail_sendername">
Walter Dörwald</b> &lt;<a href="mailto:walter@livinglogic.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">walter@livinglogic.de</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

tomer filiba wrote:<br>&gt; patch updated<br><br>You're fast! ;)<br><br>AFAICT now we have the following problem: If<br>Objects/typeobject.c::slot_nb_bool() falls back to using __len__(), the<br>return value of __len__() must be a bool.
</blockquote></span><div><br>Why can't the fallback usage just pass the return value from __len__ to bool() (forget the C function name) and return that result?&nbsp; It's just like doing::<br><br>&nbsp; def bool(obj):<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return obj.__bool__()
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except AttributeError:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return bool(len(obj))<br><br>-Brett<br></div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><span class="e" id="q_10f0c37df0731fe1_3">
Servus,<br>&nbsp;&nbsp; Walter<br><br>&gt; On 11/21/06, *Guido van Rossum* &lt;<a href="mailto:guido@python.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">guido@python.org</a><br>&gt; &lt;mailto:<a href="mailto:guido@python.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
guido@python.org</a>&gt;&gt; wrote:<br>&gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; I think it would set a good example if __bool__ was *required* to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; return exactly True or False and no other object, not even int<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; instances equal to 0 or 1. Surely that can't be much of a burden. Feel
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; free to upload an improved patch.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; On 11/21/06, Walter Dörwald &lt;<a href="mailto:walter@livinglogic.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">walter@livinglogic.de
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:walter@livinglogic.de" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
walter@livinglogic.de</a>&gt;&gt; wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Guido van Rossum wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt; On 11/21/06, Ivan Krstiæ &lt; <a href="mailto:krstic@solarsail.hcs.harvard.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
krstic@solarsail.hcs.harvard.edu</a><br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:krstic@solarsail.hcs.harvard.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">krstic@solarsail.hcs.harvard.edu</a>&gt;&gt; wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;&gt; Guido van Rossum wrote:
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;&gt;&gt; Can anyone help out evaluating this patch? If it has to wait
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; for me<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;&gt;&gt; it's gonna be a looooooong wait...<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;&gt; Looks fine to me functionally, although it seems to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; gratuitously retab<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;&gt; some code that used to be aligned with tabstop 8 to a tabstop of 4.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt; Thanks! I hope you meant &quot;indentation level&quot; instead of &quot;tabstop&quot;.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt; Tomer, can you fix the indentation to be whatever's prevailing<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp; in the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; &gt; file you're editing?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Another question is whether __bool__() should be allowed to return an<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; int (or any other object), or if it *must* be a bool. (The patch
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; currently allows ints). What if __bool__() returns subclasses of int,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; that overwrite __bool__() themself?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt; Servus,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;Walter<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; --<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; --Guido van Rossum (home page: <a href="http://www.python.org/%7Eguido/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.python.org/~guido/
</a>)<br>&gt;<br>&gt;<br><br></span></div>_______________________________________________
<span class="q"><br>Python-3000 mailing list<br><a href="mailto:Python-3000@python.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Python-3000@python.org</a><br><a href="http://mail.python.org/mailman/listinfo/python-3000" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.python.org/mailman/listinfo/python-3000</a><br></span>
Unsubscribe: <a href="http://mail.python.org/mailman/options/python-3000/brett%40python.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://mail.python.org/mailman/options/python-3000/brett%40python.org
</a><br></blockquote></div><br>
</blockquote></div><br>