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:
parent
d902111a57
commit
1fe40b7cc5
25 changed files with 349 additions and 342 deletions
13
class.c
13
class.c
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue