Add a script "idles" which opens a Python Shell window.

The default behaviour of idlefork idle is to open an editor window instead
of a shell. Complex expressions may be run in a fresh environment by
selecting "run".  There are times, however, when a shell is desired.
Though one can be started by "idle -t 'foo'", this script is more
convenient.  In addition, a shell and an editor window can be started
in parallel by "idles -e foo.py".
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 399896a..407eedd 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -2,7 +2,7 @@
 
 # changes by dscherer@cmu.edu
 
-#   the main() function has been replaced by a whole class, in order to
+#     The main() function has been replaced by a whole class, in order to
 #     address the constraint that only one process can sit on the port
 #     hard-coded into the loader.
 
@@ -13,12 +13,14 @@
 #     line) to do.  (Think netscape -remote).  The handling of command line
 #     arguments for remotes is still very incomplete.
 
-#   default behavior (no command line options) is to NOT start the Python
-#     Shell.  If files are specified, they are opened, otherwise a single
-#     blank editor window opens.
+#     Default behavior (no command line options) is to open an editor window
+#     instead of starting the Python Shell.  However, if called as
+#     Pyshell.main(0), the Shell will be started instead of the editor window.
 
-#   If any command line -options are specified, a shell does appear.  This
-#     is necessary to make the current semantics of the options make sense.
+#     In the default editor mode, if files are specified, they are opened.
+
+#     If any command line options are specified, a shell does appear, and if
+#     the -e option is used, both a shell and an editor window open.
 
 import os
 import spawn
@@ -725,11 +727,11 @@
     def __repr__(self): return self.string
 
 class main:
-    def __init__(self):
+    def __init__(self, noshell=1):
         try:
             self.server = protocol.Server(connection_hook = self.address_ok)
             protocol.publish( 'IDLE', self.connect )
-            self.main( sys.argv[1:] )
+            self.main(sys.argv[1:], noshell)
             return
         except protocol.connectionLost:
             try:
@@ -775,11 +777,9 @@
         if not args:
             flist.new()
 
-    def main( self, argv ):
+    def main(self, argv, noshell):
         cmd = None
         edit = 0
-        noshell = 1
-    
         debug = 0
         startup = 0
     
diff --git a/Lib/idlelib/setup.py b/Lib/idlelib/setup.py
index ba27bed..ecdf92e 100644
--- a/Lib/idlelib/setup.py
+++ b/Lib/idlelib/setup.py
@@ -77,5 +77,5 @@
                   'install_lib':idle_install_lib},
       package_dir = {idlelib:'.'},
       packages = [idlelib],
-      scripts = ['idle']
+      scripts = ['idle', 'idles']
       )