#3573: idle now doesn't hungs if launched as: idle -e <directory>
Patch by Guilherme Polo.
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 6b75a8d..d7edce5 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -1403,8 +1403,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
index 94f3fc8..fe37f10 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,11 @@
Core and Builtins
-----------------
+- Issue #3573: IDLE hangs when passing invalid command line args
+ (directory(ies) instead of file(s))
+
+ Thanks to Guilherme Polo for patch and to Roger Serwy for review.
+
- Issue #1683368: object.__new__ and object.__init__ raise a TypeError if they
are passed arguments and their complementary method is not overridden.