Patch #1550800: make exec a function.
diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py
index d8befff..709b3a7 100644
--- a/Lib/idlelib/PyShell.py
+++ b/Lib/idlelib/PyShell.py
@@ -690,7 +690,7 @@
         if self.rpcclt:
             self.rpcclt.remotequeue("exec", "runcode", (code,), {})
         else:
-            exec code in self.locals
+            exec(code, self.locals)
         return 1
 
     def runcode(self, code):
@@ -711,7 +711,7 @@
                 elif debugger:
                     debugger.run(code, self.locals)
                 else:
-                    exec code in self.locals
+                    exec(code, self.locals)
             except SystemExit:
                 if not self.tkconsole.closing:
                     if tkMessageBox.askyesno(
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index ae810c4..61364a5 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -282,7 +282,7 @@
     def runcode(self, code):
         try:
             self.usr_exc_info = None
-            exec code in self.locals
+            exec(code, self.locals)
         except:
             self.usr_exc_info = sys.exc_info()
             if quitting: