Commit Graph

271 Commits

Author SHA1 Message Date
Jack Jansen 603e76e882 Fixed potential refcount problems with interned strings, adapted comments, added a bit more trace output if verbose > 1. 2002-07-22 12:35:22 +00:00
Jeremy Hylton 938ace69a0 staticforward bites the dust.
The staticforward define was needed to support certain broken C
compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the
static keyword when it was used with a forward declaration of a static
initialized structure.  Standard C allows the forward declaration with
static, and we've decided to stop catering to broken C compilers.  (In
fact, we expect that the compilers are all fixed eight years later.)

I'm leaving staticforward and statichere defined in object.h as
static.  This is only for backwards compatibility with C extensions
that might still use it.

XXX I haven't updated the documentation.
2002-07-17 16:30:39 +00:00
Jack Jansen 059ed83cc3 - Got rid if WITH_CYCLE_GC
- Cleaned up Python banner string, so the normal build for MacPython 2.3
  will have a short banner.
2002-07-07 20:54:44 +00:00
Jack Jansen 027f6722c4 Changed some prototypes to match the exact definition in some faraway Apple
header files. If we're building with precompiled headers these are in scope.
2002-06-26 20:37:40 +00:00
Jack Jansen a7f4ded436 Allow the script to have not only a TEXT filetype but also a null filetype (to enable files to be created from the Unix side of OSX to be droppable on the MacPython interpreter). 2002-05-22 15:02:08 +00:00
Jack Jansen 7b8c7546eb Mass checkin of universal newline support.
Highlights: import and friends will understand any of \r, \n and \r\n
as end of line. Python file input will do the same if you use mode 'U'.
Everything can be disabled by configuring with --without-universal-newlines.

See PEP278 for details.
2002-04-14 20:12:41 +00:00
Jack Jansen b19444feca Got rid of ifdefs for long-obsolete GUSI versions and other stuff that is now standard (appearance, interned strings) 2002-04-11 20:48:25 +00:00
Jack Jansen 8ab04b4d65 Got rid of ifdefs for long-obsolete GUSI versions. 2002-04-11 20:46:23 +00:00
Jack Jansen 3cef721b61 Allow .pyc files as applets as well as .py files. .py files have
priority, for safety reasons.
2002-03-29 14:43:50 +00:00
Jack Jansen 0035fb27f4 In MachoPython print "Pythonw" in banner to distinguish from command-line
python.
Removed debug output.
2002-03-29 14:27:06 +00:00
Jack Jansen 00638bd4f9 Don't call PyMac_OutputSeen if we have a custom console. Fix by Alexandre Parenteau. 2002-01-11 10:24:23 +00:00
Jack Jansen 4b517854d0 In MachoPython, don't simulate argc/argv unless we have argc=1 and argv[1]
starts with "-psn_". This means the drag-and-drop continues to work as
expected, but we can now also do
/Applications/Python.app/Contents/MacOS/python script.py
from the command line, which is a lot easier with debugging. Pressing <option>
at this point also has the expected effect of opening the options dialog!
2002-01-02 22:53:38 +00:00
Jack Jansen b9526515b7 Merging changes from release22-branch. 2001-12-27 23:01:18 +00:00
Jack Jansen 031b779d43 Use getcwd(), not silly old getwd(). 2001-12-14 22:57:34 +00:00
Jack Jansen 52306a780b The new menu initialization code would also add the SIOUX menus if a (frozen) Python program had installed its own menubar previously. We now guard against this, with a bit of a hack: FrameWork uses the same Menu ID as Sioux, and the init code checks that the text in the menu is "About SIOUX" before replacing it. 2001-12-10 16:08:14 +00:00
Jack Jansen 101de912d3 Replace sprintf() with PyOS_snprintf(). 2001-12-05 23:27:58 +00:00
Jack Jansen b3be216b41 Merged changes made on r22b2-branch between r22b2 and r22b2-mac (the
changes from start of branch upto r22b2 were already merged, of course).
2001-11-30 14:16:36 +00:00
Jack Jansen 439eaa9f74 Fixed various problems with command-dot handling (some very old):
- Don't scan for cmd-. unless in the foreground
- Scan before switching out to other processes, not after
- don't scan if SchedParams.check_interrupt is false (!)
  - But: do scan if we're blocked on I/O

