Commit Graph

272 Commits

Author SHA1 Message Date
Jack Jansen
ace9d955b0 Renamed Py_Main to PyMac_Main as it has a different signature than the "normal" Py_Main, and that signature has appeared in a .h file. 2002-08-05 14:13:31 +00:00
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