14 Porting to Python 2.4

Python 2.2

14 Porting to Python 2.4

This section lists previously described changes that may require changes to your code:

  • Left shifts and hexadecimal/octal constants that are too large no longer trigger a FutureWarning and return a value limited to 32 or 64 bits; instead they return a long integer.

  • Integer operations will no longer trigger an OverflowWarning. The OverflowWarning warning will disappear in Python 2.5.

  • The zip() built-in function and itertools.izip() now return an empty list instead of raising a TypeError exception if called with no arguments.

  • dircache.listdir() now passes exceptions to the caller instead of returning empty lists.

  • LexicalHandler.startDTD() used to receive the public and system IDs in the wrong order. This has been corrected; applications relying on the wrong order need to be fixed.

  • fcntl.ioctl now warns if the mutate argument is omitted and relevant.

  • The tarfile module now generates GNU-format tar files by default.

  • Encountering a failure while importing a module no longer leaves a partially-initialized module object in sys.modules.

  • None is now a constant; code that binds a new value to the name "None" is now a syntax error.

See About this document... for information on suggesting changes.