diff --git a/Lib/idlelib/Bindings.py b/Lib/idlelib/Bindings.py
index abce56b..16113ab 100644
--- a/Lib/idlelib/Bindings.py
+++ b/Lib/idlelib/Bindings.py
@@ -1,10 +1,13 @@
-# This file defines the menu contents and key bindings.  Note that
-# there is additional configuration information in the EditorWindow
-# class (and subclasses): the menus are created there based on the
-# menu_specs (class) variable, and menus not created are silently
-# skipped by the code here.  This makes it possible to define the
-# Debug menu here, which is only present in the PythonShell window.
+"""Define the menu contents, hotkeys, and event bindings.
 
+There is additional configuration information in the EditorWindow class (and
+subclasses): the menus are created there based on the menu_specs (class)
+variable, and menus not created are silently skipped in the code here.  This
+makes it possible, for example, to define a Debug menu which is only present in
+the PythonShell window, and a Format menu which is only present in the Editor
+windows.
+
+"""
 import sys
 from configHandler import idleConf
 
@@ -43,39 +46,40 @@
    ('Go to _Line', '<<goto-line>>'),
   ]),
 ('format', [
-    ('_Indent Region', '<<indent-region>>'),
-    ('_Dedent Region', '<<dedent-region>>'),
-    ('Comment _Out Region', '<<comment-region>>'),
-    ('U_ncomment Region', '<<uncomment-region>>'),
-    ('Tabify Region', '<<tabify-region>>'),
-    ('Untabify Region', '<<untabify-region>>'),
-    ('Toggle Tabs', '<<toggle-tabs>>'),
-    ('New Indent Width', '<<change-indentwidth>>'),
-]),
- ('run',[
+   ('_Indent Region', '<<indent-region>>'),
+   ('_Dedent Region', '<<dedent-region>>'),
+   ('Comment _Out Region', '<<comment-region>>'),
+   ('U_ncomment Region', '<<uncomment-region>>'),
+   ('Tabify Region', '<<tabify-region>>'),
+   ('Untabify Region', '<<untabify-region>>'),
+   ('Toggle Tabs', '<<toggle-tabs>>'),
+   ('New Indent Width', '<<change-indentwidth>>'),
+   ]),
+ ('run', [
    ('Python Shell', '<<open-python-shell>>'),
- ]),
+   ]),
  ('shell', [
    ('_View Last Restart', '<<view-restart>>'),
    ('_Restart Shell', '<<restart-shell>>'),
-   None,
+   ]),
+ ('debug', [
    ('_Go to File/Line', '<<goto-file-line>>'),
    ('!_Debugger', '<<toggle-debugger>>'),
    ('_Stack Viewer', '<<open-stack-viewer>>'),
-   ('!_Auto-open Stack Viewer', '<<toggle-jit-stack-viewer>>' ),
-  ]),
+   ('!_Auto-open Stack Viewer', '<<toggle-jit-stack-viewer>>'),
+   ]),
  ('options', [
    ('_Configure IDLE...', '<<open-config-dialog>>'),
    None,
    ('Revert to _Default Settings', '<<revert-all-settings>>'),
-  ]),
+   ]),
  ('help', [
    ('_About IDLE', '<<about-idle>>'),
    ('IDLE _Readme', '<<view-readme>>'),   
    None,
    ('_IDLE Help', '<<help>>'),
    ('Python _Docs', '<<python-docs>>'),
-  ]),
+   ]),
 ]
 
 default_keydefs = idleConf.GetCurrentKeySet()
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index 77e4cf1..9c51526 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -368,6 +368,7 @@
         self.transfer_path()
         # annotate restart in shell window and mark it
         console = self.tkconsole
+        console.text.delete("iomark", "end-1c")
         halfbar = ((int(console.width) - 16) // 2) * '='
         console.write(halfbar + ' RESTART ' + halfbar)
         console.text.mark_set("restart", "end-1c")
@@ -659,6 +660,7 @@
         ("file", "_File"),
         ("edit", "_Edit"),
         ("shell", "_Shell"),
+        ("debug", "_Debug"),
         ("options", "_Options"),
         ("windows", "_Windows"),
         ("help", "_Help"),
@@ -1007,8 +1009,8 @@
         # Hack -- use the debugger hooks to be able to handle events
         # and interrupt execution at any time.
         # This slows execution down quite a bit, so you may want to
-        # disable this (by not calling settrace() in runcode() above)
-        # for full-bore (uninterruptable) speed.
+        # disable this (by not calling settrace() in beginexecuting() and
+        # endexecuting() for full-bore (uninterruptable) speed.)
         # XXX This should become a user option.
         if self.canceled:
             return
diff --git a/Lib/idlelib/config-keys.def b/Lib/idlelib/config-keys.def
index 3e03ad7..4f2be59 100644
--- a/Lib/idlelib/config-keys.def
+++ b/Lib/idlelib/config-keys.def
@@ -23,6 +23,7 @@
 history-previous=<Alt-Key-p> <Meta-Key-p>
 interrupt-execution=<Control-Key-c>
 view-restart=<Key-F6>
+restart-shell=<Control-Key-F6>
 open-class-browser=<Alt-Key-c> <Meta-Key-c>
 open-module=<Alt-Key-m> <Meta-Key-m>
 open-new-window=<Control-Key-n>
@@ -69,6 +70,7 @@
 history-previous=<Alt-Key-p> <Meta-Key-p>
 interrupt-execution=<Control-Key-c>
 view-restart=<Key-F6>
+restart-shell=<Control-Key-F6>
 open-class-browser=<Control-Key-x><Control-Key-b>
 open-module=<Control-Key-x><Control-Key-m>
 open-new-window=<Control-Key-x><Control-Key-n>
@@ -119,6 +121,7 @@
 history-previous=<Control-Key-p>
 interrupt-execution=<Control-Key-c>
 view-restart=<Key-F6>
+restart-shell=<Control-Key-F6>
 open-class-browser=<Command-Key-b>
 open-module=<Command-Key-m>
 open-new-window=<Command-Key-n>
diff --git a/Lib/idlelib/configHandler.py b/Lib/idlelib/configHandler.py
index 22e83a6..dac9d10 100644
--- a/Lib/idlelib/configHandler.py
+++ b/Lib/idlelib/configHandler.py
@@ -522,6 +522,7 @@
             '<<history-previous>>': ['<Alt-p>'],
             '<<interrupt-execution>>': ['<Control-c>'],
             '<<view-restart>>': ['<F6>'],
+            '<<restart-shell>>': ['<Control-F6>'],
             '<<open-class-browser>>': ['<Alt-c>'],
             '<<open-module>>': ['<Alt-m>'],
             '<<open-new-window>>': ['<Control-n>'],
