Appends the rope together with all the rest of the arguments.
(rope-append rope …) ≡ (rope-concatenate (list rope …))
See rope-concatenate for details.
Concatenates the members of the ropes list into a single rope, and
balances it if necessary with rope-balance. The behavior of this
function is different from folding with the rope constructor,
because it applies optimizations in the case where one of the argument s
is a string: if the other argument is also a string, or the son or
grandson of the root is a string, then the strings may be appended
together as long as *rope-maximum-leaf-size* is respected.
;; Case 1) two strings. (rope-concatenate (list "one" "two")) ⇒ "onetwo" ;; Case 2) son of root optimization. (rope-concatenate (list "one" (rope "two" …))) ⇒ #<<rope> left: "onetwo" right: … > ;; Case 3) grandson of root optimization (rope-concatenate (list "one" (rope (rope "two" …) …))) ⇒ #<<rope> left: #<<rope> left: "onetwo" right: …> right: …> ;; Case 4) generic concatenation of ropes. (rope-concatenate (list r1 r2)) ≡ (rope r1 r2)
Example 2.7: The four different cases that may occur in rope concatenation.