blob: bb4fc4172b9f1c5b809dd78bb5778ed29fd0b0ef [file] [log] [blame]
Jack Jansena1293da1996-08-28 13:51:11 +00001 Changes between 1.4b3 and 1.3.3
2 -------------------------------
3
4Aside from all the changes Guido made to the machine-independent part
5of Python the following mac-specific changes have been made:
6
7- The standard 68K Python is built for CFM68K. This means that PPC and
8 68K Python are now largely compatible, both supporting dynamically
9 loaded modules, python applets, etc.
10 As a result of this there have been numerous subtle changes in
11 filenames for PPC plugin modules and such, but these changes should
12 be transparent to Python programs.
13 The one missing module in cfm68k is Macspeech, for which no CFM68K
14 interface library is available (yet?).
15- Raise MemoryError on stack overflow.
16- Python now always uses 8-byte doubles.
17- Removed mactcp, macdnr and stdwin modules from standard
18 distribution.
19- New releases of Tcl/Tk (4.1p1), CWGUSI (1.7.2) and Waste (1.2f) have
20 been incorporated.
21- Macfs.SetFolder method added, which sets initial folder for standard
22 file dialogs.
23- New py_resource module to handle PYC resources.
24- List mgr objects "selFlags" and "listFlags" members now accessible.
25- QuickDraw got a few new symbolic constants.
26- Qt and Cm modules now live in a separate dynamically loadable
27 module, so other toolbox modules work if you don't have QuickTime
28 installed.
29- Old sound mgr calls {Set,Get}SoundVol removed, version number
30 interface changed.
31- Added convenience routines setarrowcursor and setwatchcursor to
32 FrameWork.
33- Bugfixes to time.sleep(), FrameWork, macostools,
34- Minor fixes/additions/updates to demos and documentation in the Demo
35 folder.
36- Internal changes:
37 - Ported to CW9
38 - mwerks_????_config.h organization rationalized
39 - Projects renamed to reflect architecture (ppc, cfm68k, 68k).
40 - various defines (HAVE_CONFIG_H, USE_MAC_DYNAMIC_LOADING) no longer
41 needed.
42 - shared-library architecture made more conforming to metrowerks
43 documentation. Check xx plugin projects if you have built your own
44 dynamically loaded modules.
45
46
47 Changes between 1.3.3 and 1.3.2
48 --------------------------------
49
50A major change since 1.3.2 is in the organization of the files: The
51Mac folder has mac-specific demo programs, attempts at documentation and
52more. Browse the HTML files in Mac:Demo for more info.
53
54Also, Toolbox:bgen is not needed anymore for normal use: the relevant
55python modules have been moved to Mac:Lib:toolbox.
56
57Other changes:
58- Uses final Tk 4.1 and Tcl 7.5 distributions.
59- Override preferences (stored in the interpreter/applet application)
60 allow overriding of system-wide preferences. Explained in
61 "using.html".
62- New functionality in FrameWork.py:
63 - ScrolledWindow class
64 - enable(), settext(), setitem(), setmark(), seticon(),
65 checkmenu() and delete() methods for menu entries.
66 - event parameter added to idle() method
67 - windowbounds() function helps programmer with staggering windows.
68 - Erase only visRgn on an update event.
69- TextEdit interface module added
70- Waste interface module added
71- Demos for waste, including skeleton for html editor
72- Scrap manager interface added
73- Ctl.FindControl() could return reference to deleted object. Fixed.
74- GrafPorts have an _id attribute (address of grafport) allowing them
75 to be compared (since a new python object is created each time).
76- Standard File folder no longer changed on chdir() (this was
77 introduced in 1.3.2).
78- sys.argv can now be set if you option-drag or option-click a python
79 source.
80- Various dialogs now have sensible defaults.
81- binhextree is now a bit more intelligent about when to binhex.
82- gensuitemodule fixed to hand '****' type arguments.
83
84 Changes between 1.3.2 and 1.3.1
85 -------------------------------
86
87The main reason for the 1.3.2 distribution is the availability of Tk
88for the mac. The Tk port and its integration in Python is definitely
89not bug-free, hence this distribution should be treated as beta
90software at best.
91
92Another major change in this release is that the Python I/O system is
93now based on the GUSI library. This is an I/O library that attempts to
94mimic a Posix I/O system. Hence, modules like socket and select are
95now available in MacPython. If you build dynamically loaded modules
96and you use any unix-like feature such as stat() calls you should
97compile using the GUSI include files.
98
99A third major change is that the MacOS creator code has been changed
100from 'PYTH' to 'Pyth', due to a conflict. This means that you will
101have to change the creator of all your old python programs. The
102distribution contains a script "FixCreator.py" that does this
103recursively for a whole folder.
104
105Here are all the changes since 1.3.1, in no particular order:
106- complex number support added
107- cmath module added
108- startup options ("option-drag" dialog) can be retrieved from the
109 preferences file. EditPythonPrefs hasn't been updated yet, though.
110- Creator changed from PYTH to Pyth
111- {mac,os}.unlink is now also called {mac,os}.remove
112- {mac,os}.mkdir second arg optional
113- dup and fdopen calls added
114- select module added
115- socket module added
116- open(file, '*r') for opening resource forks has been removed. It is
117 replaced by MacOS.openrf(file, 'r'), which returns a simple
118 file-like object to read (or write) resource forks.
119- Added AppleEvent URL suite
120- Added AppleEvent netscape suite
121- QuickDraw globals are now all accessible, as Qd.qd.xxxx
122
123
124 Mac-specific changes between 1.3 and 1.3.1
125 --------------------------------------
126
127Aside from the changes mentioned here there have also been some
128changes in the core python, but these are not documented here.
129However, these changes are mainly bugfixes, so there shouldn't be any
130incompatabilities.
131
132- imgsgi and imgpbm modules added
133- Various hooks installed to allow integration with MacTk (currently
134 disabled)
135- Added support for MacOS Fixed type in toolbox arguments (represented
136 as floats in python)
137- Added option to keep output window open on normal termination
138- Decreased minimum heapsize to run interpreter
139- Added progress-bar to EasyDialogs
140- Fixed socket.getportname()
141- Renamed MACTCP.py to MACTCPconst.py
142
143- Many fixes to FrameWork.py:
144 - Added window.SetPort() method
145 - Added optional bounds and resid parameters to Window.open()
146 - Fixed apple-menu DA handling
147 - Fixed activate-event handling
148 - Added default Application.makeusermenus() (File:Quit only)
149 - Fixed bug with keyboard input handling
150 - added idle() method, called from event loop if there are no events
151 pending
152
153Toolbox modules:
154- component manager module added
155- quicktime module added
156- font manager module added
157- Added color window support
158- Added support to obtain pixmap from a window
159- Added BitMap type
160- Added GrafPort type
161- Added support for PenState, Patterns, FontInfo, RGB colors,
162- Fixed GetPen and SetPt arguments
163- Added read access to members of {C}GrafPort objects
164- Added support for cursors
165- Provide access to some QuickDraw globals
166- Fixed InsetRect, OffsetRect, MapRect
167- Added support for various handles such as PatHandle, CursHandle
168- Added functions to access members of Window objects
169
170
171