From 602ef62ae693344aea70a85bb664bbbe93f20465 Mon Sep 17 00:00:00 2001 From: aycabta Date: Tue, 14 May 2019 02:39:40 +0900 Subject: Rescue CompatibilityError for Readline's completion --- lib/reline/line_editor.rb | 9 +++++++-- 1 file 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| -- cgit v1.2.3