Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 1 | Changes in 2.1 since 2.0 |
Jack Jansen | 538bd13 | 2000-10-19 21:58:27 +0000 | [diff] [blame] | 2 | -------------------------- |
Jack Jansen | ecbc1cc | 1998-01-06 12:13:16 +0000 | [diff] [blame] | 3 | |
Jack Jansen | 26d7c14 | 2000-09-11 22:47:12 +0000 | [diff] [blame] | 4 | These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder) |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 5 | for machine-independent changes. Changes since 2.1b2 are |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 6 | marked with [*] and at the bottom of the list. |
Jack Jansen | ecbc1cc | 1998-01-06 12:13:16 +0000 | [diff] [blame] | 7 | |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 8 | - This release is optionally Carbon-based, so it runs natively on MacOS 8.1 or |
Jack Jansen | 2b73fe9 | 2001-03-27 21:38:55 +0000 | [diff] [blame] | 9 | later and MacOSX. (Note that on MacOSX MacPython will run as a normal Mac application, |
| 10 | if you want to run Python from the BSD commandline get a unix-Python distribution |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 11 | from www.python.org). |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 12 | - Alternatively there is a classic PPC interpreter as well. There are two reasons you |
| 13 | might want to use this: (a) you have a pre-MacOS9 system and don't want to install |
| 14 | CarbonLib, or (b) you need Tkinter, for which no Carbon version is available yet. |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 15 | - Distutils is included and seems to work. On 8.1 you may want to get Apple's |
| 16 | CarbonLib installer even if you plan to run classic, it contains the newer Appearance |
| 17 | Mgr which Python needs (according to rumour). |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 18 | - There's a new module (package, actually) mkcwproject which builds CodeWarrior |
| 19 | projects from simple templates. See Distutils or :Mac:scripts:genpluginprojects.py |
| 20 | for examples of use. |
Jack Jansen | 2b73fe9 | 2001-03-27 21:38:55 +0000 | [diff] [blame] | 21 | - The Numerical extension has moved to :Lib:site-python from :Extensions. As Numerical |
| 22 | is now distutils-based you can easily install newer versions when they become |
| 23 | available. |
Jack Jansen | 3aee775 | 2001-04-06 09:02:43 +0000 | [diff] [blame] | 24 | - The Help and ctb modules are not available under Carbon because that functionality is |
| 25 | not in Carbon. |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 26 | - Windows and Dialogs can now be different beasts, so you may have to call |
| 27 | dlg.GetDialogWindow() where you used to be able to call window methods straight |
| 28 | on the dialog. This also has consequences for code using FrameWork.DialogWindow. |
| 29 | THIS IS AN INCOMPATIBLE CHANGE. |
| 30 | - ctl.GetControlDataHandle() has been renamed to GetControlData_Handle(), and similarly |
| 31 | for the other variants of GetControlData and SetControlData. This was needed |
| 32 | because Carbon defines a completely different routine with the name GetControlDataHandle. |
| 33 | THIS IS AN INCOMPATIBLE CHANGE. |
| 34 | - Method mac.xstat() has disappeared. THIS IS AN INCOMPATIBLE CHANGE. |
| 35 | - Menu.SetPopupData() and GetPopupData() are gone. Use SetPopupMenuHandle() and |
| 36 | SetPopupMenuID() (and the getters) in stead. THIS IS AN INCOMPATIBLE CHANGE. |
| 37 | - Various methods have disappeared when running under Carbon. The script |
| 38 | :Mac:scripts:missingcarbonmethods.py can check your sources, but you need unix to run |
| 39 | it. Or use it as documentation and search by hand. THIS IS AN INCOMPATIBLE CHANGE. |
| 40 | - The good news is that "direct access to toolbox structs" still works from Python, |
| 41 | so Python programmers have a lot less to fix than C programmers. |
| 42 | That's because the lowlevel code simply uses the accessors internally. The accessors |
| 43 | are available both in Carbon and Classic MacPython. |
| 44 | - Scrap under Carbon is, you guessed it, the Carbon Scrap Manager. Some workarounds are |
| 45 | provided, though. THIS IS AN INCOMPATIBLE CHANGE. |
| 46 | - The Internet Config routines that are missing from Carbon have been removed. This |
| 47 | is no problem if you use the "ic" module, but may be if you use "icglue" directly. |
| 48 | THIS IS AN INCOMPATIBLE CHANGE. |
| 49 | - Various old toolbox names (CountMItems, EnableItem, etc) have disappeared. Use the |
| 50 | new forms (CountMenuItems, EnableMenuItem, etc). THIS IS AN INCOMPATIBLE CHANGE. |
| 51 | - Waste now uses Waste 2.0. |
| 52 | - The default memory size for the interpreter has been upped again. |
| 53 | - The MacOS error messages have been updated to reflect the current state of |
| 54 | things. This was long overdue. |
| 55 | - The crash in BuildApplication has been fixed. |
| 56 | - struct.pack related problems (in Audio_Mac, for example) have been fixed. |
| 57 | - (src/dev/cvs only): The project files now use the .mcp extension in stead of .prj. |
| 58 | Projects for almost all plugins and the img modules are automatically generated |
| 59 | with :Mac:scripts:genpluginprojects.py (also called by fullbuild). The .mcp files |
| 60 | are not in the repository, if you don't want to use genpluginprojects you can import |
| 61 | the .mcp.xml files in CodeWarrior. |
Jack Jansen | 24033e3 | 2001-02-27 23:24:07 +0000 | [diff] [blame] | 62 | - ConfigurePython has been replace by two applets: ConfigurePythonClassic and |
| 63 | ConfigurePythonCarbon. These will select either execution model for machines |
Jack Jansen | 9de05f4 | 2001-03-20 23:30:38 +0000 | [diff] [blame] | 64 | supporting both, and it will also build all the standard applets. |
Jack Jansen | cbe7b1c | 2001-03-06 22:42:12 +0000 | [diff] [blame] | 65 | - PythonInterpreterCarbon and PythonInterpreterClassic are now files of type "Atmp", not |
| 66 | "APPL", so there should not be any confusion as to what the real application is |
Jack Jansen | 9de05f4 | 2001-03-20 23:30:38 +0000 | [diff] [blame] | 67 | (PythonInterpreter). |
| 68 | - A BBEdit language module by Chris Stern is included in the :Mac:Contrib folder. |
Jack Jansen | 8ef786e | 2001-03-15 14:27:09 +0000 | [diff] [blame] | 69 | - The ConfigurePython applets will now detect if the preference file refers to a different |
Jack Jansen | 9de05f4 | 2001-03-20 23:30:38 +0000 | [diff] [blame] | 70 | folder than where they live. They offer to remove the preference file in this case. |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 71 | - Import case-check was broken in 2.1b1, this is fixed. |
| 72 | - A side-effect of the previous fix is that getpass works again. |
| 73 | - BuildApplication was broken under Carbon. Fixed. |
| 74 | - Morefindertools functionality integrated into findertools. [*] |
| 75 | - ped.py from Mac:Demo crashed, this has been fixed by making Win.WhichWindow more robust. [*] |
| 76 | - Tkinter mainloop is now a little less aggressive in eating events. [*] |
| 77 | - The Python console window is raised to the front when input is read. This fixes a hang |
| 78 | (for Carbon only) when crashing with a modal dialog open. [*] |
| 79 | - The menu bar is (again) restored when Python is terminating. [*] |
Jack Jansen | 46e1302 | 2000-09-24 22:01:53 +0000 | [diff] [blame] | 80 | |
Jack Jansen | 26d7c14 | 2000-09-11 22:47:12 +0000 | [diff] [blame] | 81 | |
| 82 | What is not in this distribution |
| 83 | -------------------------------- |
| 84 | |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 85 | - The garbage collection mods have not been enabled, mainly due to lack of test-time. |
Jack Jansen | 8ef786e | 2001-03-15 14:27:09 +0000 | [diff] [blame] | 86 | - Stackless Python/microthreads hasn't been ported to 2.1 yet. If/when it becomes available |
Jack Jansen | de51909 | 2000-10-12 21:21:43 +0000 | [diff] [blame] | 87 | Just will undoubtedly announce it on pythonmac-sig and the MacPython homepage. |
Jack Jansen | 26d7c14 | 2000-09-11 22:47:12 +0000 | [diff] [blame] | 88 | |
| 89 | Known problems |
| 90 | -------------- |
| 91 | |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 92 | This list is probably incomplete, more problems may be listed on the MacPython homepage, |
Jack Jansen | 26d7c14 | 2000-09-11 22:47:12 +0000 | [diff] [blame] | 93 | http://www.cwi.nl/~jack/macpython.html. |
| 94 | |
Jack Jansen | 9de05f4 | 2001-03-20 23:30:38 +0000 | [diff] [blame] | 95 | - Tkinter does not work under Carbon. |
Jack Jansen | 26d7c14 | 2000-09-11 22:47:12 +0000 | [diff] [blame] | 96 | - The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter. |
Jack Jansen | 4c52203 | 2001-03-08 23:07:16 +0000 | [diff] [blame] | 97 | - Tkinter file events do not work, unless you have opened the file through Tcl (but then |
| 98 | you cannot access it from Python). |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 99 | - Aliases may not work in sys.path entries. |
| 100 | - Under Carbon on OS9 only you may occasionally see a spurious KeyboardInterrupt. I have absolutely |
Jack Jansen | 2f9a9e3 | 2001-02-17 22:03:42 +0000 | [diff] [blame] | 101 | no clue as to what is causing this. |
Jack Jansen | 4c52203 | 2001-03-08 23:07:16 +0000 | [diff] [blame] | 102 | - PythonInterpreter used interactively will eat a lot of processor cycles. You should use |
Jack Jansen | c1218bc | 2001-04-25 22:11:24 +0000 | [diff] [blame] | 103 | PythonIDE for interactive work and PythonInterpreter for scripts only. This is especially |
| 104 | true under OSX. |