summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-04-21 22:35:30 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2008-04-21 22:35:30 (GMT)
commitdd8d824a560a27b00ff0dc111a0b1744d4418dda (patch)
treeb5c9f23e82746fa09a3f8d63d41d963c2be3ebaa /Lib
parent265d7384b9e9cd32630ae28b05f04c1bc4fd9133 (diff)
downloadcpython-dd8d824a560a27b00ff0dc111a0b1744d4418dda.zip
cpython-dd8d824a560a27b00ff0dc111a0b1744d4418dda.tar.gz
cpython-dd8d824a560a27b00ff0dc111a0b1744d4418dda.tar.bz2
Issue 2665: On Windows, sys.stderr does not contain a valid file when running without a console.
It seems to work, but will fail at the first flush. This causes IDLE to crash when too many warnings are printed. Will backport.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/idlelib/NEWS.txt8
-rw-r--r--Lib/idlelib/configHandler.py20
2 files changed, 24 insertions, 4 deletions
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index abfc038..7e2ce38 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -1,3 +1,11 @@
+What's New in IDLE 2.6a3?
+=========================
+
+*Release date: XX-XXX-2008*
+
+- Issue #2665: On Windows, an IDLE installation upgraded from an old version
+ would not start if a custom theme was defined.
+
What's New in IDLE 2.6a1?
=========================
diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py
index 681ff1e..3fc2a60 100644
--- a/Lib/idlelib/configHandler.py
+++ b/Lib/idlelib/configHandler.py
@@ -204,7 +204,10 @@ class IdleConf:
if not os.path.exists(userDir):
warn = ('\n Warning: os.path.expanduser("~") points to\n '+
userDir+',\n but the path does not exist.\n')
- sys.stderr.write(warn)
+ try:
+ sys.stderr.write(warn)
+ except IOError:
+ pass
userDir = '~'
if userDir == "~": # still no path to home!
# traditionally IDLE has defaulted to os.getcwd(), is this adequate?
@@ -247,7 +250,10 @@ class IdleConf:
' from section %r.\n'
' returning default value: %r\n' %
(option, section, default))
- sys.stderr.write(warning)
+ try:
+ sys.stderr.write(warning)
+ except IOError:
+ pass
return default
def SetOption(self, configType, section, option, value):
@@ -356,7 +362,10 @@ class IdleConf:
'\n from theme %r.\n'
' returning default value: %r\n' %
(element, themeName, theme[element]))
- sys.stderr.write(warning)
+ try:
+ sys.stderr.write(warning)
+ except IOError:
+ pass
colour=cfgParser.Get(themeName,element,default=theme[element])
theme[element]=colour
return theme
@@ -610,7 +619,10 @@ class IdleConf:
'\n from key set %r.\n'
' returning default value: %r\n' %
(event, keySetName, keyBindings[event]))
- sys.stderr.write(warning)
+ try:
+ sys.stderr.write(warning)
+ except IOError:
+ pass
return keyBindings
def GetExtraHelpSourceList(self,configSet):