edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C468100
File: Initializers.Generated.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;C468100  (server)    6/16/2008 4:53 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Initializers.Generated.cs;ExecCmd
@@ -58,7 +58,7 @@
             ExtendModule(typeof(System.Collections.Generic.IDictionary<System.Object, System.Object>), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__Collections__Generic__IDictionary_Instance), null, new Ruby.Builtins.RubyModule[] {def18, });
             ExtendModule(typeof(System.Collections.IEnumerable), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__Collections__IEnumerable_Instance), null, new Ruby.Builtins.RubyModule[] {def18, });
             ExtendModule(typeof(System.Collections.IList), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__Collections__IList_Instance), null, new Ruby.Builtins.RubyModule[] {def18, });
-            Ruby.Builtins.RubyModule def31 = ExtendModule(typeof(System.IComparable), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__IComparable_Instance), null, new Ruby.Builtins.RubyModule[] {def27, });
+            ExtendModule(typeof(System.IComparable), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__IComparable_Instance), null, new Ruby.Builtins.RubyModule[] {def27, });
             ExtendClass(typeof(System.Scripting.Actions.TypeGroup), new System.Action<Ruby.Builtins.RubyModule>(LoadSystem__Scripting__Actions__TypeGroup_Instance), null, new Ruby.Builtins.RubyModule[] {def18, }, null);
             DefineGlobalClass("Array", typeof(Ruby.Builtins.RubyArray), Context.ObjectClass, new System.Action<Ruby.Builtins.RubyModule>(LoadArray_Instance), new System.Action<Ruby.Builtins.RubyModule>(LoadArray_Class), new Ruby.Builtins.RubyModule[] {def18, }, new System.Delegate[] {
                 new System.Scripting.Utils.Function<Ruby.Builtins.RubyArray>(Ruby.Builtins.ArrayOps.CreateArray),
@@ -70,7 +70,7 @@
                 new System.Scripting.Utils.Function<System.Scripting.Runtime.CodeContext, Ruby.Runtime.BlockParam, System.Object, System.Object>(Ruby.Builtins.ArrayOps.CreateArray),
             });
             DefineGlobalClass("Binding", typeof(Ruby.Builtins.Binding), Context.ObjectClass, null, null, Ruby.Builtins.RubyModule.EmptyArray, null);
-            DefineGlobalClass("ClrString", typeof(System.String), Context.ObjectClass, new System.Action<Ruby.Builtins.RubyModule>(LoadClrString_Instance), null, new Ruby.Builtins.RubyModule[] {def31, }, null);
+            DefineGlobalClass("ClrString", typeof(System.String), Context.ObjectClass, new System.Action<Ruby.Builtins.RubyModule>(LoadClrString_Instance), null, Ruby.Builtins.RubyModule.EmptyArray, null);
             DefineGlobalClass("Dir", typeof(Ruby.Builtins.RubyDir), Context.ObjectClass, new System.Action<Ruby.Builtins.RubyModule>(LoadDir_Instance), new System.Action<Ruby.Builtins.RubyModule>(LoadDir_Class), new Ruby.Builtins.RubyModule[] {def18, }, null);
             Ruby.Builtins.RubyClass def28 = Context.ExceptionClass = DefineGlobalClass("Exception", typeof(System.Exception), Context.ObjectClass, new System.Action<Ruby.Builtins.RubyModule>(LoadException_Instance), new System.Action<Ruby.Builtins.RubyModule>(LoadException_Class), Ruby.Builtins.RubyModule.EmptyArray, new System.Delegate[] {
                 new System.Scripting.Utils.Function<Ruby.Builtins.MutableString, System.Exception>(Ruby.Builtins.ExceptionOps.Factory),
@@ -2188,6 +2188,10 @@
                 new System.Scripting.Utils.Function<System.Scripting.Runtime.CodeContext, System.Object, Ruby.Runtime.BlockParam, System.Object, System.Object[], System.Object>(Ruby.Builtins.KernelOps.SendMessage),
             });
             
