IDLE didn't start correctly when Python was installed in "Program Files"
on W2K and XP. Python Bugs 780451, 784183
Backported to 2.2-maint
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 388c384..81ef88e 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -318,7 +318,7 @@
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 @@
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)