Message109495
This is definitely the right way to do it. I expect that I will have only minor nit-picks as I go through the patch.
1. You can probably just do
#define PyStructSequence_SET_ITEM PyTuple_SET_ITEM
#define PyStructSequence_GET_ITEM PyTuple_GET_ITEM
there is no need to repeat the argument lists.
2. I am comparing PyStructSequence_New and PyTuple_New:
- PyStructSequence_New does not fill ob_item array with NULLs.
- PyStructSequence_New does not call _PyObject_GC_TRACK
I believe tp_free gets inherited, so structseq tp_new should follow what tuple's tp_new does. I am not 100% sure on the second point, though _PyObject_GC_TRACK may be redundant after PyObject_GC_NewVar.
3. In structseq_repr, do you need PyTuple_GetItem? I think you can get away with PyTuple_GET_ITEM, or better PyStructSequence_GET_ITEM. |
|
Date |
User |
Action |
Args |
2010-07-07 19:56:28 | belopolsky | set | recipients:
+ belopolsky, rhettinger, pitrou, eric.smith, benjamin.peterson, ezio.melotti, Arfrever |
2010-07-07 19:56:27 | belopolsky | set | messageid: <1278532587.85.0.224897434528.issue8413@psf.upfronthosting.co.za> |
2010-07-07 19:56:26 | belopolsky | link | issue8413 messages |
2010-07-07 19:56:25 | belopolsky | create | |
|