add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Rakefile;C445160
File: Rakefile
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Rakefile;C445160  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Rakefile;rails-2
@@ -364,7 +364,7 @@
 desc "generate initializer.generated.cs file for IronRuby.Libraries"
 task :gen do
   IronRuby.source_context do
-    cmd = "#{build_path + 'ClassInitGenerator.exe'} #{build_path + 'IronRuby.Libraries.dll'} /libraries:Ruby.Builtins;Ruby.StandardLibrary.Threading;Ruby.StandardLibrary.Sockets;Ruby.StandardLibrary.OpenSsl;Ruby.StandardLibrary.Digest;Ruby.StandardLibrary.Zlib;Ruby.StandardLibrary.StringIO;Ruby.StandardLibrary.StringScanner;Ruby.StandardLibrary.Enumerator;Ruby.StandardLibrary.FunctionControl /out:#{get_source_dir(:libraries) + 'Initializers.Generated.cs'}"
+    cmd = "#{build_path + 'ClassInitGenerator.exe'} #{build_path + 'IronRuby.Libraries.dll'} /libraries:Ruby.Builtins;Ruby.StandardLibrary.Threading;Ruby.StandardLibrary.Sockets;Ruby.StandardLibrary.OpenSsl;Ruby.StandardLibrary.Digest;Ruby.StandardLibrary.Zlib;Ruby.StandardLibrary.StringIO;Ruby.StandardLibrary.StringScanner;Ruby.StandardLibrary.Enumerator;Ruby.StandardLibrary.FunctionControl;Ruby.StandardLibrary.FileControl /out:#{get_source_dir(:libraries) + 'Initializers.Generated.cs'}"
     exec_net cmd
   end
 end
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/GenerateInitializers.cmd;C444795
File: GenerateInitializers.cmd
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/GenerateInitializers.cmd;C444795  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/GenerateInitializers.cmd;rails-2
@@ -1,1 +1,1 @@
-"%MERLIN_ROOT%\Bin\Debug\ClassInitGenerator" "%MERLIN_ROOT%\Bin\Debug\IronRuby.Libraries.dll" /libraries:Ruby.Builtins;Ruby.StandardLibrary.Threading;Ruby.StandardLibrary.Sockets;Ruby.StandardLibrary.OpenSsl;Ruby.StandardLibrary.Digest;Ruby.StandardLibrary.Zlib;Ruby.StandardLibrary.StringIO;Ruby.StandardLibrary.StringScanner;Ruby.StandardLibrary.Enumerator;Ruby.StandardLibrary.FunctionControl /out:%~dp0\Initializers.Generated.cs
+"%MERLIN_ROOT%\Bin\Debug\ClassInitGenerator" "%MERLIN_ROOT%\Bin\Debug\IronRuby.Libraries.dll" /libraries:Ruby.Builtins;Ruby.StandardLibrary.Threading;Ruby.StandardLibrary.Sockets;Ruby.StandardLibrary.OpenSsl;Ruby.StandardLibrary.Digest;Ruby.StandardLibrary.Zlib;Ruby.StandardLibrary.StringIO;Ruby.StandardLibrary.StringScanner;Ruby.StandardLibrary.Enumerator;Ruby.StandardLibrary.FunctionControl;Ruby.StandardLibrary.FileControl /out:%~dp0\Initializers.Generated.cs
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C445425
File: Initializers.Generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C445425  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;rails-2
@@ -8,6 +8,7 @@
 [assembly: Ruby.RubyLibraryAttribute(typeof(Ruby.StandardLibrary.StringScanner.StringScannerLibraryInitializer))]
 [assembly: Ruby.RubyLibraryAttribute(typeof(Ruby.StandardLibrary.Enumerator.EnumeratorLibraryInitializer))]
 [assembly: Ruby.RubyLibraryAttribute(typeof(Ruby.StandardLibrary.FunctionControl.FunctionControlLibraryInitializer))]
