mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
Merging appropriate 2.1.1 fixes back into the main trunk.
This commit is contained in:
parent
cb60dae6a1
commit
cbed91b4db
26 changed files with 162 additions and 122 deletions
116
Mac/Relnotes
116
Mac/Relnotes
|
@ -1,83 +1,42 @@
|
|||
Changes in 2.1 since 2.0
|
||||
Changes in 2.1.1 since 2.1
|
||||
--------------------------
|
||||
|
||||
These release notes refer to Mac-specific changes only. See NEWS (in the Misc folder)
|
||||
for machine-independent changes. Changes since 2.1b2 are
|
||||
marked with [*] and at the bottom of the list.
|
||||
|
||||
- This release is optionally Carbon-based, so it runs natively on MacOS 8.1 or
|
||||
later and MacOSX. (Note that on MacOSX MacPython will run as a normal Mac application,
|
||||
if you want to run Python from the BSD commandline get a unix-Python distribution
|
||||
from www.python.org).
|
||||
- Alternatively there is a classic PPC interpreter as well. There are two reasons you
|
||||
might want to use this: (a) you have a pre-MacOS9 system and don't want to install
|
||||
CarbonLib, or (b) you need Tkinter, for which no Carbon version is available yet.
|
||||
- Distutils is included and seems to work. On 8.1 you may want to get Apple's
|
||||
CarbonLib installer even if you plan to run classic, it contains the newer Appearance
|
||||
Mgr which Python needs (according to rumour).
|
||||
- There's a new module (package, actually) mkcwproject which builds CodeWarrior
|
||||
projects from simple templates. See Distutils or :Mac:scripts:genpluginprojects.py
|
||||
for examples of use.
|
||||
- The Numerical extension has moved to :Lib:site-python from :Extensions. As Numerical
|
||||
is now distutils-based you can easily install newer versions when they become
|
||||
available.
|
||||
- The Help and ctb modules are not available under Carbon because that functionality is
|
||||
not in Carbon.
|
||||
- Windows and Dialogs can now be different beasts, so you may have to call
|
||||
dlg.GetDialogWindow() where you used to be able to call window methods straight
|
||||
on the dialog. This also has consequences for code using FrameWork.DialogWindow.
|
||||
THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- ctl.GetControlDataHandle() has been renamed to GetControlData_Handle(), and similarly
|
||||
for the other variants of GetControlData and SetControlData. This was needed
|
||||
because Carbon defines a completely different routine with the name GetControlDataHandle.
|
||||
THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- Method mac.xstat() has disappeared. THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- Menu.SetPopupData() and GetPopupData() are gone. Use SetPopupMenuHandle() and
|
||||
SetPopupMenuID() (and the getters) in stead. THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- Various methods have disappeared when running under Carbon. The script
|
||||
:Mac:scripts:missingcarbonmethods.py can check your sources, but you need unix to run
|
||||
it. Or use it as documentation and search by hand. THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- The good news is that "direct access to toolbox structs" still works from Python,
|
||||
so Python programmers have a lot less to fix than C programmers.
|
||||
That's because the lowlevel code simply uses the accessors internally. The accessors
|
||||
are available both in Carbon and Classic MacPython.
|
||||
- Scrap under Carbon is, you guessed it, the Carbon Scrap Manager. Some workarounds are
|
||||
provided, though. THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- The Internet Config routines that are missing from Carbon have been removed. This
|
||||
is no problem if you use the "ic" module, but may be if you use "icglue" directly.
|
||||
THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- Various old toolbox names (CountMItems, EnableItem, etc) have disappeared. Use the
|
||||
new forms (CountMenuItems, EnableMenuItem, etc). THIS IS AN INCOMPATIBLE CHANGE.
|
||||
- Waste now uses Waste 2.0.
|
||||
- The default memory size for the interpreter has been upped again.
|
||||
- The MacOS error messages have been updated to reflect the current state of
|
||||
things. This was long overdue.
|
||||
- The crash in BuildApplication has been fixed.
|
||||
- struct.pack related problems (in Audio_Mac, for example) have been fixed.
|
||||
- (src/dev/cvs only): The project files now use the .mcp extension in stead of .prj.
|
||||
Projects for almost all plugins and the img modules are automatically generated
|
||||
with :Mac:scripts:genpluginprojects.py (also called by fullbuild). The .mcp files
|
||||
are not in the repository, if you don't want to use genpluginprojects you can import
|
||||
the .mcp.xml files in CodeWarrior.
|
||||
- ConfigurePython has been replace by two applets: ConfigurePythonClassic and
|
||||
ConfigurePythonCarbon. These will select either execution model for machines
|
||||
supporting both, and it will also build all the standard applets.
|
||||
- PythonInterpreterCarbon and PythonInterpreterClassic are now files of type "Atmp", not
|
||||
"APPL", so there should not be any confusion as to what the real application is
|
||||
(PythonInterpreter).
|
||||
- A BBEdit language module by Chris Stern is included in the :Mac:Contrib folder.
|
||||
- The ConfigurePython applets will now detect if the preference file refers to a different
|
||||
folder than where they live. They offer to remove the preference file in this case.
|
||||
- Import case-check was broken in 2.1b1, this is fixed.
|
||||
- A side-effect of the previous fix is that getpass works again.
|
||||
- BuildApplication was broken under Carbon. Fixed.
|
||||
- Morefindertools functionality integrated into findertools. [*]
|
||||
- ped.py from Mac:Demo crashed, this has been fixed by making Win.WhichWindow more robust. [*]
|
||||
- Tkinter mainloop is now a little less aggressive in eating events. [*]
|
||||
- The Python console window is raised to the front when input is read. This fixes a hang
|
||||
(for Carbon only) when crashing with a modal dialog open. [*]
|
||||
- The menu bar is (again) restored when Python is terminating. [*]
|
||||
for machine-independent changes.
|
||||
|
||||
- Handling non-ascii characters in sys.path on non-MacRoman systems should be fixed,
|
||||
iff MacPython has a codec for the charset. Otherwise you should get an error, at least.
|
||||
Pathnames in sys.path also retain their original case again.
|
||||
- IDE could crash on corrupt preferences. Fixed.
|
||||
- IDE will now work if you use either pre or sre as re.
|
||||
- Evt.WaitNextEvent could give an error when bit 15 was set, which could cause a problem
|
||||
with IDE in classic mode. Fixed.
|
||||
- MacOS8.X users in classic mode had problems with Fm not loading, which also caused
|
||||
IDE not working. Fixed.
|
||||
- Fm.IsAntiAliasedTextEnabled and Fm.SetAntiAliasedTextEnabled have gone for now, to
|
||||
fix the problem above.
|
||||
- Disabled the Tkinter file I/O event handler, which was there but didn't work anyway.
|
||||
- Problems with loading dynamic modules that are part of a package into BuildApplication-
|
||||
generated programs were fixed.
|
||||
- The order of the EasyDialogs yes/no/cancel buttons has been conformed to the Mac
|
||||
standard.
|
||||
- Handling of Dialogs and Windows that were not created by Python is a bit more graceful
|
||||
now, which may fix some crashes.
|
||||
- Ctl.SendControlMessage has gone. But it didn't work anyway.
|
||||
- Various problems with the TextEdit and Waste demos have been fixed.
|
||||
- Embedding/extending only: in preparation to allowing the use of MacPython modules in
|
||||
unix-Python on OSX the xxx_New and xxx_Convert routines are now optionally vectored via
|
||||
glue routines in macglue.c. The only change that may be needed for embedders/extenders is
|
||||
that you may want to include pymactoolbox.h in your sources.
|
||||
- Embedding/extending only: Most MacPython source is now much more Mach-O friendly, and
|
||||
should work with Universal Headers 3.4.
|
||||
- Experimental: an Mlte module has been added, an interface to the Multi Lingual Text
|
||||
Engine. There is a minimal example in :Mac:Demos:mlte.
|
||||
- Experimental: some support for FSRef objects has been added. You can do little more that
|
||||
convert them to/from FSSpecs. Carbon only.
|
||||
- Experimental: the CF module has some support for CoreFoundation types. CFString
|
||||
and CFURL work, to a degree, and can be converted to/from Python strings and Unicode
|
||||
objects. Carbon only.
|
||||
|
||||
What is not in this distribution
|
||||
--------------------------------
|
||||
|
@ -92,6 +51,9 @@ Known problems
|
|||
This list is probably incomplete, more problems may be listed on the MacPython homepage,
|
||||
http://www.cwi.nl/~jack/macpython.html.
|
||||
|
||||
- MacPython 2.1.1 (and MacPython 2.1) will not run correctly on a multiprocessor MacOS X
|
||||
machine, it will quickly deadlock during I/O operations. The GUSI I/O library is suspected,
|
||||
hints/clues/workarounds are solicited.
|
||||
- Tkinter does not work under Carbon.
|
||||
- The IDE and Tkinter do not work together. Run tkinter programs under PythonInterpreter.
|
||||
- Tkinter file events do not work, unless you have opened the file through Tcl (but then
|
||||
|
@ -102,3 +64,5 @@ http://www.cwi.nl/~jack/macpython.html.
|
|||
- PythonInterpreter used interactively will eat a lot of processor cycles. You should use
|
||||
PythonIDE for interactive work and PythonInterpreter for scripts only. This is especially
|
||||
true under OSX.
|
||||
- AliasMenu 2.2 conflicts with the Carbon version of Python. This is most likely a problem
|
||||
with AliasMenu (which is from 1999, and thus predates Carbon altogether).
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue