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