Changes between 1.4b3 and 1.3.3 ------------------------------- Aside from all the changes Guido made to the machine-independent part of Python the following mac-specific changes have been made: - The standard 68K Python is built for CFM68K. This means that PPC and 68K Python are now largely compatible, both supporting dynamically loaded modules, python applets, etc. As a result of this there have been numerous subtle changes in filenames for PPC plugin modules and such, but these changes should be transparent to Python programs. The one missing module in cfm68k is Macspeech, for which no CFM68K interface library is available (yet?). - Raise MemoryError on stack overflow. - Python now always uses 8-byte doubles. - Removed mactcp, macdnr and stdwin modules from standard distribution. - New releases of Tcl/Tk (4.1p1), CWGUSI (1.7.2) and Waste (1.2f) have been incorporated. - Macfs.SetFolder method added, which sets initial folder for standard file dialogs. - New py_resource module to handle PYC resources. - List mgr objects "selFlags" and "listFlags" members now accessible. - QuickDraw got a few new symbolic constants. - Qt and Cm modules now live in a separate dynamically loadable module, so other toolbox modules work if you don't have QuickTime installed. - Old sound mgr calls {Set,Get}SoundVol removed, version number interface changed. - Added convenience routines setarrowcursor and setwatchcursor to FrameWork. - Bugfixes to time.sleep(), FrameWork, macostools, - Minor fixes/additions/updates to demos and documentation in the Demo folder. - Internal changes: - Ported to CW9 - mwerks_????_config.h organization rationalized - Projects renamed to reflect architecture (ppc, cfm68k, 68k). - various defines (HAVE_CONFIG_H, USE_MAC_DYNAMIC_LOADING) no longer needed. - shared-library architecture made more conforming to metrowerks documentation. Check xx plugin projects if you have built your own dynamically loaded modules. Changes between 1.3.3 and 1.3.2 -------------------------------- A major change since 1.3.2 is in the organization of the files: The Mac folder has mac-specific demo programs, attempts at documentation and more. Browse the HTML files in Mac:Demo for more info. Also, Toolbox:bgen is not needed anymore for normal use: the relevant python modules have been moved to Mac:Lib:toolbox. Other changes: - Uses final Tk 4.1 and Tcl 7.5 distributions. - Override preferences (stored in the interpreter/applet application) allow overriding of system-wide preferences. Explained in "using.html". - New functionality in FrameWork.py: - ScrolledWindow class - enable(), settext(), setitem(), setmark(), seticon(), checkmenu() and delete() methods for menu entries. - event parameter added to idle() method - windowbounds() function helps programmer with staggering windows. - Erase only visRgn on an update event. - TextEdit interface module added - Waste interface module added - Demos for waste, including skeleton for html editor - Scrap manager interface added - Ctl.FindControl() could return reference to deleted object. Fixed. - GrafPorts have an _id attribute (address of grafport) allowing them to be compared (since a new python object is created each time). - Standard File folder no longer changed on chdir() (this was introduced in 1.3.2). - sys.argv can now be set if you option-drag or option-click a python source. - Various dialogs now have sensible defaults. - binhextree is now a bit more intelligent about when to binhex. - gensuitemodule fixed to hand '****' type arguments. Changes between 1.3.2 and 1.3.1 ------------------------------- The main reason for the 1.3.2 distribution is the availability of Tk for the mac. The Tk port and its integration in Python is definitely not bug-free, hence this distribution should be treated as beta software at best. Another major change in this release is that the Python I/O system is now based on the GUSI library. This is an I/O library that attempts to mimic a Posix I/O system. Hence, modules like socket and select are now available in MacPython. If you build dynamically loaded modules and you use any unix-like feature such as stat() calls you should compile using the GUSI include files. A third major change is that the MacOS creator code has been changed from 'PYTH' to 'Pyth', due to a conflict. This means that you will have to change the creator of all your old python programs. The distribution contains a script "FixCreator.py" that does this recursively for a whole folder. Here are all the changes since 1.3.1, in no particular order: - complex number support added - cmath module added - startup options ("option-drag" dialog) can be retrieved from the preferences file. EditPythonPrefs hasn't been updated yet, though. - Creator changed from PYTH to Pyth - {mac,os}.unlink is now also called {mac,os}.remove - {mac,os}.mkdir second arg optional - dup and fdopen calls added - select module added - socket module added - open(file, '*r') for opening resource forks has been removed. It is replaced by MacOS.openrf(file, 'r'), which returns a simple file-like object to read (or write) resource forks. - Added AppleEvent URL suite - Added AppleEvent netscape suite - QuickDraw globals are now all accessible, as Qd.qd.xxxx Mac-specific changes between 1.3 and 1.3.1 -------------------------------------- Aside from the changes mentioned here there have also been some changes in the core python, but these are not documented here. However, these changes are mainly bugfixes, so there shouldn't be any incompatabilities. - imgsgi and imgpbm modules added - Various hooks installed to allow integration with MacTk (currently disabled) - Added support for MacOS Fixed type in toolbox arguments (represented as floats in python) - Added option to keep output window open on normal termination - Decreased minimum heapsize to run interpreter - Added progress-bar to EasyDialogs - Fixed socket.getportname() - Renamed MACTCP.py to MACTCPconst.py - Many fixes to FrameWork.py: - Added window.SetPort() method - Added optional bounds and resid parameters to Window.open() - Fixed apple-menu DA handling - Fixed activate-event handling - Added default Application.makeusermenus() (File:Quit only) - Fixed bug with keyboard input handling - added idle() method, called from event loop if there are no events pending Toolbox modules: - component manager module added - quicktime module added - font manager module added - Added color window support - Added support to obtain pixmap from a window - Added BitMap type - Added GrafPort type - Added support for PenState, Patterns, FontInfo, RGB colors, - Fixed GetPen and SetPt arguments - Added read access to members of {C}GrafPort objects - Added support for cursors - Provide access to some QuickDraw globals - Fixed InsetRect, OffsetRect, MapRect - Added support for various handles such as PatHandle, CursHandle - Added functions to access members of Window objects