One problem remains: in the last case KeyboardInterrupt is raised
too late.
2001-11-10 00:41:43 +00:00
Jack Jansen 80c85d80c4 MacPython -vv equivalent printed incorrect filenames, fixed. Also
removed some outdated code.
2001-11-05 14:36:32 +00:00
Jack Jansen 95837f1973 We always install the Sioux menubar, in stead of only when no menubar
was installed previously. This fixes bug #476904, but I'm not 100%
sure it doesn't break anything else. But if it does I'll notice tomorrow
when I try to build GRiNS:-)
2001-11-01 23:17:35 +00:00
Just van Rossum ab57c7dcfc Moved macfsn hackery from macmain.c to macfsmodule.c so it loads
on demand instead of at startup.
2001-10-31 22:55:08 +00:00
Jack Jansen 5ded1bf5c7 Mod by Donovan Preston to allow MacPython to live in a Python.app bundle and understand the __main__.py convention used there for applets. This gives us applets that work on both OS9 and OSX! (Although "applet" may not be the correct word for something that is going to be multimegabyte:-).
But: the code is currently disabled, as it requires CodeWarrior 7 and I'm still using 6.
2001-10-30 22:48:36 +00:00
Jack Jansen a0472f73e6 Mods by Alexandre Parenteau to allow embedding programs to disable the MacPython console window completely, and optionally route console output (and input) to routines provided by the embedding app.
Things don't fully work yet, but at least it doesn't break anything.
2001-10-08 15:35:38 +00:00
Jack Jansen 998a40a6d4 Mods by Donovan Preston (with changes by me to make them "go with the flow")
that will detect an __main__.py or __rawmain__.py in the application bundle.
This file is then exectued as the main script. We now have applets in
MachO Python!!!

The difference between __main__ and __rawmain__ is that the former gets a
complete simulated argv (so you can drop files on the applet and the script
sees them in sys.argv) while the latter skips the argv simulation and the
<option>key dialog. This keeps the AppleEvent that started the app intact,
as well as the funny "-psn_xxxx" argv[1] argument, so the script can do
with these what it wants.
2001-09-11 13:08:10 +00:00
Jack Jansen 6438e1d280 Failing to import macfsn is not a fatal error. 2001-09-11 11:29:31 +00:00
Jack Jansen cf0319326a Implemented PyMac_GetFullPathname for MacPython. 2001-09-11 09:22:19 +00:00
Jack Jansen 697842f58c Replaced PyMac_FullPath by PyMac_FullPathname, which has an extra 'length'
parameter for the return string (as unix pathnames are not limited
by the 255 char pstring limit).
Implemented the function for MachO-Python, where it returns unix pathnames.
2001-09-10 22:00:39 +00:00
Jack Jansen dff7770b7f Changes to make these work under OSX as the main program for a
fullblown drag and drop application. To my surprise it is starting
to work already: Python actually executes a script dropped on it.

To be done:
- Make sure this still works in MacPython
- Don't lose argv[0] in the process
- Applet support
2001-09-05 22:07:52 +00:00
Jack Jansen ff5d8aaa28 Added preferences/startup options for division warning
and accepting unix-style newlines on input.

Also (finally) added a startup option to get -vv behaviour.

Moved __convert_to_newlines to main.c because that's easier with the newline option.
2001-09-01 22:37:54 +00:00
Jack Jansen 3070ee6b37 Experimental feature: allow \n as well as \r as newline for text files, by breaking in to the lowlevel I/O system. Can be disabled by defining WITHOUT_UNIX_NEWLINES. 2001-08-27 23:16:34 +00:00
Jack Jansen f60edf861c PATCHLEVEL is outdated, use PY_VERSION. 2001-08-19 22:32:27 +00:00
Jack Jansen 94bebc0381 Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
with functionality needed for both unix-Python and MacPython and a
new smaller ./Mac/Python/macglue.c which contains MacPython stuff only.

