diff -ru IronPython-0.7.6-orig\IronPython\AST\Stmt.cs IronPython-0.7.6\IronPython\AST\Stmt.cs
--- IronPython-0.7.6-orig\IronPython\AST\Stmt.cs	Thu Jun 09 15:30:26 2005
+++ IronPython-0.7.6\IronPython\AST\Stmt.cs	Sat Jul 23 15:11:05 2005
@@ -764,11 +764,12 @@
 				cg.emitCall(typeof(Ops), "Exec", new Type[] { typeof(object), typeof(PythonModule) });
 			} else if (globals == null) {
 				locals.Emit(cg);
-				cg.emitCall(typeof(Ops), "Exec", new Type[] { typeof(object), typeof(object) });
+                               cg.emitCall(typeof(Ops), "Exec", new Type[] { typeof(object), typeof(System.Collections.Generic.IDictionary<object, object>) });
 			} else {
 				locals.Emit(cg);
 				globals.Emit(cg);
-				cg.emitCall(typeof(Ops), "Exec", new Type[] { typeof(object), typeof(object), typeof(object) });
+                               Type objDict = typeof(System.Collections.Generic.IDictionary<object, object>);
+                               cg.emitCall(typeof(Ops), "Exec", new Type[] { typeof(object), objDict, objDict });
 			}			
 		}
diff -ru IronPython-0.7.6-orig\IronPython\Objects\Ops.cs IronPython-0.7.6\IronPython\Objects\Ops.cs
--- IronPython-0.7.6-orig\IronPython\Objects\Ops.cs	Sun Jun 12 17:01:42 2005
+++ IronPython-0.7.6\IronPython\Objects\Ops.cs	Sat Jul 23 12:25:59 2005
@@ -2201,6 +2208,10 @@
                 Parser p = Parser.fromString((string)code);
                 Stmt s = p.parseStmt();
                 code = SnippetMaker.Generate(s, "<exec>", false);
+            }
+            if (code is PythonFile) {
+                Parser p = Parser.fromFile((code as PythonFile).name);
+                code = SnippetMaker.Generate(p.parseFileInput(), "<exec>", false);
             }
             FrameCode fc = (FrameCode)code;
             Frame frame = new Frame(null, globals, locals);
diff -ru IronPython-0.7.6-orig\IronPython\Objects\PythonFile.cs IronPython-0.7.6\IronPython\Objects\PythonFile.cs
--- IronPython-0.7.6-orig\IronPython\Objects\PythonFile.cs	Mon Jun 13 16:17:38 2005
+++ IronPython-0.7.6\IronPython\Objects\PythonFile.cs	Sat Jul 23 15:20:36 2005
@@ -168,6 +168,12 @@
 
         public bool softspace = false;
 
+        public string name {
+            get {
+                return fstream.Name;
+            }
+        }
+
         public PythonFile(Stream stream, string mode, bool binary) {
             this.stream = stream;
             this.mode = mode;
@@ -297,7 +303,7 @@
         }
 
         public override string ToString() {
-            return string.Format("<file '{0}', {1}>", fstream.Name, mode);
+            return string.Format("<file '{0}', {1}>", name, mode);
         }
     }
 }
