[Python-checkins] cpython (3.2): #3573: idle now doesn't hungs if launched as: idle -e <directory>

andrew.svetlov python-checkins at python.org
Wed Mar 21 12:32:11 CET 2012


http://hg.python.org/cpython/rev/a95b19b3b4cd
changeset:   75846:a95b19b3b4cd
branch:      3.2
parent:      75841:a5add01e96be
user:        Andrew Svetlov <andrew.svetlov at gmail.com>
date:        Wed Mar 21 13:23:41 2012 +0200
summary:
  #3573: idle now doesn't hungs if launched as: idle -e <directory>

Patch by Guilherme Polo.

files:
  Lib/idlelib/NEWS.txt   |  7 +++++++
  Lib/idlelib/PyShell.py |  6 ++++--
  Misc/NEWS              |  3 +++
  3 files changed, 14 insertions(+), 2 deletions(-)


diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -1,3 +1,10 @@
+What's New in IDLE 3.2.3?
+=========================
+
+- Issue #3573: IDLE hangs when passing invalid command line args
+  (directory(ies) instead of file(s)).
+
+
 What's New in IDLE 3.2.1?
 =========================
 
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1389,8 +1389,10 @@
 
     if enable_edit:
         if not (cmd or script):
-            for filename in args:
-                flist.open(filename)
+            for filename in args[:]:
+                if flist.open(filename) is None:
+                    # filename is a directory actually, disconsider it
+                    args.remove(filename)
             if not args:
                 flist.new()
     if enable_shell:
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -28,6 +28,9 @@
 Library
 -------
 
+- Issue #3573: IDLE hangs when passing invalid command line args
+  (directory(ies) instead of file(s)) (Patch by Guilherme Polo)
+
 - Issue #13694: asynchronous connect in asyncore.dispatcher does not set addr
   attribute.
 

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list