edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/ClassInitGenerator/Libraries/InitGenerator.cs;C791094
File: InitGenerator.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/ClassInitGenerator/Libraries/InitGenerator.cs;C791094  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/ClassInitGenerator/Libraries/InitGenerator.cs;Mono5
@@ -95,6 +95,7 @@
             output.NewLine = "\r\n";
 
             WriteLicenseStatement(writer);
+            output.WriteLine("#pragma warning disable 169 // mcs: unused private method");
 
             foreach (LibraryDef library in _libraries.Values) {
                 output.WriteLine("[assembly: {2}(typeof({0}.{1}))]", library._namespace, library._initializerName, LibraryDef.TypeRubyLibraryAttribute);
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C1429753
File: Initializers.Generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C1429753  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;Mono5
@@ -13,6 +13,7 @@
  *
  * ***************************************************************************/
 
+#pragma warning disable 169 // mcs: unused private method
 [assembly: IronRuby.Runtime.RubyLibraryAttribute(typeof(IronRuby.Builtins.BuiltinsLibraryInitializer))]
 [assembly: IronRuby.Runtime.RubyLibraryAttribute(typeof(IronRuby.StandardLibrary.Threading.ThreadingLibraryInitializer))]
 [assembly: IronRuby.Runtime.RubyLibraryAttribute(typeof(IronRuby.StandardLibrary.Sockets.SocketsLibraryInitializer))]
@@ -5601,8 +5602,8 @@
             );
             
             DefineLibraryMethod(module, "join", 0x51, 
-                new Func<IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, System.Collections.IList, IronRuby.Builtins.MutableString>(IronRuby.Builtins.IListOps.Join), 
-                new Func<IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, System.Collections.IList, System.Object, IronRuby.Builtins.MutableString>(IronRuby.Builtins.IListOps.Join)
+                new Func<IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, System.Collections.IList, System.Object, IronRuby.Builtins.MutableString>(IronRuby.Builtins.IListOps.Join), 
+                new Func<IronRuby.Runtime.ConversionStorage<IronRuby.Builtins.MutableString>, System.Collections.IList, IronRuby.Builtins.MutableString>(IronRuby.Builtins.IListOps.Join)
             );
             
             DefineLibraryMethod(module, "last", 0x51, 
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/BigDecimal.cs;C1286631
File: BigDecimal.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/BigDecimal.cs;C1286631  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/BigDecimal.cs;Mono5
@@ -2413,7 +2413,6 @@
                 sb.Append("0.");
                 AppendDigits(sb, new string('0', -_exponent) + _fraction.ToString(), 0, Digits - _exponent, separateAt);
             } else {
-                int minExpLen = Math.Min(_exponent, Digits);
                 int expLenDiff = _exponent - Digits;
                 if (expLenDiff >= 0) {
                     AppendDigits(sb, _fraction.ToString() + new string('0', expLenDiff), 0, _exponent, separateAt);
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/Fraction.cs;C1286631
File: Fraction.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/Fraction.cs;C1286631  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/BigDecimal/Fraction.cs;Mono5
@@ -633,13 +633,7 @@
             }
         }
 
