Release notes for MacPython 1.5b3 --------------------------------- Open Issues and bugs: - Packages ("dotted import") appears to have problems for the cfm68k version of MacPython. Please report anything of interest you find as soon as possible, preferrably to pythonmac-sig@python.org. - import test.autotest fails the test_strftime test on %%. This is a bug in the MetroWerks C strftime() routine. Test_re takes a loooooooooong time, by the way. - Tk menus may or may not work. Please let me know. - Occasionally Python becomes non-reactive to mouseclicks after switching it to background and foreground again. If you experience this please let me know, explaining the circumstances. - Printing a NumPy "array([1.2])" may cause a crash in cfm68k-Python. If you have a 68k machine, a MetroWerks debugger, time and interest in NumPy: please let me know and I'll ask you to help hunting this bug. Changes since the previous version: Here are the mac-specific changes since MacPython 1.4, with end-user-visible changes near the top and API changes and other things that are developer-only more to the bottom. Changes marked with a [*] are new changes since 1.5a3 (there has not been a MacPython 1.5b1). And, of course, all Guido's 1.5-final changes are incorporated. - Moved Mac:Lib:toolbox and scripting to lib-toolbox and lib-scripting, analogous to Guido's changes. Initial sys.path settings reflect this change [*] - Added cPickle and cStringIO modules [*] - Balloon help in set-preferences dialog and EditPythonPrefs - An interface to the Help Maganer has been added - New modules "preferences" and "pythonprefs" which allow access to Python preferences and implements a general preference-handling framework. New EditPythonPrefs uses this. - Applescript suite modules are now in a separate Mac:Lib:scripting folder - Most modules now export their type objects - MacOS.SysBeep() and MacOS.GetTicks() added - sys.prefix and sys.exec_prefix are now set correctly - Installation is now through an installer - mkapplet and MkPluginAliases have been renamed to BuildApplet and ConfigurePython - Applescript classes and properties are now exported by suites. Very sketchy documentation added to applescript.html - Tkinter now uses tcl/tk 8.0 - imports should be faster due to caching path information - Generated suites now live in Mac:Lib:scripting - Added zlib module - Tkinter setfilehandler() did not work for sockets, fixed - "Delay console window" option didn't work, fixed. Also check out the quietconsole.py module - Menu bar is restored (if needed) when keeping console open after exit - Influencing command-. and event processing (formerly MacOS.SetYield and MacOS.SetScheduleTimes) has been changed, see the manual - FrameWork (or your own windowing code) can use asynchronous callbacks to keep user interface responsive during long computations - Module to interface to Internet Config added - Module calldll added that allows calling of arbitrary C routines from MacOS toolboxes - gdbm module added - ctb error handling fixed, and some memory leaks plugged - Various of the documentation files in Mac:Demo have been updated - MacOS.string_id_to_buffer is a new hack: the number you have to add to the id() of a string object to get the (data) memory address - MacOS.splash() double-free fixed - macfs.FSSpec.as_pathname() was incorrect for disk toplevel folders - QT.NewMovieFromFile has an extra parameter and an extra return value - EasyDialogs.ProgressBar has changed both in layout and interface - FrameWork.Application has a new cleanup() method which asks all windows to close themselves. - Loading of PYC resources from the application greatly speeded up, especially for CDROM based applications - interrupt check/eventloop only entered 10 times per second, giving big speedup - Allow any object (file, folder, disk) to be dropped on an applet - Twit resource number conflict with debuggee fixed - sys.path preference can now be longer than 255 chars - cfmfile module allows parsing and merging of CFRG resources - PythonFAT and PythonApplet are now fat (PPC/CFM68K) applications, so applets can be moved between architectures. - Twit resource number conflict with debuggee fixed - mkapplet now uses a progress bar in stead of print statements - unshar made a bit more mac-friendly (input output dialogs) - img: added png, xbm, bmp support - img: jpeg now uses IJG v6 library - img: import of imagefile support modules delayed until needed - img: better error handling for truncated images and such - img: imgop.unpack() can unpack formats with multiple pixels per byte - build numbers work and are maintained in macbuildno.h by fullbuild.py - We now use CW Pro 1, with multitarget projects and such goodies - fixed xx plugin project for cfm68k - All files updated to new Py_ naming convention - Toolbox modules regenerated from new Universal Headers - nfullpath() merged into PyMac_GetFullPath() - Added support for Metrowerks profiler - Standard MW/MSL runtime libraries used in stead of homegrown version - Allow any object (file, folder, disk) to be dropped on an applet - Malloc now returns cache-line-aligned memory on PPC, which speeds things up, especially on a 604. Dictionaries put this to good use. - statically linked pythons won't inadvertantly load .slb modules - Removed dependencies on PLStringFuncs and/or StdCLib - Project "segment" structure changed to more-or-less follow folder structure - fullbuild redesigned - Added PyMac_Initialize() call, for use by embedding programs.