Mercurial > cpython-lru_cache-weakref
annotate Mac/HISTORY @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | 95d6e17955ef |
| children |
| rev | line source |
|---|---|
|
5651
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
1 This file contains the release notes of older MacPython versions. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
2 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
3 Changes between 1.4 and 1.3.3 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
4 ------------------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
5 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
6 Aside from all the changes Guido made to the machine-independent part |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
7 of Python (see NEWS for those)the following mac-specific changes have |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
8 been made: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
9 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
10 - Preference file and other items in the System folder now have the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
11 version number in their name, so old and new python installations |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
12 can coexist. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
13 - Fixed a GUSI crash when exiting with files open. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
14 - Fixed interference with some extensions that added resources that |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
15 looked like ours. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
16 - Fixed slowness of Python in the background. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
17 - About box added (at last...). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
18 - New release of CWGUSI (1.8.0) incorporated. Note that for Tcl/Tk the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
19 4.1p1 release is still used (4.2 was a little too late). Everything |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
20 ported to CW10. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
21 - Applets can now turn off argc/argv processing (so they can do their |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
22 own initial AppleEvent handling). Applets can also delay opening the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
23 console window until it is actually used (and, hence, not open it at |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
24 all by refraining from using it). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
25 - MiniAEFrame: Preliminary AppleScript server support. Example code |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
26 provided, including an initial stab at writing CGI scripts in Python. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
27 - macfs: FindApplication() locates application given 4-char creator |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
28 code. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
29 - macfs: GetDates and SetDates get and set creation date, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
30 - FrameWork: preferred method of ending mainloop() is calling _quit(). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
31 - FrameWork: different menubar handling resulting in less flashing |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
32 during menu creation. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
33 - FrameWork: added setarrowcursor and setwatchcursor functions. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
34 - findertools: new module that makes various finder features |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
35 available. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
36 - macostools: copy file times too. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
37 - macostools: added touch() to tell finder about changes to a file. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
38 - macerrors: New module with symbolic names for all os-releated |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
39 errors. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
40 - EasyDialogs: ProgressBar fixed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
41 - aetools: start application if needed |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
42 - aetools: use aetools.error for server-generated errors, MacOS.error |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
43 for communication errors, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
44 - Finder_7_0_Suite: New module with the "simple" finder scripting |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
45 interface. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
46 - mac (aka os): xstat() returns resourcesize, creator, type in |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
47 addition to stat() information. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
48 - MacOS: added DebugStr method to drop to low-level debugger. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
49 - MacOS: fixed splash() to actually draw the splash box:-) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
50 - Ctl: fixed very nasty bug in DisposeControl and object deletion. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
51 - Dlg: Added GetDialogWindow and other accessor functions |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
52 - Waste: fixed bug with object hanlder installation |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
53 - Waste: added tab support |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
54 - time: added strftime |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
55 - twit: a windowing debugger for Python (preliminary release) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
56 - BBPy: a BBEdit extension that send scripts to the Python interpreter, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
57 by Just van Rossum. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
58 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
59 The following set of changes were already in place for the 1.4b3 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
60 release: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
61 - The standard 68K Python is built for CFM68K. This means that PPC and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
62 68K Python are now largely compatible, both supporting dynamically |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
63 loaded modules, python applets, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
64 As a result of this there have been numerous subtle changes in |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
65 filenames for PPC plugin modules and such, but these changes should |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
66 be transparent to Python programs. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
67 The one missing module in cfm68k is Macspeech, for which no CFM68K |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
68 interface library is available (yet?). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
69 - Raise MemoryError on stack overflow. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
70 - Python now always uses 8-byte doubles. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
71 - Removed mactcp, macdnr and stdwin modules from standard |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
72 distribution. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
73 - New releases of Tcl/Tk (4.1p1), CWGUSI (1.7.2) and Waste (1.2f) have |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
74 been incorporated. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
75 - Macfs.SetFolder method added, which sets initial folder for standard |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
76 file dialogs. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
77 - New py_resource module to handle PYC resources. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
78 - List mgr objects "selFlags" and "listFlags" members now accessible. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
79 - QuickDraw got a few new symbolic constants. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
80 - Qt and Cm modules now live in a separate dynamically loadable |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
81 module, so other toolbox modules work if you don't have QuickTime |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
82 installed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
83 - Old sound mgr calls {Set,Get}SoundVol removed, version number |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
84 interface changed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
85 - Added convenience routines setarrowcursor and setwatchcursor to |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
86 FrameWork. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
87 - Bugfixes to time.sleep(), FrameWork, macostools, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
88 - Minor fixes/additions/updates to demos and documentation in the Demo |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
89 folder. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
90 - Internal changes: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
91 - Ported to CW9 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
92 - mwerks_????_config.h organization rationalized |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
93 - Projects renamed to reflect architecture (ppc, cfm68k, 68k). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
94 - various defines (HAVE_CONFIG_H, USE_MAC_DYNAMIC_LOADING) no longer |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
95 needed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
96 - shared-library architecture made more conforming to metrowerks |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
97 documentation. Check xx plugin projects if you have built your own |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
98 dynamically loaded modules. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
99 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
100 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
101 Changes between 1.3.3 and 1.3.2 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
102 -------------------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
103 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
104 A major change since 1.3.2 is in the organization of the files: The |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
105 Mac folder has mac-specific demo programs, attempts at documentation and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
106 more. Browse the HTML files in Mac:Demo for more info. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
107 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
108 Also, Toolbox:bgen is not needed anymore for normal use: the relevant |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
109 python modules have been moved to Mac:Lib:toolbox. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
110 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
111 Other changes: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
112 - Uses final Tk 4.1 and Tcl 7.5 distributions. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
113 - Override preferences (stored in the interpreter/applet application) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
114 allow overriding of system-wide preferences. Explained in |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
115 "using.html". |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
116 - New functionality in FrameWork.py: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
117 - ScrolledWindow class |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
118 - enable(), settext(), setitem(), setmark(), seticon(), |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
119 checkmenu() and delete() methods for menu entries. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
120 - event parameter added to idle() method |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
121 - windowbounds() function helps programmer with staggering windows. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
122 - Erase only visRgn on an update event. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
123 - TextEdit interface module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
124 - Waste interface module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
125 - Demos for waste, including skeleton for html editor |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
126 - Scrap manager interface added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
127 - Ctl.FindControl() could return reference to deleted object. Fixed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
128 - GrafPorts have an _id attribute (address of grafport) allowing them |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
129 to be compared (since a new python object is created each time). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
130 - Standard File folder no longer changed on chdir() (this was |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
131 introduced in 1.3.2). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
132 - sys.argv can now be set if you option-drag or option-click a python |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
133 source. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
134 - Various dialogs now have sensible defaults. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
135 - binhextree is now a bit more intelligent about when to binhex. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
136 - gensuitemodule fixed to hand '****' type arguments. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
137 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
138 Changes between 1.3.2 and 1.3.1 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
139 ------------------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
140 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
141 The main reason for the 1.3.2 distribution is the availability of Tk |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
142 for the mac. The Tk port and its integration in Python is definitely |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
143 not bug-free, hence this distribution should be treated as beta |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
144 software at best. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
145 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
146 Another major change in this release is that the Python I/O system is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
147 now based on the GUSI library. This is an I/O library that attempts to |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
148 mimic a Posix I/O system. Hence, modules like socket and select are |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
149 now available in MacPython. If you build dynamically loaded modules |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
150 and you use any unix-like feature such as stat() calls you should |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
151 compile using the GUSI include files. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
152 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
153 A third major change is that the MacOS creator code has been changed |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
154 from 'PYTH' to 'Pyth', due to a conflict. This means that you will |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
155 have to change the creator of all your old python programs. The |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
156 distribution contains a script "FixCreator.py" that does this |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
157 recursively for a whole folder. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
158 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
159 Here are all the changes since 1.3.1, in no particular order: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
160 - complex number support added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
161 - cmath module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
162 - startup options ("option-drag" dialog) can be retrieved from the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
163 preferences file. EditPythonPrefs hasn't been updated yet, though. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
164 - Creator changed from PYTH to Pyth |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
165 - {mac,os}.unlink is now also called {mac,os}.remove |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
166 - {mac,os}.mkdir second arg optional |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
167 - dup and fdopen calls added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
168 - select module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
169 - socket module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
170 - open(file, '*r') for opening resource forks has been removed. It is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
171 replaced by MacOS.openrf(file, 'r'), which returns a simple |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
172 file-like object to read (or write) resource forks. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
173 - Added AppleEvent URL suite |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
174 - Added AppleEvent netscape suite |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
175 - QuickDraw globals are now all accessible, as Qd.qd.xxxx |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
176 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
177 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
178 Mac-specific changes between 1.3 and 1.3.1 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
179 -------------------------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
180 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
181 Aside from the changes mentioned here there have also been some |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
182 changes in the core python, but these are not documented here. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
183 However, these changes are mainly bugfixes, so there shouldn't be any |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
184 incompatabilities. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
185 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
186 - imgsgi and imgpbm modules added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
187 - Various hooks installed to allow integration with MacTk (currently |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
188 disabled) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
189 - Added support for MacOS Fixed type in toolbox arguments (represented |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
190 as floats in python) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
191 - Added option to keep output window open on normal termination |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
192 - Decreased minimum heapsize to run interpreter |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
193 - Added progress-bar to EasyDialogs |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
194 - Fixed socket.getportname() |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
195 - Renamed MACTCP.py to MACTCPconst.py |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
196 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
197 - Many fixes to FrameWork.py: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
198 - Added window.SetPort() method |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
199 - Added optional bounds and resid parameters to Window.open() |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
200 - Fixed apple-menu DA handling |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
201 - Fixed activate-event handling |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
202 - Added default Application.makeusermenus() (File:Quit only) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
203 - Fixed bug with keyboard input handling |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
204 - added idle() method, called from event loop if there are no events |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
205 pending |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
206 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
207 Toolbox modules: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
208 - component manager module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
209 - quicktime module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
210 - font manager module added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
211 - Added color window support |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
212 - Added support to obtain pixmap from a window |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
213 - Added BitMap type |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
214 - Added GrafPort type |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
215 - Added support for PenState, Patterns, FontInfo, RGB colors, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
216 - Fixed GetPen and SetPt arguments |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
217 - Added read access to members of {C}GrafPort objects |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
218 - Added support for cursors |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
219 - Provide access to some QuickDraw globals |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
220 - Fixed InsetRect, OffsetRect, MapRect |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
221 - Added support for various handles such as PatHandle, CursHandle |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
222 - Added functions to access members of Window objects |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
223 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
224 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
225 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
226 Changes since 1.3beta3 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
227 ---------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
228 - MkPluginAliases.py now works in a virgin distribution environment. It is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
229 also distributed as an applet. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
230 - hexbin from binhex.py has been fixed |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
231 - various bits and pieces in readme files clarified |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
232 - mkapplet bug wrt owner resource (and, hence, trouble starting applets) fixed. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
233 - Compiled with CodeWarrior 7. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
234 - AE client modules generated with gensuitemodule.py now use keyword args. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
235 - img modules updated to latest version (including pbm and sgi support). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
236 - Everything compiled with all optimization options available. Let me know |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
237 if you suspect errors that are due to this. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
238 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
239 Changes since Python 1.2 for the mac |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
240 ------------------------------------ |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
241 - PPC python now uses a shared library organization. This allows the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
242 creation of dynamically loadable extension modules (contact me) and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
243 creation of python applets (see mkapplet.py). A number of previously |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
244 builtin modules are now dynamically loaded. Dynamically loaded |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
245 modules are distributed in the PlugIns folder. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
246 - Python modules can live in 'PYC ' resources (with a name equal to the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
247 module name, so many modules can live in a single file). If you put a |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
248 file (in stead of a folder) in sys.path its resources will be searched. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
249 See the PackLibDir script for creating such a file. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
250 - new binhex module (partially working, hexbin has problems) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
251 - Python now has a Preferences file, editable with |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
252 EditPythonPrefs. Remembered are the python 'home folder' and the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
253 initial value for sys.path. If no preferences file is found a simple |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
254 one is created. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
255 NOTE: this only works correctly if you start python the first time |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
256 from the correct folder. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
257 - new img modules, to read/write/convert images in various formats |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
258 - new MacOS toolbox modules: AE, Ctl, Dlg, Event, List, Qd, Res, Snd |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
259 and Win. These provide access to various of the MacOS toolbox |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
260 interfaces. No documentation yet, but the __doc__ strings provide at |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
261 least the calling sequence (and Inside Mac will give you the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
262 semantics). Minimal demos are provided for most toolbox interfaces, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
263 and the 'scripts' directory has some more examples. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
264 - AppleEvent client interfaces can be generated from aete/aeut |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
265 resources. No support for objects yet, nor for server interfaces. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
266 - Lib:mac:FrameWork.py has an application framework (under |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
267 construction). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
268 - (PPC Only) support for building Python applets: tiny standalone |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
269 python applications. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
270 - fp = open(filename, '*r') opens resource-fork of a file for reading |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
271 (and similar for writing). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
272 - option-dragging a file to the interpreter (or immedeately pressing |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
273 <option> after launching python) will bring up an Options dialog |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
274 allowing you to set options like import-tracing, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
275 - MacOS module method added: GetErrorString(OSErr) -> error string |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
276 - There is now a numbering convention for resource-ID's: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
277 128-255 Resources used by the interpreter itself |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
278 256-511 Resources used by standard modules |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
279 512- Resources for applications |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
280 - macfs module changes: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
281 - StandardGetFile without type arguments now shows all files |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
282 - PromptGetFile(prompt, ...) is like StandardGetFile but with a |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
283 prompt |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
284 - GetDirectory (let user select a folder) added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
285 - GetFInfo and SetFInfo methods of FSSpec objects get/set finder |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
286 info. FInfo objects have attributes Creator, Type, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
287 - FindFolder (locate trash/preferences/etc) added |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
288 - mactcp/macdnr changes: bug fix wrt idle-loop. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
289 - EditPythonPrefs script: change initial sys.path and python home |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
290 folder |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
291 - (PPC only) MkPluginAliases: Setup aliases for dynamically loadable |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
292 modules that live in a single shared library |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
293 - PackLibDir: Convert Lib directory to a single resource file |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
294 containing all .pyc code |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
295 - fixfiletypes: Set file types based on file extension over a whole |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
296 tree. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
297 - RunLibScript: Run any script as main program, optionally redirecting |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
298 stdin/stdout, supplying arguments, etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
299 - binhextree: Binhex all files in a tree, depending on the extension. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
300 - (PPC only) mkapplet: Create a python applet from a sourcefile and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
301 (optional) resourcefile. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
302 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
303 PYTHON 1.2 FOR THE MACINTOSH |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
304 **************************** |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
305 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
306 Python can be built on the Mac using either THINK C 6.0 (or 7.0), or |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
307 CodeWarrior 5.0 (for 68K and PPC). In the past it has also been compiled |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
308 with earlier versions of Think, but no guarantees are made that the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
309 source is still compatible with those versions. (Think C 5.0 appears |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
310 to be OK.) Likewise, new compiler versions may effectively change the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
311 language accepted (or the library provided!) and thus cause problems. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
312 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
313 MPW is a special case -- it used to be possible to build Python as |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
314 an MPW tool using MPW 3.2, and this may still work, but I haven't |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
315 tried this lately. What I have tried, however, is building Python |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
316 as a shared library for CFM-68K, using the Symantec C compiler for MPW. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
317 See subdirectory MPW and the README file there for more info. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
318 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
319 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
320 1. Using Think C 6.0 (or 7.0) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
321 ============================= |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
322 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
323 1.1 The directory structure |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
324 --------------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
325 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
326 I duplicate the UNIX directory structure from the distribution. The |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
327 subdirectories needed to compile are: Mac, Include, Parser, Python, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
328 Objects, Modules. (Don't bother with Grammar and the parser |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
329 generator, nor with the Doc subdirectory.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
330 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
331 For running and testing, you also need Lib and its subdirectories test |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
332 and stdwin. You could also copy some things from the Demo/stdwin |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
333 directory (unfortunately most other demos are UNIX specific and even |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
334 many stdwin demos are). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
335 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
336 Make sure there is no config.c file in the Modules subdirectory (if |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
337 you copy from a directory where you have done a UNIX build this might |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
338 occur). Also don't use the config.h generated on UNIX. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
339 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
340 1.2 The project file |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
341 -------------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
342 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
343 I put all source files in one project, which I place in the parent |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
344 directory of the source directories. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
345 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
346 1.2.1 Project type |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
347 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
348 (This is the Set Project Type... dialog in the Project menu.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
349 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
350 Set the creator to PYTH; turn on "far data"; leave "far code" and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
351 "separate strs" unchecked (they just serve to bloat the application). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
352 A partition size of 1000K should be enough to run the standard test |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
353 suite (which requires a lot of memory because it stress tests the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
354 parser quite a bit) and most demos or medium-size applications. The |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
355 interpreter will do basic things in as little at 500K but this may |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
356 prevent parsing larger modules. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
357 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
358 1.2.2 Compiler options |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
359 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
360 (This is the Options -> THINK C ... dialog in the Edit menu.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
361 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
362 - Start with Factory Settings. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
363 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
364 - In the Prefix, remove #include <MacHeaders> and add |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
365 #define HAVE_CONFIG_H |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
366 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
367 - Choose any optimizer and debugger settings you like. - You |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
368 can choose 4-byte ints if you want. This requires that you |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
369 rebuild the ANSI and unix libraries with 4-bytes ints as well |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
370 (better make copies with names like ANSI 32 bit). With 4-byte |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
371 ints the interpreter is marginally bigger and somewhat (~10%) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
372 slower, but Python programs can use strings and lists with |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
373 more than 32000 items (with 2-byte ints these can cause |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
374 crashes). The range of Python integers is not affected (these |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
375 are always represented as longs). In fact, nowadays I always |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
376 use 4-byte integers, since it is actually rather annoying that |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
377 strings >= 64K cause crashes. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
378 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
379 1.2.3 Files to add |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
380 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
381 (This is the Add Files... dialog in the Source menu.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
382 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
383 The following source files must be added to the project. I use a |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
384 separate segment for each begin letter -- this avoids segment |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
385 overflow, except for 'c', where you have to put either ceval.c or |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
386 compile.c in a separate segment. You could also group them by |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
387 subdirectory or function, but you may still have to split segments |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
388 arbitrarily because of the 32000 bytes restriction. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
389 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
390 - From Mac: all .c files. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
391 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
392 - From Parser: acceler.c, grammar1.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
393 myreadline.c, node.c, parser.c, parsetok.c, tokenizer.c. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
394 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
395 - From Python: bltinmodule.c, ceval.c, cgensupport.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
396 compile.c, errors.c, getargs.c getopt.c, graminit.c, import.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
397 importdl.c, marshal.c, modsupport.c, mystrtoul.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
398 pythonmain.c, pythonrun.c, sigcheck.c, structmember.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
399 sysmodule.c, traceback.c (i.e. all .c files except dup2.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
400 fmod.c, frozenmain.c, getcwd.c, getmtime.c, memmove.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
401 sigcheck.c, strerror.c, strtod.c, thread.c) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
402 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
403 - From Objects: all .c files except xxobject.c. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
404 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
405 - From Modules: all the modules listed in config.c (in the Mac |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
406 subdirectory) in the initializer for inittab[], before |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
407 "ADDMODULE MARKER 2". Also add md5c.c if you add md5module.c, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
408 and regexpr.c if you add regexmodule.c. (You'll find |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
409 macmodule.c in the Mac subdirectory, so it should already have |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
410 been added in a previous step.) Note that for most modules, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
411 the source file is called <name>module.c, but for a few long |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
412 module names it is just <module>.c. Don't add stdwinmodule.c |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
413 yet, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
414 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
415 The following THINK C libraries must be added: from Standard |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
416 Libraries, ANSI and unix; from Mac Libraries, MacTraps. I put each |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
417 library in a separate segment. Also see my earlier remark on 4-byte |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
418 ints. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
419 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
420 1.4 Adding STDWIN |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
421 ----------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
422 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
423 STDWIN is built in two separate projects: stdwin.pi contains the core |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
424 STDWIN implementation from Ports/mac, textedit.pi contains the files |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
425 from Packs/textedit. Use the same compiler options as for Python and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
426 the same general source setup (in a sister directory of the toplevel |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
427 Python directory). Put all sources in the same segment. To |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
428 stdwin.pi, also add Tools/strdup.c and Gen/wtextbreak.c. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
429 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
430 The two projects can now be added as libraries to the Python project. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
431 You must also add stdwinmodule.c and add "#define USE_STDWIN" to the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
432 Prefix in the compiler options dialog (this only affects macmain.c and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
433 config.c). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
434 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
435 Note that stdwinmodule.c contains an #include statement that |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
436 references "stdwin.h" by relative path name -- if the stdwin toplevel |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
437 directory is not a sibling of the python toplevel directory, you may |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
438 have to adjust the number of colons in the pathname. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
439 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
440 1.5 Resources |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
441 ------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
442 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
443 Since I created them with ResEdit I have no text source of the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
444 resources needed to give the application an icon etc... You can copy |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
445 the size, bundle, file reference and icon resources from the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
446 distributed Python application with ResEdit. THINK C automatically |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
447 copies resources into the application file from a file |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
448 <projectname>.rsrc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
449 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
450 1.6 Think C 5.0 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
451 --------------- |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
452 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
453 Tim Gilbert adds one note that will be helpful to future Think C 5.0 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
454 users: When you have a really big project like python, and you want to |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
455 compile and run it, if you just hit Command-R, often Think C will |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
456 compile the remaining files, think for a moment, and then give you a |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
457 warning "internal error(ZREF)--please remove objects." Don't listen |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
458 to it. It is lying. What you should do instead is "Check Link..." |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
459 and _then_ hit Run. Why? Ask Symantec. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
460 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
461 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
462 2. Using MicroWerks CodeWarrior 5.0 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
463 =================================== |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
464 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
465 Essentially, follow the instructions for Think C. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
466 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
467 XXX Should at least list the project options. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
468 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
469 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
470 --Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl> |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
471 <URL:http://www.cwi.nl/cwi/people/Guido.van.Rossum.html> |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
472 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
473 PYTHON RELEASE NOTES FOR THE MACINTOSH |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
474 VERSION 1.1 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
475 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
476 For the most part, Python on the Mac works just like Python under UNIX. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
477 The most important differences are: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
478 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
479 - Since there is no shell environment on the Mac, the start-up file |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
480 has a fixed name: PythonStartup. If a file by this name exists |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
481 (either in the current folder or in the system folder) it is executed |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
482 when an interactive interpreter is started. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
483 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
484 - The default search path for modules is different: first the current |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
485 directory is searched, then the subdirectories 'lib', 'lib:stdwin' and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
486 'demo'. As always, you can change this (e.g. in your PythonStartup |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
487 file) by assigning or appending to sys.path -- use Macintosh pathnames! |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
488 (The default contains no absolute paths because these are unlikely |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
489 to make sense on other people's hard disks.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
490 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
491 - The user interface for typing interactive commands is different. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
492 This is actually the THINK C console I/O module, which is based on |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
493 the Mac toolbox TextEdit. A standard Edit menu provides Cut, Copy, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
494 Paste and Clear (Undo is only there for Desk Accessories). A minimal |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
495 File menu provides Quit, which immediately exits the application, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
496 without the usual cleanup. You can Copy from previous output, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
497 but you can't scroll back beyond the 24x80 screen. The TAB key |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
498 always brings you to the end of the current input line; indentation |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
499 must be entered with spaces (a single space is enough). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
500 End-of-file is generated by Command-D; Command-Period interrupts. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
501 There is an annoying limit in the length of an input line to a single |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
502 screen line (less the prompt). Use \ to input long statements. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
503 Change your program if it requires long lines typed on input. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
504 Even though there is no resize box, the window can be resized by |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
505 dragging its bottom right corner, but the maximum size is 24x80. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
506 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
507 - Tabs in module files are interpreted as 4 (four!) spaces. This is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
508 consistent with most Mac editors that I know. For individual files |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
509 you can change the tab size with a comment like |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
510 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
511 # vi:set tabsize=8: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
512 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
513 (exactly as shown here, including the colons!). If you are consistent |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
514 in always using tabs for indentation on UNIX, your files will be |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
515 parsed correctly on the Mac, although they may look funny if you |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
516 have nicely lined-up comments or tables using tabs. Never using tabs |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
517 also works. Mixing tabs and spaces to simulate 4-character indentation |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
518 levels is likely to fail. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
519 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
520 - You can start a script from the Finder by selecting the script and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
521 the Python interpreter together and then double clicking. If you |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
522 make the owner of the script PYTH (the type should always be TEXT) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
523 Python will be launched if you double click it! |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
524 There is no way to pass command line arguments to Python scripts. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
525 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
526 - The set of built-in modules is different: |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
527 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
528 = Operating system functions for the 'os' module is provided by the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
529 built-in module 'mac', not 'posix'. This doesn't have all the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
530 functions from posix, for obvious reasons (if you know the Mac |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
531 O/S a little bit). The functions in os.path are provided by |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
532 macpath, they know about Mac pathnames etc. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
533 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
534 = None of the UNIX specific modules ('socket', 'pwd', 'grp' etc.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
535 exists. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
536 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
537 = Module 'stdwin' is always available. It uses the Mac version of |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
538 STDWIN, which interfaces directly with the Mac toolbox. The most |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
539 important difference is in the font names; setfont() has a second |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
540 argument specifying the point size and an optional third one |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
541 specifying the variation: a single letter character string, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
542 'i' for italics, 'b' for bold. Note that when STDWIN is waiting |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
543 for events, the standard File and Edit menus are inactive but |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
544 still visible, and (most annoyingly) the Apple menu is also inactive; |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
545 conversely, menus put up by STDWIN are not active when the Python is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
546 reading from the keyboard. If you open Python together with a text |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
547 file containing a Python script, the script will be executed and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
548 a console window is only generated when the script uses standard |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
549 input or output. A script that uses STDWIN exclusively for its I/O |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
550 will have a working Apple menu and no extraneous File/Edit menus. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
551 (This is because both stdwin and stdio try to initialize the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
552 windowing environment; whoever gets there first owns the Apple menu.) |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
553 LIMITATIONS: a few recent additions to STDWIN for X11 have not yet |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
554 been added to the Mac version. There are no bitmap objects, and |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
555 the setwinpos() and setwinsize() methods are non--functional. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
556 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
557 - Because launching an application on the Mac is so tedious, you will |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
558 want to edit your program with a desk accessory editor (e.g., Sigma |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
559 edit) and test the changed version without leaving Python. This is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
560 possible but requires some care. Make sure the program is a module |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
561 file (filename must be a Python identifier followed by '.py'). You |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
562 can then import it when you test it for the first time. There are |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
563 now three possibilities: it contains a syntax error; it gets a runtime |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
564 error (unhandled exception); or it runs OK but gives wrong results. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
565 (If it gives correct results, you are done testing and don't need |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
566 to read the rest of this paragraph. :-) Note that the following |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
567 is not Mac-specific -- it's just that on UNIX it's easier to restart |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
568 the entire script so it's rarely useful. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
569 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
570 Recovery from a syntax error is easy: edit the file and import it |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
571 again. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
572 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
573 Recovery from wrong output is almost as easy: edit the file and, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
574 instead of importing it, call the function reload() with the module |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
575 name as argument (e.g., if your module is called foo, type |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
576 "reload(foo)"). |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
577 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
578 Recovery from an exception is trickier. Once the syntax is correct, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
579 a 'module' entry is placed in an internal table, and following import |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
580 statements will not re-read the file, even if the module's initialization |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
581 terminated with an error (one reason why this is done is so that |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
582 mutually recursive modules are initialized only once). You must |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
583 therefore force re-reading the module with reload(), however, if this |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
584 happens the first time you try to import the module, the import statement |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
585 itself has not completed, and your workspace does not know the module |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
586 name (even though the internal table of moduesl does!). The trick is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
587 to first import the module again, then reload it. For instance, |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
588 "import foo; reload(foo)". Because the module object already exists |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
589 internally, the import statement does not attempt to execute the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
590 module again -- it just places it in your workspace. |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
591 |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
592 When you edit a module you don't have to worry about the corresponding |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
593 '.pyc' file (a "compiled" version of the module, which loads much faster |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
594 than the textual version): the interpreter notices that the '.py' file |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
595 has changed (because its modification time has changed) and ignores the |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
596 '.pyc' file. When parsing is successful, a new '.pyc' file is written; |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
597 if this fails (no write permission, disk full or whatever) it is |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
598 silently skipped but attempted again the next time the same module |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
599 is loaded. (Thus, if you plan to place a Python library on a read-only |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
600 disk, it is advisable to "warm the cache" by making the disk writable |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
601 and importing all modules once. The standard module 'importall' helps |
|
95d6e17955ef
Changed release note structure:
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff
changeset
|
602 in doing this.) |
