diff options
author | aycabta <[email protected]> | 2020-01-14 15:40:03 +0900 |
---|---|---|
committer | aycabta <[email protected]> | 2020-01-14 15:40:38 +0900 |
commit | 8c3efa494091e6e0001f4a708fb7568c242387b9 (patch) | |
tree | ce5139b24592634e2870819e3a20974466afc5d4 /lib/irb/init.rb | |
parent | a2638c0d87106c6ba023a321eea502f35131753e (diff) |
Use Reline.encoding_system_needs if exists
Diffstat (limited to 'lib/irb/init.rb')
-rw-r--r-- | lib/irb/init.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/irb/init.rb b/lib/irb/init.rb index 11f940da49..37d1f8d609 100644 --- a/lib/irb/init.rb +++ b/lib/irb/init.rb @@ -296,14 +296,18 @@ module IRB # :nodoc: DefaultEncodings = Struct.new(:external, :internal) class << IRB private - def set_encoding(extern, intern = nil) + def set_encoding(extern, intern = nil, override: true) verbose, $VERBOSE = $VERBOSE, nil Encoding.default_external = extern unless extern.nil? || extern.empty? Encoding.default_internal = intern unless intern.nil? || intern.empty? [$stdin, $stdout, $stderr].each do |io| io.set_encoding(extern, intern) end - @CONF[:LC_MESSAGES].instance_variable_set(:@encoding, extern) + if override + @CONF[:LC_MESSAGES].instance_variable_set(:@override_encoding, extern) + else + @CONF[:LC_MESSAGES].instance_variable_set(:@encoding, extern) + end ensure $VERBOSE = verbose end |