1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* marshal.c (r_object): better allocation type check for

TYPE_UCLASS. usage of allocation framework is disabled for now.

* variable.c (rb_class_path): Module may have subclass.

* string.c (rb_str_update): should maintain original negative
  offset.

* string.c (rb_str_subpat_set): ditto

* string.c (rb_str_aset): ditto.

* re.c (rb_reg_nth_match): should check negative nth.

* re.c (rb_reg_nth_defined): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2001-10-03 07:19:19 +00:00
parent d902111a57
commit 1fe40b7cc5
25 changed files with 349 additions and 342 deletions

13
class.c
View file

@ -62,19 +62,18 @@ VALUE
rb_mod_clone(module)
VALUE module;
{
NEWOBJ(clone, struct RClass);
CLONESETUP(clone, module);
VALUE clone = rb_obj_clone(module);
clone->super = RCLASS(module)->super;
RCLASS(clone)->super = RCLASS(module)->super;
if (RCLASS(module)->iv_tbl) {
clone->iv_tbl = st_copy(RCLASS(module)->iv_tbl);
RCLASS(clone)->iv_tbl = st_copy(RCLASS(module)->iv_tbl);
}
if (RCLASS(module)->m_tbl) {
clone->m_tbl = st_init_numtable();
st_foreach(RCLASS(module)->m_tbl, clone_method, clone->m_tbl);
RCLASS(clone)->m_tbl = st_init_numtable();
st_foreach(RCLASS(module)->m_tbl, clone_method, RCLASS(clone)->m_tbl);
}
return (VALUE)clone;
return clone;
}
VALUE