#4383: UnboundLocalError when IDLE cannot connect to its subprocess.
Python 3.0 clears the exception variable upon exit of the "except:" clause,
and the displaying code fails miserably.
Reviewed by Benjamin.
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 806456a..20770b6 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -119,10 +119,11 @@
except socket.error as err:
print("IDLE Subprocess: socket error: " + err.args[1] +
", retrying....", file=sys.__stderr__)
+ socket_error = err
else:
- print("IDLE Subprocess: Connection to "\
- "IDLE GUI failed, exiting.", file=sys.__stderr__)
- show_socket_error(err, address)
+ print("IDLE Subprocess: Connection to "
+ "IDLE GUI failed, exiting.", file=sys.__stderr__)
+ show_socket_error(socket_error, address)
global exit_now
exit_now = True
return