+[assembly: Ruby.RubyLibraryAttribute(typeof(Ruby.StandardLibrary.FileControl.FileControlLibraryInitializer))]
 
 namespace Ruby.Builtins {
     public sealed class BuiltinsLibraryInitializer : Ruby.Builtins.LibraryInitializer {
@@ -1151,7 +1152,7 @@
             });
             
             module.DefineLibraryMethod("dirname", 0x31, new System.Delegate[] {
-                new Microsoft.Scripting.Utils.Function<System.Object, Ruby.Builtins.MutableString, Ruby.Builtins.MutableString>(Ruby.Builtins.RubyFileOps.DirName),
+                new Microsoft.Scripting.Utils.Function<Microsoft.Scripting.Runtime.CodeContext, System.Object, Ruby.Builtins.MutableString, Ruby.Builtins.MutableString>(Ruby.Builtins.RubyFileOps.DirName),
             });
             
             module.DefineLibraryMethod("executable?", 0x31, new System.Delegate[] {
@@ -2987,6 +2988,7 @@
                 new Microsoft.Scripting.Utils.Function<Microsoft.Scripting.Runtime.CodeContext, Ruby.Builtins.RubyModule, Ruby.Runtime.BlockParam, System.Object, Ruby.Builtins.Proc>(Ruby.Builtins.ModuleOps.DefineMethod),
                 new Microsoft.Scripting.Utils.Function<Microsoft.Scripting.Runtime.CodeContext, Ruby.Builtins.RubyModule, System.Object, Ruby.Builtins.RubyMethod, Ruby.Builtins.RubyMethod>(Ruby.Builtins.ModuleOps.DefineMethod),
                 new Microsoft.Scripting.Utils.Function<Microsoft.Scripting.Runtime.CodeContext, Ruby.Builtins.RubyModule, System.Object, Ruby.Builtins.UnboundMethod, Ruby.Builtins.UnboundMethod>(Ruby.Builtins.ModuleOps.DefineMethod),
+                new Microsoft.Scripting.Utils.Function<Microsoft.Scripting.Runtime.CodeContext, Ruby.Builtins.RubyModule, System.Object, Ruby.Builtins.Proc, Ruby.Builtins.Proc>(Ruby.Builtins.ModuleOps.DefineMethod),
             });
             
             module.DefineLibraryMethod("extend_object", 0x2a, new System.Delegate[] {
@@ -6107,3 +6109,28 @@
     }
 }
 
+namespace Ruby.StandardLibrary.FileControl {
+    public sealed class FileControlLibraryInitializer : Ruby.Builtins.LibraryInitializer {
+        protected override void LoadModules() {
+            
+            
+            DefineGlobalModule("Fcntl", typeof(Ruby.StandardLibrary.FileControl.Fcntl), new System.Action<Ruby.Builtins.RubyModule>(LoadFcntl_Instance), null, Ruby.Builtins.RubyModule.EmptyArray);
+        }
+        
+        private void LoadFcntl_Instance(Ruby.Builtins.RubyModule/*!*/ module) {
+            module.SetConstant("F_SETFL", Ruby.StandardLibrary.FileControl.Fcntl.F_SETFL);
+            module.SetConstant("O_ACCMODE", Ruby.StandardLibrary.FileControl.Fcntl.O_ACCMODE);
+            module.SetConstant("O_APPEND", Ruby.StandardLibrary.FileControl.Fcntl.O_APPEND);
+            module.SetConstant("O_CREAT", Ruby.StandardLibrary.FileControl.Fcntl.O_CREAT);
+            module.SetConstant("O_EXCL", Ruby.StandardLibrary.FileControl.Fcntl.O_EXCL);
+            module.SetConstant("O_NONBLOCK", Ruby.StandardLibrary.FileControl.Fcntl.O_NONBLOCK);
+            module.SetConstant("O_RDONLY", Ruby.StandardLibrary.FileControl.Fcntl.O_RDONLY);
+            module.SetConstant("O_RDWR", Ruby.StandardLibrary.FileControl.Fcntl.O_RDWR);
+            module.SetConstant("O_TRUNC", Ruby.StandardLibrary.FileControl.Fcntl.O_TRUNC);
+            module.SetConstant("O_WRONLY", Ruby.StandardLibrary.FileControl.Fcntl.O_WRONLY);
+            
+        }
+        
+    }
+}
+
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/IronRuby.Libraries.csproj;C444795
File: IronRuby.Libraries.csproj
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/IronRuby.Libraries.csproj;C444795  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/IronRuby.Libraries.csproj;rails-2
@@ -177,45 +177,6 @@
       <Private>False</Private>
     </ProjectReference>
   </ItemGroup>
