]> granicus.if.org Git - python/commitdiff
Move setting of ioready 'wait' earlier in call chain, to
authorKurt B. Kaiser <kbk@shore.net>
Wed, 12 Mar 2003 20:52:00 +0000 (20:52 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Wed, 12 Mar 2003 20:52:00 +0000 (20:52 +0000)
rpc.SocketIO.main() and asyncreturn().  Improve comment.

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

index a0f186946a33f84feec9c8bc8fbe0b6a294e6c82..12e677d6f5525b4ec4cf349f761ebe429443422d 100644 (file)
@@ -7,11 +7,27 @@ What's New in IDLEfork 0.9 Alpha 3?
 
 *Release date: xx-xxx-2003*
 
+- Implemented the 'interrupt' extension module, which allows a subthread
+  to raise a KeyboardInterrupt in the main thread.
+
+- Attempting to save the shell raised an error related to saving
+  breakpoints, which are not implemented in the shell
+
+- Provide a correct message when 'exit' or 'quit' are entered at the
+  IDLE command prompt  SF 695861
+
+- Eliminate extra blank line in shell output caused by not flushing
+  stdout when user code ends with an unterminated print. SF 695861
+
+- Moved responsibility for exception formatting (i.e. pruning IDLE internal
+  calls) out of rpc.py into the client and server.
+
 - Exit IDLE cleanly even when doing subprocess I/O
 
 - Handle subprocess interrupt in Windows with an RPC message.  
 
 - Calling Run will restart the subprocess even if user code is running.
+  SF RFE 661321
 
 - Restart the subprocess if it terminates itself. (VPython programs do that)
 
index 9895ac8869c869efa9cf35039dbe7755af43d305..615c1f43bb5dadaa60b0c1828549c812e7a9be96 100644 (file)
@@ -192,7 +192,7 @@ class SocketIO:
 
     def asyncreturn(self, seq):
         self.debug("asyncreturn:%d:call getresponse(): " % seq)
-        response = self.getresponse(seq)
+        response = self.getresponse(seq, wait=None)
         self.debug(("asyncreturn:%d:response: " % seq), response)
         return self.decoderesponse(response)
 
@@ -211,17 +211,17 @@ class SocketIO:
     def mainloop(self):
         """Listen on socket until I/O not ready or EOF
 
-        pollpacket() will loop looking for seq number None, which never
-        comes.  The loop will exit when self.ioready() returns 0.
+        Main thread pollresponse() will loop looking for seq number None, which
+        never comes, and exit on EOFError.
 
         """
         try:
-            self.getresponse(None)
+            self.getresponse(myseq=None, wait=None)
         except EOFError:
             pass
 
-    def getresponse(self, myseq):
-        response = self._getresponse(myseq)
+    def getresponse(self, myseq, wait):
+        response = self._getresponse(myseq, wait)
         if response is not None:
             how, what = response
             if how == "OK":
@@ -236,13 +236,13 @@ class SocketIO:
         # XXX Check for other types -- not currently needed
         return obj
 
-    def _getresponse(self, myseq):
+    def _getresponse(self, myseq, wait):
         self.debug("_getresponse:myseq:", myseq)
         if threading.currentThread() is self.mainthread:
             # Main thread: does all reading of requests or responses
             # Loop here, blocking each time until socket is ready.
             while 1:
-                response = self.pollresponse(myseq, wait=None)
+                response = self.pollresponse(myseq, wait)
                 if response is not None:
                     return response
         else: