#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.