◐ Shell
clean mode source ↗

Message 158404 - Python tracker

I think that lines 207-210 of GetUserCfgDir should be modified like this:

try:
    sys.stderr.write(warn)
except (IOError, AttributeError):    # <---- 
    pass        #^^^^^^^^^^^^^^

because when you start IDLE via pythonw.exe (that sets sys.stderr to "None"),
the function call sys.stderr.write(warn) raises the following exception:

    AttributeError: 'NoneType' object has no attribute 'write'

and IDLE stops running without displaying any exception error, because that
exception is unhandled.

There is a funcion call to sys.stderr.write also at line 222, just before a
"raise SystemExit" statement, which makes ininfluent the missing 
AttributeError exception handling.