-  <ItemGroup>
-    <Content Include="zlib.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="thread.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="openssl.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="digest.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="socket.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="enumerator.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Include="fcntl.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Include="stringio.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-    <None Include="strscan.rb">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </None>
-  </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" Condition=" $(SilverlightTreeBuild) != 'true' " />
   <Import Project="..\..\..\silverlight.build.targets" Condition=" '$(SilverlightTreeBuild)' == 'true' " />
   <Target Name="BeforeBuild">
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cs;C445173
File: FileOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cs;C445173  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/FileOps.cs;rails-2
@@ -42,6 +42,14 @@
             return new RubyFile(RubyUtils.GetExecutionContext(context), path.ConvertToString(), modeString.ConvertToString());
         }
 
+        private static MutableString/*!*/ CanonicalizePath(CodeContext/*!*/ context, MutableString/*!*/ path) {
+            for (int i = 0; i < path.Length; i++) {
+                if (path.GetChar(i) == '\\')
+                    path.SetChar(i, '/');
+            }
+            return path;
+        }
+
         #region Private Singleton Methods
 
         #endregion
@@ -107,7 +115,7 @@
             string basename = System.IO.Path.GetFileNameWithoutExtension(filename);
 
             string result = WildcardExtensionMatch(fileExtension, extensionFilter.ConvertToString()) ? basename : filename;
-            return Kernel.FlowTaint(context, self, (result.Equals(root) ? MutableString.Create(root) : MutableString.Create(result)));
+            return CanonicalizePath(context, Kernel.FlowTaint(context, self, (result.Equals(root) ? MutableString.Create(root) : MutableString.Create(result))));
         }
 
         [RubyMethod("basename", RubyMethodAttributes.PublicSingleton)]
@@ -210,9 +218,9 @@
         }
 
         [RubyMethod("dirname", RubyMethodAttributes.PublicSingleton)]
-        public static MutableString DirName(object/*!*/ self, MutableString/*!*/ path) {
+        public static MutableString/*!*/ DirName(CodeContext/*!*/ context, object/*!*/ self, MutableString/*!*/ path) {
             string directoryName = System.IO.Path.GetDirectoryName(path.ConvertToString());
-            return MutableString.Create(String.IsNullOrEmpty(directoryName) ? "." : directoryName);
+            return CanonicalizePath(context, MutableString.Create(String.IsNullOrEmpty(directoryName) ? "." : directoryName));
         }
 
         [RubyMethod("executable?", RubyMethodAttributes.PublicSingleton)]
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/ModuleOps.cs;C444795
File: ModuleOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/ModuleOps.cs;C444795  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/ModuleOps.cs;rails-2
@@ -261,17 +261,10 @@
         [RubyMethod("define_method", RubyMethodAttributes.PrivateInstance)]
         public static Proc/*!*/ DefineMethod(CodeContext/*!*/ context, RubyModule/*!*/ self, BlockParam/*!*/ block, object methodName) {
             // TODO: [NotNull] attribute should work for BlockParams but doesn't
-            
-            if (block == null) {
+            if (block == null) 
                 throw RubyExceptions.CreateArgumentError("tried to create Proc object without a block");
-            }
 
-            SymbolId name = Protocols.CastToSymbol(context, methodName);
-
-            RubyScope scope = RubyUtils.GetScope(context);
-            Proc lambda = block.Proc.ToLambda();
-            self.AddMethod(name, Proc.ToLambdaMethodInfo(lambda, name, scope.Visibility, self));
-            return lambda;
+            return DefineMethod(context, self, methodName, block.Proc);
         }
 
         [RubyMethod("define_method", RubyMethodAttributes.PrivateInstance)]
@@ -304,6 +297,15 @@
             return method;
         }
 
+        [RubyMethod("define_method", RubyMethodAttributes.PrivateInstance)]
+        public static Proc/*!*/ DefineMethod(CodeContext/*!*/ context, RubyModule/*!*/ self, object methodName, [NotNull]Proc/*!*/ method) {
+            SymbolId name = Protocols.CastToSymbol(context, methodName);
+
+            RubyScope scope = RubyUtils.GetScope(context);
+            self.AddMethod(name, Proc.ToLambdaMethodInfo(method.ToLambda(), name, scope.Visibility, self));
+            return method;
+        }
+
         #endregion
 
         #region method_(added|removed|undefined)
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringIO/StringIO.cs;C444795
File: StringIO.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringIO/StringIO.cs;C444795  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringIO/StringIO.cs;rails-2
@@ -162,6 +162,9 @@
             }
         }
 
+        // for derivation
+        protected StringIO() { }
+
         #region Public Singleton Methods
 
         [RubyConstructor]
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringScanner/StringScanner.cs;C444795
File: StringScanner.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringScanner/StringScanner.cs;C444795  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/StringScanner/StringScanner.cs;rails-2
@@ -39,6 +39,9 @@
 
         #endregion
 
