Jack Jansen | a1293da | 1996-08-28 13:51:11 +0000 | [diff] [blame] | 1 | Changes between 1.4b3 and 1.3.3 |
| 2 | ------------------------------- |
| 3 | |
| 4 | Aside from all the changes Guido made to the machine-independent part |
| 5 | of 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 | |
| 50 | A major change since 1.3.2 is in the organization of the files: The |
| 51 | Mac folder has mac-specific demo programs, attempts at documentation and |
| 52 | more. Browse the HTML files in Mac:Demo for more info. |
| 53 | |
| 54 | Also, Toolbox:bgen is not needed anymore for normal use: the relevant |
| 55 | python modules have been moved to Mac:Lib:toolbox. |
| 56 | |
| 57 | Other 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 | |
| 87 | The main reason for the 1.3.2 distribution is the availability of Tk |
| 88 | for the mac. The Tk port and its integration in Python is definitely |
| 89 | not bug-free, hence this distribution should be treated as beta |
| 90 | software at best. |
| 91 | |
| 92 | Another major change in this release is that the Python I/O system is |
| 93 | now based on the GUSI library. This is an I/O library that attempts to |
| 94 | mimic a Posix I/O system. Hence, modules like socket and select are |
| 95 | now available in MacPython. If you build dynamically loaded modules |
| 96 | and you use any unix-like feature such as stat() calls you should |
| 97 | compile using the GUSI include files. |
| 98 | |
| 99 | A third major change is that the MacOS creator code has been changed |
| 100 | from 'PYTH' to 'Pyth', due to a conflict. This means that you will |
| 101 | have to change the creator of all your old python programs. The |
| 102 | distribution contains a script "FixCreator.py" that does this |
| 103 | recursively for a whole folder. |
| 104 | |
| 105 | Here 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 | |
| 127 | Aside from the changes mentioned here there have also been some |
| 128 | changes in the core python, but these are not documented here. |
| 129 | However, these changes are mainly bugfixes, so there shouldn't be any |
| 130 | incompatabilities. |
| 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 | |
| 153 | Toolbox 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 | |