pymactoolbox.h has moved to ./Include from ./Mac/Include and now also
contains the relevant stuff from macglue.h.

The net effect of this is that the ./Mac subdirectory is not needed
anymore for building the unix-Python core on MacOSX (it is needed
for building the extension modules).
2001-08-08 13:17:31 +00:00
Jack Jansen b760923b20 Got rid of 68k-Mac and other outdated ifdefs. 2001-08-07 15:30:23 +00:00
Jack Jansen 59c14e2254 Bit the bullet and enabled garbage collection (finally).
Also updated pyconfig.h to the current state of pyconfig.h.in.
2001-08-07 12:33:32 +00:00
Jack Jansen a5bca579fd PyMac_GetFSSpec must be called via the dylib glue code on OSX. 2001-08-03 15:39:27 +00:00
Jack Jansen cbed91b4db Merging appropriate 2.1.1 fixes back into the main trunk. 2001-08-03 13:31:36 +00:00
Jack Jansen b4a7db7736 config.h renamed to pyconfig.h 2001-07-27 09:22:03 +00:00
Jack Jansen 2c278ed4a5 Fixed another case of the PyArg_Parse 'h' semantic change problem, sigh... 2001-07-12 21:48:10 +00:00
Jack Jansen 4e566ab904 Implemented minimal FSRef support, plus conversion between FSRefs, FSSpecs and pathnames where applicable.
PyMac_GetFSSpec and PyMac_BuildFSSpec have moved to macfsmodule from macglue.

These mods are untested on OSX.
2001-07-08 22:07:23 +00:00
unknown d1054ef31a Set the default 8-bit encoding based on the system script and language. 2001-07-04 22:37:19 +00:00
unknown f428aef3b2 Don't promise mac-japanese encoding as we don't have a codec for it.
Return a reasonable name for the general macos exception (MacOS.Error).
2001-07-04 22:36:27 +00:00
Just van Rossum 0297dca941 Fixed bug that prevented shared libs that are submodules of a
package to be loaded from a PYD resource.
2001-06-26 06:54:33 +00:00
Jack Jansen 5daef31355 Adapted for Universal Headers 3.4: refcon type has changed (sigh) and use modern (UPP in stead of Proc) names for callback object creation. 2001-06-20 20:50:19 +00:00
Jack Jansen fe9110b2ad removed a routine that has moved to macglue.c 2001-05-22 22:37:05 +00:00
Jack Jansen b45032e629 Fixed a nasty slowdown in imports in frozen applications: the shortcut
for loading modules from the application resource fork stopped working
when sys.path component normalization was implemented. Comparison
of sys.path components is now done by FSSpec in stead of by pathname.
2001-05-22 14:13:02 +00:00
Jack Jansen 25e0c79487 Another include Carbon/Carbon.h 2001-05-19 12:57:22 +00:00
Jack Jansen 741e0378e4 Moved PyMac_GetFullPath from macgetargv.c to macglue.c. It should
have been there in the first place.
2001-05-19 12:55:57 +00:00
Jack Jansen 8bb1dc1f8d Merged mactoolboxglue.c into macglue.c. A later step will be to separate out
the stuff that is only needed on classic-MacOS.
2001-05-19 12:31:09 +00:00
Jack Jansen f57a4a2e97 Glue code to connect obj_New and obj_Convert routines (the PyArg_Parse and Py_BuildTuple helpers) from one dynamically imported module to another. 2001-05-17 22:11:44 +00:00
Jack Jansen 0194ad5c7d Got the first MacPython module working under MacOSX/MachO (gestalt). Main changes
are including Carbon/Carbon.h in stead of the old headers (unless WITHOUT_FRAMEWORKS
is defined, as it will be for classic MacPython) and selectively disabling all the
stuff that is unneeded in a unix-Python (event handling, etc).
2001-05-12 22:46:35 +00:00