Victor,
Thanks for the updated patch.
I think you need to do a PyErr_Clear after the 'return PyLong_FromSize_t' line.
To be safe, you should probably check the exception type first, and either
do a PyErr_Clear and continue if it's an OverflowError, or just return
NULL if it's some other exception. It's true that _PyLong_NumBits can't
raise anything other than OverflowError at the moment, but you never know
when that might change. :)
I'm also getting a 'malformed table' warning when building the
documentation.