edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Parser/Parser.cs;C674241
File: Parser.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Parser/Parser.cs;C674241  (server)    2/18/2009 5:44 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Parser/Parser.cs;esupport
@@ -275,7 +275,9 @@
 
         // __FILE__
         internal Expression/*!*/ GetCurrentFileExpression(SourceSpan location) {
-            if (_sourceUnit.Path == null) {
+            if (_sourceUnit.Path == null && _sourceUnit.Kind == SourceCodeKind.Statements) {
+                return new StringLiteral("-e", StringLiteralEncoding.Ascii, location);
+            } else if (_sourceUnit.Path == null) {
                 return new StringLiteral("(eval)", StringLiteralEncoding.Ascii, location);
             } else {
                 var encoding = _sourceUnit.Path.IsAscii() ? StringLiteralEncoding.Ascii : StringLiteralEncoding.Default;
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;C747457
File: RubyOptionsParser.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;C747457  (server)    2/17/2009 11:49 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;esupport
@@ -110,6 +110,15 @@
                     LanguageSetup.Options["RequiredLibraries"] = libPath;
                     break;
 
+                case "-e":
+                    if (CommonConsoleOptions.Command == null) {
+                        CommonConsoleOptions.Command = String.Empty;
+                    } else {
+                        CommonConsoleOptions.Command += "\n";
+                    }
+                    CommonConsoleOptions.Command += PopNextArg();
+                    break;
+
 #if DEBUG && !SILVERLIGHT
                 case "-DT*":
                     SetTraceFilter(String.Empty, false);
===================================================================
