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

ruby-changes:2702

From: ko1@a...
Date: 11 Dec 2007 15:24:37 +0900
Subject: [ruby-changes:2702] matz - Ruby:r14193 (trunk): * object.c (Init_Object): singleton_method_{added,removed,undefined}

matz	2007-12-11 15:23:21 +0900 (Tue, 11 Dec 2007)

  New Revision: 14193

  Modified files:
    trunk/ChangeLog
    trunk/eval.c
    trunk/object.c

  Log:
    * object.c (Init_Object): singleton_method_{added,removed,undefined}
      hooks should be defined for BasicObject.  [ruby-dev:32531]
    
    * eval.c (Init_eval): method_missing should be defined for all
      objects; moved to BasicObject.

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14193&r2=14192
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=14193&r2=14192
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/object.c?r1=14193&r2=14192

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14192)
+++ ChangeLog	(revision 14193)
@@ -1,3 +1,11 @@
+Tue Dec 11 15:20:39 2007  Yukihiro Matsumoto  <matz@r...>
+
+	* object.c (Init_Object): singleton_method_{added,removed,undefined}
+	  hooks should be defined for BasicObject.  [ruby-dev:32531]
+
+	* eval.c (Init_eval): method_missing should be defined for all
+	  objects; moved to BasicObject.
+
 Tue Dec 11 14:27:50 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* transcode.c (transcode_loop): get rid of SEGV at sequence can not be
Index: object.c
===================================================================
--- object.c	(revision 14192)
+++ object.c	(revision 14193)
@@ -2351,6 +2351,10 @@
     rb_define_method(rb_cBasicObject, "!@", rb_obj_not, 0);
     rb_define_method(rb_cBasicObject, "!=", rb_obj_not_equal, 1);
 
+    rb_define_private_method(rb_cBasicObject, "singleton_method_added", rb_obj_dummy, 1);
+    rb_define_private_method(rb_cBasicObject, "singleton_method_removed", rb_obj_dummy, 1);
+    rb_define_private_method(rb_cBasicObject, "singleton_method_undefined", rb_obj_dummy, 1);
+
     rb_mKernel = rb_define_module("Kernel");
     rb_include_module(rb_cObject, rb_mKernel);
     rb_define_private_method(rb_cClass, "inherited", rb_obj_dummy, 1);
@@ -2396,10 +2400,6 @@
     rb_define_method(rb_mKernel, "is_a?", rb_obj_is_kind_of, 1);
     rb_define_method(rb_mKernel, "tap", rb_obj_tap, 0);
 
-    rb_define_private_method(rb_mKernel, "singleton_method_added", rb_obj_dummy, 1);
-    rb_define_private_method(rb_mKernel, "singleton_method_removed", rb_obj_dummy, 1);
-    rb_define_private_method(rb_mKernel, "singleton_method_undefined", rb_obj_dummy, 1);
-
     rb_define_global_function("sprintf", rb_f_sprintf, -1); /* in sprintf.c */
     rb_define_global_function("format", rb_f_sprintf, -1);  /* in sprintf.c */
 
Index: eval.c
===================================================================
--- eval.c	(revision 14192)
+++ eval.c	(revision 14193)
@@ -2731,10 +2731,11 @@
     rb_define_virtual_variable("$@", errat_getter, errat_setter);
     rb_define_virtual_variable("$!", errinfo_getter, 0);
 
+    rb_define_private_method(rb_cBasicObject, "method_missing", rb_method_missing, -1);
+
     rb_define_global_function("eval", rb_f_eval, -1);
     rb_define_global_function("iterator?", rb_f_block_given_p, 0);
     rb_define_global_function("block_given?", rb_f_block_given_p, 0);
-    rb_define_global_function("method_missing", rb_method_missing, -1);
     rb_define_global_function("loop", rb_f_loop, 0);
 
     rb_define_method(rb_mKernel, "respond_to?", obj_respond_to, -1);

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

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