diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-08-10 08:47:18 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-08-10 08:47:18 +0000 |
commit | b0faee9b9cd5a747e226a2c64f33588b2b8f4e6c (patch) | |
tree | e3dcd4c31ffa63ad1e8a0bf4a88c63162002c101 /ruby.h | |
parent | 3f8dd52fe04789d5c001dc5566decf2679b58e90 (diff) |
clone
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby.h')
-rw-r--r-- | ruby.h | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -209,10 +209,11 @@ VALUE rb_newobj _((void)); RBASIC(obj)->flags = (t);\ if (rb_safe_level() >= 3) FL_SET(obj, FL_TAINT);\ } -#define CLONESETUP(clone,obj) {\ +#define CLONESETUP(clone,obj) do {\ OBJSETUP(clone,rb_singleton_class_clone(RBASIC(obj)->klass),RBASIC(obj)->flags);\ rb_singleton_class_attached(RBASIC(clone)->klass, (VALUE)clone);\ -} + if (FL_TEST(obj, FL_EXIVAR)) rb_clone_generic_ivar((VALUE)clone,(VALUE)obj);\ +} while (0) struct RBasic { unsigned long flags; |