diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index d27eb99..07291c3 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -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?
 ===================================
 
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)
