[Python-checkins] python/dist/src/Lib/idlelib NEWS.txt, 1.49, 1.49.2.1 PyShell.py, 1.92, 1.92.2.1 idlever.py, 1.22, 1.22.2.1

kbk at users.sourceforge.net kbk at users.sourceforge.net
Thu Dec 23 05:32:29 CET 2004


Update of /cvsroot/python/python/dist/src/Lib/idlelib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15234

Modified Files:
      Tag: release24-maint
	NEWS.txt PyShell.py idlever.py 
Log Message:
The GUI was hanging if the shell window was closed while a raw_input()
was pending.  Restored the quit() of the readline() mainloop().
http://mail.python.org/pipermail/idle-dev/2004-December/002307.html

M NEWS.txt
M PyShell.py
M idlever.py


Index: NEWS.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/NEWS.txt,v
retrieving revision 1.49
retrieving revision 1.49.2.1
diff -u -d -r1.49 -r1.49.2.1
--- NEWS.txt	30 Nov 2004 01:28:55 -0000	1.49
+++ NEWS.txt	23 Dec 2004 04:32:25 -0000	1.49.2.1
@@ -1,3 +1,12 @@
+What's New in IDLE 1.1.1?
+=======================
+
+*Release date: XX-DEC-2004*
+
+- The GUI was hanging if the shell window was closed while a raw_input() 
+  was pending.  Restored the quit() of the readline() mainloop().
+  http://mail.python.org/pipermail/idle-dev/2004-December/002307.html
+
 What's New in IDLE 1.1?
 =======================
 

Index: PyShell.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/PyShell.py,v
retrieving revision 1.92
retrieving revision 1.92.2.1
diff -u -d -r1.92 -r1.92.2.1
--- PyShell.py	13 Nov 2004 21:05:58 -0000	1.92
+++ PyShell.py	23 Dec 2004 04:32:25 -0000	1.92.2.1
@@ -910,6 +910,9 @@
                 parent=self.text)
             if response == False:
                 return "cancel"
+        if self.reading:
+            self.top.quit()
+        self.canceled = True
         self.closing = True
         # Wait for poll_subprocess() rescheduling to stop
         self.text.after(2 * self.pollinterval, self.close2)
@@ -974,10 +977,12 @@
         save = self.reading
         try:
             self.reading = 1
-            self.top.mainloop()
+            self.top.mainloop()  # nested mainloop()
         finally:
             self.reading = save
         line = self.text.get("iomark", "end-1c")
+        if len(line) == 0:  # may be EOF if we quit our mainloop with Ctrl-C
+            line = "\n"
         if isinstance(line, unicode):
             import IOBinding
             try:
@@ -987,10 +992,11 @@
         self.resetoutput()
         if self.canceled:
             self.canceled = 0
-            raise KeyboardInterrupt
+            if not use_subprocess:
+                raise KeyboardInterrupt
         if self.endoffile:
             self.endoffile = 0
-            return ""
+            line = ""
         return line
 
     def isatty(self):
@@ -1009,13 +1015,13 @@
             return "break"
         self.endoffile = 0
         self.canceled = 1
-        if self.reading:
-            self.top.quit()
-        elif (self.executing and self.interp.rpcclt):
+        if (self.executing and self.interp.rpcclt):
             if self.interp.getdebugger():
                 self.interp.restart_subprocess()
             else:
                 self.interp.interrupt_subprocess()
+        if self.reading:
+            self.top.quit()  # exit the nested mainloop() in readline()
         return "break"
 
     def eof_callback(self, event):

Index: idlever.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/idlever.py,v
retrieving revision 1.22
retrieving revision 1.22.2.1
diff -u -d -r1.22 -r1.22.2.1
--- idlever.py	29 Nov 2004 01:40:31 -0000	1.22
+++ idlever.py	23 Dec 2004 04:32:25 -0000	1.22.2.1
@@ -1 +1 @@
-IDLE_VERSION = "1.1"
+IDLE_VERSION = "1.1.1"



More information about the Python-checkins mailing list