As usual there were a bunch of other improvements and bugfixes scattered throughout the source tree. A search through the CVS change logs finds there were 527 patches applied and 683 bugs fixed between Python 2.1 and 2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches and fixed 82 bugs. These figures are likely to be underestimates.
Some of the more notable changes are:
The most significant change is the ability to build Python as a framework, enabled by supplying the --enable-framework option to the configure script when compiling Python. According to Jack Jansen, ``This installs a self-contained Python installation plus the OS X framework "glue" into /Library/Frameworks/Python.framework (or another location of choice). For now there is little immediate added benefit to this (actually, there is the disadvantage that you have to change your PATH to be able to find Python), but it is the basis for creating a full-blown Python application, porting the MacPython IDE, possibly using Python as a standard OSA scripting language and much more.''
Most of the MacPython toolbox modules, which interface to MacOS APIs such as windowing, QuickTime, scripting, etc. have been ported to OS X, but they've been left commented out in setup.py. People who want to experiment with these modules can uncomment them manually.
__future__
statements
from Python source code.
__future__
statements can now be correctly observed in
simulated shells, such as those presented by IDLE and other
development environments. This is described in PEP 264.
(Contributed by Michael Hudson.)
pow(x, y, z)
returns (x**y) % z
, but
this is never useful for floating point numbers, and the final
result varies unpredictably depending on the platform. A call such
as pow(2.0, 8.0, 7.0)
will now raise a TypeError
exception.
See About this document... for information on suggesting changes.