edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;C584394
File: RubyTests.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;C584394  (server)    10/1/2008 7:01 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/RubyTests.cs;BugFixes1.1
@@ -60,6 +60,7 @@
                 Scenario_Globals1,
 
                 AttributeAccessors1,
+                AttributeAccessors2,
                 Scenario_RubyMethodMissing1, 
                 Scenario_RubyMethodMissing2, 
                 Scenario_RubySingletonConstants1,
@@ -331,6 +332,7 @@
                 Scenario_RubyDefinedOperator_Globals1,
                 Scenario_RubyDefinedOperator_Globals2,
                 Scenario_RubyDefinedOperator_Methods1,
+                Scenario_RubyDefinedOperator_Methods2,
                 Scenario_RubyDefinedOperator_Constants1,
                 Scenario_RubyDefinedOperator_Expressions1,
                 Scenario_RubyDefinedOperator_InstanceVariables1,
@@ -356,6 +358,8 @@
                 // eval, binding:
                 Eval1,
                 Eval2,
+                EvalReturn1,
+                EvalReturn2,
                 LocalNames1,
                 LocalNames2,
                 LocalNames3,
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/DefinedTests.cs;C576154
File: DefinedTests.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/DefinedTests.cs;C576154  (server)    10/1/2008 7:02 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/DefinedTests.cs;BugFixes1.1
@@ -81,6 +81,16 @@
             AssertEquals(o, 1);
         }
 
+        public void Scenario_RubyDefinedOperator_Methods2() {
+            AssertOutput(() => CompilerTest(@"
+puts defined? 1.+
+puts defined? 1.method_that_doesnt_exist
+"), @"
+method
+nil
+");
+        }
+
         public void Scenario_RubyDefinedOperator_Constants1() {
             AssertOutput(delegate() {
                 CompilerTest(@"
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/EvalTests.cs;C576154
File: EvalTests.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/EvalTests.cs;C576154  (server)    10/1/2008 7:16 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/EvalTests.cs;BugFixes1.1
@@ -50,6 +50,41 @@
 undefined");
         }
 
+        public void EvalReturn1() {
+            AssertOutput(delegate() {
+                CompilerTest(@"
+def y
+  yield
+end
+
+def foo
+  $b = Proc.new {  
+    eval('return 123')
+  }
+  goo
+end
+
+def goo
+  y(&$b)
+end
+
+p foo
+");
+            }, @"123");
+        }
+
+        public void EvalReturn2() {
+            AssertOutput(delegate() {
+                CompilerTest(@"
+def foo 
+  eval('return 123')
+end
+
+p foo
+");
+            }, @"123");
+        }
+
         public void LocalNames1() {
             AssertOutput(delegate() {
                 CompilerTest(@"
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MethodTests.cs;C584394
File: MethodTests.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MethodTests.cs;C584394  (server)    10/1/2008 7:07 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/IronRuby.Tests/Runtime/MethodTests.cs;BugFixes1.1
@@ -90,7 +90,6 @@
 ").ExecuteProgram();
             }, @"foo");
         }
-
         public void AttributeAccessors1() {
             AssertOutput(delegate {
                 CompilerTest(@"
@@ -111,6 +110,22 @@
 ");
         }
 
+        public void AttributeAccessors2() {
+            AssertOutput(() => CompilerTest(@"
+class C
+  attr_accessor :foo
+end
+
+x = C.new
+p x.send('foo=', 123)
+p x.send('foo')
+
+"), @"
+123
+123
+");
+        }
+
         public void MethodAdded1() {
             AssertOutput(delegate {
                 CompilerTest(@"
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/MethodCall.cs;C584394
File: MethodCall.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/MethodCall.cs;C584394  (server)    10/1/2008 7:00 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/Expressions/MethodCall.cs;BugFixes1.1
@@ -158,7 +158,7 @@
         internal override MSA.Expression TransformDefinedCondition(AstGenerator/*!*/ gen) {
             return AstFactory.OpCall("IsDefinedMethod", 
                 gen.CurrentScopeVariable, 
-                (_target != null) ? _target.TransformRead(gen) : gen.CurrentSelfVariable, 
+                (_target != null) ? AstFactory.Box(_target.TransformRead(gen)) : gen.CurrentSelfVariable, 
                 AstUtils.Constant(_methodName)
             );
         }
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/JumpStatements/ReturnStatement.cs;C584394
File: ReturnStatement.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/JumpStatements/ReturnStatement.cs;C584394  (server)    10/1/2008 7:15 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Compiler/Ast/JumpStatements/ReturnStatement.cs;BugFixes1.1
@@ -31,7 +31,7 @@
 
             // eval:
             if (gen.CompilerOptions.IsEval) {
-                return Ast.Return(AstFactory.OpCall("EvalReturn", AstFactory.Box(transformedReturnValue)));
+                return Ast.Return(AstFactory.OpCall("EvalReturn", gen.CurrentRfcVariable, AstFactory.Box(transformedReturnValue)));
             }
 
             // block:
===================================================================
edit: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyAccessorInfo.cs;C584394
File: RubyAccessorInfo.cs
===================================================================
--- $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyAccessorInfo.cs;C584394  (server)    10/1/2008 6:58 PM
+++ Shelved Change: $/Dev10/feature/vsl_dynamic/Merlin/Main/Languages/Ruby/Ruby/Runtime/Calls/RubyAccessorInfo.cs;BugFixes1.1
@@ -45,7 +45,7 @@
         internal override void SetInvocationRule(string/*!*/ name, MetaObjectBuilder/*!*/ metaBuilder, CallArguments/*!*/ args) {
 
             metaBuilder.Result = AstFactory.OpCall("GetInstanceVariable",
-                args.CodeContextExpression,
+                Ast.ConvertHelper(args.CodeContextExpression, typeof(RubyScope)),
                 AstFactory.Box(args.TargetExpression),
                 AstUtils.Constant(InstanceVariableName)
             );
@@ -65,7 +65,7 @@
             metaBuilder.Result = AstFactory.OpCall("SetInstanceVariable",
                 AstFactory.Box(actualArgs[0]),
                 AstFactory.Box(actualArgs[1]),
-                args.CodeContextExpression,
+                Ast.ConvertHelper(args.CodeContextExpression, typeof(RubyScope)),
                 AstUtils.Constant(InstanceVariableName)
             );
         }
===================================================================
