]> granicus.if.org Git - python/commitdiff
Improve subprocess link error notification
authorKurt B. Kaiser <kbk@shore.net>
Tue, 10 May 2005 03:44:24 +0000 (03:44 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Tue, 10 May 2005 03:44:24 +0000 (03:44 +0000)
M NEWS.txt
M PyShell.py
M rpc.py

Lib/idlelib/NEWS.txt
Lib/idlelib/PyShell.py
Lib/idlelib/rpc.py

index afec8e422f30ecea84d20debda912353f158b538..03ba1148c4f8fe3bd258cbbc4eff27d240e76f61 100644 (file)
@@ -3,6 +3,8 @@ What's New in IDLE 1.2a0?
 
 *Release date: XX-XXX-2005*
 
+- Improve subprocess link error notification.
+
 - run.py: use Queue's blocking feature instead of sleeping in the main
   loop.  Patch # 1190163 Michiel de Hoon
 
index fecbf1ad547abc621cf07cd6b305826dafd135ba..fa348be833b5b31598e4e2ebd0f8d75907ce5901 100644 (file)
@@ -596,6 +596,8 @@ class ModifiedInterpreter(InteractiveInterpreter):
                 self.write("Unsupported characters in input")
                 return
         try:
+            # InteractiveInterpreter.runsource() calls its runcode() method,
+            # which is overridden (see below)
             return InteractiveInterpreter.runsource(self, source, filename)
         finally:
             if self.save_warnings_filters is not None:
@@ -720,6 +722,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
                 else:
                     self.showtraceback()
             except:
+                print>>sys.stderr, "IDLE internal error in runcode()"
                 self.showtraceback()
         finally:
             if not use_subprocess:
index 402cfa7fa70f959c06ef1bf7cddfa2f471969090..3bac6a30b39dbfb0a1f9c34906c97460a7f84820 100644 (file)
@@ -330,9 +330,10 @@ class SocketIO(object):
             try:
                 r, w, x = select.select([], [self.sock], [])
                 n = self.sock.send(s[:BUFSIZE])
-            except (AttributeError, socket.error):
-                # socket was closed
-                raise IOError
+            except (AttributeError, TypeError):
+                raise IOError, "socket no longer exists"
+            except socket.error:
+                raise
             else:
                 s = s[n:]