]> granicus.if.org Git - python/commitdiff
Issue 2665: On Windows, sys.stderr does not contain a valid file when running without...
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Mon, 21 Apr 2008 22:35:30 +0000 (22:35 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Mon, 21 Apr 2008 22:35:30 +0000 (22:35 +0000)
It seems to work, but will fail at the first flush.

This causes IDLE to crash when too many warnings are printed.

Will backport.

Lib/idlelib/NEWS.txt
Lib/idlelib/configHandler.py

index abfc0384a7fa65bc10e1ef2e105cc1aa4733a255..7e2ce38b2019e6c1d75e7d7dd73c81d557abdc77 100644 (file)
@@ -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?
 =========================
 
index 681ff1eeddac36ed0f147a2643128bca66b9e4da..3fc2a606fe615fd05512eb95a84fe44530cd65da 100644 (file)
@@ -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):