From: "Charles E. Thornton" Date: 2005-08-27T14:26:00+09:00 Subject: WIlderness:: Why do strings when created also seem to create a SHARED object (rb_str_new3) While exploring the ELTS_SHARED flag, I would think the shared object would only be created when a string was modified and had more than one reference refering to it. But it seems that whenever you do this for example a = "content" This is created: OBJ1: basic.flag |= ELTS_SHARED ptr -> "content" len -> 7 aux.shared -> OBJ2 OBJ2 ptr -> "content" len -> 7 aux.capa -> 7 Question: 1) Why do this at the time a string object is created? 2) Do Arrays do the same thing? 3) Other Built-in Types do something similar (they don't seem to use ELTS_SHARED anyway) -- GodFather -- 667 Neighbor of the Beast