]> granicus.if.org Git - python/commitdiff
IDLE didn't start correctly when Python was installed in "Program Files"
authorKurt B. Kaiser <kbk@shore.net>
Thu, 14 Aug 2003 14:54:28 +0000 (14:54 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Thu, 14 Aug 2003 14:54:28 +0000 (14:54 +0000)
on W2K and XP.  Python Bugs 780451, 784183

Backported to 2.2-maint

Lib/idlelib/NEWS.txt
Lib/idlelib/PyShell.py

index d27eb9958e48d10817bec0c78013d1c1cd9db693..07291c3b8bcdab6dd50443be17039794ba2684c1 100644 (file)
@@ -1,3 +1,15 @@
+What's New in IDLE 1.0+?
+===================================
+
+*Release date: XX-XXX-2003*
+
+- IDLE didn't start correctly when Python was installed in "Program Files" on
+  W2K and XP.  Python Bugs 780451, 784183
+
+- config-main.def documentation incorrectly referred to idle- instead of
+  config-  filenames.  SF 782759  Also added note about .idlerc location.
+
+
 What's New in IDLE 1.0?
 ===================================
 
index 388c384a115577ea3533281070549ec8359a3438..81ef88e8af7e59320ee2bcea1f29f650d39439e2 100644 (file)
@@ -318,7 +318,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
 
     def spawn_subprocess(self):
         args = self.subprocess_arglist
-        self.rpcpid = os.spawnv(os.P_NOWAIT, args[0], args)
+        self.rpcpid = os.spawnv(os.P_NOWAIT, sys.executable, args)
 
     def build_subprocess_arglist(self):
         w = ['-W' + s for s in sys.warnoptions]
@@ -331,7 +331,12 @@ class ModifiedInterpreter(InteractiveInterpreter):
             command = "__import__('idlelib.run').run.main(" + `del_exitf` +")"
         else:
             command = "__import__('run').main(" + `del_exitf` + ")"
-        return [sys.executable] + w + ["-c", command, str(self.port)]
+        if sys.platform[:3] == 'win' and ' ' in sys.executable:
+            # handle embedded space in path by quoting the argument
+            decorated_exec = '"%s"' % sys.executable
+        else:
+            decorated_exec = sys.executable
+        return [decorated_exec] + w + ["-c", command, str(self.port)]
 
     def start_subprocess(self):
         addr = (LOCALHOST, self.port)