-        private static Fraction/*!*/ ScrollLeft(Fraction/*!*/ fraction, int offset) {
-            // Scrolling left is just the same as scrolling right by (BASE_FIG-offset)
-            // E.g. Assuming BASE_FIG is 9:
-            //  ScrollRight(123456789, 6) => 000000123 456789000
-            //  ScrollLeft (123456789, 6) => 000123456 789000000
-            return ScrollRight(fraction, BASE_FIG - offset);
-        }
+        // Note: Scrolling left is just the same as scrolling right by (BASE_FIG-offset)
         private static Fraction/*!*/ ScrollRight(Fraction/*!*/ fraction, int offset) {
             Debug.Assert(offset <= BASE_FIG);
             Debug.Assert(offset >= 0);
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/EnvironmentSingletonOps.cs;C1290543
File: EnvironmentSingletonOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/EnvironmentSingletonOps.cs;C1290543  (server)    1/6/2010 2:09 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/EnvironmentSingletonOps.cs;Mono5
@@ -29,8 +29,8 @@
     [RubyConstant("ENV")]
     [RubySingleton, Includes(typeof(Enumerable))]
     public static class EnvironmentSingletonOps {
-        private static MutableString/*!*/ FrozenString(object/*!*/ value) {
-            return MutableString.Create((string)value, RubyEncoding.UTF8).Freeze();
+        private static MutableString/*!*/ FrozenString(object value) {
+            return MutableString.Create((string)value ?? "", RubyEncoding.UTF8).Freeze();
         }
 
         private static void SetEnvironmentVariable(RubyContext/*!*/ context, string/*!*/ name, string value) {
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;C1429753
File: KernelOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;C1429753  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;Mono5
@@ -955,7 +955,6 @@
             if (!inherited && !immediateClass.IsSingletonClass) {
                 var result = new RubyArray();
                 if (foreignMembers.Count > 0) {
-                    var symbolicNames = context.RubyOptions.Compatibility > RubyCompatibility.Ruby18;
                     foreach (var name in foreignMembers) {
                         result.Add(new ClrName(name));
                     }
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Marshal.cs;C1286631
File: Marshal.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Marshal.cs;C1286631  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Marshal.cs;Mono5
@@ -191,15 +191,14 @@
                 }
             }
 
-            class SubclassData {
-                internal SubclassData(MarshalWriter/*!*/ marshaller, object/*!*/ obj, Type type) {
-                    RubyClass libClass = marshaller._context.GetClass(type);
-                    RubyClass theClass = marshaller._context.GetClassOf(obj);
+            
+            private void WriteSubclassData(object/*!*/ obj, Type type) {
+                RubyClass libClass = _context.GetClass(type);
+                RubyClass theClass = _context.GetClassOf(obj);
 
-                    if (libClass != theClass && !(obj is RubyStruct)) {
-                        marshaller._writer.Write((byte)'C');
-                        marshaller.WriteModuleName(theClass);
-                    }
+                if (libClass != theClass && !(obj is RubyStruct)) {
+                    _writer.Write((byte)'C');
+                    WriteModuleName(theClass);
                 }
             }
 
@@ -220,20 +219,20 @@
             }
 
             private void WriteString(MutableString/*!*/ value) {
-                SubclassData instanceWriter = new SubclassData(this, value, typeof(MutableString));
+                WriteSubclassData(value, typeof(MutableString));
                 _writer.Write((byte)'"');
                 WriteStringValue(value);
             }
 
             private void WriteRegex(RubyRegex/*!*/ value) {
-                SubclassData instanceWriter = new SubclassData(this, value, typeof(RubyRegex));
+                WriteSubclassData(value, typeof(RubyRegex));
                 _writer.Write((byte)'/');
                 WriteStringValue(value.Pattern);
                 _writer.Write((byte)value.Options);
             }
 
             private void WriteArray(RubyArray/*!*/ value) {
-                SubclassData instanceWriter = new SubclassData(this, value, typeof(RubyArray));
+                WriteSubclassData(value, typeof(RubyArray));
                 _writer.Write((byte)'[');
                 WriteInt32(value.Count);
                 foreach (object obj in value) {
@@ -246,7 +245,7 @@
                     throw RubyExceptions.CreateTypeError("can't dump hash with default proc");
                 }
 
-                SubclassData instanceWriter = new SubclassData(this, value, typeof(Hash));
+                WriteSubclassData(value, typeof(Hash));
                 char typeFlag = (value.DefaultValue != null) ? '}' : '{';
                 _writer.Write((byte)typeFlag);
                 WriteInt32(value.Count);
@@ -334,7 +333,7 @@
             }
 
             private void WriteStruct(RubyStruct/*!*/ obj) {
-                SubclassData instanceWriter = new SubclassData(this, obj, typeof(RubyStruct));
+                WriteSubclassData(obj, typeof(RubyStruct));
                 _writer.Write((byte)'S');
                 RubyClass theClass = _context.GetClassOf(obj);
                 TestForAnonymous(theClass);
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Numeric.cs;C1040664
File: Numeric.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Numeric.cs;C1040664  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/Numeric.cs;Mono5
@@ -436,7 +436,7 @@
                 double floatSelf = self is double ? (double)self : site.Target(site, self);
                 double floatLimit = limit is double ? (double)self : site.Target(site, limit);
                 double floatStep = step is double ? (double)self : site.Target(site, step);
-                return Step(block, floatSelf, floatLimit, floatSelf);
+                return Step(block, floatSelf, floatLimit, floatStep);
             } else {
                 #region The generic step algorithm:
                 // current = self
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/RubyEncoder.cs;C1290543
File: RubyEncoder.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/RubyEncoder.cs;C1290543  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/RubyEncoder.cs;Mono5
@@ -454,10 +454,6 @@
 
         private const char UUEncodeZero = '`';
 
-        private static void EncodeUU(byte[]/*!*/ input, Stream/*!*/ output) {
-            EncodeUU(input, 45, output);
-        }
-
         private static void EncodeUU(byte[]/*!*/ input, int bytesPerLine, Stream/*!*/ output) {
             ContractUtils.RequiresNotNull(input, "input");
             ContractUtils.RequiresNotNull(output, "output");
@@ -1456,15 +1452,6 @@
             return result;
         }
 
-        private static bool HasCapacity(Stream/*!*/ s, int? n) {
-            if (s.Length < (s.Position + n)) {
-                s.Position = s.Length;
-                return false;
-            } else {
-                return true;
-            }
-        }
-
         private static int CalculateCounts(int remaining, int? count, int size, out int leftover) {
             int maxCount = remaining / size;
             if (!count.HasValue) {
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/StringFormatter.cs;C1346865
File: StringFormatter.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/StringFormatter.cs;C1346865  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/StringFormatter.cs;Mono5
@@ -798,7 +798,6 @@
             char[] digits = lowerCase ? _LowerDigits : _UpperDigits;
 
             while (val != limit) {
-                int t = (int)(val & mask);
                 result.Append(digits[(int)(val & mask)]);
                 val >>= bitsToShift;
                 limit >>= bitsToShift;
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrInteger.Generated.cs;C1286631
File: ClrInteger.Generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrInteger.Generated.cs;C1286631  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Extensions/ClrInteger.Generated.cs;Mono5
@@ -48,6 +48,7 @@
     }
 
     #region new, size, induced_from, succ
+#pragma warning disable 162 // mcs: unreachable code
 
     // *** BEGIN GENERATED CODE ***
     // Generated by ClrInteger.Generator.rb
@@ -390,5 +391,7 @@
 
     // *** END GENERATED CODE ***
 
+#pragma warning restore 162 // mcs: unreachable code
     #endregion
 }
+
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/ParseTree/IronRubyParseTreeOps.cs;C1429753
File: IronRubyParseTreeOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/ParseTree/IronRubyParseTreeOps.cs;C1429753  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/ParseTree/IronRubyParseTreeOps.cs;Mono5
@@ -37,7 +37,8 @@
             public static RubyArray/*!*/ CreateParseTreeForMethod(object self,
                 [NotNull]RubyModule/*!*/ module, [DefaultProtocol, NotNull]string/*!*/ methodName, bool isClassMethod) {
 
-                bool includeNewLines = IncludeNewLines(module.Context, self);
+                // TODO:
+                // bool includeNewLines = IncludeNewLines(module.Context, self);
 
                 if (isClassMethod) {
                     module = module.SingletonClass;
@@ -70,12 +71,14 @@
                 var options = RubyUtils.CreateCompilerOptionsForEval(scope, line);
 
                 SourceUnitTree ast = new Parser().Parse(source, options, scope.RubyContext.RuntimeErrorSink);
-                bool includeNewLines = IncludeNewLines(scope.RubyContext, self);
+                // TODO:
+                // bool includeNewLines = IncludeNewLines(scope.RubyContext, self);
                 var visitor = new AstVisitor(GetNodeNames(scope.RubyContext, self), false);
                 visitor.Walk(ast);
                 return visitor.Result;
             }
 
+#if TODO
             private static bool IncludeNewLines(RubyContext/*!*/ context, object self) {
                 object value;
                 if (context.TryGetInstanceVariable(self, "@include_newlines", out value)) {
@@ -83,7 +86,7 @@
                 }
                 return false;
             }
-
+#endif
             private static RubyArray/*!*/ GetNodeNames(RubyContext/*!*/ context, object self) {
                 object value;
                 context.GetClassOf(self).TryGetConstant(null, "NODE_NAMES", out value);
@@ -220,16 +223,6 @@
                     return list;
                 }
 
-                private RubyArray/*!*/ AddSplat(RubyArray/*!*/ list, object value) {
-                    var array = value as RubyArray;
-                    if (array != null) {
-                        list.AddRange(array);
-                    } else {
-                        list.Add(value);
-                    }
-                    return list;
-                }
-
                 private void UsingRhs(Rhs rhs, Action/*!*/ region) {
                     var oldRhs = _rhs;
                     _rhs = rhs;
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/socket/Socket.cs;C1055652
File: Socket.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/socket/Socket.cs;C1055652  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/socket/Socket.cs;Mono5
@@ -64,9 +64,8 @@
 
             int iPort = ConvertToPortNum(stringCast, fixnumCast, port);
 
-            // Sadly the family, socktype, protocol and flags get passed through at best and ignored at worst, 
-            // since System.Net does not provide for them
-            AddressFamily addrFamily = ConvertToAddressFamily(stringCast, fixnumCast, family);
+            // TODO: ignore family, the only supported families are InterNetwork and InterNetworkV6
+            ConvertToAddressFamily(stringCast, fixnumCast, family);
             int socketType = Protocols.CastToFixnum(fixnumCast, socktype);
             int protocolType = Protocols.CastToFixnum(fixnumCast, protocol);
 
@@ -100,7 +99,8 @@
         public static RubyArray GetHostByAddress(ConversionStorage<MutableString>/*!*/ stringCast, ConversionStorage<int>/*!*/ fixnumCast, 
             RubyClass/*!*/ self, [DefaultProtocol, NotNull]MutableString/*!*/ address, [DefaultParameterValue(null)]object type) {
 
-            AddressFamily addressFamily = ConvertToAddressFamily(stringCast, fixnumCast, type);
+            // TODO: ignore family, the only supported families are InterNetwork and InterNetworkV6
+            ConvertToAddressFamily(stringCast, fixnumCast, type);
             IPHostEntry entry = GetHostEntry(new IPAddress(address.ConvertToBytes()));
 
             return CreateHostEntryArray(entry, true);
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Win32API/Win32API.cs;C1426166
File: Win32API.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Win32API/Win32API.cs;C1426166  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Win32API/Win32API.cs;Mono5
@@ -12,7 +12,8 @@
  *
  *
  * ***************************************************************************/
-#define USE_SNIPPETS
+// debug only:
+// #define USE_SNIPPETS
 
 #if !SILVERLIGHT
 #if !CLR2
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Zlib/zlib.cs;C1290543
File: zlib.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Zlib/zlib.cs;C1290543  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Zlib/zlib.cs;Mono5
@@ -538,7 +538,8 @@
                     }
 
                     bool preset_dictionary_flag = ((flags & 0x20) >> 0x05 == 1);
-                    byte compression_level = (byte)((flags & 0xC0) >> (byte)0x06);
+                    // TODO: ??? 
+                    // byte compression_level = (byte)((flags & 0xC0) >> (byte)0x06);
 
                     //TODO: Add Preset Dictionary Support
                     if (preset_dictionary_flag) {
@@ -793,6 +794,7 @@
                     throw new Error("unknown compression method");
                 }
 
+#pragma warning disable 168,219 // TODO: mcs: unused locals
                 byte flg = reader.ReadByte();
                 bool ftext = IsBitSet(flg, 0);
                 bool fhcrc = IsBitSet(flg, 1);
@@ -808,6 +810,7 @@
                     int xlen = ReadUInt16LE(reader);
                     _xtraField = MutableString.CreateBinary(reader.ReadBytes(xlen));
                 }
+#pragma warning restore 168,219
 
                 if (fname) {
                     _originalName = ReadStringZ(reader);
@@ -1077,8 +1080,10 @@
             private readonly GZipStream/*!*/ _gzipStream;
 
             // TODO:
+#pragma warning disable 414 // mcs: unused field
             [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1823:AvoidUnusedPrivateFields")]
             private int _level, _strategy;
+#pragma warning restore 414
 
             private GzipWriter(RespondToStorage/*!*/ respondToStorage, RubyContext/*!*/ context, IOWrapper/*!*/ ioWrapper, int level, int strategy) 
                 : base(ioWrapper) {
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;C1300588
File: RubyClass.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;C1300588  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyClass.cs;Mono5
@@ -1389,7 +1389,6 @@
                 return Methods.AllocateStructInstance.OpCall(AstUtils.Convert(args.TargetExpression, typeof(RubyClass)));
             }
 
-            var bindingFlags = BindingFlags.Public | (Context.DomainManager.Configuration.PrivateBinding ? BindingFlags.NonPublic : 0);
             ConstructorInfo ctor;
             if (IsException()) {
                 if ((ctor = GetConstructor(type, typeof(string))) != null) {
@@ -1420,7 +1419,7 @@
 
         private void BuildDelegateConstructorCall(MetaObjectBuilder/*!*/ metaBuilder, CallArguments/*!*/ args, Type/*!*/ type) {
             if (args.Signature.HasBlock) {
-                var actualArgs = RubyOverloadResolver.NormalizeArguments(metaBuilder, args, 0, 0);
+                RubyOverloadResolver.NormalizeArguments(metaBuilder, args, 0, 0);
                 if (!metaBuilder.Error) {
                     metaBuilder.Result = Methods.CreateDelegateFromProc.OpCall(
                         AstUtils.Constant(type),
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyStruct.cs;C1426166
File: RubyStruct.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyStruct.cs;C1426166  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Builtins/RubyStruct.cs;Mono5
@@ -180,7 +180,7 @@
         private static RuleGenerator/*!*/ CreateGetter(int index) {
             return delegate(MetaObjectBuilder/*!*/ metaBuilder, CallArguments/*!*/ args, string/*!*/ name) {
 
-                var actualArgs = RubyOverloadResolver.NormalizeArguments(metaBuilder, args, 0, 0);
+                RubyOverloadResolver.NormalizeArguments(metaBuilder, args, 0, 0);
                 if (!metaBuilder.Error) {
                     metaBuilder.Result = Ast.Call(
                         Ast.Convert(args.TargetExpression, typeof(RubyStruct)),
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Definitions/MethodDefinition.cs;C1426166
File: MethodDefinition.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Definitions/MethodDefinition.cs;C1426166  (server)    1/6/2010 1:04 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Definitions/MethodDefinition.cs;Mono5
@@ -119,7 +119,6 @@
             AstParameters parameters;
             ScopeBuilder scope = DefineLocals(out parameters);
 
-            var currentMethodVariable = scope.DefineHiddenVariable("#method", typeof(RubyMethodInfo));
             var scopeVariable = scope.DefineHiddenVariable("#scope", typeof(RubyMethodScope));
             var selfParameter = parameters[0];
             var blockParameter = parameters[1];
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/InteropBinder.cs;C1240527
File: InteropBinder.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/InteropBinder.cs;C1240527  (server)    1/6/2010 12:25 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/InteropBinder.cs;Mono5
@@ -102,7 +102,7 @@
 
                 metaBuilder.AddTypeRestriction(target.GetLimitType(), target.Expression);
 
-                var normalizedArgs = RubyOverloadResolver.NormalizeArguments(metaBuilder, callArgs, 0, 0);
+                RubyOverloadResolver.NormalizeArguments(metaBuilder, callArgs, 0, 0);
                 if (!metaBuilder.Error) {
                     // no arguments => just return the target:
                     metaBuilder.Result = target.Expression;
@@ -773,8 +773,7 @@
         }
 
         internal static bool TryBuildConversionToDelegate(MetaObjectBuilder/*!*/ metaBuilder, RubyMetaObject/*!*/ target, Type/*!*/ delegateType, MethodInfo/*!*/ delegateFactory) {
-            MethodInfo invoke;
-            if (!typeof(Delegate).IsAssignableFrom(delegateType) || (invoke = delegateType.GetMethod("Invoke")) == null) {
+            if (!typeof(Delegate).IsAssignableFrom(delegateType) || delegateType.GetMethod("Invoke") == null) {
                 return false;
             }
 
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Scripts/irtests.rb;C1366657
File: irtests.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Scripts/irtests.rb;C1366657  (server)    1/6/2010 12:28 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Scripts/irtests.rb;Mono5
@@ -14,9 +14,16 @@
     @root = ENV["MERLIN_ROOT"] 
     @bin = "#{@root}\\bin\\#{@config}"
     ENV["ROWAN_BIN"] = @bin
+    
        
     mspec_base = "#{@root}\\..\\External.LCA_RESTRICTED\\Languages\\IronRuby\\mspec\\mspec\\bin\\mspec.bat ci -fd"
     ir = "\"#{@bin}\\ir.exe\" -v"
+    
+    if options[:mono] || ENV['ROWAN_RUNTIME'] 
+      ENV['ROWAN_RUNTIME'] ||= 'mono'
+      ir = "#{ENV['ROWAN_RUNTIME']} #{ir}"
+    end
+    
     if options[:parallel]
       ir = "cmd /K #{ir}"
     end
@@ -207,6 +214,10 @@
       iroptions[:clr4] = n
     end
     
+    opts.on("-m", "--mono", "Run tests on Mono") do |n|
+      iroptions[:mono] = n
+    end
+    
     opts.on("-r", "--release", "Use Release configurations") do |n|
       iroptions[:release] = n
     end
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/irtest.rb;C1305319
File: irtest.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/irtest.rb;C1305319  (server)    1/6/2010 12:28 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/irtest.rb;Mono5
@@ -14,8 +14,8 @@
 
 ENV['ROWAN_BIN'] ||= "#{ENV['MERLIN_ROOT']}\\bin\\debug"
 
-flags.each do |flag|
-  cmd = "IronRuby.Tests.exe #{flag}"
+flags.each do |flag|  
+  cmd = "#{ENV['ROWAN_RUNTIME']} IronRuby.Tests.exe #{flag}"
   banner cmd
   Dir.chdir(ENV['ROWAN_BIN']) do
     exit 1 unless system cmd
===================================================================
