1. Update WindowList registry when filename changes so that
   Window menu updates.
2. Display Python Shell window in Window menu
3. Remove some dead code in FileList.py

M EditorWindow.py
M FileList.py
M WindowList.py
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py
index 86532f8..da08d71 100644
--- a/Lib/idlelib/EditorWindow.py
+++ b/Lib/idlelib/EditorWindow.py
@@ -486,6 +486,7 @@
         if self.flist:
             self.flist.filename_changed_edit(self)
         self.saved_change_hook()
+        self.top.update_windowlist_registry(self)
         if self.ispythonsource(self.io.filename):
             self.addcolorizer()
         else:
diff --git a/Lib/idlelib/FileList.py b/Lib/idlelib/FileList.py
index 7a46afa..4e08e70 100644
--- a/Lib/idlelib/FileList.py
+++ b/Lib/idlelib/FileList.py
@@ -61,10 +61,6 @@
     def new(self, filename=None):
         return self.EditorWindow(self, filename)
 
-    def new_callback(self, event):
-        self.new()
-        return "break"
-
     def close_all_callback(self, event):
         for edit in self.inversedict.keys():
             reply = edit.close()
diff --git a/Lib/idlelib/WindowList.py b/Lib/idlelib/WindowList.py
index 542b738..ba9f3b3 100644
--- a/Lib/idlelib/WindowList.py
+++ b/Lib/idlelib/WindowList.py
@@ -29,9 +29,6 @@
             list.append((title, window))
         list.sort()
         for title, window in list:
-            if title == "Python Shell":
-                # Hack -- until we have a better way to this
-                continue
             menu.add_command(label=title, command=window.wakeup)
 
     def register_callback(self, callback):
@@ -72,6 +69,9 @@
         if not registry.dict:
             self.quit()
 
+    def update_windowlist_registry(self, window):
+        registry.call_callbacks()
+
     def get_title(self):
         # Subclass can override
         return self.wm_title()