"Eric Mahurin" <eric.mahurin / gmail.com> wrote in message > Here is another issue that is akin to the self-assignment problem in C++: > > r1 = Rope.new("A") > r2 = Rope.new("B") > r1<<r2 > puts r1 > r1<<r1 > puts r1 > > When you are modifying self and an operand for that modification can > be self, you have to be careful about the order in which you do > things. I imagine some of the other implementations have this > problem. > Good catch, will need to fix it. As a side note, I do not think that having ropes immutable is an acceptable requirement. Ultimate goal is to have a Rope behaving exactly as a String... --EK