From 90913bfabe427993e82d4a72616739ee49e61a5d Mon Sep 17 00:00:00 2001 From: aycabta Date: Sat, 21 Mar 2020 18:13:50 +0900 Subject: [PATCH] [ruby/reline] Suppress error in case INPUTRC env is empty https://github.com/ruby/reline/commit/bce7e7562b --- lib/reline/config.rb | 11 ++++++++++- test/reline/test_config.rb | 9 +++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib/reline/config.rb b/lib/reline/config.rb index 61708f96a7..53b868fd2e 100644 --- a/lib/reline/config.rb +++ b/lib/reline/config.rb @@ -83,8 +83,17 @@ class Reline::Config @key_actors[@keymap_label] end + def inputrc_path + case ENV['INPUTRC'] + when nil, '' + DEFAULT_PATH + else + ENV['INPUTRC'] + end + end + def read(file = nil) - file ||= File.expand_path(ENV['INPUTRC'] || DEFAULT_PATH) + file ||= File.expand_path(inputrc_path) begin if file.respond_to?(:readlines) lines = file.readlines diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index 14342fff86..cecb364f89 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -206,4 +206,13 @@ class Reline::Config::Test < Reline::TestCase history << "a\n" assert_equal 1, history.size end + + def test_empty_inputrc_env + inputrc_backup = ENV['INPUTRC'] + ENV['INPUTRC'] = '' + assert_nothing_raised do + @config.read + end + ENV['INPUTRC'] = inputrc_backup + end end