]> granicus.if.org Git - python/commitdiff
In MachoPython, don't simulate argc/argv unless we have argc=1 and argv[1]
authorJack Jansen <jack.jansen@cwi.nl>
Wed, 2 Jan 2002 22:53:38 +0000 (22:53 +0000)
committerJack Jansen <jack.jansen@cwi.nl>
Wed, 2 Jan 2002 22:53:38 +0000 (22:53 +0000)
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!

Mac/Python/macmain.c

index b86b52847fc6eabc2c6f6e1abc2a52760113af58..71b42e9e922fa03fbf3f359863f7d80b157231c5 100644 (file)
@@ -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]) {