diff Mac/Python/macmain.c @ 22026:fbe820e0c601 2.2

bqackport of 1.73: 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!
author Jack Jansen <jack.jansen@cwi.nl>
date Sun, 24 Feb 2002 23:07:04 +0000
parents 83a3e21a7cc3
children a82ce198fe69 b9246f8fb8fd
line wrap: on
line diff
--- a/Mac/Python/macmain.c	Sun Feb 24 23:03:47 2002 +0000
+++ b/Mac/Python/macmain.c	Sun Feb 24 23:07:04 2002 +0000
@@ -316,8 +316,14 @@
 		*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]) {