summaryrefslogtreecommitdiffstats
path: root/Mac/Python
diff options
context:
space:
mode:
authorJack Jansen <jack.jansen@cwi.nl>2002-01-02 22:53:38 (GMT)
committerJack Jansen <jack.jansen@cwi.nl>2002-01-02 22:53:38 (GMT)
commit4b517854d0b99367d82523306465d6fc97da17d0 (patch)
treeccdc52ee3221bf6673e560c63895e18cf5b789b1 /Mac/Python
parent1142d595eed6ee9a8bae0907d2347ddae0692651 (diff)
downloadcpython-4b517854d0b99367d82523306465d6fc97da17d0.zip
cpython-4b517854d0b99367d82523306465d6fc97da17d0.tar.gz
cpython-4b517854d0b99367d82523306465d6fc97da17d0.tar.bz2
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!
Diffstat (limited to 'Mac/Python')
-rw-r--r--Mac/Python/macmain.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/Mac/Python/macmain.c b/Mac/Python/macmain.c
index b86b528..71b42e9 100644
--- a/Mac/Python/macmain.c
+++ b/Mac/Python/macmain.c
@@ -316,8 +316,14 @@ init_common(int *argcp, char ***argvp, int embedded)
*argcp = 1;
*argvp = emb_argv;
} else {
- /* Create argc/argv. Do it before we go into the options event loop. */
- *argcp = PyMac_GetArgv(argvp, PyMac_options.noargs);
+ /* Create argc/argv. Do it before we go into the options event loop.
+ ** In MachoPython we skip this step if we already have plausible
+ ** command line arguments.
+ */
+#if TARGET_API_MAC_OSX
+ if (*argcp == 2 && strncmp((*argvp)[1], "-psn_", 5) == 0)
+#endif
+ *argcp = PyMac_GetArgv(argvp, PyMac_options.noargs);
#if !TARGET_API_MAC_OSX
#ifndef NO_ARGV0_CHDIR
if (*argcp >= 1 && (*argvp)[0] && (*argvp)[0][0]) {