[前][次][番号順一覧][スレッド一覧]

ruby-changes:14298

From: nobu <ko1@a...>
Date: Sat, 19 Dec 2009 09:58:28 +0900 (JST)
Subject: [ruby-changes:14298] Ruby:r26124 (trunk): * vm_eval.c (check_funcall): reset method_missing_reason before

nobu	2009-12-19 09:58:13 +0900 (Sat, 19 Dec 2009)

  New Revision: 26124

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26124

  Log:
    * vm_eval.c (check_funcall): reset method_missing_reason before
      trying the call.  based on a patch from Yehuda Katz in
      [ruby-core:27219].

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_object.rb
    trunk/vm_eval.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 26123)
+++ ChangeLog	(revision 26124)
@@ -1,3 +1,9 @@
+Sat Dec 19 09:58:05 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* vm_eval.c (check_funcall): reset method_missing_reason before
+	  trying the call.  based on a patch from Yehuda Katz in
+	  [ruby-core:27219].
+
 Sat Dec 19 09:29:22 2009  Marc-Andre Lafortune  <ruby-core@m...>
 
 	* lib/set.rb: Add checks that passed argument is Enumerable.
Index: vm_eval.c
===================================================================
--- vm_eval.c	(revision 26123)
+++ vm_eval.c	(revision 26124)
@@ -275,6 +275,7 @@
 	else {
 	    struct rescue_funcall_args args;
 
+	    th->method_missing_reason = 0;
 	    args.recv = recv;
 	    args.sym = ID2SYM(mid);
 	    args.argc = argc;
Index: test/ruby/test_object.rb
===================================================================
--- test/ruby/test_object.rb	(revision 26123)
+++ test/ruby/test_object.rb	(revision 26124)
@@ -322,6 +322,16 @@
     assert_raise(ArgumentError) do
       c.new.method_missing
     end
+
+    bug2494 = '[ruby-core:27219]'
+    c = Class.new do
+      def method_missing(meth, *args)
+        super
+      end
+    end
+    b = c.new
+    foo rescue nil
+    assert_nothing_raised(bug2494) {[b].flatten}
   end
 
   def test_respond_to_missing

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]