aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-12 09:27:43 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-01-12 09:27:43 +0000
commitaad2c434a781161513f30eebcde0a2c6c49b3cdd (patch)
treee145d77965670f2e7f568e694b7b17b8a0ecce93
parent86da4be0284149bf0c6d56ca14b2ee86ab21910b (diff)
downloadruby-aad2c434a781161513f30eebcde0a2c6c49b3cdd.tar.gz
* eval_method.c (rb_define_alloc_func, rb_undef_alloc_func): should
define/undef on a signleton class. [ruby-core:09959] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rw-r--r--eval_method.c6
2 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 96ac2d1a2a..aeacee13fd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Sat Jan 12 18:27:41 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * eval.c (rb_define_alloc_func, rb_undef_alloc_func): should
+ define/undef on a signleton class. [ruby-core:09959]
+
+9959]
+
Sat Jan 12 12:44:36 2008 NARUSE, Yui <naruse@ruby-lang.org>
* ext/nkf/nkf.c: rdoc update.
diff --git a/eval_method.c b/eval_method.c
index 34a65b7fa0..ff26ebe083 100644
--- a/eval_method.c
+++ b/eval_method.c
@@ -180,10 +180,10 @@ rb_add_method(VALUE klass, ID mid, NODE * node, int noex)
}
void
-rb_define_alloc_func(VALUE klass, VALUE (*func) _((VALUE)))
+rb_define_alloc_func(VALUE klass, VALUE (*func)(VALUE))
{
Check_Type(klass, T_CLASS);
- rb_add_method(CLASS_OF(klass), ID_ALLOCATOR, NEW_CFUNC(func, 0),
+ rb_add_method(rb_singleton_class(klass), ID_ALLOCATOR, NEW_CFUNC(func, 0),
NOEX_PRIVATE);
}
@@ -191,7 +191,7 @@ void
rb_undef_alloc_func(VALUE klass)
{
Check_Type(klass, T_CLASS);
- rb_add_method(CLASS_OF(klass), ID_ALLOCATOR, 0, NOEX_UNDEF);
+ rb_add_method(rb_singleton_class(klass), ID_ALLOCATOR, 0, NOEX_UNDEF);
}
rb_alloc_func_t