diff options
| -rw-r--r-- | lib/reline/line_editor.rb | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/reline/line_editor.rb b/lib/reline/line_editor.rb index 50f11f6480..86fc4d9bba 100644 --- a/lib/reline/line_editor.rb +++ b/lib/reline/line_editor.rb @@ -411,8 +411,13 @@ class Reline::LineEditor return nil end completed = list.inject { |memo, item| - memo_mbchars = memo.unicode_normalize.grapheme_clusters - item_mbchars = item.unicode_normalize.grapheme_clusters + begin + memo_mbchars = memo.unicode_normalize.grapheme_clusters + item_mbchars = item.unicode_normalize.grapheme_clusters + rescue Encoding::CompatibilityError + memo_mbchars = memo.grapheme_clusters + item_mbchars = item.grapheme_clusters + end size = [memo_mbchars.size, item_mbchars.size].min result = '' size.times do |i| |
