Commit graph

2372 commits

Author SHA1 Message Date
Jack Jansen 9c5b61b21b Patch #567296 by Pim Buurman, slightly modified by me so it can be disabled
at compile time: use PBGetCatInfoSync() to get FInfo data in stead of
GetFInfo. The latter doesn't work for folders. The former does, at
least on OSX, and insofar the info makes sense for a folder.
2002-08-06 12:59:44 +00:00
Jack Jansen 137d8c5667 Wrapper around _IBCarbon. 2002-08-06 09:32:57 +00:00
Jack Jansen 94caa78ebf Patch by Ronald Oussoren: if there's a .lproj in the extras list also
check whether it contains a .nib, and do the Cocoa song and dance if
it does.
2002-08-05 22:06:29 +00:00
Jack Jansen 0a9d7559e8 In copy() don't try to obtain an FSSpec until we know the destination
exists. Partial fix for #585923.
2002-08-05 21:53:57 +00:00
Jack Jansen 20417bcd18 Better output for errors, and some progress reports.
Handle the two modules with non-standard scanner module names.
2002-08-05 21:14:16 +00:00
Jack Jansen c4ff194bdd Fixed the last two bgen-based modules to be buildable on OSX. 2002-08-05 21:13:07 +00:00
Jack Jansen aaebdd6a02 Enable building of Carbon toolbox modules with unix-Python. 2002-08-05 15:39:30 +00:00
Jack Jansen ff8dec7427 Got rid of staticforward. 2002-08-05 15:36:57 +00:00
Jack Jansen a4741ffe63 This can now run under unix-Python too. You have to pass the folder
to search on the command line in that case.
2002-08-05 15:33:44 +00:00
Jack Jansen 6573f31874 Moved bgenlocations to the Mac/Lib directory. Not perfect, but better than
where it was: it is really a configuration file, not a normal module.

By moving it into Mac/Lib we can now also store the location of bgen
itself in there, which is needed because bgen isn't installed.
2002-08-05 14:56:04 +00:00
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 3bd3fedeca Added _IBCarbon module. 2002-08-05 14:12:24 +00:00
Jack Jansen 83f5c38403 The definitions for IBCarbonRuntime.h 2002-08-04 22:03:36 +00:00
Jack Jansen acbaefd796 Updated to something that works on my system, and regenerated module. 2002-08-04 21:59:37 +00:00
Jack Jansen 0c069924e5 Donovan Preston's interface to IBCarbon, allowing you to use Interface
Builder carbon NIB files from Python. As-is, I may need to twiddle a few
things as he donated this long ago.

