diff options
author | aycabta <aycabta@gmail.com> | 2020-03-21 18:13:50 +0900 |
---|---|---|
committer | aycabta <aycabta@gmail.com> | 2020-03-26 17:41:21 +0900 |
commit | 90913bfabe427993e82d4a72616739ee49e61a5d (patch) | |
tree | c01354f28fbad70d502dc22d97a9981df248cff1 | |
parent | f245fb1ab8d893a89c8749a703efea0b16353028 (diff) |
[ruby/reline] Suppress error in case INPUTRC env is empty
https://github.com/ruby/reline/commit/bce7e7562b
-rw-r--r-- | lib/reline/config.rb | 11 | ||||
-rw-r--r-- | test/reline/test_config.rb | 9 |
2 files changed, 19 insertions, 1 deletions
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 |