From: Jean-Christophe Beaupré Date: Thu, 4 Dec 2014 18:54:21 +0000 (-0500) Subject: ropes: Clean `RopeBuffer.append` a little bit. X-Git-Tag: v0.7~77^2~1 X-Git-Url: http://nitlanguage.org ropes: Clean `RopeBuffer.append` a little bit. Signed-off-by: Jean-Christophe Beaupré --- diff --git a/lib/standard/ropes.nit b/lib/standard/ropes.nit index db635d9..9ef2f4d 100644 --- a/lib/standard/ropes.nit +++ b/lib/standard/ropes.nit @@ -278,15 +278,7 @@ class RopeBuffer var slen = s.length length += slen var rp = rpos - if s isa Rope then - if rp > 0 and dumped != rp then - str += new FlatString.with_infos(ns, rp - dumped, dumped, rp - 1) - dumped = rp - end - str = str + s - return - end - if slen > maxlen then + if s isa Rope or slen > maxlen then if rp > 0 and dumped != rp then str += new FlatString.with_infos(ns, rp - dumped, dumped, rp - 1) dumped = rp @@ -326,12 +318,11 @@ class RopeBuffer return end if slen <= remsp then - sits.copy_to(ns, slen, begin, rp) - if rp == buf_size then - rpos = buf_size + if remsp <= 0 then dump_buffer rpos = 0 else + sits.copy_to(ns, slen, begin, rp) rpos += slen end else