+            module.DefineLibraryMethod("`", 0x2a, new System.Delegate[] {
+                new System.Scripting.Utils.Function<System.Scripting.Runtime.CodeContext, System.Object, Ruby.Builtins.MutableString, Ruby.Builtins.MutableString>(Ruby.Builtins.KernelOps.ExecuteCommand),
+            });
+            
             module.DefineLibraryMethod("=~", 0x29, new System.Delegate[] {
                 new System.Scripting.Utils.Function<System.Object, System.Object, System.Boolean>(Ruby.Builtins.KernelOps.Match),
             });
@@ -2551,6 +2555,10 @@
         
         private void LoadKernel_Class(Ruby.Builtins.RubyModule/*!*/ module) {
             
+            module.DefineLibraryMethod("`", 0x31, new System.Delegate[] {
+                new System.Scripting.Utils.Function<System.Scripting.Runtime.CodeContext, System.Object, Ruby.Builtins.MutableString, Ruby.Builtins.MutableString>(Ruby.Builtins.KernelOps.ExecuteCommand),
+            });
+            
             module.DefineLibraryMethod("Array", 0x31, new System.Delegate[] {
                 new System.Scripting.Utils.Function<System.Scripting.Runtime.CodeContext, System.Object, System.Object, System.Collections.IList>(Ruby.Builtins.KernelOps.ToArray),
             });
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;C468100
File: KernelOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;C468100  (server)    6/16/2008 4:24 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Libraries.LCA_RESTRICTED/Builtins/KernelOps.cs;ExecCmd
@@ -100,7 +100,13 @@
             return Protocols.ConvertToString(context, obj);
         }
 
-        //`
+        [RubyMethod("`", RubyMethodAttributes.PrivateInstance)]
+        [RubyMethod("`", RubyMethodAttributes.PublicSingleton)]
+        public static MutableString ExecuteCommand(CodeContext/*!*/ context, object self, [NotNull]MutableString/*!*/ command) {
+            // TODO:
+            throw new NotImplementedException();
+        }
+        
         //abort
 
         [RubyMethod("at_exit", RubyMethodAttributes.PrivateInstance)]
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/StringConstructor.cs;C468100
File: StringConstructor.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/StringConstructor.cs;C468100  (server)    6/16/2008 4:55 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/StringConstructor.cs;ExecCmd
@@ -25,6 +25,7 @@
 namespace Ruby.Compiler.Ast {
     using Ast = System.Scripting.Expressions.Expression;
     using MSA = System.Scripting.Expressions;
+    using System.Scripting.Actions;
     
     public enum StringKind {
         Mutable,
@@ -64,9 +65,13 @@
                     return TransformConcatentation(gen, _parts, "CreateSymbol");
 
                 case StringKind.Command:
-                    return AstFactory.OpCall("ExecuteCommand", 
-                        TransformConcatentation(gen, _parts, "CreateMutableString"),
-                        gen.CurrentScopeVariable
+                    return Ast.Action.InvokeMember(gen.Binder, "`", typeof(object),
+                        new CallSignature(
+                            new ArgumentInfo(MSA.ArgumentKind.Instance),
+                            new ArgumentInfo(MSA.ArgumentKind.Simple)
+                        ),
+                        gen.CurrentScopeVariable,
+                        TransformConcatentation(gen, _parts, "CreateMutableString")
                     );
             }
 
===================================================================
edit: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C468100
File: RubyOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C468100  (server)    6/16/2008 4:54 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;ExecCmd
@@ -812,12 +812,6 @@
         }
 
         // emitted:
-        public static object ExecuteCommand(MutableString/*!*/ command, RubyScope/*!*/ scope) {
-            // TODO:
-            throw new NotImplementedException("TODO");
-        }
-
-        // emitted:
         public static bool IsTrue(object obj) {
             return (obj is bool) ? (bool)obj == true : obj != null;
         }
===================================================================
