edit: $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/basicsocket/send_tags.txt;C1473028
File: send_tags.txt
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/basicsocket/send_tags.txt;C1473028  (server)    1/18/2010 11:16 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/ironruby-tags/library/socket/basicsocket/send_tags.txt;rails
@@ -1,2 +1,3 @@
+critical:BasicSocket#send sends a message to another socket and returns the number of bytes sent
 critical:BasicSocket#send accepts flags to specify unusual sending behaviour
 critical:BasicSocket#send accepts a sockaddr as recipient address
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/defined_spec.rb;C1473028
File: defined_spec.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/defined_spec.rb;C1473028  (server)    1/18/2010 4:45 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/mspec/rubyspec/language/defined_spec.rb;rails
@@ -78,6 +78,12 @@
     }
   end
 
+  module LanguageDefinedConstMissing
+    def self.on_const_missing(&b) @@on_const_missing = b end
+    def self.const_missing(name) @@on_const_missing.call() end
+    def self.is_defined?() defined? X::Y end
+  end
+  
   module AAA
     self::FOO = 'x' unless defined? self::FOO rescue nil
   end
@@ -318,6 +324,32 @@
     o.baz.bar_defined.should == "constant";
   end
 
+  it "rescues all exceptions raised by const_missing" do
+    LanguageDefinedConstMissing.on_const_missing { exit }
+    LanguageDefinedConstMissing.is_defined?.should be_nil
+  end
+ 
+  it "clears $! if const_missing raises an error" do
+    $! = RuntimeError.new
+    LanguageDefinedConstMissing.on_const_missing { exit() }
+    LanguageDefinedConstMissing.is_defined?
+    $!.should be_nil
+  end
+  
+  it "preserves $! if const_missing does not raise" do
+    $! = e = RuntimeError.new
+    LanguageDefinedConstMissing.on_const_missing { nil }
+    LanguageDefinedConstMissing.is_defined?
+    $!.should equal(e)
+  end
+  
+  it "preserves $! if const_missing raises and catches an error" do
+    $! = e = RuntimeError.new
+    LanguageDefinedConstMissing.on_const_missing { begin 1/0; rescue ; end }
+    LanguageDefinedConstMissing.is_defined?
+    $!.should equal(e)
+  end
+  
   it "respects method visibility" do
     defined?(LanguageDefinedSpecs.new.protected_method).should be_nil
     defined?(LanguageDefinedSpecs.new.private_method).should be_nil
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C1429753
File: RubyOps.cs
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;C1429753  (server)    1/18/2010 5:14 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Ruby/Runtime/RubyOps.cs;rails
@@ -873,6 +873,7 @@
                     owner = ResolveQualifiedConstant(scope, qualifiedName, topModule, false, out storage, out anyMissing) as RubyModule;
                 } catch {
                     // autoload can raise an exception
+                    scope.RubyContext.SetCurrentException(null);
                     return false;
                 }
                 
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/action_pack_tests.rb;C1472246
File: action_pack_tests.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/action_pack_tests.rb;C1472246  (server)    1/18/2010 9:52 AM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/action_pack_tests.rb;rails
@@ -70,6 +70,7 @@
   def disable_tests
     disable AssertSelectTest, 
       # NoMethodError: undefined method `first' for nil:NilClass
+      # Iconv#iconv is implemented just as returning nil
       :test_assert_select_email
 
     disable AssetTagHelperTest, 
@@ -83,55 +84,28 @@
       :test_register_javascript_include_default
 
     disable CachedRenderTest, 
