Skip to content

Commit a3026b1

Browse files
committed
Fix Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8
Error: test_completion_append_character(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:948:in 'Reline::KeyActor::EmacsTest#test_completion_append_character' =============================================================================== =============================================================================== Error: test_continuous_completion_disabled_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:936:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_disabled_with_perfect_match' =============================================================================== =============================================================================== Error: test_continuous_completion_with_perfect_match(Reline::KeyActor::EmacsTest): Encoding::CompatibilityError: Shift_JIS is not compatible with UTF-8 /home/runner/work/reline/reline/lib/reline/line_editor.rb:814:in 'block in Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Array#select' /home/runner/work/reline/reline/lib/reline/line_editor.rb:808:in 'Reline::LineEditor#filter_normalize_candidates' /home/runner/work/reline/reline/lib/reline/line_editor.rb:831:in 'Reline::LineEditor#perform_completion' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1434:in 'Reline::LineEditor#complete' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Method#call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:961:in 'Reline::LineEditor#wrap_method_call' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1029:in 'block in Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:932:in 'Reline::LineEditor#run_for_operators' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1028:in 'Reline::LineEditor#process_key' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1051:in 'Reline::LineEditor#normal_char' /home/runner/work/reline/reline/lib/reline/line_editor.rb:1089:in 'Reline::LineEditor#input_key' /home/runner/work/reline/reline/test/reline/helper.rb:124:in 'block in Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Array#each' /home/runner/work/reline/reline/test/reline/helper.rb:117:in 'Reline::TestCase#input_keys' /home/runner/work/reline/reline/test/reline/test_key_actor_emacs.rb:924:in 'Reline::KeyActor::EmacsTest#test_continuous_completion_with_perfect_match' =============================================================================== Finished in 2.118582151 seconds. 385 tests, 1762 assertions, 0 failures, 3 errors, 0 pendings, 3 omissions, 0 notifications
1 parent ab20545 commit a3026b1

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

lib/reline/line_editor.rb

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -807,11 +807,13 @@ def editing_mode
807807
target = target.downcase if @config.completion_ignore_case
808808
list.select do |item|
809809
next unless item
810-
811810
unless Encoding.compatible?(target.encoding, item.encoding)
812-
# Crash with Encoding::CompatibilityError is required by readline-ext/test/readline/test_readline.rb
813-
# TODO: fix the test
814-
raise Encoding::CompatibilityError, "#{target.encoding.name} is not compatible with #{item.encoding.name}"
811+
# Workaround for Readline test
812+
if defined?(::Readline) && ::Readline == ::Reline
813+
raise Encoding::CompatibilityError, "incompatible character encodings: #{target.encoding} and #{item.encoding}"
814+
end
815+
816+
next item
815817
end
816818

817819
if @config.completion_ignore_case

0 commit comments

Comments
 (0)