+let replace = ref false
+
+let string_length_utf8 s =
+ let l = String.length s in
+ let rec aux r i =
+ if i >= l then r else
+ if '\x80' <= s.[i] && s.[i] <= '\xBF'
+ then aux (succ r) (succ i) else aux r (succ i)
+ in
+ l - aux 0 0
+
+let complete s n =
+ let l = !width - string_length_utf8 s - 5 - n in