[Python-Dev] int/long FutureWarning
Mark Hammond
mhammond@skippinet.com.au
Thu, 28 Nov 2002 09:48:03 +1100
I figured that once I started pasting and checking code like:
"""
if sys.version_info >= (2, 3):
# sick off the new hex() warnings, and no time to digest what the
# impact will be!
import warnings
warnings.filterwarnings("ignore", category=FutureWarning, append=1)
"""
into the Mozilla source tree, it was time to start digesting!
Unfortunately, a simple answer seems to allude me whenever it is brought up
here.
So, to cut a long story short, I have lots and lots of script generated,
then often hand-edited source files with constants defined thus:
SOMETHING = 0x80000000
Which generate a warning telling me that this may become a positive long in
Python 2.4. All I really care about is how my C extension code, which does:
PyArg_ParseTuple("ilhH", ...) // Take your pick
is going to react to this change? (There are similar warnings for certain
shift operations too, but I believe they will all boil down to the same
issue)
People using the win32all extensions are unlikely to be happy with the
screenfulls of warning generated. I know I'm not <wink>. But I don't know
what to do.
I know I can suppress the warning either using the code I have above, or
simply by appending an L to each of the thousands of constants, or even
converting them all to decimal. But if nothing is going to change from the
POV of my C extensions, then changing all these constants just to suppress a
warning seems overkill.
Any suggestions for me?
Thanks,
Mark.