+        // for derivation
+        protected StringScanner() { }
+
         public StringScanner(CodeContext/*!*/ context, [NotNull]object/*!*/ scan, [Optional]bool dup) {
             ScanString = Protocols.CastToString(context, scan);
             Reset();
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/bigdecimal.rb
File: bigdecimal.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/bigdecimal.rb;rails-2
@@ -1,0 +1,4 @@
+# placeholder file ... 
+class BigDecimal < Numeric
+
+end
===================================================================
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/digest
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/digest.rb;C443395
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/enumerator.rb;C444795
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/fcntl.rb;C444795
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/nkf.rb
File: nkf.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/nkf.rb;rails-2
@@ -1,0 +1,18 @@
+# HACKHACKHACK: Stub implementation of NKF
+
+module NKF
+  AUTO = 0
+  JIS = 1
+  EUC = 2
+  SJIS = 3
+  NOCONV = 4
+  ASCII = 5
+  BINARY = 4
+  NKF_RELEASE_DATE = "2007-01-28"
+  NKF_VERSION = "2.0.8"
+  UNKNOWN = 0
+  UTF16 = 8
+  UTF32 = 12
+  UTF8 = 6
+  VERSION = "2.0.8 (2007-01-28)"
+end
===================================================================
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/openssl.rb;C443395
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/rbconfig.rb
File: rbconfig.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/rbconfig.rb;rails-2
@@ -1,0 +1,154 @@
+
+# This file was created by mkconfig.rb when ruby was built.  Any
+# changes made to this file will be lost the next time ruby is built.
+
+module Config
+  RUBY_VERSION == "1.8.6" or
+    raise "ruby lib version (1.8.6) doesn't match executable version (#{RUBY_VERSION})"
+
+  TOPDIR = File.dirname(__FILE__).chomp!("/lib/ruby/1.8/i386-mswin32")
+  DESTDIR = TOPDIR && TOPDIR[/\A[a-z]:/i] || '' unless defined? DESTDIR
+  CONFIG = {}
+  CONFIG["DESTDIR"] = DESTDIR
+  CONFIG["MAJOR"] = "1"
+  CONFIG["MINOR"] = "8"
+  CONFIG["TEENY"] = "6"
+  CONFIG["PATCHLEVEL"] = "0"
+  CONFIG["prefix"] = (TOPDIR || DESTDIR + "")
+  CONFIG["EXEEXT"] = ".exe"
+  CONFIG["ruby_install_name"] = "ruby"
+  CONFIG["RUBY_INSTALL_NAME"] = "ruby"
+  CONFIG["RUBY_SO_NAME"] = "msvcrt-ruby18"
+  CONFIG["SHELL"] = "$(COMSPEC)"
+  CONFIG["BUILD_FILE_SEPARATOR"] = "\\"
+  CONFIG["PATH_SEPARATOR"] = ";"
+  CONFIG["CFLAGS"] = "-MD -Zi -O2b2xg- -G6"
+  CONFIG["CPPFLAGS"] = ""
+  CONFIG["CXXFLAGS"] = ""
+  CONFIG["FFLAGS"] = ""
+  CONFIG["LDFLAGS"] = ""
+  CONFIG["LIBS"] = "oldnames.lib user32.lib advapi32.lib ws2_32.lib "
+  CONFIG["exec_prefix"] = "$(prefix)"
+  CONFIG["bindir"] = "$(exec_prefix)/bin"
+  CONFIG["sbindir"] = "$(exec_prefix)/sbin"
+  CONFIG["libexecdir"] = "$(exec_prefix)/libexec"
+  CONFIG["datadir"] = "$(prefix)/share"
+  CONFIG["sysconfdir"] = "$(prefix)/etc"
+  CONFIG["sharedstatedir"] = "$(DESTDIR)/etc"
+  CONFIG["localstatedir"] = "$(DESTDIR)/var"
+  CONFIG["libdir"] = "$(exec_prefix)/lib"
+  CONFIG["includedir"] = "$(prefix)/include"
+  CONFIG["oldincludedir"] = "/usr/include"
+  CONFIG["infodir"] = "$(prefix)/info"
+  CONFIG["mandir"] = "$(prefix)/man"
+  CONFIG["build"] = "i686-pc-mswin32"
+  CONFIG["build_alias"] = "i686-mswin32"
+  CONFIG["build_cpu"] = "i686"
+  CONFIG["build_vendor"] = "pc"
+  CONFIG["build_os"] = "mswin32"
+  CONFIG["host"] = "i686-pc-mswin32"
+  CONFIG["host_alias"] = "i686-mswin32"
+  CONFIG["host_cpu"] = "i686"
+  CONFIG["host_vendor"] = "pc"
+  CONFIG["host_os"] = "mswin32"
+  CONFIG["target"] = "i386-pc-mswin32"
+  CONFIG["target_alias"] = "i386-mswin32"
+  CONFIG["target_cpu"] = "i386"
+  CONFIG["target_vendor"] = "pc"
+  CONFIG["target_os"] = "mswin32"
+  CONFIG["CC"] = "cl -nologo"
+  CONFIG["CPP"] = "cl -nologo -E"
+  CONFIG["YACC"] = "byacc"
+  CONFIG["RANLIB"] = ""
+  CONFIG["AR"] = "lib -nologo"
+  CONFIG["ARFLAGS"] = "-machine:x86 -out:"
+  CONFIG["LN_S"] = ""
+  CONFIG["SET_MAKE"] = ""
+  CONFIG["CP"] = "copy > nul"
+  CONFIG["ALLOCA"] = ""
+  CONFIG["DEFAULT_KCODE"] = ""
+  CONFIG["OBJEXT"] = "obj"
+  CONFIG["XCFLAGS"] = "-DRUBY_EXPORT -I. -IC:/develop/win/ruby/ruby-1.8.6 -IC:/develop/win/ruby/ruby-1.8.6/missing"
+  CONFIG["XLDFLAGS"] = "-stack:0x2000000"
+  CONFIG["DLDFLAGS"] = "-link -incremental:no -debug -opt:ref -opt:icf -dll $(LIBPATH) -def:$(DEFFILE) -implib:$(*F:.so=)-$(arch).lib -pdb:$(*F:.so=)-$(arch).pdb"
+  CONFIG["ARCH_FLAG"] = ""
+  CONFIG["STATIC"] = ""
+  CONFIG["CCDLFLAGS"] = ""
+  CONFIG["LDSHARED"] = "cl -nologo -LD"
+  CONFIG["DLEXT"] = "so"
+  CONFIG["DLEXT2"] = "dll"
+  CONFIG["LIBEXT"] = "lib"
+  CONFIG["STRIP"] = ""
+  CONFIG["EXTSTATIC"] = ""
+  CONFIG["setup"] = "Setup"
+  CONFIG["MINIRUBY"] = ".\\miniruby.exe "
+  CONFIG["PREP"] = "miniruby.exe"
+  CONFIG["RUNRUBY"] = ".\\ruby.exe \"C:/develop/win/ruby/ruby-1.8.6/runruby.rb\" --extout=\".ext\" --"
+  CONFIG["EXTOUT"] = ".ext"
+  CONFIG["ARCHFILE"] = ""
+  CONFIG["RDOCTARGET"] = "install-nodoc"
+  CONFIG["LIBRUBY_LDSHARED"] = "cl -nologo -LD"
+  CONFIG["LIBRUBY_DLDFLAGS"] = " -def:msvcrt-ruby18.def"
+  CONFIG["rubyw_install_name"] = "rubyw"
+  CONFIG["RUBYW_INSTALL_NAME"] = "rubyw"
+  CONFIG["LIBRUBY_A"] = "$(RUBY_SO_NAME)-static.lib"
+  CONFIG["LIBRUBY_SO"] = "$(RUBY_SO_NAME).dll"
+  CONFIG["LIBRUBY_ALIASES"] = ""
+  CONFIG["LIBRUBY"] = "$(RUBY_SO_NAME).lib"
+  CONFIG["LIBRUBYARG"] = "$(LIBRUBYARG_SHARED)"
+  CONFIG["LIBRUBYARG_STATIC"] = "$(LIBRUBY_A)"
+  CONFIG["LIBRUBYARG_SHARED"] = "$(LIBRUBY)"
+  CONFIG["SOLIBS"] = ""
+  CONFIG["DLDLIBS"] = ""
+  CONFIG["ENABLE_SHARED"] = "yes"
+  CONFIG["OUTFLAG"] = "-Fe"
+  CONFIG["CPPOUTFILE"] = "-P"
+  CONFIG["LIBPATHFLAG"] = " -libpath:\"%s\""
+  CONFIG["RPATHFLAG"] = ""
+  CONFIG["LIBARG"] = "%s.lib"
+  CONFIG["LINK_SO"] = "$(LDSHARED) -Fe$(@) $(OBJS) $(LIBS) $(LOCAL_LIBS) $(DLDFLAGS)"
+  CONFIG["COMPILE_C"] = "$(CC) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\\=/)"
+  CONFIG["COMPILE_CXX"] = "$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\\=/)"
+  CONFIG["COMPILE_RULES"] = "{$(srcdir)}.%s{}.%s: {$(topdir)}.%s{}.%s: {$(hdrdir)}.%s{}.%s: .%s.%s:"
+  CONFIG["RULE_SUBST"] = "{.;$(srcdir);$(topdir);$(hdrdir)}%s"
+  CONFIG["TRY_LINK"] = "$(CC) -Feconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS) $(CFLAGS) $(src) $(LOCAL_LIBS) $(LIBS) -link $(LDFLAGS) $(LIBPATH) $(XLDFLAGS)"
+  CONFIG["COMMON_LIBS"] = "m"
+  CONFIG["COMMON_MACROS"] = "WIN32_LEAN_AND_MEAN"
+  CONFIG["COMMON_HEADERS"] = "winsock2.h windows.h"
+  CONFIG["DISTCLEANFILES"] = "vc*.pdb"
+  CONFIG["EXPORT_PREFIX"] = " "
+  CONFIG["arch"] = "i386-mswin32"
+  CONFIG["sitearch"] = "i386-msvcrt"
+  CONFIG["sitedir"] = "$(prefix)/lib/ruby/site_ruby"
+  CONFIG["configure_args"] = "--with-make-prog=nmake --enable-shared --with-winsock2"
+  CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
+  CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
+  CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
+  CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
+  CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
+  CONFIG["topdir"] = File.dirname(__FILE__)
+  MAKEFILE_CONFIG = {}
+  CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
+  def Config::expand(val, config = CONFIG)
+    val.gsub!(/\$\$|\$\(([^()]+)\)|\$\{([^{}]+)\}/) do |var|
+      if !(v = $1 || $2)
+	'$'
+      elsif key = config[v = v[/\A[^:]+(?=(?::(.*?)=(.*))?\z)/]]
+	pat, sub = $1, $2
+	config[v] = false
+	Config::expand(key, config)
+	config[v] = key
+	key = key.gsub(/#{Regexp.quote(pat)}(?=\s|\z)/n) {sub} if pat
+	key
+      else
+	var
+      end
+    end
+    val
+  end
+  CONFIG.each_value do |val|
+    Config::expand(val)
+  end
+end
+RbConfig = Config # compatibility for ruby-1.9
+CROSS_COMPILING = nil unless defined? CROSS_COMPILING
===================================================================
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/socket.rb;C443395
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/stringio.rb;C444795
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/strscan.rb;C444795
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/thread.rb;C443395
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/yaml.rb
File: yaml.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/yaml.rb;rails-2
@@ -1,0 +1,1 @@
+load_assembly 'IronRuby.Libraries.Yaml', 'Ruby.StandardLibrary.Yaml'
===================================================================
rename: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/zlib.rb;C443395
add: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/digest/md5.rb
File: md5.rb
===================================================================
--- [no source file]
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libs/digest/md5.rb;rails-2
@@ -1,0 +1,1 @@
+# placeholder no-op file 
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/IO.cs;C443395
File: IO.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/IO.cs;C443395  (server)    5/21/2008 2:38 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Builtins/IO.cs;rails-2
@@ -161,6 +161,9 @@
             }
         }
 
+        // for derivation
+        protected RubyIO() { }
+
         public RubyIO(RubyExecutionContext/*!*/ context) {
             ContractUtils.RequiresNotNull(context, "context");
             _disposed = false;
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;C443395
File: RubyOptionsParser.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;C443395  (server)    5/21/2008 2:40 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Hosting/RubyOptionsParser.cs;rails-2
@@ -72,12 +72,6 @@
             if (options.MainFile != null) {
                 context.ExecutionContext.SetGlobalVariable(null, Symbols.CommandLineProgramPath, MutableString.Create(options.MainFile));
             }
-
-#if !SILVERLIGHT // GetEntryAssembly
-            // default load path:
-            string exeDir = Path.GetDirectoryName(new Uri(Assembly.GetEntryAssembly().CodeBase).AbsolutePath);
-            context.ExecutionContext.Loader.InsertLoadPaths(new string[] { exeDir });
-#endif
         }
 
         public override void Parse(string[] args) {
===================================================================
