Patches item #1600346, was opened at 2006-11-21 06:57 Message generated for change (Comment added) made by jackdied You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1600346&group_id=5470
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Core (C code) Group: Python 3000 Status: Open Resolution: None Priority: 5 Private: No Submitted By: ganges master (gangesmaster) Assigned to: Nobody/Anonymous (nobody) Summary: __bool__ instead of __nonzero__ Initial Comment: this patch replaces __nonzero__ with __bool__, to make bool type symmetrical to all other types (__int__, __float__, etc.) some notes: * the latex docs have been updated * the slot name was changed from nb_nonzero to nb_bool * all XXX_nonzero methods where changed to XXX_bool * all the comments relating to nb_nonzero have been updated * stdlib was updated * all the test suites were updated otoh, i couldn't get it to compile (MSVC++2003), because of a strange bug in ceval.c (none of my code). seems the GETLOCAL macro causes syntactic problems, but i didn't have time to check it thoroughly. ---------------------------------------------------------------------- Comment By: Jack Diederich (jackdied) Date: 2006-11-22 14:58 Message: Logged In: YES user_id=591932 Originator: NO I'm not convinced slot_nb_bool is doing the right thing in the PyBool_Check(tmp) line. There used to be a "result = -1;" right after the PyErr_Format and there isn't anymore (maybe result gets set to -1 somewhere else but I can't tell where). Can you undo the refactoring of that function in general? Some of the decrefs moved around too and they look correct but it would be easier to tell if they just stayed the same. Also, did you mean to reindent the long_as_number struct in longobject.c? ---------------------------------------------------------------------- Comment By: Walter Dörwald (doerwalter) Date: 2006-11-22 13:55 Message: Logged In: YES user_id=89016 Originator: NO bool5.patch removes the check for int for the __len__() result as this is already done in the __len__() call itself. It adds a few tests to test_bool.py::BoolTest.test_convert_to_bool() and fixes the description of __bool__ in Doc/ref/ref3.tex. ---------------------------------------------------------------------- Comment By: ganges master (gangesmaster) Date: 2006-11-21 16:33 Message: Logged In: YES user_id=1406776 Originator: YES fixed a bug with type checking when using __len__ ---------------------------------------------------------------------- Comment By: ganges master (gangesmaster) Date: 2006-11-21 13:28 Message: Logged In: YES user_id=1406776 Originator: YES * slot_nb_bool now requires __bool__ to return only a boolean * tab-width issues (hopefully) fixed ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=305470&aid=1600346&group_id=5470 _______________________________________________ Patches mailing list [email protected] http://mail.python.org/mailman/listinfo/patches