-      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bab2 ... expected to be =~ /undefined local variable or method `doesnt_exist'/
+      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bacc @_rendered={:template=>#<ActionView::Template:0x0004544 @template_path=\"test/_raise.html.erb\", @load_path=\"d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/fixtures\", @base_path=\"test\", @name=\"_raise\", @locale=nil, @format=\"html\", @extension=\"erb\", @_memoized_variab
       :test_render_partial_with_errors,
-      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bab2 ... expected to be =~ /undefined local variable or method `doesnt_exist'/
+      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bba8 @_rendered={:template=>#<ActionView::Template:0x000450e @template_path=\"test/sub_template_raise.html.erb\", @load_path=\"d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/fixtures\", @base_path=\"test\", @name=\"sub_template_raise\", @locale=nil, @format=\"html\", @extension=\"
       :test_render_sub_template_with_errors
 
-    disable IntegrationProcessTest, 
-      # <200> expected but was
-      # <500>.
-      :test_multipart_post_with_multiparameter_attribute_parameters
-
     disable IsolatedHelpersTest, 
       # <NameError> exception expected but was
       # Class: <NoMethodError>
-      # Message: <"undefined method `shout' for #<ActionView::Base:0x0042128 @_rendered={:template=>nil, :partials=>{}}, @assigns={}, @assigns_added=true, @controller=#<IsolatedHelpersTest::A:0x0042126 @before_filter_chain_aborted=false, @performed_redirect=false, @performed_render=false, @_request=#<ActionController::TestRequest:0x0042118 @env=
+      # Message: <"undefined method `shout' for #<ActionView::Base:0x0041ca8 @_rendered={:template=>nil, :partials=>{}}, @assigns={}, @assigns_added=true, @controller=#<IsolatedHelpersTest::A:0x0041ca6 @before_filter_chain_aborted=false, @performed_redirect=false, @performed_render=false, @_request=#<ActionController::TestRequest:0x0041c98 @env=
       :test_helper_in_a
 
-    disable MultipartParamsParsingTest, 
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/none>
-      :test_does_not_create_tempfile_if_no_file_has_been_selected,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/binary_file>
-      :test_parses_binary_file,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/boundary_problem_file>
-      :test_parses_boundary_problem_file,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/bracketed_param>
-      :test_parses_bracketed_parameters,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/empty>
-      :test_parses_empty_upload_file,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/large_text_file>
-      :test_parses_large_text_file,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/mixed_files>
-      :test_parses_mixed_files,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/single_parameter>
-      :test_parses_single_parameter,
-      # NoMethodError: undefined method `stat' for #<File:d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/controller/request/../../fixtures/multipart/text_file>
-      :test_parses_text_file
-
     disable ReloadableRenderTest, 
-      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bab2 ... expected to be =~ /undefined local variable or method `doesnt_exist'/
+      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x004e15a @_rendered={:template=>#<ActionView::ReloadableTemplate:0x004e1e6 @template_path=\"test/_raise.html.erb\", @load_path=\"d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/fixtures\", @base_path=\"test\", @name=\"_raise\", @locale=nil, @format=\"html\", @extension=\"erb\", @_memoi
       :test_render_partial_with_errors,
-      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x000bab2 ... expected to be =~ /undefined local variable or method `doesnt_exist'/
+      # <"undefined method `doesnt_exist' for #<ActionView::Base:0x004e51e @_rendered={:template=>#<ActionView::ReloadableTemplate:0x004e574 @template_path=\"test/sub_template_raise.html.erb\", @load_path=\"d:/vs_langs01_s/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/tests/RailsTests-2.3.3/actionpack/test/fixtures\", @base_path=\"test\", @name=\"sub_template_raise\", @locale=nil, @format=\"html\", @ex
       :test_render_sub_template_with_errors
 
     disable RenderTest, 
-      # NameError: uninitialized constant Mocha::TestCaseAdapter
+      # The line offset is wrong, perhaps the wrong exception has been raised, exception was: #<RuntimeError: Exception of type 'IronRuby.Builtins.RuntimeError' was thrown.>.
+      # <"1"> expected but was
+      # <"2">.
       :test_line_offset
 
-    disable TestTest, 
-      # NoMethodError: undefined method `stat' for #<File:C:/Users/sborde/AppData/Local/Temp/mona_lisa.jpg.8752.2>
-      :test_fixture_file_upload
-
   end
 end
===================================================================
edit: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/active_support_tests.rb;C1472246
File: active_support_tests.rb
===================================================================
--- $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/active_support_tests.rb;C1472246  (server)    1/8/2010 3:14 PM
+++ Shelved Change: $/Dev10/feature/vs_langs01_s/Merlin/Main/Languages/Ruby/Tests/Scripts/utr/active_support_tests.rb;rails
@@ -207,68 +207,43 @@
   end
   
   def disable_tests
-    disable BufferedLoggerTest, 
+    disable BufferedLoggerTest,
       # <false> is not true.
       :test_should_create_the_log_directory_if_it_doesnt_exist
-
+      
     disable ClassExtTest, 
-      # <[#<Class:0x00056a4>]> expected but was
+      # <[#<Class:0x00056b4>]> expected but was
       # <[]>.
       :test_subclasses_of_doesnt_find_anonymous_classes
 
-    disable DateTimeExtCalculationsTest, 
-      # <"+00:00"> expected but was
-      # <"000:00">.
-      # 
-      # diff:
-      # - +00:00
-      # ? ^
-      # + 000:00
-      # ? ^
-      :test_formatted_offset_with_utc,
-      # <"Mon, 21 Feb 2005 14:30:00 +0000"> expected but was
-      # <"Mon, 21 Feb 2005 14:30:00 00000">.
-      # 
-      # diff:
-      # - Mon, 21 Feb 2005 14:30:00 +0000
-      # ?                           -
-      # + Mon, 21 Feb 2005 14:30:00 00000
-      # ?                               +
-      :test_readable_inspect,
-      # <"Mon, 21 Feb 2005 14:30:00 +0000"> expected but was
-      # <"Mon, 21 Feb 2005 14:30:00 00000">.
-      # 
-      # diff:
-      # - Mon, 21 Feb 2005 14:30:00 +0000
-      # ?                           -
-      # + Mon, 21 Feb 2005 14:30:00 00000
-      # ?                               +
-      :test_to_s
-
     disable HashExtTest, 
       # <{0=>1, 1=>2}> expected but was
       # <{0=>1, :UnitTestRunner=>2}>.
       :test_symbolize_keys_preserves_fixnum_keys
 
     disable MessageEncryptorTest, 
-      # NameError: uninitialized constant OpenSSL::Cipher
+      # NoMethodError: You have a nil object when you didn't expect it!
+      # The error occurred while evaluating nil.encrypt
       :test_encrypting_twice_yields_differing_cipher_text,
-      # ArgumentError: wrong number of arguments (1 for 0)
+      # NoMethodError: You have a nil object when you didn't expect it!
+      # The error occurred while evaluating nil.encrypt
       :test_messing_with_either_value_causes_failure,
-      # ArgumentError: wrong number of arguments (1 for 0)
+      # NoMethodError: You have a nil object when you didn't expect it!
+      # The error occurred while evaluating nil.encrypt_and_sign
       :test_signed_round_tripping,
-      # ArgumentError: wrong number of arguments (1 for 0)
+      # NoMethodError: You have a nil object when you didn't expect it!
+      # The error occurred while evaluating nil.encrypt
       :test_simple_round_tripping
 
     disable MessageVerifierTest, 
-      # <{:some=>"data", :now=>Tue Jan 12 15:48:47 -0800 2010}> expected but was
-      # <{:some=>"data", :now=>Tue Jan 12 15:32:47 -0800 2010}>.
+      # <{:some=>"data", :now=>Tue Jan 19 00:13:21 -0800 2010}> expected but was
+      # <{:some=>"data", :now=>Tue Jan 19 00:13:05 -0800 2010}>.
       # 
       # diff:
-      # - {:some=>"data", :now=>Tue Jan 12 15:48:47 -0800 2010}
-      # ?                                     ^^
-      # + {:some=>"data", :now=>Tue Jan 12 15:32:47 -0800 2010}
-      # ?                                     ^^
+      # - {:some=>"data", :now=>Tue Jan 19 00:13:21 -0800 2010}
+      # ?                                        ^^
+      # + {:some=>"data", :now=>Tue Jan 19 00:13:05 -0800 2010}
+      # ?                                        ^^
       :test_simple_round_tripping
 
     disable MultibyteCharsExtrasTest, 
@@ -300,80 +275,24 @@
       # <false> is not true.
       :test_split_should_return_an_array_of_chars_instances
 
-    disable NumericExtConversionsTest, 
-      # <"+00:00"> expected but was
-      # <"000:00">.
-      # 
-      # diff:
-      # - +00:00
-      # ? ^
-      # + 000:00
-      # ? ^
-      :test_to_utc_offset_s_with_colon,
-      # <"+0000"> expected but was
-      # <"00000">.
-      # 
-      # diff:
-      # - +0000
-      # ? -
-      # + 00000
-      # ?     +
-      :test_to_utc_offset_s_without_colon
-
     disable OrderedHashTest, 
       # <false> is not true.
       :test_inspect
 
-    disable RescueableTest, 
-      # NoMethodError: You have a nil object when you didn't expect it!
-      # The error occurred while evaluating nil.message
-      :test_rescue_from_with_block_with_args
-
     disable TestJSONDecoding, 
       # <ActiveSupport::JSON::ParseError> exception expected but was
       # Class: <IronRuby::StandardLibrary::Yaml::ParserException>
       # Message: <"while scanning a flow node: expected the node content, but found: #<ValueToken>">
       # ---Backtrace---
-      # d:\vs_langs01_s\Merlin\External.LCA_RESTRICTED\Languages\IronRuby\yaml\IronRuby.Libraries.Yaml\Engine\Parser.cs:251:in `Produce'
-      # d:\vs_langs01_s\Merlin\External.LCA_RESTRICT
+      # D:\vs_langs01_s\Merlin\External.LCA_RESTRICTED\Languages\IronRuby\yaml\IronRuby.Libraries.Yaml\Engine\Parser.cs:251:in `Produce'
+      # D:\vs_langs01_s\Merlin\External.LCA_RESTRICT
       :test_failed_json_decoding
 
     disable TestJSONEncoding, 
-      # <"\"2005/02/01 15:15:10 +0000\""> expected but was
-      # <"\"2005/02/01 15:15:10 00000\"">.
-      # 
-      # diff:
-      # - "2005/02/01 15:15:10 +0000"
-      # ?                      ^
-      # + "2005/02/01 15:15:10 00000"
-      # ?                      ^
-      :test_time,
       # <"\"\\u20ac2.99\""> expected but was
       # <"\"€2.99\"">.
       :test_utf8_string_encoded_properly_when_kcode_is_utf8
 
-    disable TimeExtCalculationsTest, 
-      # <"+00:00"> expected but was
-      # <"000:00">.
-      # 
-      # diff:
-      # - +00:00
-      # ? ^
-      # + 000:00
-      # ? ^
-      :test_formatted_offset_with_utc
-
-    disable TimeWithZoneMethodsForTimeAndDateTimeTest, 
-      # <"Sat, 01 Jan 2000 00:00:00 UTC +00:00"> expected but was
-      # <"Sat, 01 Jan 2000 00:00:00 UTC 000:00">.
-      # 
-      # diff:
-      # - Sat, 01 Jan 2000 00:00:00 UTC +00:00
-      # ?                               ^
-      # + Sat, 01 Jan 2000 00:00:00 UTC 000:00
-      # ?                               ^
-      :test_in_time_zone_with_argument
-
     disable TimeWithZoneTest, 
       # ArgumentError: invalid date
       :test_change,
@@ -383,17 +302,8 @@
       :test_to_yaml
 
     disable TimeZoneTest, 
-      # <"+00:00"> expected but was
-      # <"000:00">.
-      # 
-      # diff:
-      # - +00:00
-      # ? ^
-      # + 000:00
-      # ? ^
-      :test_formatted_offset_zero,
       # <Fri Dec 31 19:00:00 UTC 1999> expected but was
-      # <Tue Jan 12 19:00:00 UTC 2010>.
+      # <Tue Jan 19 19:00:00 UTC 2010>.
       :test_parse_with_incomplete_date
 
   end
===================================================================
