From f40302aff9c06bf0b93879c05dc89291736f0481 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 20 Aug 2008 21:02:54 +0000 Subject: * range.c (range_initialize_copy): Range is now a Struct. [ruby-core:18353] * struct.c (rb_struct_init_copy): made public. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@18743 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- range.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'range.c') diff --git a/range.c b/range.c index bbf983055..09dc762ac 100644 --- a/range.c +++ b/range.c @@ -15,6 +15,8 @@ VALUE rb_cRange; static ID id_cmp, id_succ, id_beg, id_end, id_excl; +extern VALUE rb_struct_init_copy(VALUE copy, VALUE s); + #define RANGE_BEG(r) (RSTRUCT(r)->as.ary[0]) #define RANGE_END(r) (RSTRUCT(r)->as.ary[1]) #define RANGE_EXCL(r) (RSTRUCT(r)->as.ary[2]) @@ -88,6 +90,7 @@ range_initialize(int argc, VALUE *argv, VALUE range) return Qnil; } +#define range_initialize_copy rb_struct_init_copy /* :nodoc: */ /* * call-seq: @@ -912,6 +915,7 @@ Init_Range(void) rb_include_module(rb_cRange, rb_mEnumerable); rb_marshal_define_compat(rb_cRange, rb_cObject, range_dumper, range_loader); rb_define_method(rb_cRange, "initialize", range_initialize, -1); + rb_define_method(rb_cRange, "initialize_copy", range_initialize_copy, 1); rb_define_method(rb_cRange, "==", range_eq, 1); rb_define_method(rb_cRange, "===", range_eqq, 1); rb_define_method(rb_cRange, "eql?", range_eql, 1); -- cgit