lib/sup/util.rb in sup-0.15.4 vs lib/sup/util.rb in sup-0.16.0

- old
+ new

@@ -265,9 +265,17 @@ end class String def display_length @display_length ||= Unicode.width(self.fix_encoding!, false) + + # if Unicode.width fails and returns -1, fall back to + # regular String#length, see pull-request: #256. + if @display_length < 0 + @display_length = self.length + end + + @display_length end def slice_by_display_length len each_char.each_with_object "" do |c, buffer| len -= c.display_length