"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