Donovan is now one of the four people in the world who know how to drive
bgen!
2002-08-04 21:34:24 +00:00
Jack Jansen d64845dbbe Mkdirs() failed when provided with unix pathnames. Fixed. 2002-08-03 20:49:10 +00:00
Jack Jansen 0e0a479821 Added an icon for .pyw files. 2002-08-02 22:32:41 +00:00
Jack Jansen 2f8816fda6 An icon for .pyw files. Yes, it's lousy, I know.... 2002-08-02 22:18:05 +00:00
Jack Jansen 940dc922c0 Build the IDE last, as it may fail because of waste missing. 2002-08-02 21:46:40 +00:00
Jack Jansen 0fdaee7419 Added a lot more information on framework builds, the various .app's,
etc. Still not enough, probably, but better than what we had.
2002-08-02 21:45:27 +00:00
Jack Jansen 337f85d34f Updated for the new path to Python.app. 2002-08-02 21:05:16 +00:00
Jack Jansen f80798b1ca When building the IDE check that waste is available, to forestall
surprises later (the IDE won't work without waste).
2002-08-02 21:04:46 +00:00
Jack Jansen 940e970f6e Also create BuildApplet. It's useful enough as a standalone application. 2002-08-02 15:32:12 +00:00
Jack Jansen 3e6c80bf5e Hmm, in some cases we don't seem to get our scriptname in argv[0].
Cater for that by working from sys.executable.
2002-08-02 15:31:25 +00:00
Jack Jansen ba1c13db4f Final step in making applets first-class citizens: if the applet wants
argv emulation (i.e. if the end user drops files and folders on the
applets these will show up in sys.argv) BuildApplet will add the required
code to the applet bundle, in __rawmain__.pyc.

This code is compiled from appletrawmain.py, it creates sys.argv, cleans
up most of the mess and executes either __main__.py or __main__.pyc.
2002-08-02 14:57:43 +00:00
Jack Jansen a9454e21a7 Oops, the -psn stuff is in argv[1], of course. 2002-08-02 14:54:46 +00:00
Jack Jansen 21ed16acbe Added one call to Py_Main(), for OSX framework builds only, that will get the
actual script to run in case we are running from an applet. If we are indeed
running an applet we skip the normal option processing leaving it all to the
applet code.

This allows us to get use the normal python binary in the Python.app bundle,
giving us all the normal command line options through PythonLauncher while
still allowing Python.app to be used as the template for building applets.

Consequently, pythonforbundle is gone, and Mac/Python/macmain.c isn't used
on OSX anymore.
2002-08-02 14:11:24 +00:00
Jack Jansen 94416e55d3 Got rid of a couple of OS9-isms. 2002-08-02 14:04:42 +00:00
Jack Jansen 2eb4b18f94 - Slightly better error message in case of syntax errors in the script.
- The applet .rsrc file should be called python.rsrc, it is not based on the
  applet name.
2002-08-02 14:04:15 +00:00
Jack Jansen 6e1986ba9c - Remove -psn-xxxx argument added by the Finder.
- "Open Document" appleevent is "odoc", not "open".
2002-08-02 12:56:21 +00:00
Jack Jansen f4f6d4859d Construct a sys.argv from the initial AppleEvent sent by the finder
during startup of a program. This module will replace the C code in
macgetargv.c so we can get rid of the special macmain.c for OSX
Python.app.
2002-08-02 11:12:15 +00:00
Jack Jansen d05e18139f Slightly better error message in case of missing resources. 2002-08-02 11:03:19 +00:00
Jack Jansen be3e1f7a95 Python.app is now a hidden application, deep in the framework. It will
be invoked by PythonLauncher when needed.

Also changed the names of various variables in the Makefile to match
what the main Makefile has.
2002-08-01 21:14:06 +00:00
Jack Jansen 2fc993d16f Python.app no longer advertises that it can handle .py and .pyc files,
PythonLauncher.app has taken that responsibility over.
2002-08-01 21:12:36 +00:00
Jack Jansen 0a3d6060d5 Only show the UI for selecting options if the ALT key was depressed while
dragging or double-clicking the script.
2002-08-01 15:07:00 +00:00
Jack Jansen cce7e34aeb - Install into /Applications/Python in stead of into /Applications.
- Build PythonLauncher.app and PythonIDE.app as well as Python.app.
2002-07-31 14:46:04 +00:00
Jack Jansen 40e2e51a7e Install into /Applications/Python in stead of into /Applications. 2002-07-31 14:45:08 +00:00
Jack Jansen b7276cdf71 Implemented starting Python in a terminal window. The implementation isn't
optimal, especially if Terminal wasn't running yet, but it works.
2002-07-31 13:15:59 +00:00
Jack Jansen 3bbb617ca4 First stab at the launcher application. This will be run when the user
doubleclicks a .py, .pyw or .pyc file. It runs the file by invoking the
relevant interpreter (either the command line Python in a terminal window
or a Python.app for GUI-based scripts). Interpreter to use and the options
to pass are settable through preferences.

If PythonLauncher wasn't running it does its thing for one script and exits.
If it was manually started before a dialog is presented where the user
can set the options to use, etc.

To be done:
- option-drag/doubleclick should always open the interactive dialog
- Terminal-window isn't done yet
- Should be reimplemented in Python, but pyobjc isn't part of the core.
- Various menu entries should be disabled.
2002-07-29 21:36:35 +00:00
Jack Jansen c7554e28ee Added a __contains__ method. 2002-07-26 11:32:03 +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
Jack Jansen 66e794d743 Finally found out why te cf project sometimes worked and someimes didn't. Fixed it. 2002-07-22 12:32:31 +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
Just van Rossum 979c53757b fixed wrong classic MacOS pathname assumption 2002-07-12 16:50:32 +00:00
Just van Rossum 2ad9419c8f minor fixes, removed obsolete warning 2002-07-12 12:06:17 +00:00
Jack Jansen c361f94e1c Got rid of symlink target, and in stead have "make dontinstallmacsubtree"
which uses a .pth file to add the Mac/Lib from your source tree to sys.path.

Also put the Python version number in a variable.Killed by signal 2.
2002-07-08 13:34:23 +00:00
Jack Jansen 77d0717fb3 Define WITH_PYMALLOC as 1 2002-07-08 10:05:23 +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 1892cf0312 Started on support for using standard setup.py to build at least
the "standard" modules. Unfinished, but shouldn't harm anything.
2002-06-27 22:09:19 +00:00
Jack Jansen c70815ac0f Disabled non-carbon builds (for the moment still optional) and made
these scripts work with the new precompiled headers.
2002-06-26 22:06:08 +00:00
Jack Jansen e0c62b4db0 Make the prototype match the declaration in the GUSI header files. 2002-06-26 20:43:24 +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 440a36f3ab In plugin projects use (by default) the new mwerks_shcarbon_pch
header file in stead of mwerks_carbonplugin_config.h.
2002-06-26 20:36:12 +00:00
Jack Jansen bc5e145341 Close the project after generating it, so we don't keep a gazillion project
files open when we're rebuilding them all.
2002-06-26 20:35:18 +00:00
Jack Jansen 7504dfedb4 - Got rid of non-carbon builds
- Use precompiled headers
- Rationalize config file names.
2002-06-26 20:17:02 +00:00
Jack Jansen 09c7343273 Turns out GetArgv() options can be 4-tuples too, with the last value being the default (or something like that). Cater for this.
Also put in a safeguard against very long help strings.
2002-06-26 15:14:48 +00:00
Jack Jansen bdac001cf0 - Got rid of non-carbon stuff
- Use precompiled headers
- Rationalized naming scheme
2002-06-23 22:09:45 +00:00
Jack Jansen 0b06be7b0b Patch #557719 by Tony Lownds, slightly massaged by me: streamline the
OSX framework build process. Things fixed/modified:
- the filesystem case-sensitivity test now works for builds outside
  the source directory
- various other fixes for building outside the source directory
- python.app now has a target in the main Makefile
- WASTE and AquaTk are found more automatically
2002-06-21 14:48:38 +00:00
Jack Jansen fc7d379a96 - Got rid of newmodule.c
- These are the final projects that support classic.
2002-06-20 22:56:22 +00:00
Jack Jansen 5d0990494e Open the source file in universal newline mode. 2002-06-20 20:42:07 +00:00
Guido van Rossum bea18ccde6 SF patch 568629 by Oren Tirosh: types made callable.
These built-in functions are replaced by their (now callable) type:

    slice()
    buffer()

and these types can also be called (but have no built-in named
function named after them)

    classobj (type name used to be "class")
    code
    function
    instance
    instancemethod (type name used to be "instance method")

The module "new" has been replaced with a small backward compatibility
placeholder in Python.

A large portion of the patch simply removes the new module from
various platform-specific build recipes.  The following binary Mac
project files still have references to it:

    Mac/Build/PythonCore.mcp
    Mac/Build/PythonStandSmall.mcp
    Mac/Build/PythonStandalone.mcp

[I've tweaked the code layout and the doc strings here and there, and
added a comment to types.py about StringTypes vs. basestring.  --Guido]
2002-06-14 20:41:17 +00:00
Martin v. Löwis 606edc1d97 Patch #568235: Add posix.setpgid. 2002-06-13 21:09:11 +00:00
Jack Jansen 388fbf3d4a - Better commandline interface to BuildApplet, complete with options,
verbose output to the console, etc.
- Allow Cocoa applets to be built with BuildApplet.

No full testing has been done yet to ensure OS9 operation hasn't suffered.
2002-06-09 22:08:52 +00:00
Martin v. Löwis 2befa48926 Patch #505375: Make doc strings optional. 2002-06-09 13:41:37 +00:00
Just van Rossum 84fca948c8 fixed refcount leak in CreateNewWindow() and CreateWindowFromResource(). 2002-06-05 17:41:03 +00:00
Jack Jansen b66e1a3dd2 Allow the shared library initialization routine to be overridden with an initialize=xxx argument.
Should fix #492465.
2002-05-23 22:34:18 +00:00
Jack Jansen dc74568782 Added missing dirs to LIBSUBDIRS, and reformatted it so it's easier to read
and maintain. Fixes #557482.
2002-05-23 22:18:13 +00:00
Jack Jansen a43b2c4e30 Regenerated from new Universal Headers. 2002-05-22 15:08:58 +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 0e2f798301 Replaced lots of PyMem_DEL() calls with PyObject_DEL(). 2002-05-22 14:31:48 +00:00
Jack Jansen 422cdde69a Enable WITH_PYMALLOC. 2002-05-22 14:31:10 +00:00
Jack Jansen 94ce52e8e8 Added 2 more addresses to send release notifications to. 2002-05-22 14:30:37 +00:00
Jack Jansen eaba9d7b28 Added typechecking to the individual python->CF converters, so we can use them in the CF object initializers safely. 2002-05-13 21:23:10 +00:00
Jack Jansen 23be1ceb51 Added CFPreferences support. Added these as functions, not methods, which seemed counter-intuitive. 2002-05-13 21:21:49 +00:00
Jack Jansen 7906634f28 - Better exception when a NULL CF object is encountered.
- Manually generate a routine with funny error semantics.
2002-05-12 22:04:14 +00:00
Jack Jansen 6d207c09aa - Get data from CFData objects as Python strings and vv.
- Started on supporting CFPropertyLists.
2002-05-10 22:51:58 +00:00
Jack Jansen 42251323b4 Fixed string and dict conversion, and implemented booleans and numbers (int and float). I think we now have enough CFType support to start on plists and CFpreferences!
Transparent handling of unknown CFType objects still TBD.
2002-05-08 22:13:51 +00:00
Jack Jansen 1df628ddce Partial fix for string handling. Null byte TBD. 2002-05-08 15:29:33 +00:00
Jack Jansen 5ad6f7a3a9 More support for bridging between Python and CoreFoundation objects. Still untested. 2002-05-07 23:00:03 +00:00
Jack Jansen cb376460b7 Added pycfbridge.c 2002-05-07 22:59:06 +00:00
Jack Jansen 0627c3e371 Added enumobject.c 2002-05-07 21:42:08 +00:00
Jack Jansen ead4c80ac2 Fixed a mistake on my part when regenerating: removed a bogus import of Applscript_Suite.
Bugfix candidate (I'll move it over myself).
2002-05-07 20:16:20 +00:00
Jack Jansen efaffae8f6 First steps towards a generalized converter of Python object
hierarchies to CoreFoundation object hierarchies and vice versa.
2002-05-05 21:48:12 +00:00
Jack Jansen 65300f17c3 Regenerated.
Bugfix candidate.
2002-04-24 09:13:24 +00:00
Jack Jansen 033b79c483 Regenerated. 2002-04-23 22:46:01 +00:00
Jack Jansen 95df3fd159 Second part of fix for #493826: regenerated suite modules so errn exists but == 0 doesn't signal an error.
Bugfix candidate.
2002-04-23 21:08:54 +00:00
Jack Jansen 18983536dc First part of fix for #493826: if 'errn' key exists in return value this doesn't necesarily signal an error, only if the value is non-zero it does. This
does not correspond with my reading of the documentation, but the OSX Finder can return 'errn'=0, and it knows better than me:-)

Bugfix candidate.
2002-04-23 21:03:21 +00:00
Jack Jansen 656b735af9 Backport of 1.6.4.2.2.3 from release22-maint branch. 2002-04-23 19:59:03 +00:00
Jack Jansen d92b7a01c5 Updated URL. 2002-04-23 19:56:20 +00:00
Jack Jansen 601b2fddf2 Backport of select parts of release22-maint (up to 1.38.4.2.2.3). 2002-04-23 19:50:53 +00:00
Jack Jansen ca80002694 Added Christopher Smith. 2002-04-22 13:56:25 +00:00
Jack Jansen c6d2a20bc6 Removed note on test_time failing.
Bugfix candidate.
2002-04-22 11:46:16 +00:00
Jack Jansen 7aace7a2dc Regenerated to include Internet Config error strings.
Bugfix candidate.
2002-04-22 11:45:46 +00:00
Jack Jansen 117dbdf4b4 Added an optional file with MacErrors.h extensions: IC errors aren't in there.
Bugfix candidate.
2002-04-22 11:44:26 +00:00
Jack Jansen a258324a3d Enable universal newline support for MacPython. 2002-04-14 22:13:35 +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 68c7e26dc9 Get rid of backward compatibility modules. Do this fairly early in the 2.3 cycle so we don't shoot ourselves in the foot later. 2002-04-11 21:03:37 +00:00
Jack Jansen 85705e73b1 Got rid of obsolete defines. 2002-04-11 20:56:15 +00:00
Jack Jansen 786681ac60 Got rid of obsolete appearance flag. 2002-04-11 20:56:13 +00:00
Jack Jansen cc8258d827 Added boolobject.c 2002-04-11 20:54:58 +00:00